html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-weight: inherit;
  font-style: inherit;
  font-family: inherit;
  font-size: 100%;
  vertical-align: baseline;
}
body {
  line-height: 1;
  color: #000;
  background: #fff;
}
ol,
ul {
  list-style: none;
}
table {
  border-collapse: separate;
  border-spacing: 0;
  vertical-align: middle;
}
caption,
th,
td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}
a img {
  border: none;
}
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
main {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  display: block;
}
audio,
canvas,
video {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}
audio:not([controls]),
[hidden] {
  display: none;
}
@font-face {
  font-family: '_norms';
  src: local('ttnorms-light'), url("../fonts/ttnorms-light.woff2") format('woff2'), url("../fonts/ttnorms-light.woff") format('woff');
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: '_norms';
  src: local('ttnorms-regular'), url("../fonts/ttnorms-regular.woff2") format('woff2'), url("../fonts/ttnorms-regular.woff") format('woff');
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: '_norms';
  src: local('ttnorms-medium'), url("../fonts/ttnorms-medium.woff2") format('woff2'), url("../fonts/ttnorms-medium.woff") format('woff');
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: '_norms';
  src: local('ttnorms-bold'), url("../fonts/ttnorms-bold.woff2") format('woff2'), url("../fonts/ttnorms-bold.woff") format('woff');
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: '_roboto';
  src: local('Robotothin'), url("../fonts/Robotothin.woff2") format('woff2'), url("../fonts/Robotothin.woff") format('woff');
  font-weight: 100;
  font-style: normal;
}
@font-face {
  font-family: '_roboto';
  src: local('Robotolight'), url("../fonts/Robotolight.woff2") format('woff2'), url("../fonts/Robotolight.woff") format('woff');
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: '_roboto';
  src: local('Roboto'), url("../fonts/Roboto.woff2") format('woff2'), url("../fonts/Roboto.woff") format('woff');
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: '_roboto';
  src: local('Robotomedium'), url("../fonts/Robotomedium.woff2") format('woff2'), url("../fonts/Robotomedium.woff") format('woff');
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: '_roboto';
  src: local('Robotobold'), url("../fonts/Robotobold.woff2") format('woff2'), url("../fonts/Robotobold.woff") format('woff');
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: '_roboto';
  src: local('Robotoblack'), url("../fonts/Robotoblack.woff2") format('woff2'), url("../fonts/Robotoblack.woff") format('woff');
  font-weight: 900;
  font-style: normal;
}
html,
body {
  min-width: 320px;
  height: 100%;
}
html {
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}
body {
  cursor: default;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  overflow-y: scroll;
  color: #0a0a0a;
  font-family: '_norms', Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
  font-size: 16px;
  line-height: 1.5;
}
.body {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
  -o-box-orient: vertical;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}
.body__wrapper {
  overflow: hidden;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
  -o-box-orient: vertical;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  position: relative;
}
.body__wrapper.is-locked {
  position: fixed;
  top: 0;
  bottom: 0;
  width: 100%;
}
.body__wrapper.is-hide {
  -webkit-transition: opacity .25s cubic-bezier(0.645, 0.045, 0.355, 1) 0.3s;
  -moz-transition: opacity .25s cubic-bezier(0.645, 0.045, 0.355, 1) 0.3s;
  -o-transition: opacity .25s cubic-bezier(0.645, 0.045, 0.355, 1) 0.3s;
  -ms-transition: opacity .25s cubic-bezier(0.645, 0.045, 0.355, 1) 0.3s;
  transition: opacity .25s cubic-bezier(0.645, 0.045, 0.355, 1) 0.3s;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
}
.body__overlay {
  -webkit-transition: opacity .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: opacity .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: opacity .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition: opacity .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: opacity .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  pointer-events: none;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  z-index: 1199;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(10,10,10,0.75);
}
@media (max-width: 750px) {
  .body__overlay {
    -webkit-transition-duration: 0s;
    -moz-transition-duration: 0s;
    -o-transition-duration: 0s;
    -ms-transition-duration: 0s;
    transition-duration: 0s;
  }
}
.body__overlay.is-opened {
  z-index: 1201;
  pointer-events: auto;
  opacity: 1;
  -ms-filter: none;
  filter: none;
}
.body__header,
.body__footer,
.body__content {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}
.body__content {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  -ms-box-flex: 1;
  box-flex: 1;
  -webkit-flex-grow: 1;
  flex-grow: 1;
}
.body__footer {
  margin-top: auto;
}
table,
blockquote,
ol,
ul,
p {
  margin-bottom: 1.5em;
}
table:last-child,
blockquote:last-child,
ol:last-child,
ul:last-child,
p:last-child {
  margin-bottom: 0;
}
img {
  max-width: 100%;
}
i,
em {
  font-style: italic;
}
b,
strong {
  font-weight: 700;
}
.link,
a {
  -webkit-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  text-decoration: underline;
  color: #0a0a0a;
}
.link:hover,
a:hover,
.link:active,
a:active {
  color: #fff;
}
a[href^='tel:'] {
  border-bottom-width: 0;
  white-space: nowrap;
}
ol {
  counter-reset: nums;
  list-style: none;
}
ol li {
  counter-increment: nums;
  list-style-type: none;
  position: relative;
  padding-left: 20px;
}
ol li::before {
  content: counter(nums) '.';
  position: absolute;
  font-weight: 700;
  left: 2px;
  color: #0a0a0a;
}
ul li {
  padding-left: 23px;
  position: relative;
}
ul li::before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: currentColor;
}
.display-none {
  display: none;
}
.red {
  position: relative;
  color: #fff;
}
.red:before {
  content: '';
  position: absolute;
  top: 0;
  left: -20px;
  right: -4px;
  bottom: 0;
  background: #e8372e;
  z-index: -1;
}
.link_red {
  color: #e8372e;
  border-color: #e8372e;
}
.vk {
  display: block;
  border-bottom: none;
  text-decoration: none;
  width: 60px;
  height: 60px;
  background: #7299c5;
  position: relative;
  border-radius: 50%;
  -webkit-transition: 0.3s ease;
  -moz-transition: 0.3s ease;
  -o-transition: 0.3s ease;
  -ms-transition: 0.3s ease;
  transition: 0.3s ease;
}
.vk:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 30px;
  height: 30px;
}
.vk:before {
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22548.358%22 height=%22548.358%22 viewBox=%220 0 548.358 548.358%22 preserveAspectRatio=%22none%22%3E%3Cpath fill=%22%23fff%22 d=%22M545.451 400.298c-.664-1.431-1.283-2.618-1.858-3.569-9.514-17.135-27.695-38.167-54.532-63.102l-.567-.571-.284-.28-.287-.287h-.288c-12.18-11.611-19.893-19.418-23.123-23.415-5.91-7.614-7.234-15.321-4.004-23.13 2.282-5.9 10.854-18.36 25.696-37.397 7.807-10.089 13.99-18.175 18.556-24.267 32.931-43.78 47.208-71.756 42.828-83.939l-1.701-2.847c-1.143-1.714-4.093-3.282-8.846-4.712-4.764-1.427-10.853-1.663-18.278-.712l-82.224.568c-1.332-.472-3.234-.428-5.712.144l-3.713.859-1.431.715-1.136.859c-.952.568-1.999 1.567-3.142 2.995-1.137 1.423-2.088 3.093-2.848 4.996-8.952 23.031-19.13 44.444-30.553 64.238-7.043 11.803-13.511 22.032-19.418 30.693-5.899 8.658-10.848 15.037-14.842 19.126-4 4.093-7.61 7.372-10.852 9.849-3.237 2.478-5.708 3.525-7.419 3.142-1.715-.383-3.33-.763-4.859-1.143-2.663-1.714-4.805-4.045-6.42-6.995-1.622-2.95-2.714-6.663-3.285-11.136-.568-4.476-.904-8.326-1-11.563-.089-3.233-.048-7.806.145-13.706.198-5.903.287-9.897.287-11.991 0-7.234.141-15.085.424-23.555.288-8.47.521-15.181.716-20.125.194-4.949.284-10.185.284-15.705s-.336-9.849-1-12.991a44.442 44.442 0 0 0-2.99-9.137c-1.335-2.95-3.289-5.232-5.853-6.852-2.569-1.618-5.763-2.902-9.564-3.856-10.089-2.283-22.936-3.518-38.547-3.71-35.401-.38-58.148 1.906-68.236 6.855-3.997 2.091-7.614 4.948-10.848 8.562-3.427 4.189-3.905 6.475-1.431 6.851 11.422 1.711 19.508 5.804 24.267 12.275l1.715 3.429c1.334 2.474 2.666 6.854 3.999 13.134 1.331 6.28 2.19 13.227 2.568 20.837.95 13.897.95 25.793 0 35.689-.953 9.9-1.853 17.607-2.712 23.127-.859 5.52-2.143 9.993-3.855 13.418-1.715 3.426-2.856 5.52-3.428 6.28-.571.76-1.047 1.239-1.425 1.427a21.387 21.387 0 0 1-7.71 1.431c-2.667 0-5.901-1.334-9.707-4-3.805-2.666-7.754-6.328-11.847-10.992-4.093-4.665-8.709-11.184-13.85-19.558-5.137-8.374-10.467-18.271-15.987-29.691l-4.567-8.282c-2.855-5.328-6.755-13.086-11.704-23.267-4.952-10.185-9.329-20.037-13.134-29.554-1.521-3.997-3.806-7.04-6.851-9.134l-1.429-.859c-.95-.76-2.475-1.567-4.567-2.427a30.301 30.301 0 0 0-6.567-1.854l-78.229.568c-7.994 0-13.418 1.811-16.274 5.428l-1.143 1.711c-.571.953-.859 2.475-.859 4.57 0 2.094.571 4.664 1.714 7.707 11.42 26.84 23.839 52.725 37.257 77.659 13.418 24.934 25.078 45.019 34.973 60.237 9.897 15.229 19.985 29.602 30.264 43.112 10.279 13.515 17.083 22.176 20.412 25.981 3.333 3.812 5.951 6.662 7.854 8.565l7.139 6.851c4.568 4.569 11.276 10.041 20.127 16.416 8.853 6.379 18.654 12.659 29.408 18.85 10.756 6.181 23.269 11.225 37.546 15.126 14.275 3.905 28.169 5.472 41.684 4.716h32.834c6.659-.575 11.704-2.669 15.133-6.283l1.136-1.431c.764-1.136 1.479-2.901 2.139-5.276.668-2.379 1-5 1-7.851-.195-8.183.428-15.558 1.852-22.124 1.423-6.564 3.045-11.513 4.859-14.846 1.813-3.33 3.859-6.14 6.136-8.418 2.282-2.283 3.908-3.666 4.862-4.142.948-.479 1.705-.804 2.276-.999 4.568-1.522 9.944-.048 16.136 4.429 6.187 4.473 11.99 9.996 17.418 16.56 5.425 6.57 11.943 13.941 19.555 22.124 7.617 8.186 14.277 14.271 19.985 18.274l5.708 3.426c3.812 2.286 8.761 4.38 14.853 6.283 6.081 1.902 11.409 2.378 15.984 1.427l73.087-1.14c7.229 0 12.854-1.197 16.844-3.572 3.998-2.379 6.373-5 7.139-7.851.764-2.854.805-6.092.145-9.712-.677-3.611-1.344-6.136-2.008-7.563z%22/%3E%3C/svg%3E") 0 0 no-repeat;
  -webkit-background-size: 100% 100%;
  -moz-background-size: 100% 100%;
  background-size: 100% 100%;
}
.vk:hover {
  opacity: 0.5;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
  filter: alpha(opacity=50);
}
.phone {
  font-size: 18px;
  text-decoration: none;
  border-bottom: none;
  color: #000;
  font-weight: 700;
}
a:hover {
  opacity: 0.8;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
  filter: alpha(opacity=80);
}
.block {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding-left: 30px;
  padding-right: 30px;
}
@media (max-width: 1000px) {
  .block {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.block-wrapper {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  min-width: 260px;
  max-width: 1242px;
}
.block-wrapper_small {
  max-width: 980px;
}
.button::-moz-focus-inner {
  padding: 0;
  border: 0;
}
.button {
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: .15s cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: .15s cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: .15s cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition: .15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: .15s cubic-bezier(0.645, 0.045, 0.355, 1);
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  vertical-align: top;
  display: inline-block;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  position: relative;
  padding: 0 30px;
  border: 2px solid #1d1d1b;
  outline: none;
  background-color: #1d1d1b;
  color: #fff;
  font-family: '_norms', Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
  font-style: normal;
  font-weight: 600;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0;
  text-align: center;
  text-transform: none;
  text-decoration: none;
}
.button__icon {
  margin-right: 10px;
}
.button__icon::before {
  content: '';
  display: block;
}
.button__icon:last-child {
  margin-left: 10px;
  margin-right: 0;
}
.button__content {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
}
.button__title {
  padding: 15px 0 14px;
}
.button.is-hover,
.button:hover {
  opacity: 0.8;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
  filter: alpha(opacity=80);
  -webkit-transform: translateY(-2px);
  -moz-transform: translateY(-2px);
  -o-transform: translateY(-2px);
  -ms-transform: translateY(-2px);
  transform: translateY(-2px);
}
.button.is-active,
.button:active {
  opacity: 0.9;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";
  filter: alpha(opacity=90);
  -webkit-transform: translateY(2px);
  -moz-transform: translateY(2px);
  -o-transform: translateY(2px);
  -ms-transform: translateY(2px);
  transform: translateY(2px);
}
.button.is-disabled,
.button:disabled {
  border-color: #e0e0e0 !important;
  background-image: none !important;
  background-color: #e0e0e0 !important;
  color: #fff !important;
}
.button.is-loading {
  opacity: 0.5;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
  filter: alpha(opacity=50);
}
.button_full {
  width: 100%;
}
.button_bordered {
  border: 3px solid #ba9060;
}
.button_white {
  background: #fff;
  color: #000;
}
.button_light {
  border-color: #bd8c64;
  background: #bd8c64;
  color: #fff;
}
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}
button {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
html input[type='button'],
input[type='reset'],
input[type='submit'] {
  cursor: pointer;
  -webkit-appearance: button;
}
button[disabled],
html input[disabled] {
  cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
input {
  line-height: normal;
}
input[type='checkbox'],
input[type='radio'] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0;
}
input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {
  height: auto;
}
input[type='search'] {
  -webkit-appearance: textfield;
}
input[type='search']::-webkit-search-cancel-button,
input[type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
}
textarea {
  overflow: auto;
  resize: none;
}
optgroup {
  font-weight: bold;
}
input[type='text'],
input[type='password'],
input[type='email'],
input[type='tel'],
input[type='search'],
input[type='url'],
select,
textarea,
input[type='number'],
input[type=password] {
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
input[type='text']::-ms-clear,
input[type='password']::-ms-clear,
input[type='email']::-ms-clear,
input[type='tel']::-ms-clear,
input[type='search']::-ms-clear,
input[type='url']::-ms-clear,
select::-ms-clear,
textarea::-ms-clear,
input[type='number']::-ms-clear,
input[type=password]::-ms-clear {
  display: none;
}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
  -webkit-box-shadow: inset 0 0 0 50px transparent !important; /* Цвет фона */
  -webkit-text-fill-color: #0a0a0a !important; /* цвет текста */
  color: #0a0a0a !important; /* цвет текста */
}
input[type='text'],
input[type='number'],
input[type='email'],
input[type='tel'],
input[type='search'],
input[type='url'],
input[type=password],
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
}
input:-webkit-autofill {
  color: #0a0a0a !important;
  background-color: transparent !important;
}
textarea {
  resize: vertical;
}
input:focus {
  outline: none;
}
.field {
  display: block;
  position: relative;
  margin-bottom: 16px;
}
.field__error,
.field__title {
  -webkit-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  overflow: hidden;
  display: block;
  max-height: 100px;
  margin-bottom: 8px;
  font-size: 14px;
  line-height: 1.571428571428571;
}
.field__main {
  display: block;
  position: relative;
}
.field__input {
  -webkit-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
  width: 100%;
  padding: 11px 20px 10px;
  border: none;
  border-bottom: 1px solid #fff;
  outline: 0;
  color: #1d1d1b;
  font-family: '_norms', Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
  font-size: 18px;
  border-radius: 0;
}
.field__input::-webkit-input-placeholder {
  color: #1d1d1b;
}
.field__input:-moz-placeholder {
  color: #1d1d1b;
}
.field__input::-moz-placeholder {
  color: #1d1d1b;
}
.field__input:-ms-input-placeholder {
  color: #1d1d1b;
}
.field__input:focus {
  border-color: #0a0a0a;
}
select.field__input {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  padding-right: 44px;
}
select.field__input::-ms-expand {
  display: none;
}
.field__input:hover {
  border-bottom: 1px solid #000;
}
.field__error {
  -webkit-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  overflow: hidden;
  display: none;
  color: #f00;
}
.field.is-error .field__error {
  display: block;
}
.field.is-error .field__title {
  display: none;
}
.field_select .field__main::after {
  content: '';
  position: absolute;
  margin-top: -4px;
  top: 50%;
  width: 16px;
  height: 8px;
  right: 18px;
}
.field_select .field__main::after {
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2215.063%22 height=%228%22 viewBox=%220 0 15.063 8%22 preserveAspectRatio=%22none%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%230a0a0a;fill-rule:evenodd%7D%3C/style%3E%3C/defs%3E%3Cpath id=%22Forma_1_&%23x43A;&%23x43E;&%23x43F;&%23x438;&%23x44F;%22 data-name=%22Forma 1 &%23x43A;&%23x43E;&%23x43F;&%23x438;&%23x44F;%22 class=%22cls-1%22 d=%22M919.5 2460.25a.528.528 0 0 0-.752 0l-6.605 6.59-6.619-6.59a.531.531 0 1 0-.751.75l6.981 6.95a.5.5 0 0 0 .376.16.518.518 0 0 0 .375-.16l6.982-6.95a.519.519 0 0 0 .013-.75z%22 transform=%22translate(-904.625 -2460.09)%22/%3E%3C/svg%3E") 0 0 no-repeat;
  -webkit-background-size: 100% 100%;
  -moz-background-size: 100% 100%;
  background-size: 100% 100%;
}
.field_select.is-error .field__main::after {
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
}
.title,
h1,
.title-h1,
h2,
.title-h2,
h4,
.title-h4,
h5,
.title-h5,
.layer__title {
  font-family: '_norms', Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
}
h1,
.title-h1 {
  margin-bottom: 40px;
  font-family: $font-pacifico;
  font-size: 38px;
  line-height: 1.526315789473684;
}
h2,
.title-h2,
.layer__title {
  margin-bottom: 24px;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.55;
}
h3,
.title-h3 {
  font-size: inherit;
  line-height: inherit;
}
p + h3,
p + .title-h3 {
  margin-top: 34px;
}
h4,
.title-h4 {
  margin-bottom: 24px;
  font-size: 16px;
  line-height: 1.5;
}
p + h4,
p + .title-h4 {
  margin-top: 34px;
}
h5,
.title-h5 {
  font-size: 14px;
  line-height: 1.571428571428571;
}
h1:not([class]) {
  font-size: inherit;
  line-height: inherit;
  margin: 0;
}
.toggle {
  cursor: pointer;
  display: block;
  position: relative;
  margin-bottom: 0.5em;
  padding-left: 27px;
}
.toggle__input {
  display: none;
}
.toggle__input:checked ~ .toggle__fake:before {
  opacity: 1;
  -ms-filter: none;
  filter: none;
}
.toggle__fake {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  position: absolute;
  top: 0.125em;
  left: 0;
  width: 17px;
  height: 17px;
  background: #e8372e;
}
.toggle__fake::before {
  content: '';
  -webkit-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  width: 9px;
  height: 7px;
  position: absolute;
  display: block;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
}
.toggle__fake::before {
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2210.969%22 height=%227.97%22 viewBox=%220 0 10.969 7.97%22 preserveAspectRatio=%22none%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fff;fill-rule:evenodd%7D%3C/style%3E%3C/defs%3E%3Cpath id=%22Forma_1_&%23x43A;&%23x43E;&%23x43F;&%23x438;&%23x44F;_6%22 data-name=%22Forma 1 &%23x43A;&%23x43E;&%23x43F;&%23x438;&%23x44F; 6%22 class=%22cls-1%22 d=%22M400.674 3609.88l-5.8 5.8a1.1 1.1 0 0 1-1.556 0l-2.995-3a1.1 1.1 0 1 1 1.557-1.55l2.216 2.21 5.024-5.02a1.1 1.1 0 0 1 1.554 1.56z%22 transform=%22translate(-390.031 -3608.03)%22/%3E%3C/svg%3E") 0 0 no-repeat;
  -webkit-background-size: 100% 100%;
  -moz-background-size: 100% 100%;
  background-size: 100% 100%;
}
[type="radio"] ~ .toggle__fake {
  border-radius: 50%;
}
.toggle_margin-bottom_none {
  margin-bottom: 0;
}
table {
  border-collapse: collapse;
}
.layer {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #fff;
  min-height: 100%;
  z-index: 1200;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  -webkit-transform: translateY(5vh);
  -moz-transform: translateY(5vh);
  -o-transform: translateY(5vh);
  -ms-transform: translateY(5vh);
  transform: translateY(5vh);
  -webkit-transition: -webkit-transform .25s cubic-bezier(0.645, 0.045, 0.355, 1), opacity .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: -moz-transform .25s cubic-bezier(0.645, 0.045, 0.355, 1), opacity .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: -o-transform .25s cubic-bezier(0.645, 0.045, 0.355, 1), opacity .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition: -ms-transform .25s cubic-bezier(0.645, 0.045, 0.355, 1), opacity .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform .25s cubic-bezier(0.645, 0.045, 0.355, 1), opacity .25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.layer__inside {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  width: 100%;
  padding: 0 0;
}
.layer__header {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  border-bottom: 1px solid #d1d1d1;
  padding: 25px 40px 0 40px;
  text-align: center;
}
.layer__content {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
  width: 100%;
  padding: 34px 40px 25px 40px;
}
.layer__footer {
  padding: 30px 40px 20px 40px;
  border-top: 1px solid #d1d1d1;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin-top: auto;
}
.layer__title {
  font-size: 38px;
  margin-bottom: 18px;
}
.layer.is-aside {
  -webkit-transition: -webkit-transform 0.4s ease-in-out, opacity 0s ease-in-out 0.4s;
  -moz-transition: -moz-transform 0.4s ease-in-out, opacity 0s ease-in-out 0.4s;
  -o-transition: -o-transform 0.4s ease-in-out, opacity 0s ease-in-out 0.4s;
  -ms-transition: -ms-transform 0.4s ease-in-out, opacity 0s ease-in-out 0.4s;
  transition: transform 0.4s ease-in-out, opacity 0s ease-in-out 0.4s;
  -webkit-transform: translateX(-100%);
  -moz-transform: translateX(-100%);
  -o-transform: translateX(-100%);
  -ms-transform: translateX(-100%);
  transform: translateX(-100%);
}
.layer.is-aside.is-opened {
  -webkit-transition: -webkit-transform 0.4s linear, opacity 0.4s linear;
  -moz-transition: -moz-transform 0.4s linear, opacity 0.4s linear;
  -o-transition: -o-transform 0.4s linear, opacity 0.4s linear;
  -ms-transition: -ms-transform 0.4s linear, opacity 0.4s linear;
  transition: transform 0.4s linear, opacity 0.4s linear;
}
.layer.is-opened {
  z-index: 1210;
  opacity: 1;
  -ms-filter: none;
  filter: none;
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  transform: translate(0, 0);
}
.layer:not(.is-animating) {
  -webkit-transform: none;
  -moz-transform: none;
  -o-transform: none;
  -ms-transform: none;
  transform: none;
  position: relative;
}
.layer.is-faded {
  position: fixed;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
}
.layer.is-closing {
  z-index: 1210;
  position: fixed;
}
.layer:not(.is-initialized) {
  display: none !important;
}
@media (max-width: 750px) {
  .layer__content {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .layer__header:before {
    display: none;
  }
  .layer__title {
    font-size: 18px;
    line-height: 1.444444444444444;
  }
}
@media (max-width: 500px) {
  .layer__header {
    text-align: left;
    padding-top: 22px;
    padding-right: 65px;
    padding-left: 20px;
  }
  .layer__content {
    padding-right: 20px;
    padding-left: 20px;
  }
}
.layer-close {
  z-index: 200;
  position: absolute;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid #ba9060;
  top: 22px;
  right: -21px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-box-shadow: 0 5px 15px rgba(251,117,117,0.1);
  box-shadow: 0 5px 15px rgba(251,117,117,0.1);
}
.layer-close::before {
  content: '';
  position: absolute;
  display: block;
  width: 14px;
  height: 14px;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.layer-close::before {
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22 preserveAspectRatio=%22none%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23ba9060;fill-rule:evenodd%7D%3C/style%3E%3C/defs%3E%3Cpath id=%22Forma_1%22 data-name=%22Forma 1%22 class=%22cls-1%22 d=%22M1647.39 408.015l7.14-7.135a1.682 1.682 0 1 0-2.38-2.378l-7.14 7.134-7.13-7.135a1.683 1.683 0 0 0-2.38 2.379l7.14 7.135-7.14 7.134a1.683 1.683 0 0 0 2.38 2.379l7.13-7.135 7.14 7.135a1.683 1.683 0 1 0 2.38-2.379z%22 transform=%22translate(-1635.03 -398.031)%22/%3E%3C/svg%3E") 0 0 no-repeat;
  -webkit-background-size: 100% 100%;
  -moz-background-size: 100% 100%;
  background-size: 100% 100%;
}
.layer-close:hover {
  -webkit-box-shadow: 0 5px 20px rgba(186,144,96,0.4);
  box-shadow: 0 5px 20px rgba(186,144,96,0.4);
  opacity: 0.8;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
  filter: alpha(opacity=80);
}
.layer-close:active {
  -webkit-box-shadow: none;
  box-shadow: none;
}
@media (max-width: 750px) {
  .layer-close {
    width: 30px;
    height: 30px;
    top: 20px;
    right: 20px;
  }
  .layer-close:before {
    width: 12px;
    height: 12px;
    background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22 preserveAspectRatio=%22none%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23ba9060;fill-rule:evenodd%7D%3C/style%3E%3C/defs%3E%3Cpath id=%22Forma_1%22 data-name=%22Forma 1%22 class=%22cls-1%22 d=%22M1647.39 408.015l7.14-7.135a1.682 1.682 0 1 0-2.38-2.378l-7.14 7.134-7.13-7.135a1.683 1.683 0 0 0-2.38 2.379l7.14 7.135-7.14 7.134a1.683 1.683 0 0 0 2.38 2.379l7.13-7.135 7.14 7.135a1.683 1.683 0 1 0 2.38-2.379z%22 transform=%22translate(-1635.03 -398.031)%22/%3E%3C/svg%3E") 0 0 no-repeat;
    -webkit-background-size: 100% 100%;
    -moz-background-size: 100% 100%;
    background-size: 100% 100%;
  }
}
.layer_overlay {
  pointer-events: none;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  padding-top: 26px;
  padding-bottom: 26px;
  background: none;
}
.layer_overlay .layer__inside {
  pointer-events: auto;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 1 auto;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  position: relative;
  max-width: 420px;
  width: 100%;
  background: #fff;
  margin: auto 54px;
  -webkit-box-sizing: botder-box;
  -moz-box-sizing: botder-box;
  box-sizing: botder-box;
}
.layer_overlay .layer__content {
  width: auto;
}
.layer_overlay.is-opened {
  -webkit-transform: none;
  -moz-transform: none;
  -o-transform: none;
  -ms-transform: none;
  transform: none;
}
.layer_overlay_left {
  -webkit-transform: translateX(-100%);
  -moz-transform: translateX(-100%);
  -o-transform: translateX(-100%);
  -ms-transform: translateX(-100%);
  transform: translateX(-100%);
  -webkit-box-pack: start;
  -moz-box-pack: start;
  -o-box-pack: start;
  -ms-flex-pack: start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}
.layer_overlay_left.is-opened {
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  transform: translate(0, 0);
}
@media (max-width: 1200px) {
  .layer_menu.layer_overlay {
    -webkit-box-align: stretch;
    -moz-box-align: stretch;
    -o-box-align: stretch;
    -ms-flex-align: stretch;
    -webkit-align-items: stretch;
    align-items: stretch;
    padding-top: 0;
    padding-bottom: 0;
  }
  .layer_menu.layer_overlay .layer__inside {
    max-width: none;
    width: 100%;
    margin: 0;
    border-radius: 0;
  }
}
@media (max-width: 750px) {
  .layer_overlay:not(.layer_menu) .layer__inside {
    margin-right: 15px;
    margin-left: 15px;
  }
}
@media (max-width: 750px) {
  .layer_pretty {
    padding-top: 26px;
    padding-bottom: 26px;
    -webkit-box-align: center;
    -moz-box-align: center;
    -o-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
  }
}
.layer_answer .layer__header:before {
  top: -20px;
  left: -40px;
}
.layer_answer .layer__inside {
  max-width: 490px;
}
.layer_answer .layer__content {
  padding-right: 35px;
  padding-left: 35px;
}
@media (max-width: 750px) {
  .layer_answer .layer__inside {
    max-width: none;
  }
}
.layer_info .layer__bg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.layer_info .layer__bg-hare {
  position: absolute;
  bottom: 0;
  z-index: 100;
  right: 26px;
}
.layer_info .layer__inside {
  max-width: 580px;
  min-height: 340px;
  background: url("../images/layers/info-bg.jpg") no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
}
.layer_info .layer__content {
  position: relative;
  padding: 37px 238px 25px 35px;
  text-align: center;
  color: #0f3d57;
}
.layer_info .layer__header {
  padding-right: 238px;
}
.layer_info .layer__header:before {
  display: none;
}
@media (max-width: 750px) {
  .layer_info .layer__inside {
    margin-left: 20px;
    margin-right: 20px;
  }
  .layer_info .layer__bg-hare {
    right: 8px;
    width: 180px;
  }
  .layer_info .layer__content {
    padding: 35px 210px 25px 30px;
  }
}
@media (max-width: 500px) {
  .layer_info .layer__header {
    padding-right: 60px;
  }
  .layer_info .layer__bg {
    display: none;
  }
  .layer_info .layer__content {
    padding: 30px 20px 45px 20px;
  }
}
.layer_info_simple .layer__header {
  padding-right: 40px;
  text-align: center;
}
.layer_info_simple .layer__header:before {
  display: block;
  top: 20px;
}
.layer_info_simple .layer__inside {
  max-width: 420px;
  min-height: auto;
}
.layer_info_simple .layer__content {
  padding: 37px 75px 25px 75px;
}
@media (max-width: 600px) {
  .layer_info_simple .layer__header:before {
    display: none;
  }
}
@media (max-width: 500px) {
  .layer_info_simple .layer__header {
    padding-right: 60px;
    text-align: left;
  }
  .layer_info_simple .layer__bg {
    display: none;
  }
  .layer_info_simple .layer__content {
    padding: 37px 25px 45px 25px;
  }
}
.layer_menu .layer__header {
  padding: 0;
  border-bottom: none;
}
.layer_menu .layer__header:before {
  display: none;
}
.layer_menu .layer__content {
  padding-top: 40px;
}
.layer_menu .layer__inside {
  padding-top: 0;
}
.layer_link_small .link {
  font-size: 14px;
  line-height: 1.571428571428571;
}
.layer_alert .layer__content {
  text-align: center;
}
.layer_alert .layer__description {
  margin-bottom: 45px;
  color: #0f3d57;
  line-height: 1.5;
}
@media (max-width: 500px) {
  .layer_alert .layer__header {
    margin-bottom: -35px;
  }
  .layer_alert .layer__content {
    padding-top: 70px;
  }
}
@media (max-width: 750px) {
  .layer_form .list-sections_small {
    max-width: 500px;
    margin: 0 auto;
  }
}
.layer_review .layer__inside {
  max-width: 600px;
}
.layer_callback .layer__inside {
  background: #ededed;
}
.layer_callback .layer__content {
  padding-bottom: 60px;
}
.layer_callback .layer-close {
  background: #ededed;
}
.layer_work .layer-close {
  top: 22px;
  right: 40px;
}
.layer_work .layer__title {
  text-align: left;
  margin-bottom: 0;
  line-height: 1.2;
}
.layer_work .layer__content {
  padding-bottom: 60px;
}
.layer_work .layer__header {
  padding-top: 75px;
  padding-right: 40px;
  padding-left: 40px;
  border-bottom: none;
}
@media (max-width: 750px) {
  .layer_work .layer__header {
    padding-top: 85px;
    padding-left: 20px;
    padding-right: 20px;
  }
}
.layer_work .layer__header-content {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -10px;
  margin-left: -10px;
  margin-bottom: -20px;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}
.layer_work .layer__header-side {
  margin-right: 10px;
  margin-left: 10px;
  margin-bottom: 20px;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}
.layer_work .layer__header-main {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-right: 10px;
  margin-left: 10px;
  margin-bottom: 20px;
}
@media (max-width: 750px) {
  .layer_work .layer-close {
    right: 15px;
  }
}
.layer-gallery__img {
  display: block;
}
.-is-load {
  position: relative;
  pointer-events: none;
}
.-is-load:before {
  display: block;
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255,255,255,0.8);
  z-index: 6;
}
.-is-load:after {
  content: '';
  display: block;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  border: 4px solid #ba9060;
  border-left: 4px solid rgba(186,144,96,0);
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-animation: load 1s linear infinite;
  -moz-animation: load 1s linear infinite;
  -o-animation: load 1s linear infinite;
  -ms-animation: load 1s linear infinite;
  animation: load 1s linear infinite;
  z-index: 99;
  -webkit-transform: translate(-50%, -50%) rotate(0);
  -moz-transform: translate(-50%, -50%) rotate(0);
  -o-transform: translate(-50%, -50%) rotate(0);
  -ms-transform: translate(-50%, -50%) rotate(0);
  transform: translate(-50%, -50%) rotate(0);
}
@-moz-keyframes load {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0);
    -moz-transform: translate(-50%, -50%) rotate(0);
    -o-transform: translate(-50%, -50%) rotate(0);
    -ms-transform: translate(-50%, -50%) rotate(0);
    transform: translate(-50%, -50%) rotate(0);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
    -moz-transform: translate(-50%, -50%) rotate(360deg);
    -o-transform: translate(-50%, -50%) rotate(360deg);
    -ms-transform: translate(-50%, -50%) rotate(360deg);
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
@-webkit-keyframes load {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0);
    -moz-transform: translate(-50%, -50%) rotate(0);
    -o-transform: translate(-50%, -50%) rotate(0);
    -ms-transform: translate(-50%, -50%) rotate(0);
    transform: translate(-50%, -50%) rotate(0);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
    -moz-transform: translate(-50%, -50%) rotate(360deg);
    -o-transform: translate(-50%, -50%) rotate(360deg);
    -ms-transform: translate(-50%, -50%) rotate(360deg);
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
@-o-keyframes load {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0);
    -moz-transform: translate(-50%, -50%) rotate(0);
    -o-transform: translate(-50%, -50%) rotate(0);
    -ms-transform: translate(-50%, -50%) rotate(0);
    transform: translate(-50%, -50%) rotate(0);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
    -moz-transform: translate(-50%, -50%) rotate(360deg);
    -o-transform: translate(-50%, -50%) rotate(360deg);
    -ms-transform: translate(-50%, -50%) rotate(360deg);
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
@keyframes load {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0);
    -moz-transform: translate(-50%, -50%) rotate(0);
    -o-transform: translate(-50%, -50%) rotate(0);
    -ms-transform: translate(-50%, -50%) rotate(0);
    transform: translate(-50%, -50%) rotate(0);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
    -moz-transform: translate(-50%, -50%) rotate(360deg);
    -o-transform: translate(-50%, -50%) rotate(360deg);
    -ms-transform: translate(-50%, -50%) rotate(360deg);
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
.about {
  padding-top: 119px;
  padding-bottom: 130px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  min-height: 520px;
  position: relative;
  overflow: hidden;
}
@media (max-width: 1200px) {
  .about {
    min-height: 0;
    padding-top: 90px;
  }
}
@media (max-width: 1000px) {
  .about {
    padding-top: 40px;
  }
}
@media (max-width: 750px) {
  .about {
    padding-bottom: 0;
  }
}
.about:after {
  content: '';
  height: 124px;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background-image: url("../images/logo-hor.png");
  background-position: center;
  background-repeat: no-repeat;
  -webkit-background-size: contain;
  -moz-background-size: contain;
  background-size: contain;
}
.about__title {
  font-size: 30px;
  line-height: 1.133333333333333;
  font-weight: 700;
  text-transform: uppercase;
}
.about__content {
  max-width: 470px;
}
.about__side {
  margin-bottom: 60px;
}
@media (max-width: 1000px) {
  .about__side {
    margin-bottom: 30px;
  }
}
.about__wrapper {
  position: relative;
}
.about__wrapper:after {
  content: '';
  width: 804px;
  height: 504px;
  display: block;
  position: absolute;
  right: -171px;
  top: -82px;
  background-image: url("../images/team.png");
  background-position: center;
  background-repeat: no-repeat;
  -webkit-background-size: contain;
  -moz-background-size: contain;
  background-size: contain;
}
@media (max-width: 1600px) {
  .about__wrapper:after {
    width: 600px;
    height: 600px;
    right: 0;
  }
}
@media (max-width: 1200px) {
  .about__wrapper:after {
    width: 472px;
    height: 693px;
  }
}
@media (max-width: 1000px) {
  .about__wrapper:after {
    width: 400px;
    height: 693px;
  }
}
@media (max-width: 750px) {
  .about__wrapper:after {
    position: static;
    width: 100%;
    height: 190px;
    background-position: bottom;
  }
}
.action-set {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}
.action-set__main {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}
.action-set_offset {
  position: absolute;
  bottom: -25px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}
.advantage__title {
  line-height: 1.3;
  font-weight: 700;
  font-size: 20px;
  text-transform: uppercase;
  margin-bottom: 20px;
}
@media (max-width: 1200px) {
  .advantage__title {
    font-size: 14px;
    line-height: 1.2;
  }
}
@media (max-width: 1000px) {
  .advantage__title {
    text-align: center;
    margin-bottom: 15px;
  }
}
.advantage__wrapper {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
}
@media (max-width: 1000px) {
  .advantage__wrapper {
    display: block;
  }
}
.advantage__desc {
  color: #72726c;
  font-size: 14px;
  line-height: 1.428571428571429;
}
@media (max-width: 1000px) {
  .advantage__desc {
    text-align: center;
    font-size: 12px;
  }
}
.advantage__side {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  margin-right: 30px;
}
@media (max-width: 1000px) {
  .advantage__side {
    margin-right: 0;
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: box;
    display: flex;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -o-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
  }
}
.advantage__main {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding-top: 10px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.advantage__logo {
  width: 70px;
  height: 70px;
  background: #ba9060;
  position: relative;
}
.advantage__logo-img {
  position: absolute;
  top: -15px;
  right: 17px;
}
.advantage__logo-img img {
  display: block;
  max-width: 100%;
}
.advantages {
  background: #ededed;
  padding-top: 85px;
  padding-bottom: 95px;
  position: relative;
}
@media (max-width: 1200px) {
  .advantages {
    padding-top: 40px;
    padding-bottom: 120px;
  }
}
@media (max-width: 1000px) {
  .advantages {
    padding-bottom: 150px;
  }
}
.advantages__title {
  font-size: 30px;
  font-weight: 700;
  line-height: 1.133333333333333;
  text-transform: uppercase;
}
.advantages__list {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -30px;
  margin-left: -30px;
  margin-bottom: -110px;
}
@media (max-width: 1200px) {
  .advantages__list {
    margin-right: -15px;
    margin-left: -15px;
  }
}
@media (max-width: 750px) {
  .advantages__list {
    margin-right: -5px;
    margin-left: -5px;
  }
}
.advantages__list-item {
  margin-right: 30px;
  margin-left: 30px;
  margin-bottom: 110px;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  max-width: calc(33.33% - 60px);
  -webkit-flex-basis: calc(33.33% - 60px);
  flex-basis: calc(33.33% - 60px);
}
@media (max-width: 1200px) {
  .advantages__list-item {
    margin-right: 15px;
    margin-left: 15px;
    max-width: calc(33.33% - 30px);
    -webkit-flex-basis: calc(33.33% - 30px);
    flex-basis: calc(33.33% - 30px);
    margin-bottom: 55px;
  }
}
@media (max-width: 1000px) {
  .advantages__list-item {
    margin-bottom: 30px;
  }
}
@media (max-width: 700px) {
  .advantages__list-item {
    margin-right: 5px;
    margin-left: 5px;
    max-width: calc(100% - 10px);
    -webkit-flex-basis: calc(100% - 10px);
    flex-basis: calc(100% - 10px);
    margin-bottom: 20px;
  }
}
.advantages__side {
  margin-bottom: 100px;
}
@media (max-width: 1200px) {
  .advantages__side {
    margin-bottom: 40px;
  }
}
.callback {
  padding-top: 98px;
}
@media (max-width: 1200px) {
  .callback {
    padding-top: 40px;
  }
}
@media (max-width: 1000px) {
  .callback {
    padding-top: 0;
  }
}
.callback__cols-list {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  margin-left: -33px;
  margin-right: -33px;
}
@media (max-width: 1000px) {
  .callback__cols-list {
    display: block;
    margin-left: 0;
    margin-right: 0;
  }
}
.callback__cols-item {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-left: 33px;
  margin-right: 33px;
}
@media (max-width: 1000px) {
  .callback__cols-item {
    margin-right: 0;
    margin-left: 0;
  }
}
.callback__cols-item_padding-top_large {
  padding-top: 100px;
}
@media (max-width: 1200px) {
  .callback__cols-item_padding-top_large {
    padding-top: 20px;
  }
}
.callback__img {
  width: 588px;
  height: 718px;
  background-image: url("../images/callback.jpg");
  background-position: center;
  background-repeat: no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
}
@media (max-width: 1200px) {
  .callback__img {
    width: 450px;
  }
}
@media (max-width: 1000px) {
  .callback__img {
    width: 100%;
    max-width: 100%;
    height: 200px;
    margin-bottom: 20px;
  }
}
.callback__desc {
  font-size: 14px;
  line-height: 1.714285714285714;
  margin-bottom: 146px;
}
@media (max-width: 1000px) {
  .callback__desc {
    margin-bottom: 20px;
  }
}
.callback__form {
  max-width: 380px;
  position: relative;
  padding-top: 75px;
  padding-bottom: 100px;
}
@media (max-width: 1000px) {
  .callback__form {
    padding-top: 40px;
    padding-bottom: 40px;
    margin-right: auto;
    margin-left: auto;
  }
}
.callback__form:before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: -110px;
  right: -100vw;
  bottom: 0;
  background: #e8e8e8;
}
@media (max-width: 1000px) {
  .callback__form:before {
    left: -100vw;
    right: -100vw;
  }
}
.callback-form__side {
  position: relative;
  z-index: 5;
  margin-bottom: 55px;
}
.callback-form__main {
  position: relative;
  z-index: 5;
}
.callback-form__title {
  font-size: 30px;
  line-height: 1.133333333333333;
  font-weight: 700;
  text-transform: uppercase;
}
.callback-form__fields {
  margin-bottom: 40px;
}
.callback-form__fields-item {
  margin-bottom: 30px;
}
.callback-form__fields-item:last-child {
  margin-bottom: 0;
}
.callback-form__loaded {
  position: relative;
  z-index: 5;
  display: none;
  min-height: 302px;
}
.callback-form__loaded_min-height_none {
  min-height: 0;
}
.callback-form.is-success .callback-form__loaded {
  display: block;
}
.callback-form.is-success .callback-form__first {
  display: none;
}
.example {
  background: #000;
  color: #fff;
}
.example__list {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: -20px;
}
.example__element {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1 1 50%;
  -ms-flex: 1 1 50%;
  flex: 1 1 50%;
  margin-bottom: 20px;
}
@media (max-width: 1200px) {
  .example__element {
    -webkit-flex-basis: 33.333333333333336%;
    flex-basis: 33.333333333333336%;
  }
}
@media (max-width: 1000px) {
  .example__element {
    -webkit-flex-basis: 50%;
    flex-basis: 50%;
  }
}
@media (max-width: 750px) {
  .example__list {
    display: block;
  }
}
@media (max-width: 500px) {
  .example__list {
    margin-bottom: -50px;
  }
  .example__element:last-child {
    margin-bottom: 50px;
  }
}
.example_modificator {
  background: #fff;
  color: #000;
}
.example_modificator .example__element {
  -webkit-flex-basis: 33.333%;
  flex-basis: 33.333%;
}
@media (max-width: 1000px) {
  .example_modificator .example__list {
    display: block;
  }
}
.next-block {
  background: #000;
}
.next-block_white {
  background: #fff;
}
.another-one {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
}
.another-one__elem {
  -webkit-flex-basis: 50%;
  flex-basis: 50%;
}
.another-one__elem_full {
  -webkit-flex-basis: 100%;
  flex-basis: 100%;
}
@media (min-width: 500px) {
  .another-one {
    display: none;
  }
}
.footer {
  padding-top: 30px;
  padding-bottom: 30px;
  background: #1d1d1b;
}
.footer__logo {
  display: block;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  margin-right: 36px;
}
@media (max-width: 750px) {
  .footer__logo {
    display: none;
  }
}
.footer__logo:before {
  content: '';
  width: 75px;
  height: 84px;
  display: block;
}
.footer__logo:before {
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1341.4 1500%22 preserveAspectRatio=%22none%22%3E%3Cpath fill=%22%23777776%22 d=%22M495.1 923.2H240.9v54.7h99.7v238.7h54.8V977.9h99.7zM750 974.7v-51.5H577.9v293.4H750V1165H628.7v-67.3h101.7v-51.5H628.7v-71.5zM295.6 221h-54.7v293.4H436.5v-54.8H295.6zM1039.3 221v172.7l-196.2-172-.8-.7v.1-.1 293.4h54.8V345.3L1094 514.4V221zM773.5 513.4L637.7 221.5 502.8 513.4h270.7zM638.2 334.7l55.3 125.6H582.8l55.4-125.6zM814.1 865.9L676.7 572.6 540.3 865.9l58.9-.3 78-175.8 77.9 175.8zM474.6 761.8l-1.3 2.3c-16.7 29.7-48.5 48.2-83 48.2-52.2 0-94.7-41.7-94.7-93s42.5-93 94.7-93c33.3 0 64.6 17.5 81.6 45.8l1.4 2.3 49.4-23.2-1-1.7-.3-.5-.2-.4c-26.3-46.8-76.5-75.8-130.8-75.8-82.4 0-149.4 65.8-149.4 146.7s67 146.7 149.4 146.7c56.1 0 107-30.5 132.8-79.5l1.4-2.7-50-22.2zM1087.6 756.6c-2.6-7.5-7.2-14.3-13.7-20.2-6.2-5.7-12.2-10.5-17.6-14.3-5.6-3.9-14-7.6-25.1-11.1l-25.2-7.9c-5.9-1.8-15.1-4.7-27.8-8.7-25.5-6.4-43.3-12.6-53-18.3-9.3-5.5-13.8-12.9-13.8-22.4 0-10.1 4.4-17.8 13.6-23.7 9.2-6 21.8-9 37.4-9 32.1 0 61.5 8.9 75.2 34.2l.9 1.7 46.3-20.3-1-1.7c-11.1-19.4-29.1-34.8-49.6-45.8s-44.6-16.6-71.9-16.6c-30.2 0-56.4 7.4-77.8 22.1-21.7 14.8-32.6 35.1-32.6 60.4 0 12.8 2.8 24.1 8.4 33.6 5.6 9.6 14.2 17.7 25.6 24.1 11.2 6.3 22 11.1 32.2 14.2l38.8 11.9c28.3 7.1 48.3 13.6 59.3 19.5 10.7 5.7 15.8 13.6 15.8 24.4 0 10.3-4.8 18.4-14.8 24.9s-25.4 9.8-45.8 9.8c-41.3 0-75.1-11.6-88.1-42l-.9-2-45.2 21.1.7 1.6c9.1 21.6 25.4 38.8 48.3 51.2 22.9 12.3 51 18.6 83.7 18.6 35.9 0 65.4-7.6 87.7-22.5 22.5-15.1 33.9-35.8 33.9-61.6.1-9.2-1.3-17.7-3.9-25.2zM991 1123.4h2.5l.2 1.8c4.5 51.4 45.9 90.4 96.7 91.4v-51.2c-25.2-1-44.7-22.3-44.7-49.2v-9.5l.9-.6c27.4-18.7 43.8-49.5 43.8-82.3 0-55.3-44.5-100.3-99.1-100.4H835.7v293.4h50.9v-93.2h103.7c.2-.2.4-.2.7-.2zM886.5 974.7h104.6c26.3 0 46.8 21.5 46.8 48.9 0 27-21 48.2-47.8 48.2H886.5v-97.1z%22/%3E%3C/svg%3E") 0 0 no-repeat;
  -webkit-background-size: 100% 100%;
  -moz-background-size: 100% 100%;
  background-size: 100% 100%;
}
@media (max-width: 750px) {
  .footer__logo:before {
    width: 40px;
    height: 45px;
    background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1341.4 1500%22 preserveAspectRatio=%22none%22%3E%3Cpath fill=%22%23777776%22 d=%22M495.1 923.2H240.9v54.7h99.7v238.7h54.8V977.9h99.7zM750 974.7v-51.5H577.9v293.4H750V1165H628.7v-67.3h101.7v-51.5H628.7v-71.5zM295.6 221h-54.7v293.4H436.5v-54.8H295.6zM1039.3 221v172.7l-196.2-172-.8-.7v.1-.1 293.4h54.8V345.3L1094 514.4V221zM773.5 513.4L637.7 221.5 502.8 513.4h270.7zM638.2 334.7l55.3 125.6H582.8l55.4-125.6zM814.1 865.9L676.7 572.6 540.3 865.9l58.9-.3 78-175.8 77.9 175.8zM474.6 761.8l-1.3 2.3c-16.7 29.7-48.5 48.2-83 48.2-52.2 0-94.7-41.7-94.7-93s42.5-93 94.7-93c33.3 0 64.6 17.5 81.6 45.8l1.4 2.3 49.4-23.2-1-1.7-.3-.5-.2-.4c-26.3-46.8-76.5-75.8-130.8-75.8-82.4 0-149.4 65.8-149.4 146.7s67 146.7 149.4 146.7c56.1 0 107-30.5 132.8-79.5l1.4-2.7-50-22.2zM1087.6 756.6c-2.6-7.5-7.2-14.3-13.7-20.2-6.2-5.7-12.2-10.5-17.6-14.3-5.6-3.9-14-7.6-25.1-11.1l-25.2-7.9c-5.9-1.8-15.1-4.7-27.8-8.7-25.5-6.4-43.3-12.6-53-18.3-9.3-5.5-13.8-12.9-13.8-22.4 0-10.1 4.4-17.8 13.6-23.7 9.2-6 21.8-9 37.4-9 32.1 0 61.5 8.9 75.2 34.2l.9 1.7 46.3-20.3-1-1.7c-11.1-19.4-29.1-34.8-49.6-45.8s-44.6-16.6-71.9-16.6c-30.2 0-56.4 7.4-77.8 22.1-21.7 14.8-32.6 35.1-32.6 60.4 0 12.8 2.8 24.1 8.4 33.6 5.6 9.6 14.2 17.7 25.6 24.1 11.2 6.3 22 11.1 32.2 14.2l38.8 11.9c28.3 7.1 48.3 13.6 59.3 19.5 10.7 5.7 15.8 13.6 15.8 24.4 0 10.3-4.8 18.4-14.8 24.9s-25.4 9.8-45.8 9.8c-41.3 0-75.1-11.6-88.1-42l-.9-2-45.2 21.1.7 1.6c9.1 21.6 25.4 38.8 48.3 51.2 22.9 12.3 51 18.6 83.7 18.6 35.9 0 65.4-7.6 87.7-22.5 22.5-15.1 33.9-35.8 33.9-61.6.1-9.2-1.3-17.7-3.9-25.2zM991 1123.4h2.5l.2 1.8c4.5 51.4 45.9 90.4 96.7 91.4v-51.2c-25.2-1-44.7-22.3-44.7-49.2v-9.5l.9-.6c27.4-18.7 43.8-49.5 43.8-82.3 0-55.3-44.5-100.3-99.1-100.4H835.7v293.4h50.9v-93.2h103.7c.2-.2.4-.2.7-.2zM886.5 974.7h104.6c26.3 0 46.8 21.5 46.8 48.9 0 27-21 48.2-47.8 48.2H886.5v-97.1z%22/%3E%3C/svg%3E") 0 0 no-repeat;
    -webkit-background-size: 100% 100%;
    -moz-background-size: 100% 100%;
    background-size: 100% 100%;
  }
}
.footer__side {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  margin-right: 10px;
  margin-left: 10px;
}
.footer__side-major {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  margin-right: -15px;
  margin-left: -15px;
  margin-bottom: 15px;
}
@media (max-width: 1000px) {
  .footer__side-major {
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -o-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
  }
}
@media (max-width: 750px) {
  .footer__side-major {
    display: block;
    text-align: center;
  }
}
@media (max-width: 750px) {
  .footer__side-minor {
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: box;
    display: flex;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -o-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -moz-box-align: center;
    -o-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
  }
}
.footer__phone {
  margin-right: 15px;
  margin-left: 15px;
}
@media (max-width: 750px) {
  .footer__phone {
    margin-bottom: 15px;
  }
}
.footer__phone-link {
  font-weight: 700;
  color: #fff;
  font-size: 18px;
  text-decoration: none;
  border-bottom: none;
}
.footer__callback {
  margin-right: 15px;
  margin-left: 15px;
}
.footer__main {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-right: 10px;
  margin-left: 10px;
}
.footer__main-wrapper {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}
@media (max-width: 1000px) {
  .footer__main-wrapper {
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -o-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
  }
}
.footer__socials {
  color: #e8e8e8;
}
.footer__socials-list {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  margin-right: -20px;
  margin-left: -20px;
  margin-bottom: -10px;
}
@media (max-width: 750px) {
  .footer__socials-list {
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -o-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    margin-bottom: 15px;
  }
}
.footer__socials-item {
  margin-right: 20px;
  margin-left: 20px;
  margin-bottom: 10px;
}
.footer__socials-link {
  color: currentColor;
  text-decoration: none;
  border-bottom: none;
  position: relative;
  margin-left: 25px;
  border-bottom: 1px dotted currentColor;
}
.footer__socials-link_mail {
  position: relative;
}
.footer__socials-link_mail:before {
  content: '';
  display: block;
  width: 17px;
  height: 17px;
  position: absolute;
  left: -25px;
  top: 0;
}
.footer__socials-link_mail:before {
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22511.626%22 height=%22511.626%22 viewBox=%220 0 511.626 511.626%22 preserveAspectRatio=%22none%22%3E%3Cg fill=%22%234e4e4d%22%3E%3Cpath d=%22M49.106 178.729c6.472 4.567 25.981 18.131 58.528 40.685 32.548 22.554 57.482 39.92 74.803 52.099 1.903 1.335 5.946 4.237 12.131 8.71 6.186 4.476 11.326 8.093 15.416 10.852 4.093 2.758 9.041 5.852 14.849 9.277 5.806 3.422 11.279 5.996 16.418 7.7 5.14 1.718 9.898 2.569 14.275 2.569h.575c4.377 0 9.137-.852 14.277-2.569 5.137-1.704 10.615-4.281 16.416-7.7 5.804-3.429 10.752-6.52 14.845-9.277 4.093-2.759 9.229-6.376 15.417-10.852 6.184-4.477 10.232-7.375 12.135-8.71 17.508-12.179 62.051-43.11 133.615-92.79 13.894-9.703 25.502-21.411 34.827-35.116 9.332-13.699 13.993-28.07 13.993-43.105 0-12.564-4.523-23.319-13.565-32.264-9.041-8.947-19.749-13.418-32.117-13.418H45.679c-14.655 0-25.933 4.948-33.832 14.844C3.949 79.562 0 91.934 0 106.779c0 11.991 5.236 24.985 15.703 38.974 10.466 13.99 21.604 24.983 33.403 32.976z%22/%3E%3Cpath d=%22M483.072 209.275c-62.424 42.251-109.824 75.087-142.177 98.501-10.849 7.991-19.65 14.229-26.409 18.699-6.759 4.473-15.748 9.041-26.98 13.702-11.228 4.668-21.692 6.995-31.401 6.995h-.578c-9.707 0-20.177-2.327-31.405-6.995-11.228-4.661-20.223-9.229-26.98-13.702-6.755-4.47-15.559-10.708-26.407-18.699-25.697-18.842-72.995-51.68-141.896-98.501C17.987 202.047 8.375 193.762 0 184.437v226.685c0 12.57 4.471 23.319 13.418 32.265 8.945 8.949 19.701 13.422 32.264 13.422h420.266c12.56 0 23.315-4.473 32.261-13.422 8.949-8.949 13.418-19.694 13.418-32.265V184.437c-8.186 9.132-17.7 17.417-28.555 24.838z%22/%3E%3C/g%3E%3C/svg%3E") 0 0 no-repeat;
  -webkit-background-size: 100% 100%;
  -moz-background-size: 100% 100%;
  background-size: 100% 100%;
}
.footer__socials-link_inst:before {
  content: '';
  display: block;
  width: 17px;
  height: 17px;
  position: absolute;
  left: -25px;
  top: 0;
}
.footer__socials-link_inst:before {
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22 preserveAspectRatio=%22none%22%3E%3Cpath fill=%22%234e4e4d%22 d=%22M256 174.6c-44.885 0-81.4 36.516-81.4 81.4 0 44.884 36.516 81.4 81.4 81.4 44.884 0 81.4-36.516 81.4-81.4 0-44.884-36.515-81.4-81.4-81.4z%22/%3E%3Cpath fill=%22%234e4e4d%22 d=%22M416.668 0H95.334C42.767 0 0 42.766 0 95.333v321.334C0 469.234 42.767 512 95.334 512h321.334C469.234 512 512 469.234 512 416.667V95.333C512 42.766 469.234 0 416.668 0zM256 367.4c-61.427 0-111.4-49.975-111.4-111.4S194.573 144.6 256 144.6 367.4 194.574 367.4 256 317.427 367.4 256 367.4zm155.203-245.391a15.085 15.085 0 0 1-10.6 4.39c-3.95 0-7.82-1.6-10.61-4.39a15.111 15.111 0 0 1-4.39-10.61c0-3.949 1.6-7.811 4.39-10.6 2.79-2.801 6.66-4.4 10.61-4.4 3.94 0 7.811 1.6 10.6 4.4 2.801 2.789 4.4 6.65 4.4 10.6s-1.599 7.82-4.4 10.61z%22/%3E%3C/svg%3E") 0 0 no-repeat;
  -webkit-background-size: 100% 100%;
  -moz-background-size: 100% 100%;
  background-size: 100% 100%;
}
.footer__socials-link_whatsapp:before {
  content: '';
  display: block;
  width: 17px;
  height: 17px;
  position: absolute;
  left: -25px;
  top: 0;
}
.footer__socials-link_whatsapp:before {
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22 preserveAspectRatio=%22none%22%3E%3Cpath fill=%22%234e4e4d%22 d=%22M256.064 0h-.128C114.784 0 0 114.816 0 256c0 56 18.048 107.904 48.736 150.048l-31.904 95.104 98.4-31.456C155.712 496.512 204 512 256.064 512 397.216 512 512 397.152 512 256S397.216 0 256.064 0zm148.96 361.504c-6.176 17.44-30.688 31.904-50.24 36.128-13.376 2.848-30.848 5.12-89.664-19.264-75.232-31.168-123.68-107.616-127.456-112.576-3.616-4.96-30.4-40.48-30.4-77.216s18.656-54.624 26.176-62.304c6.176-6.304 16.384-9.184 26.176-9.184 3.168 0 6.016.16 8.576.288 7.52.32 11.296.768 16.256 12.64 6.176 14.88 21.216 51.616 23.008 55.392 1.824 3.776 3.648 8.896 1.088 13.856-2.4 5.12-4.512 7.392-8.288 11.744-3.776 4.352-7.36 7.68-11.136 12.352-3.456 4.064-7.36 8.416-3.008 15.936 4.352 7.36 19.392 31.904 41.536 51.616 28.576 25.44 51.744 33.568 60.032 37.024 6.176 2.56 13.536 1.952 18.048-2.848 5.728-6.176 12.8-16.416 20-26.496 5.12-7.232 11.584-8.128 18.368-5.568 6.912 2.4 43.488 20.48 51.008 24.224 7.52 3.776 12.48 5.568 14.304 8.736 1.792 3.168 1.792 18.048-4.384 35.52z%22/%3E%3C/svg%3E") 0 0 no-repeat;
  -webkit-background-size: 100% 100%;
  -moz-background-size: 100% 100%;
  background-size: 100% 100%;
}
.footer__content {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  margin-right: -10px;
  margin-left: -10px;
}
@media (max-width: 1000px) {
  .footer__content {
    display: block;
    margin-right: 0;
    margin-left: 0;
  }
}
.footer__copyright {
  text-align: right;
  color: #e8e8e8;
  font-size: 16px;
  display: block;
  text-decoration: none;
  -webkit-transition: none;
  -moz-transition: none;
  -o-transition: none;
  -ms-transition: none;
  transition: none;
}
.footer__copyright-caption {
  color: #ba9060;
  text-decoration: none;
  font-weight: 500;
}
.footer__copyright:hover {
  color: #ba9060;
}
.header {
  background-color: #230da0;
  padding-top: 29px;
  padding-bottom: 27px;
}
.header__content {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  -o-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}
.header__main {
  width: 100%;
}
.header__main-wrapper {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  max-width: 1070px;
  margin: 0 auto;
}
.header__logo {
  display: block;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}
.header__logo-img {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  position: relative;
  max-width: 360px;
}
@media (max-width: 1000px) {
  .header {
    padding-top: 25px;
    padding-bottom: 23px;
  }
  .header__logo-img {
    max-width: 320px;
  }
}
@media (max-width: 800px) {
  .header {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .header__logo-img {
    max-width: 300px;
  }
}
@media (max-width: 700px) {
  .header {
    padding-top: 15px;
    padding-bottom: 15px;
  }
  .header__logo-img {
    max-width: 200px;
  }
}
@media (max-width: 600px) {
  .header__logo-img {
    max-width: 180px;
  }
}
@media (max-width: 500px) {
  .header {
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .header__logo-img {
    max-width: 150px;
  }
}
.instruction {
  position: relative;
  padding-top: 160px;
  padding-bottom: 40px;
}
@media (max-width: 750px) {
  .instruction {
    padding-top: 60px;
    padding-bottom: 80px;
  }
}
.instruction__side {
  margin-bottom: 37px;
}
.instruction__wrapper {
  position: relative;
}
.instruction__img {
  position: absolute;
  right: -355px;
  top: -130px;
  width: 575px;
  background: url("../images/linear.png") 0 0/cover no-repeat;
}
.instruction__img:before {
  content: '';
  display: block;
  padding-bottom: 63.30434782608695%;
}
@media (max-width: 750px) {
  .instruction__img {
    display: none;
  }
}
.instruction__title {
  font-size: 30px;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 46px;
}
.instruction__subtitle {
  font-size: 14px;
  line-height: 1.714285714285714;
  max-width: 670px;
}
.instruction__list-item {
  margin-bottom: 24px;
}
.instruction__list-item:last-child {
  margin-bottom: 0;
}
.instruction__cols {
  max-width: 1115px;
  margin-bottom: 70px;
}
@media (max-width: 1000px) {
  .instruction__cols {
    margin-bottom: 40px;
  }
}
.instruction__cols-list {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -50px;
  margin-left: -50px;
  margin-bottom: -30px;
}
@media (max-width: 700px) {
  .instruction__cols-list {
    display: block;
  }
}
.instruction__cols-item {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  max-width: calc(50% - 100px);
  -webkit-flex-basis: calc(50% - 100px);
  flex-basis: calc(50% - 100px);
  margin-right: 50px;
  margin-left: 50px;
  margin-bottom: 30px;
}
@media (max-width: 700px) {
  .instruction__cols-item {
    max-width: none;
  }
}
.instruction-item {
  font-size: 14px;
  line-height: 1.714285714285714;
}
.instruction-item__wrapper {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
}
.instruction-item__side {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  width: 20px;
  margin-right: 10px;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-align: start;
  -moz-box-align: start;
  -o-box-align: start;
  -ms-flex-align: start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  position: relative;
}
.instruction-item__side:before {
  content: '';
  display: block;
  position: absolute;
  width: 55px;
  height: 15px;
  top: 12px;
  background: #f2e8e0;
}
.instruction-item__main {
  position: relative;
  z-index: 9;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
.instruction-item__amount {
  position: relative;
  z-index: 9;
  line-height: 1;
  font-size: 24px;
  font-weight: 700;
  color: #bd8c64;
}
.instruction-item b {
  position: relative;
  font-weight: 700;
}
.instruction-item b:before {
  content: '';
  z-index: -1;
  position: absolute;
  top: -2px;
  left: -2px;
  right: -2px;
  bottom: -2px;
  background: #eee;
}
.intro {
  padding-top: 134px;
  min-height: 700px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding-bottom: 40px;
  color: #fff;
  position: relative;
  background: #ededed;
}
@media (max-width: 700px) {
  .intro {
    min-height: 510px;
  }
}
.intro:before {
  content: '';
  display: block;
  top: 0;
  bottom: 0;
  left: 0;
  right: 45%;
  position: absolute;
  background: #000;
}
.intro:after {
  content: '';
  display: block;
  top: 0;
  bottom: 0;
  left: 55%;
  right: 0;
  position: absolute;
  width: 660px;
  background-color: #ba9060;
  background-image: url("../images/pattern.jpg");
  -webkit-background-size: contain;
  -moz-background-size: contain;
  background-size: contain;
  background-position: bottom;
  background-repeat: no-repeat;
}
.intro__title {
  font-size: 56px;
  line-height: 1;
  font-family: '_codeccoldlogo', Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 36px;
}
@media (max-width: 700px) {
  .intro__title {
    font-size: 36px;
  }
}
.intro__desc {
  max-width: 250px;
  font-size: 14px;
  line-height: 1.428571428571429;
  opacity: 0.6;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
  filter: alpha(opacity=60);
}
.intro__img {
  width: 800px;
  height: 600px;
  background-position: center;
  background-repeat: no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
}
@media (max-width: 1200px) {
  .intro__img {
    width: 500px;
    height: 460px;
  }
}
@media (max-width: 700px) {
  .intro__img {
    width: 256px;
    height: 182px;
  }
}
.intro__content {
  position: relative;
}
.intro__main {
  padding-top: 100px;
  min-height: 390px;
  max-width: 625px;
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
  -o-box-orient: vertical;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}
@media (max-width: 1200px) {
  .intro__main {
    min-height: 320px;
  }
}
@media (max-width: 700px) {
  .intro__main {
    padding-top: 0;
    min-height: 0;
  }
}
.intro__side {
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}
@media (max-width: 700px) {
  .intro__side {
    right: 0;
    top: auto;
    bottom: -115px;
  }
}
.intro__desc {
  margin-bottom: 30px;
}
.intro__action {
  margin-top: auto;
}
.nav-big__main {
  margin-bottom: 25px;
}
.nav-big__link {
  text-decoration: none;
  border-bottom: none;
  font-size: 26px;
  font-weight: 700;
  color: #000;
}
.nav-big__list-item {
  margin-bottom: 5px;
}
.nav-big__list-item_offset_large {
  margin-bottom: 15px;
}
.organisation {
  padding-top: 85px;
  padding-bottom: 100px;
  position: relative;
}
@media (max-width: 1200px) {
  .organisation {
    padding-bottom: 40px;
  }
}
@media (max-width: 750px) {
  .organisation {
    padding-top: 50px;
    padding-bottom: 10px;
  }
}
.organisation:before {
  content: '';
  background-color: #e8e8e8;
  min-height: 460px;
  display: block;
  position: absolute;
  top: 0;
  left: -100vw;
  right: -100vw;
  z-index: -1;
}
.organisation__side {
  margin-bottom: 63px;
}
@media (max-width: 750px) {
  .organisation__side {
    margin-bottom: 45px;
  }
}
.organisation__wrapper:after {
  content: '';
  display: block;
  width: 1194px;
  height: 154px;
  position: absolute;
  top: 325px;
  z-index: -1;
  background-image: url("../images/logo-hor-white.png");
}
.organisation__desc {
  font-size: 14px;
  line-height: 1.142857142857143;
}
.organisation__title {
  font-size: 30px;
  line-height: 1.133333333333333;
  font-weight: 700;
  text-transform: uppercase;
}
.organisation__header {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  margin-right: -5px;
  margin-left: -5px;
  margin-bottom: -25px;
}
.organisation__header-main {
  margin-right: 5px;
  margin-left: 5px;
  margin-bottom: 25px;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
.organisation__header-side {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  margin-right: 5px;
  margin-left: 5px;
  margin-bottom: 25px;
}
@media (max-width: 750px) {
  .organisation__header-side {
    margin-bottom: 15px;
  }
}
.organisation__cols-list {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  margin-right: -44px;
  margin-left: -44px;
  margin-bottom: -20px;
}
@media (max-width: 750px) {
  .organisation__cols-list {
    display: block;
  }
}
.organisation__cols-item {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-right: 44px;
  margin-left: 44px;
  margin-bottom: 20px;
}
.organisation__img {
  width: 630px;
  height: 340px;
  background-position: center;
  background-repeat: no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  position: relative;
}
@media (max-width: 1000px) {
  .organisation__img {
    width: 290px;
    height: 250px;
  }
}
@media (max-width: 750px) {
  .organisation__img {
    width: 100%;
  }
}
.organisation__img:before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: -50px;
  right: -100vw;
  bottom: 88px;
  background-image: url("../images/pattern-transparent.png");
  z-index: -1;
  margin-left: 200px;
}
.photos {
  padding-bottom: 80px;
  padding-top: 205px;
}
@media (max-width: 1200px) {
  .photos {
    padding-top: 140px;
  }
}
@media (max-width: 1000px) {
  .photos {
    padding-top: 180px;
    padding-bottom: 40px;
  }
}
@media (max-width: 750px) {
  .photos {
    padding-top: 30px;
  }
}
.photos__side {
  margin-bottom: 47px;
}
.photos__main-major {
  margin-bottom: 55px;
}
.photos__title {
  font-size: 30px;
  font-weight: 700;
  text-transform: uppercase;
}
.photos__list {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -20px;
  margin-left: -20px;
  margin-bottom: -40px;
}
@media (max-width: 1000px) {
  .photos__list {
    margin-right: -10px;
    margin-left: -10px;
    margin-bottom: -20px;
  }
}
.photos__list-item {
  margin-right: 20px;
  margin-left: 20px;
  margin-bottom: 40px;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  display: block;
  -webkit-flex-basis: calc(33.33% - 40px);
  flex-basis: calc(33.33% - 40px);
  max-width: calc(33.33% - 40px);
}
.photos__list-item_large {
  -webkit-flex-basis: calc(66.66% - 40px);
  flex-basis: calc(66.66% - 40px);
  max-width: calc(66.66% - 40px);
}
@media (max-width: 1000px) {
  .photos__list-item {
    -webkit-flex-basis: calc(50% - 20px);
    flex-basis: calc(50% - 20px);
    max-width: calc(50% - 20px);
    margin-right: 10px;
    margin-left: 10px;
    margin-bottom: 20px;
  }
}
.photos__actions {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}
.photos__img {
  min-height: 300px;
  background-position: center;
  background-repeat: no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  -webkit-transition: 0.3s ease opacity;
  -moz-transition: 0.3s ease opacity;
  -o-transition: 0.3s ease opacity;
  -ms-transition: 0.3s ease opacity;
  transition: 0.3s ease opacity;
}
@media (max-width: 700px) {
  .photos__img {
    min-height: 150px;
  }
}
.photos__img:hover {
  opacity: 0.8;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
  filter: alpha(opacity=80);
}
.photos_simple {
  padding: 0;
}
.planning {
  margin-bottom: 154px;
  padding-top: 180px;
}
@media (max-width: 1000px) {
  .planning {
    padding-top: 40px;
    margin-bottom: 70px;
  }
}
@media (max-width: 750px) {
  .planning {
    margin-bottom: 30px;
  }
}
.planning__action {
  padding-top: 15px;
  padding-bottom: 15px;
  text-align: right;
}
@media (max-width: 750px) {
  .planning__action {
    text-align: center;
  }
}
.planning__cols {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: -15px;
  margin-right: -15px;
}
@media (max-width: 750px) {
  .planning__cols {
    display: block;
    max-width: none;
    -webkit-flex-basis: none;
    flex-basis: none;
    margin-right: 0;
    margin-left: 0;
  }
}
.planning__cols-item {
  margin-right: 15px;
  margin-left: 15px;
  max-width: calc(50% - 30px);
  -webkit-flex-basis: calc(50% - 30px);
  flex-basis: calc(50% - 30px);
}
@media (max-width: 750px) {
  .planning__cols-item {
    max-width: none;
    -webkit-flex-basis: none;
    flex-basis: none;
    margin-right: 0;
    margin-left: 0;
    margin-bottom: 30px;
  }
}
.planning__title {
  font-size: 48px;
  line-height: 1.166666666666667;
  font-weight: 700;
  margin-bottom: 30px;
  text-transform: uppercase;
}
@media (max-width: 750px) {
  .planning__title {
    font-size: 30px;
    text-align: center;
  }
}
.planning__img img {
  width: 100%;
  max-width: 100%;
  display: block;
}
.planning__img_2 {
  padding-top: 12px;
}
.promo {
  padding-top: 85px;
  color: #fff;
}
@media (max-width: 1000px) {
  .promo {
    padding-top: 60px;
  }
}
@media (max-width: 750px) {
  .promo {
    color: #000;
  }
}
.promo__wrapper {
  position: relative;
}
.promo__wrapper:before {
  content: '';
  position: absolute;
  min-height: 495px;
  left: -85px;
  right: -100vw;
  background: #bd8c64;
  z-index: -1;
}
@media (max-width: 750px) {
  .promo__wrapper:before {
    display: none;
  }
}
.promo__cols-list {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -27px;
  margin-left: -27px;
}
@media (max-width: 700px) {
  .promo__cols-list {
    display: block;
  }
}
.promo__cols-item {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-right: 27px;
  margin-left: 27px;
}
.promo__cols-item_padding-top_medium {
  padding-top: 65px;
}
@media (max-width: 750px) {
  .promo__cols-item_padding-top_medium {
    padding-top: 0;
  }
}
.promo__cols-item_padding-top_large {
  padding-top: 115px;
}
@media (max-width: 1000px) {
  .promo__cols-item_padding-top_large {
    padding-top: 30px;
  }
}
.promo__img {
  width: 740px;
  height: 490px;
  background-position: center;
  background-repeat: no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  margin-left: -195px;
  position: relative;
}
.promo__img:before {
  content: '';
  position: absolute;
  top: 0;
  left: -100vw;
  right: -110px;
  bottom: 0;
  background-image: url("../images/pattern-transparent.png");
  z-index: -1;
  margin-top: 110px;
  bottom: -80px;
}
@media (max-width: 1000px) {
  .promo__img {
    width: 506px;
    height: 300px;
  }
}
@media (max-width: 700px) {
  .promo__img {
    margin: 0;
    width: 100%;
    height: 200px;
  }
}
.promo__title {
  font-size: 30px;
  font-weight: 700;
  line-height: 1.133333333333333;
  margin-bottom: 45px;
  text-transform: uppercase;
  max-width: 450px;
}
.promo__desc {
  font-size: 14px;
  max-width: 480px;
}
.rules {
  position: relative;
}
.rules__wrapper {
  padding-top: 90px;
  padding-bottom: 90px;
  background: #1d1d1b;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  min-height: 500px;
  position: relative;
}
@media (max-width: 750px) {
  .rules__wrapper {
    padding-top: 40px;
    padding-bottom: 90px;
  }
}
.rules__wrapper:before {
  content: '';
  position: absolute;
  left: -100vw;
  background: #1d1d1b;
  display: block;
  right: -70px;
  top: 0;
  bottom: 0;
  z-index: -1;
}
.rules__wrapper:after {
  content: '';
  display: block;
  min-height: 490px;
  width: 100vw;
  position: absolute;
  right: -100vw;
  left: 100%;
  margin-left: -340px;
  bottom: -240px;
  background-image: url("../images/pattern-transparent.png");
}
.rules__side {
  margin-bottom: 100px;
}
@media (max-width: 750px) {
  .rules__side {
    margin-bottom: 45px;
  }
}
.rules__title {
  color: #fff;
  font-weight: 700;
  font-size: 30px;
  line-height: 1.133333333333333;
  text-transform: uppercase;
}
.rules__list {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  -o-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  margin-right: -5px;
  margin-left: -5px;
  margin-bottom: -30px;
}
.rules__list-item {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  max-width: 120px;
  margin-right: 5px;
  margin-left: 5px;
  margin-bottom: 30px;
}
@media (max-width: 750px) {
  .rules__list-item {
    max-width: calc(50% - 10px);
    -webkit-flex-basis: calc(50% - 10px);
    flex-basis: calc(50% - 10px);
  }
}
.rules-item__side {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  margin-bottom: 30px;
}
@media (max-width: 750px) {
  .rules-item__side {
    margin-bottom: 15px;
  }
}
.rules-item__desc {
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  line-height: 1.3;
}
.section {
  background-color: #e696e5;
}
.section__content {
  padding-top: 132px;
  padding-left: 20px;
  padding-right: 20px;
}
.section__title {
  max-width: 1070px;
  margin-left: auto;
  margin-right: auto;
  color: #fff;
  font-family: '_roboto', Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
  font-weight: 300;
  margin-bottom: 148px;
}
.section__title-h2 {
  font-size: 130px;
  letter-spacing: 0.096em;
  line-height: 1;
  text-align: center;
}
.section__title-h3 {
  font-size: 103px;
  letter-spacing: 0.141em;
  line-height: 1.2;
  text-align: center;
}
.section__title-h4 {
  font-size: 91px;
  letter-spacing: 0.1em;
  line-height: 1;
  text-align: center;
}
.section__link-wrapper {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  margin-bottom: 97px;
}
.section__image-wrapper {
  position: relative;
}
.section__image-wrapper:before {
  content: '';
  top: 73.9%;
  z-index: 5;
  left: -50vw;
  right: -50vw;
  bottom: 0;
  position: absolute;
  display: block;
  background-image: -webkit-linear-gradient(left, #cc24ca 0%, #cc24ca 50%, #230da0 50%, #230da0 100%);
  background-image: -moz-linear-gradient(left, #cc24ca 0%, #cc24ca 50%, #230da0 50%, #230da0 100%);
  background-image: -o-linear-gradient(left, #cc24ca 0%, #cc24ca 50%, #230da0 50%, #230da0 100%);
  background-image: -ms-linear-gradient(left, #cc24ca 0%, #cc24ca 50%, #230da0 50%, #230da0 100%);
  background-image: linear-gradient(to right, #cc24ca 0%, #cc24ca 50%, #230da0 50%, #230da0 100%);
}
.section__img {
  position: relative;
  z-index: 55;
  display: block;
  max-width: 100%;
}
.section__img_tables {
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
  margin: 0 auto;
}
@media (max-width: 1200px) {
  .section {
    background-color: #e696e5;
  }
  .section__content {
    padding-top: 132px;
  }
  .section__title {
    max-width: 1070px;
    margin-left: auto;
    margin-right: auto;
    color: #fff;
    font-family: '_roboto', Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
    font-weight: 300;
    margin-bottom: 148px;
  }
  .section__title-h2 {
    font-size: 115px;
    letter-spacing: 0.096em;
  }
  .section__title-h3 {
    font-size: 90px;
    letter-spacing: 0.141em;
  }
  .section__title-h4 {
    font-size: 80px;
    letter-spacing: 0.1em;
  }
}
@media (max-width: 1000px) {
  .section__content {
    padding-top: 90px;
  }
  .section__title {
    margin-bottom: 90px;
  }
  .section__title-h2 {
    font-size: 93px;
  }
  .section__title-h3 {
    font-size: 74px;
  }
  .section__title-h4 {
    font-size: 65px;
  }
  .section__link-wrapper {
    margin-bottom: 90px;
  }
}
@media (max-width: 850px) {
  .section__content {
    padding-top: 75px;
  }
  .section__title {
    margin-bottom: 75px;
  }
  .section__title-h2 {
    font-size: 86px;
  }
  .section__title-h3 {
    font-size: 68px;
  }
  .section__title-h4 {
    font-size: 60px;
  }
  .section__link-wrapper {
    margin-bottom: 75px;
  }
}
@media (max-width: 750px) {
  .section__content {
    padding-top: 50px;
  }
  .section__title {
    margin-bottom: 50px;
  }
  .section__title-h2 {
    font-size: 65px;
  }
  .section__title-h3 {
    font-size: 52px;
  }
  .section__title-h4 {
    font-size: 45px;
  }
  .section__link-wrapper {
    margin-bottom: 50px;
  }
}
@media (max-width: 600px) {
  .section__title-h2 {
    font-size: 51px;
  }
  .section__title-h3 {
    font-size: 41px;
  }
  .section__title-h4 {
    font-size: 35px;
  }
}
@media (max-width: 500px) {
  .section__title-h2 {
    font-size: 37px;
  }
  .section__title-h3 {
    font-size: 29px;
  }
  .section__title-h4 {
    font-size: 25px;
  }
}
@media (max-width: 350px) {
  .section__title-h2 {
    font-size: 33px;
  }
  .section__title-h3 {
    font-size: 26px;
  }
  .section__title-h4 {
    font-size: 23px;
  }
}
.section-link {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
  -o-box-orient: vertical;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  background-color: #fff;
  text-decoration: none;
  padding: 9px 86px 36px;
  border-radius: 20px;
}
.section-link__text {
  font-family: '_roboto', Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
  font-weight: 700;
}
.section-link__text_violet {
  font-size: 100px;
  letter-spacing: 0.1em;
  line-height: 1.2;
  color: #aa92fc;
}
.section-link__text_blue {
  font-size: 73px;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #230da0;
}
@media (max-width: 1000px) {
  .section-link {
    padding: 9px 86px 36px;
  }
  .section-link__text_violet {
    font-size: 85px;
  }
  .section-link__text_blue {
    font-size: 63px;
  }
}
@media (max-width: 850px) {
  .section-link {
    padding: 9px 65px 25px;
  }
  .section-link__text_violet {
    font-size: 60px;
  }
  .section-link__text_blue {
    font-size: 45px;
  }
}
@media (max-width: 750px) {
  .section-link {
    padding: 9px 45px 25px;
  }
  .section-link__text_violet {
    font-size: 50px;
  }
  .section-link__text_blue {
    font-size: 38px;
  }
}
@media (max-width: 600px) {
  .section-link__text_violet {
    font-size: 40px;
  }
  .section-link__text_blue {
    font-size: 30px;
  }
}
@media (max-width: 500px) {
  .section-link {
    padding: 9px 37px 18px;
  }
  .section-link__text_violet {
    font-size: 30px;
  }
  .section-link__text_blue {
    font-size: 22px;
  }
}
.tables {
  -webkit-animation: popup 15s 2s ease infinite;
  -moz-animation: popup 15s 2s ease infinite;
  -o-animation: popup 15s 2s ease infinite;
  -ms-animation: popup 15s 2s ease infinite;
  animation: popup 15s 2s ease infinite;
}
@-moz-keyframes popup {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -o-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
  20% {
    -webkit-transform: translateY(7%);
    -moz-transform: translateY(7%);
    -o-transform: translateY(7%);
    -ms-transform: translateY(7%);
    transform: translateY(7%);
  }
  30% {
    -webkit-transform: translateY(3%);
    -moz-transform: translateY(3%);
    -o-transform: translateY(3%);
    -ms-transform: translateY(3%);
    transform: translateY(3%);
  }
  40% {
    -webkit-transform: translateY(7%);
    -moz-transform: translateY(7%);
    -o-transform: translateY(7%);
    -ms-transform: translateY(7%);
    transform: translateY(7%);
  }
  50% {
    -webkit-transform: translateY(3%);
    -moz-transform: translateY(3%);
    -o-transform: translateY(3%);
    -ms-transform: translateY(3%);
    transform: translateY(3%);
  }
  60% {
    -webkit-transform: translateY(7%);
    -moz-transform: translateY(7%);
    -o-transform: translateY(7%);
    -ms-transform: translateY(7%);
    transform: translateY(7%);
  }
  70% {
    -webkit-transform: translateY(3%);
    -moz-transform: translateY(3%);
    -o-transform: translateY(3%);
    -ms-transform: translateY(3%);
    transform: translateY(3%);
  }
  80% {
    -webkit-transform: translateY(7%);
    -moz-transform: translateY(7%);
    -o-transform: translateY(7%);
    -ms-transform: translateY(7%);
    transform: translateY(7%);
  }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -o-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}
@-webkit-keyframes popup {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -o-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
  20% {
    -webkit-transform: translateY(7%);
    -moz-transform: translateY(7%);
    -o-transform: translateY(7%);
    -ms-transform: translateY(7%);
    transform: translateY(7%);
  }
  30% {
    -webkit-transform: translateY(3%);
    -moz-transform: translateY(3%);
    -o-transform: translateY(3%);
    -ms-transform: translateY(3%);
    transform: translateY(3%);
  }
  40% {
    -webkit-transform: translateY(7%);
    -moz-transform: translateY(7%);
    -o-transform: translateY(7%);
    -ms-transform: translateY(7%);
    transform: translateY(7%);
  }
  50% {
    -webkit-transform: translateY(3%);
    -moz-transform: translateY(3%);
    -o-transform: translateY(3%);
    -ms-transform: translateY(3%);
    transform: translateY(3%);
  }
  60% {
    -webkit-transform: translateY(7%);
    -moz-transform: translateY(7%);
    -o-transform: translateY(7%);
    -ms-transform: translateY(7%);
    transform: translateY(7%);
  }
  70% {
    -webkit-transform: translateY(3%);
    -moz-transform: translateY(3%);
    -o-transform: translateY(3%);
    -ms-transform: translateY(3%);
    transform: translateY(3%);
  }
  80% {
    -webkit-transform: translateY(7%);
    -moz-transform: translateY(7%);
    -o-transform: translateY(7%);
    -ms-transform: translateY(7%);
    transform: translateY(7%);
  }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -o-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}
@-o-keyframes popup {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -o-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
  20% {
    -webkit-transform: translateY(7%);
    -moz-transform: translateY(7%);
    -o-transform: translateY(7%);
    -ms-transform: translateY(7%);
    transform: translateY(7%);
  }
  30% {
    -webkit-transform: translateY(3%);
    -moz-transform: translateY(3%);
    -o-transform: translateY(3%);
    -ms-transform: translateY(3%);
    transform: translateY(3%);
  }
  40% {
    -webkit-transform: translateY(7%);
    -moz-transform: translateY(7%);
    -o-transform: translateY(7%);
    -ms-transform: translateY(7%);
    transform: translateY(7%);
  }
  50% {
    -webkit-transform: translateY(3%);
    -moz-transform: translateY(3%);
    -o-transform: translateY(3%);
    -ms-transform: translateY(3%);
    transform: translateY(3%);
  }
  60% {
    -webkit-transform: translateY(7%);
    -moz-transform: translateY(7%);
    -o-transform: translateY(7%);
    -ms-transform: translateY(7%);
    transform: translateY(7%);
  }
  70% {
    -webkit-transform: translateY(3%);
    -moz-transform: translateY(3%);
    -o-transform: translateY(3%);
    -ms-transform: translateY(3%);
    transform: translateY(3%);
  }
  80% {
    -webkit-transform: translateY(7%);
    -moz-transform: translateY(7%);
    -o-transform: translateY(7%);
    -ms-transform: translateY(7%);
    transform: translateY(7%);
  }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -o-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes popup {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -o-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
  20% {
    -webkit-transform: translateY(7%);
    -moz-transform: translateY(7%);
    -o-transform: translateY(7%);
    -ms-transform: translateY(7%);
    transform: translateY(7%);
  }
  30% {
    -webkit-transform: translateY(3%);
    -moz-transform: translateY(3%);
    -o-transform: translateY(3%);
    -ms-transform: translateY(3%);
    transform: translateY(3%);
  }
  40% {
    -webkit-transform: translateY(7%);
    -moz-transform: translateY(7%);
    -o-transform: translateY(7%);
    -ms-transform: translateY(7%);
    transform: translateY(7%);
  }
  50% {
    -webkit-transform: translateY(3%);
    -moz-transform: translateY(3%);
    -o-transform: translateY(3%);
    -ms-transform: translateY(3%);
    transform: translateY(3%);
  }
  60% {
    -webkit-transform: translateY(7%);
    -moz-transform: translateY(7%);
    -o-transform: translateY(7%);
    -ms-transform: translateY(7%);
    transform: translateY(7%);
  }
  70% {
    -webkit-transform: translateY(3%);
    -moz-transform: translateY(3%);
    -o-transform: translateY(3%);
    -ms-transform: translateY(3%);
    transform: translateY(3%);
  }
  80% {
    -webkit-transform: translateY(7%);
    -moz-transform: translateY(7%);
    -o-transform: translateY(7%);
    -ms-transform: translateY(7%);
    transform: translateY(7%);
  }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -o-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}
.works {
  padding-top: 72px;
  padding-bottom: 72px;
}
.works__side {
  margin-bottom: 52px;
}
.works__main-major {
  margin-bottom: 65px;
}
.works__title {
  font-size: 30px;
  line-height: 1.133333333333333;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 14px;
}
.works__subtitle {
  font-size: 14px;
  line-height: 1.285714285714286;
}
.works__list {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
  margin-bottom: -30px;
}
.works__list-item {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  margin-right: 15px;
  margin-left: 15px;
  margin-bottom: 30px;
  max-width: calc(33.33% - 30px);
  -webkit-flex-basis: calc(33.33% - 30px);
  flex-basis: calc(33.33% - 30px);
}
@media (max-width: 1000px) {
  .works__list-item {
    max-width: calc(50% - 30px);
    -webkit-flex-basis: calc(50% - 30px);
    flex-basis: calc(50% - 30px);
  }
}
@media (max-width: 750px) {
  .works__list-item {
    max-width: calc(100% - 30px);
    -webkit-flex-basis: calc(100% - 30px);
    flex-basis: calc(100% - 30px);
  }
}
.works__actions {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}
@media (max-width: 750px) {
  .works__actions {
    display: block;
  }
  .works__actions .button {
    width: 100%;
  }
}
.works__actions-list {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  margin-right: -15px;
  margin-left: -15px;
  margin-bottom: -15px;
}
@media (max-width: 750px) {
  .works__actions-list {
    display: block;
  }
}
.works__actions-item {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  margin-right: 15px;
  margin-left: 15px;
  margin-bottom: 15px;
}
.works__actions-item:last-child {
  margin-bottom: 0;
}
.works-item {
  cursor: pointer;
}
.works-item__side {
  margin-bottom: 24px;
}
.works-item__img {
  display: block;
  min-height: 220px;
  background-position: center;
  background-repeat: no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  position: relative;
}
.works-item__img:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0,0,0,0.3);
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  -webkit-transition: 0.3s ease;
  -moz-transition: 0.3s ease;
  -o-transition: 0.3s ease;
  -ms-transition: 0.3s ease;
  transition: 0.3s ease;
}
.works-item__img:hover:before {
  opacity: 1;
  -ms-filter: none;
  filter: none;
}
.works-item__info {
  margin-bottom: 10px;
}
.works-item__info-content {
  margin-right: -5px;
  margin-left: -5px;
  margin-bottom: -10px;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
}
.works-item__info-main {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  margin-right: 5px;
  margin-left: 5px;
  margin-bottom: 10px;
}
.works-item__info-side {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  margin-right: 5px;
  margin-left: 5px;
  margin-bottom: 10px;
}
.works-item__title {
  font-size: 20px;
}
.works-item__price {
  font-size: 20px;
  font-weight: 700;
}
.works-item__desc {
  font-size: 14px;
  color: #1d1d1b;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL25vZGVfbW9kdWxlcy9uaWIvbGliL25pYi9yZXNldC5zdHlsIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25pYi9saWIvbmliL2JvcmRlci5zdHlsIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25pYi9saWIvbmliL3ZlbmRvci5zdHlsIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25pYi9saWIvbmliL2ZsZXguc3R5bCIsImhlbHBlcnMvaW5jbHVkZS1mb250LnN0eWwiLCJsYXlvdXQvYm9keS5zdHlsIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWx1cy9saWIvZnVuY3Rpb25zL2luZGV4LnN0eWwiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmliL2xpYi9uaWIvb3ZlcmZsb3cuc3R5bCIsImhlbHBlcnMvZG8uc3R5bCIsImxheW91dC91aS5zdHlsIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25pYi9saWIvbmliL3NpemUuc3R5bCIsIi4uLy4uL25vZGVfbW9kdWxlcy9uaWIvbGliL25pYi9ib3JkZXItcmFkaXVzLnN0eWwiLCJoZWxwZXJzL3N2Zy5zdHlsIiwibGF5b3V0L2Jsb2NrLnN0eWwiLCJsYXlvdXQvYnV0dG9uLnN0eWwiLCJsYXlvdXQvZm9ybS5zdHlsIiwibW9kdWxlcy93b3Jrcy5zdHlsIiwibGF5b3V0L2ZpZWxkLnN0eWwiLCJoZWxwZXJzL3BsYWNlaG9sZGVyLnN0eWwiLCJsYXlvdXQvdGl0bGUuc3R5bCIsImxheW91dC90b2dnbGUuc3R5bCIsImxheW91dC90YWJsZS5zdHlsIiwibGF5b3V0L2xheWVyLnN0eWwiLCJoZWxwZXJzL3RyYmwuc3R5bCIsIm1vZHVsZXMvX21vZC5zdHlsIiwibW9kdWxlcy9hYm91dC5zdHlsIiwibW9kdWxlcy9hY3Rpb24tc2V0LnN0eWwiLCJtb2R1bGVzL2FkdmFudGFnZS5zdHlsIiwibW9kdWxlcy9jYWxsYmFjay5zdHlsIiwibW9kdWxlcy9leGFtcGxlLnN0eWwiLCJtb2R1bGVzL2Zvb3Rlci5zdHlsIiwibW9kdWxlcy9oZWFkZXIuc3R5bCIsIm1vZHVsZXMvaW5zdHJ1Y3Rpb24uc3R5bCIsImhlbHBlcnMvYWRhcHRpdmUtYmcuc3R5bCIsIm1vZHVsZXMvaW50cm8uc3R5bCIsIm1vZHVsZXMvbmF2LnN0eWwiLCJtb2R1bGVzL29yZ2FuaXNhdGlvbi5zdHlsIiwibW9kdWxlcy9waG90b3Muc3R5bCIsIm1vZHVsZXMvcGxhbm5pbmcuc3R5bCIsIm1vZHVsZXMvcHJvbW8uc3R5bCIsIm1vZHVsZXMvcnVsZXMuc3R5bCIsIm1vZHVsZXMvc2VjdGlvbi5zdHlsIiwibW9kdWxlcy90YWJsZS1hbmltYXRpb24uc3R5bCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHRTtBQUFNO0FBQU07QUFBSztBQUFNO0FBQVE7QUFBUTtBQUFPO0FBQ0s7QUFBSTtBQUFJO0FBQUk7QUFBSTtBQUFJO0FBQUc7QUFBWTtBQUFJO0FBQ0k7QUFBTTtBQUFTO0FBQVM7QUFBSztBQUFNO0FBQUs7QUFDTTtBQUFLO0FBQUk7QUFBSztBQUFLO0FBQUs7QUFBRztBQUFHO0FBQUs7QUFDUTtBQUFRO0FBQVE7QUFBSztBQUFLO0FBQUk7QUFBSTtBQUNLO0FBQUk7QUFBSTtBQUFJO0FBQUk7QUFBRztBQUNXO0FBQU07QUFBTztBQUFPO0FBQ1E7QUFBUztBQUFPO0FBQU87QUFBTztBQUFJO0FBQUk7RUE2QjlULFFBQVEsRUFBUjtFQUNBLFNBQVMsRUFBVDtFQy9CRSxRQUFRLEVBQVI7RURpQ0YsU0FBUyxFQUFUO0VBR0EsYUFBYSxRQUFiO0VBQ0EsWUFBWSxRQUFaO0VBQ0EsYUFBYSxRQUFiO0VBQ0EsV0FBVyxLQUFYO0VBQ0EsZ0JBQWdCLFNBQWhCOztBQXBDQTtFQXVDQSxhQUFhLEVBQWI7RUFDQSxPQUFPLEtBQVA7RUU2YkUsWUFBVyxLQUFYOztBRm5lRjtBQUFJO0VFcWZGLFlBQVcsS0FBWDs7QUZuZkY7RUF3Q0EsaUJBQWlCLFNBQWpCO0VBQ0EsZ0JBQWdCLEVBQWhCO0VBQ0EsZ0JBQWdCLE9BQWhCOztBQXhDQTtBQUFTO0FBQUk7RUEyQ2IsWUFBWSxLQUFa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QU47RUFDQSxRQUFPLEVBQVA7RUFDQSxrQkFBZ0MsZ0JBQWhDO0Vkb0tQLFNBQVMsRUFBVDtFQVdNLFlBQXlFLHFEQUF6RTtFQUNBLFFBQWlDLGlCQUFqQztFQS9PVSxvQkFBc0MsVUFBdEM7RUFBQSxpQkFBc0MsVUFBdEM7RUFBQSxlQUFzQyxVQUF0QztFQUFBLGdCQUFzQyxVQUF0QztFQVJILFlBQStCLFVBQS9COztBYzRFTjtFZCtKUCxTQUFTLEVBQVQ7RUFRTSxZQUFZLEtBQVo7RUFDQSxRQUFRLEtBQVI7O0FjbktMO0VBQ0csZUFBYyxLQUFkOztBQUNBO0VBQ0csY0FBYSxLQUFiO0VBQ0EsYUFBWSxLQUFaO0VBQ0EsZUFBYyxNQUFkO0VBMkJULFNWdUhnQyxZVXZIaEM7RUFBQSxTVnVIZ0MsU1V2SGhDO0VBQUEsU1Z1SGdDLGFVdkhoQztFYnBJUSxTQUFTLFlBQVQ7RUFDQSxTQUFnRCxJQUFoRDtFQUtGLFNBQXNELEtBQXREOztBYXNHQTtFZC9FWSxrQkFBRyxFQUFIO0VBQUEsZUFBRyxFQUFIO0VBQUEsYUFBRyxFQUFIO0VBUkgsVUFBRyxFQUFIO0VBUUcsY0FBRyxTQUFIO0VBQUEsVUFBRyxTQUFIO0VBUkgsTUFBRyxTQUFIO0VjeUZOLGNBQWEsSUFBYjtFQUNBLGFBQVksSUFBWjtFQUNBLGVBQWMsS0FBZDs7QUFFSDtFZHJGWSxrQkFBRyxFQUFIO0VBQUEsZUFBRyxFQUFIO0VBQUEsYUFBRyxFQUFIO0VBUkgsVUFBRyxFQUFIO0VBUUcsY0FBRyxTQUFIO0VBQUEsVUFBRyxTQUFIO0VBUkgsTUFBRyxTQUFIO0VjK0ZOLGNBQWEsSUFBYjtFQUNBLGFBQVksSUFBWjtFQUNBLGVBQWMsS0FBZDs7QUFHTjtFQUNHLFdBQVUsS0FBVjs7QUFFSDtFQUNHLFdBQVUsS0FBVjtFQUNBLGFBQVksSUFBWjs7QUFFSDtFQUNHLFdBQVUsS0FBVjtFQUNBLE9BQU0sUUFBTiIsImZpbGUiOiJjb21tb24uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQmFzZWQgb24gW0VyaWMgTWV5ZXIncyByZXNldF0oaHR0cDovL21leWVyd2ViLmNvbS9lcmljL3Rob3VnaHRzLzIwMDcvMDUvMDEvcmVzZXQtcmVsb2FkZWQvKVxuXG5nbG9iYWwtcmVzZXQoKVxuICBodG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsXG4gIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGJsb2NrcXVvdGUsIHByZSxcbiAgYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgYmlnLCBjaXRlLCBjb2RlLFxuICBkZWwsIGRmbiwgZW0sIGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsXG4gIHNtYWxsLCBzdHJpa2UsIHN0cm9uZywgc3ViLCBzdXAsIHR0LCB2YXIsXG4gIGRsLCBkdCwgZGQsIG9sLCB1bCwgbGksXG4gIGZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLFxuICB0YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZFxuICAgIHJlc2V0LWJveC1tb2RlbCgpXG4gICAgcmVzZXQtZm9udCgpXG4gIGJvZHlcbiAgICByZXNldC1ib2R5KClcbiAgb2wsIHVsXG4gICAgbGlzdC1zdHlsZTogbm9uZVxuICB0YWJsZVxuICAgIHJlc2V0LXRhYmxlKClcbiAgY2FwdGlvbiwgdGgsIHRkXG4gICAgcmVzZXQtdGFibGUtY2VsbCgpXG4gIGEgaW1nXG4gICAgYm9yZGVyOiBub25lXG5cbm5lc3RlZC1yZXNldCgpXG4gIGRpdiwgc3Bhbiwgb2JqZWN0LCBpZnJhbWUsIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsXG4gIHByZSwgYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgY29kZSwgZGVsLCBkZm4sIGVtLCBpbWcsXG4gIGRsLCBkdCwgZGQsIG9sLCB1bCwgbGksIGZpZWxkc2V0LCBmb3JtLCBsYWJlbCxcbiAgbGVnZW5kLCBjYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0clxuICAgIHJlc2V0LWJveC1tb2RlbCgpXG4gICAgcmVzZXQtZm9udCgpXG4gIHRhYmxlXG4gICAgcmVzZXQtdGFibGUoKVxuICBjYXB0aW9uLCB0aCwgdGRcbiAgICByZXNldC10YWJsZS1jZWxsKClcbiAgYSBpbWdcbiAgICBib3JkZXI6IG5vbmVcblxucmVzZXQtYm94LW1vZGVsKClcbiAgbWFyZ2luOiAwXG4gIHBhZGRpbmc6IDBcbiAgYm9yZGVyOiAwXG4gIG91dGxpbmU6IDBcblxucmVzZXQtZm9udCgpXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0XG4gIGZvbnQtc3R5bGU6IGluaGVyaXRcbiAgZm9udC1mYW1pbHk6IGluaGVyaXRcbiAgZm9udC1zaXplOiAxMDAlXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZVxuXG5yZXNldC1ib2R5KClcbiAgbGluZS1oZWlnaHQ6IDFcbiAgY29sb3I6IGJsYWNrXG4gIGJhY2tncm91bmQ6IHdoaXRlXG5cbnJlc2V0LXRhYmxlKClcbiAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZVxuICBib3JkZXItc3BhY2luZzogMFxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlXG5cbnJlc2V0LXRhYmxlLWNlbGwoKVxuICB0ZXh0LWFsaWduOiBsZWZ0XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWxcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZVxuXG5yZXNldC1odG1sNSgpXG4gIGFydGljbGUsIGFzaWRlLCBjYW52YXMsIGRldGFpbHMsIGZpZ2NhcHRpb24sXG4gIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWVudSwgbmF2LFxuICBzZWN0aW9uLCBzdW1tYXJ5LCBtYWluXG4gICAgcmVzZXQtYm94LW1vZGVsKClcbiAgICBkaXNwbGF5OiBibG9ja1xuICBhdWRpbywgY2FudmFzLCB2aWRlb1xuICAgIGRpc3BsYXkgaW5saW5lLWJsb2NrXG4gICAgKmRpc3BsYXkgaW5saW5lXG4gICAgKnpvb20gMVxuICBhdWRpbzpub3QoW2NvbnRyb2xzXSksW2hpZGRlbl1cbiAgICBkaXNwbGF5IG5vbmVcbiIsIi8qXG4gKiBib3JkZXI6IDxjb2xvcj5cbiAqIGJvcmRlcjogLi4uXG4gKi9cblxuYm9yZGVyKGNvbG9yLCBhcmdzLi4uKVxuICBpZiBjb2xvciBpcyBhICdjb2xvcidcbiAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvciBhcmdzXG4gIGVsc2VcbiAgICBib3JkZXI6IGFyZ3VtZW50c1xuIiwidXNlKCcuLi9ub2Rlcy92ZW5kb3ItaGVscGVycy5qcycpXG5AaW1wb3J0ICdjb25maWcnXG5cbi8qXG4gKiBBbGlhcyBcIm5vd3JhcFwiIGFzIFwibm8td3JhcFwiLlxuICovXG5cbm5vLXdyYXAgPSB1bnF1b3RlKCdub3dyYXAnKVxuXG4vKlxuICogSGVscGVyIHRvIGZpbmQgb3V0IGlmIGEgZ2l2ZW4gdmFsdWUgaXMgYSB3aWR0aFxuICovXG5cbmlzLXdpZHRoKHZhbClcbiAgaWYgYXV0byA9PSB2YWxcbiAgICByZXR1cm4gdHJ1ZVxuICBlbHNlIGlmIHZhbCAmJiAndW5pdCcgPT0gdHlwZSh2YWwpXG4gICAgLy8gU3R5bHVzIGRvZXMgbm90IHNob3J0IGNpcmN1aXQgc28gd2UgbmVlZCB0byBwZXJmb3JtIHRoaXMgYXMgYSBkaXN0aW5jdFxuICAgIC8vIG9wZXJhdGlvbiB0byBwcmV2ZW50IGVycm9yc1xuICAgIHJldHVybiAnJyAhPSB1bml0KHZhbClcbiAgcmV0dXJuIGZhbHNlXG5cbi8qXG4gKiBWZW5kb3Igc3VwcG9ydCBmb3IgdGhlIGdpdmVuIHByb3AgLyBhcmd1bWVudHMsIG9wdGlvbmFsbHkgc3BlY2lmeWluZyB0aGVcbiAqIG9ubHkgcHJlZml4ZXMgdG8gdXRpbGl6ZSwgb3IgdGhvc2Ugd2hpY2ggc2hvdWxkIGJlIGlnbm9yZWQuXG4gKi9cblxudmVuZG9yKHByb3AsIGFyZ3MsIG9ubHkgPSBudWxsLCBpZ25vcmUgPSBudWxsLCB2ZW5kb3ItcHJvcGVydHkgPSB0cnVlKVxuICBuZWVkX25vcm1hbGl6ZSA9ICF2ZW5kb3ItcHJvcGVydHkgb3IgcHJvcCBpbiAoJ3RyYW5zaXRpb24nICd0cmFuc2l0aW9uLXByb3BlcnR5JyAnYm9yZGVyLWltYWdlJyAnYm9yZGVyLWltYWdlLXNsaWNlJylcbiAgZm9yIHByZWZpeCBpbiB2ZW5kb3ItcHJlZml4ZXNcbiAgICB1bmxlc3MgKG9ubHkgYW5kICEocHJlZml4IGluIG9ubHkpKSBvciAoaWdub3JlIGFuZCBwcmVmaXggaW4gaWdub3JlKVxuICAgICAgaWYgb2ZmaWNpYWwgPT0gcHJlZml4XG4gICAgICAgIGlmIG5lZWRfbm9ybWFsaXplXG4gICAgICAgICAge3Byb3B9OiBub3JtYWxpemUocHJvcCwoJyVzJyAlIGFyZ3MpKVxuICAgICAgICBlbHNlXG4gICAgICAgICAge3Byb3B9OiBhcmdzXG4gICAgICBlbHNlXG4gICAgICAgIG5ld3Byb3AgPSBwcm9wXG4gICAgICAgIG5ld3Byb3AgPSAnLScgKyBwcmVmaXggKyAnLScgKyBwcm9wIGlmIHZlbmRvci1wcm9wZXJ0eVxuXG4gICAgICAgIGlmIG5lZWRfbm9ybWFsaXplXG4gICAgICAgICAge25ld3Byb3B9OiBub3JtYWxpemUocHJvcCwoJyVzJyAlIGFyZ3MpLHByZWZpeClcbiAgICAgICAgZWxzZVxuICAgICAgICAgIHtuZXdwcm9wfTogYXJnc1xuLypcbiAqIFZlbmRvcml6ZSB0aGUgZ2l2ZW4gdmFsdWUuXG4gKi9cblxudmVuZG9yLXZhbHVlKGFyZywgb25seSA9IG51bGwsIGlnbm9yZSA9IG51bGwpXG4gIHByb3AgPSBjdXJyZW50LXByb3BlcnR5WzBdXG4gIGZvciBwcmVmaXggaW4gdmVuZG9yLXByZWZpeGVzXG4gICAgdW5sZXNzIChvbmx5IGFuZCAhKHByZWZpeCBpbiBvbmx5KSkgb3IgKGlnbm9yZSBhbmQgcHJlZml4IGluIGlnbm9yZSkgb3Igb2ZmaWNpYWwgPT0gcHJlZml4XG4gICAgICBhZGQtcHJvcGVydHkocHJvcCwgJy0lcy0lcycgJSAocHJlZml4IGFyZykpXG4gIGFyZ1xuXG4vKlxuICogVmVuZG9yIFwiYm94LXNoYWRvd1wiIHN1cHBvcnQuXG4gKi9cblxuYm94LXNoYWRvdygpXG4gIHZlbmRvcignYm94LXNoYWRvdycsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwidXNlci1zZWxlY3RcIiBzdXBwb3J0LlxuICovXG5cbnVzZXItc2VsZWN0KClcbiAgdmVuZG9yKCd1c2VyLXNlbGVjdCcsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBtcyBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImNvbHVtbi1jb3VudFwiIHN1cHBvcnQuXG4gKi9cblxuY29sdW1uLWNvdW50KClcbiAgdmVuZG9yKCdjb2x1bW4tY291bnQnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJjb2x1bW4tZ2FwXCIgc3VwcG9ydC5cbiAqL1xuXG5jb2x1bW4tZ2FwKClcbiAgdmVuZG9yKCdjb2x1bW4tZ2FwJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiY29sdW1uLXJ1bGVcIiBzdXBwb3J0LlxuICovXG5cbmNvbHVtbi1ydWxlKClcbiAgdmVuZG9yKCdjb2x1bW4tcnVsZScsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImNvbHVtbi1ydWxlLWNvbG9yXCIgc3VwcG9ydC5cbiAqL1xuXG5jb2x1bW4tcnVsZS1jb2xvcigpXG4gIHZlbmRvcignY29sdW1uLXJ1bGUtY29sb3InLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJjb2x1bW4tcnVsZS13aWR0aFwiIHN1cHBvcnQuXG4gKi9cblxuY29sdW1uLXJ1bGUtd2lkdGgoKVxuICB2ZW5kb3IoJ2NvbHVtbi1ydWxlLXdpZHRoJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiY29sdW1uLXJ1bGUtc3R5bGVcIiBzdXBwb3J0LlxuICovXG5cbmNvbHVtbi1ydWxlLXN0eWxlKClcbiAgdmVuZG9yKCdjb2x1bW4tcnVsZS1zdHlsZScsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImNvbHVtbi13aWR0aFwiIHN1cHBvcnQuXG4gKi9cblxuY29sdW1uLXdpZHRoKClcbiAgdmVuZG9yKCdjb2x1bW4td2lkdGgnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJjb2x1bW4tc3BhblwiIHN1cHBvcnQuXG4gKi9cblxuY29sdW1uLXNwYW4oKVxuICB2ZW5kb3IoJ2NvbHVtbi1zcGFuJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJjb2x1bW4tZmlsbFwiIHN1cHBvcnQuXG4gKi9cblxuY29sdW1uLWZpbGwoKVxuICB2ZW5kb3IoJ2NvbHVtbi1maWxsJywgYXJndW1lbnRzLCBvbmx5OiBtb3opXG5cbi8qXG4gKiBMZWdhY3kgc3ludGF4IHN1cHBvcnQgZm9yIGJhY2tncm91bmQtY2xpcCBhbmQgYmFja2dyb3VuZC1vcmlnaW5cbiAqL1xuXG5sZWdhY3ktYmctdmFsdWVzKHByb3BlcnR5LCBhcmdzKVxuICBsZWdhY3lfYXJncyA9ICgpXG4gIGltcG9ydGFuY2UgPSB1bnF1b3RlKCcnKVxuICBmb3Igc3ViYXJncyBpbiBhcmdzXG4gICAgZm9yIGFyZyBpbiBzdWJhcmdzXG4gICAgICBpZiBhcmcgaW4gKGJvcmRlci1ib3ggcGFkZGluZy1ib3ggY29udGVudC1ib3gpXG4gICAgICAgIGFyZyA9IHVucXVvdGUoJ2JvcmRlcicpICBpZiBhcmcgPT0gYm9yZGVyLWJveFxuICAgICAgICBhcmcgPSB1bnF1b3RlKCdwYWRkaW5nJykgaWYgYXJnID09IHBhZGRpbmctYm94XG4gICAgICAgIGFyZyA9IHVucXVvdGUoJ2NvbnRlbnQnKSBpZiBhcmcgPT0gY29udGVudC1ib3hcbiAgICAgIGlmIGFyZyAhPSAnIWltcG9ydGFudCdcbiAgICAgICAgcHVzaChsZWdhY3lfYXJncyxhcmcpXG4gICAgICBlbHNlXG4gICAgICAgIGltcG9ydGFuY2UgPSAhaW1wb3J0YW50XG4gIHZlbmRvcihwcm9wZXJ0eSwgdW5xdW90ZShqb2luKCcsICcsbGVnYWN5X2FyZ3MpKSBpbXBvcnRhbmNlLCBvbmx5OiBtb3ogd2Via2l0KVxuXG4vKlxuICogVmVuZG9yIFwiYmFja2dyb3VuZC1jbGlwXCIgc3VwcG9ydC5cbiAqL1xuXG5iYWNrZ3JvdW5kLWNsaXAoKVxuICBpZiBhcmd1bWVudHNbMF0gPT0gdGV4dFxuICAgIHZlbmRvcignYmFja2dyb3VuZC1jbGlwJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQpXG4gIGVsc2VcbiAgICBsZWdhY3ktYmctdmFsdWVzKCdiYWNrZ3JvdW5kLWNsaXAnLCBhcmd1bWVudHMpXG4gICAgYmFja2dyb3VuZC1jbGlwOiBhcmd1bWVudHNcblxuLypcbiAqIFZlbmRvciBcImJhY2tncm91bmQtb3JpZ2luXCIgc3VwcG9ydC5cbiAqL1xuXG5iYWNrZ3JvdW5kLW9yaWdpbigpXG4gIGxlZ2FjeS1iZy12YWx1ZXMoJ2JhY2tncm91bmQtb3JpZ2luJywgYXJndW1lbnRzKVxuICBiYWNrZ3JvdW5kLW9yaWdpbjogYXJndW1lbnRzXG5cbi8qXG4gKiBWZW5kb3IgXCJiYWNrZ3JvdW5kLXNpemVcIiBzdXBwb3J0LlxuICovXG5cbmJhY2tncm91bmQtc2l6ZSgpXG4gIHZlbmRvcignYmFja2dyb3VuZC1zaXplJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwidHJhbnNmb3JtXCIgc3VwcG9ydC5cbiAqL1xuXG50cmFuc2Zvcm0oKVxuICB2ZW5kb3IoJ3RyYW5zZm9ybScsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcInRyYW5zZm9ybS1vcmlnaW5cIiBzdXBwb3J0LlxuICovXG50cmFuc2Zvcm0tb3JpZ2luKClcbiAgICB2ZW5kb3IoJ3RyYW5zZm9ybS1vcmlnaW4nLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJ0cmFuc2Zvcm0tc3R5bGVcIiBzdXBwb3J0LlxuICovXG5cbnRyYW5zZm9ybS1zdHlsZSgpXG4gIHZlbmRvcigndHJhbnNmb3JtLXN0eWxlJywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwiYm9yZGVyLWltYWdlXCIgc3VwcG9ydC5cbiAqL1xuXG5ib3JkZXItaW1hZ2UoKVxuICB2ZW5kb3IoJ2JvcmRlci1pbWFnZScsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBvIG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwidHJhbnNpdGlvblwiIHN1cHBvcnQuXG4gKi9cblxudHJhbnNpdGlvbigpXG4gIHZlbmRvcigndHJhbnNpdGlvbicsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcInRyYW5zaXRpb24tcHJvcGVydHlcIiBzdXBwb3J0LlxuICovXG5cbnRyYW5zaXRpb24tcHJvcGVydHkoKVxuICB2ZW5kb3IoJ3RyYW5zaXRpb24tcHJvcGVydHknLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJ0cmFuc2l0aW9uLWR1cmF0aW9uXCIgc3VwcG9ydC5cbiAqL1xuXG50cmFuc2l0aW9uLWR1cmF0aW9uKClcbiAgdmVuZG9yKCd0cmFuc2l0aW9uLWR1cmF0aW9uJywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwidHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb25cIiBzdXBwb3J0LlxuICovXG5cbnRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKClcbiAgdmVuZG9yKCd0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbicsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcInRyYW5zaXRpb24tZGVsYXlcIiBzdXBwb3J0LlxuICovXG5cbnRyYW5zaXRpb24tZGVsYXkoKVxuICB2ZW5kb3IoJ3RyYW5zaXRpb24tZGVsYXknLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJiYWNrZmFjZS12aXNpYmlsaXR5XCIgc3VwcG9ydC5cbiAqL1xuXG5iYWNrZmFjZS12aXNpYmlsaXR5KClcbiAgdmVuZG9yKCdiYWNrZmFjZS12aXNpYmlsaXR5JywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG1zIG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwicGVyc3BlY3RpdmVcIiBzdXBwb3J0LlxuICovXG5cbnBlcnNwZWN0aXZlKClcbiAgaWYgbWl4aW5cbiAgICB2ZW5kb3IoJ3BlcnNwZWN0aXZlJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG1zIG9mZmljaWFsKVxuICBlbHNlXG4gICAgJ3BlcnNwZWN0aXZlKCVzKScgJSBhcmd1bWVudHNcblxuLypcbiAqIFZlbmRvciBcInBlcnNwZWN0aXZlLW9yaWdpblwiIHN1cHBvcnQuXG4gKi9cblxucGVyc3BlY3RpdmUtb3JpZ2luKClcbiAgdmVuZG9yKCdwZXJzcGVjdGl2ZS1vcmlnaW4nLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogbXMgb2ZmaWNpYWwpXG5cbi8qXG4gKiBPcGFjaXR5IHdpdGggY29uZGl0aW9uYWwgSUUgc3VwcG9ydC5cbiAqL1xuXG5vcGFjaXR5KG4sIGFyZ3MuLi4pXG4gIG9wYWNpdHk6IG4gYXJnc1xuICBpZiBzdXBwb3J0LWZvci1pZVxuICAgIGlmIG4gPT0gaW5oZXJpdCBvciBuID09IGluaXRpYWxcbiAgICAgIC1tcy1maWx0ZXI6IG4gYXJnc1xuICAgICAgZmlsdGVyOiBuIGFyZ3NcbiAgICBlbHNlXG4gICAgICB2YWwgPSByb3VuZChuICogMTAwKVxuICAgICAgaWYgdmFsID09IDEwMFxuICAgICAgICAtbXMtZmlsdGVyOiBub25lIGFyZ3NcbiAgICAgICAgZmlsdGVyOiBub25lIGFyZ3NcbiAgICAgIGVsc2VcbiAgICAgICAgLW1zLWZpbHRlcjogJ1wicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9JXMpXCInICUgdmFsIGFyZ3NcbiAgICAgICAgZmlsdGVyOiAnYWxwaGEob3BhY2l0eT0lcyknICUgdmFsIGFyZ3NcblxuLypcbiAqIFZlbmRvciBcInRleHQtc2l6ZS1hZGp1c3RcIlxuICovXG5cbnRleHQtc2l6ZS1hZGp1c3QoKVxuICB2ZW5kb3IoJ3RleHQtc2l6ZS1hZGp1c3QnLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBBbGlhcyB0aGUgXCJ3aGl0ZS1zcGFjZVwiIHByb3BlcnR5LlxuICovXG5cbndoaXRlc3BhY2UoKVxuICB3aGl0ZS1zcGFjZTogYXJndW1lbnRzXG5cbi8qXG4gKiBWZW5kb3IgXCJib3gtc2l6aW5nXCIgc3VwcG9ydC5cbiAqL1xuXG5ib3gtc2l6aW5nKClcbiAgdmVuZG9yKCdib3gtc2l6aW5nJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiYm94LW9yaWVudFwiIHN1cHBvcnQuXG4gKi9cblxuYm94LW9yaWVudCgpXG4gIHZlbmRvcignYm94LW9yaWVudCcsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImJveC1mbGV4LWdyb3VwXCIgc3VwcG9ydC5cbiAqL1xuXG5ib3gtZmxleC1ncm91cCgpXG4gIHZlbmRvcignYm94LWZsZXgtZ3JvdXAnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJib3gtb3JkaW5hbC1ncm91cFwiIHN1cHBvcnQuXG4gKi9cblxuYm94LW9yZGluYWwtZ3JvdXAoKVxuICB2ZW5kb3IoJ2JveC1vcmRpbmFsLWdyb3VwJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG1zIG9mZmljaWFsKVxuXG5cbi8qXG4gKiBWZW5kb3IgXCJib3gtYWxpZ25cIiBzdXBwb3J0LlxuICovXG5cbmJveC1hbGlnbigpXG4gIHZlbmRvcignYm94LWFsaWduJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG1zIG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiYm94LXBhY2tcIiBzdXBwb3J0LlxuICovXG5cbmJveC1wYWNrKClcbiAgdmVuZG9yKCdib3gtcGFjaycsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBtcyBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImJveC1kaXJlY3Rpb25cIiBzdXBwb3J0LlxuICovXG5cbmJveC1kaXJlY3Rpb24oKVxuICB2ZW5kb3IoJ2JveC1kaXJlY3Rpb24nLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogbXMgb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJhbmltYXRpb25cIiBzdXBwb3J0LlxuICovXG5cbmFuaW1hdGlvbigpXG4gIHZlbmRvcignYW5pbWF0aW9uJywgYXJndW1lbnRzKVxuXG5cbi8qXG4gKiBWZW5kb3IgXCJhbmltYXRpb24tbmFtZVwiIHN1cHBvcnQuXG4gKi9cblxuYW5pbWF0aW9uLW5hbWUoKVxuICB2ZW5kb3IoJ2FuaW1hdGlvbi1uYW1lJywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwiYW5pbWF0aW9uLWR1cmF0aW9uXCIgc3VwcG9ydC5cbiAqL1xuXG5hbmltYXRpb24tZHVyYXRpb24oKVxuICB2ZW5kb3IoJ2FuaW1hdGlvbi1kdXJhdGlvbicsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcImFuaW1hdGlvbi1kZWxheVwiIHN1cHBvcnQuXG4gKi9cblxuYW5pbWF0aW9uLWRlbGF5KClcbiAgdmVuZG9yKCdhbmltYXRpb24tZGVsYXknLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJhbmltYXRpb24tZGlyZWN0aW9uXCIgc3VwcG9ydC5cbiAqL1xuXG5hbmltYXRpb24tZGlyZWN0aW9uKClcbiAgdmVuZG9yKCdhbmltYXRpb24tZGlyZWN0aW9uJywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwiYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudFwiIHN1cHBvcnQuXG4gKi9cblxuYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCgpXG4gIHZlbmRvcignYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCcsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcImFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb25cIiBzdXBwb3J0LlxuICovXG5cbmFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24oKVxuICB2ZW5kb3IoJ2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24nLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJhbmltYXRpb24tcGxheS1zdGF0ZVwiIHN1cHBvcnQuXG4gKi9cblxuYW5pbWF0aW9uLXBsYXktc3RhdGUoKVxuICB2ZW5kb3IoJ2FuaW1hdGlvbi1wbGF5LXN0YXRlJywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwiYW5pbWF0aW9uLWZpbGwtbW9kZVwiIHN1cHBvcnQuXG4gKi9cblxuYW5pbWF0aW9uLWZpbGwtbW9kZSgpXG4gIHZlbmRvcignYW5pbWF0aW9uLWZpbGwtbW9kZScsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcImh5cGhlbnNcIiBzdXBwb3J0LlxuICovXG5cbmh5cGhlbnMoKVxuICB2ZW5kb3IoJ2h5cGhlbnMnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogbXMgb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJhcHBlYXJhbmNlXCIgc3VwcG9ydC5cbiAqL1xuXG5hcHBlYXJhbmNlKClcbiAgdmVuZG9yKCdhcHBlYXJhbmNlJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwidGFiLXNpemVcIiBzdXBwb3J0LlxuICovXG5cbnRhYi1zaXplKClcbiAgdmVuZG9yKCd0YWItc2l6ZScsIGFyZ3VtZW50cywgb25seTogbW96IG8gb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJvdmVyZmxvdy1zY3JvbGxpbmdcIiBzdXBwb3J0LlxuICovXG5cbm92ZXJmbG93LXNjcm9sbGluZygpXG4gIHZlbmRvcignb3ZlcmZsb3ctc2Nyb2xsaW5nJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJ0ZXh0LW92ZXJmbG93XCIgc3VwcG9ydCwgLCAtby0gZm9yIG9wZXJhIDkuKiAtIDEwLipcbiAqL1xuXG50ZXh0LW92ZXJmbG93KClcbiAgdmVuZG9yKCd0ZXh0LW92ZXJmbG93JywgYXJndW1lbnRzLCBvbmx5OiBvZmZpY2lhbCBvKVxuXG4vKlxuICogVmVuZG9yIFwidGV4dC1zaXplLWFkanVzdFwiIHN1cHBvcnQuXG4gKi9cbnRleHQtc2l6ZS1hZGp1c3QoKVxuICB2ZW5kb3IoJ3RleHQtc2l6ZS1hZGp1c3QnLCBhcmd1bWVudHMsIG9ubHk6IG9mZmljaWFsIHdlYmtpdCBtcylcblxuLypcbiAqIFZlbmRvciBcImZvbnQtc21vb3RoaW5nXCIgc3VwcG9ydCwgd2Via2l0IG9ubHkuXG4gKi9cbmZvbnQtc21vb3RoaW5nKClcbiAgdmVuZG9yKCdmb250LXNtb290aGluZycsIGFyZ3VtZW50cywgb25seTogd2Via2l0KVxuXG5cbi8qKlxuICogVmVuZG9yIGlucHV0LXBsYWNlaG9sZGVyL3BsYWNlaG9sZGVyIHN1cHBvcnQuXG4gKlxuICogRXhhbXBsZXM6XG4gKiAgICAvLyBEZWZhdWx0IHN5bnRheFxuICogICAgYm9keVxuICogICAgICBwbGFjZWhvbGRlcihjb2xvciAjMzMzLCBmb250LXdlaWdodCBub3JtYWwpXG4gKlxuICogICAgLy8gVGhlIGNvbW1hIGlzIGltcG9ydGFudFxuICogICAgLnBsYWNlaG9sZGVyLXJlZFxuICogICAgICBwbGFjZWhvbGRlcihjb2xvciByZWQsKVxuICpcbiAqICAgIC8vIFdlIGNhbiBwYXNzIGEgZnVuY3Rpb25cbiAqICAgIGdyZWVuLXBsYWNlaG9sZGVyKClcbiAqICAgICAgY29sb3IgZ3JlZW5cbiAqICAgIC5wbGFjZWhvbGRlci1ncmVlblxuICogICAgICBwbGFjZWhvbGRlcihncmVlbi1wbGFjZWhvbGRlcilcbiAqXG4gKiAgICAvLyBXZSBjYW4gcGFzcyBhIGhhc2hcbiAqICAgIHRleHRhcmVhXG4gKiAgICAgIHBsYWNlaG9sZGVyKChmb250LXN0eWxlIGl0YWxpYykgKGZvbnQtd2VpZ2h0IGJvbGQpIChwYWRkaW5nICc0cHggMTBweCcpKVxuICovXG5wbGFjZWhvbGRlcigpXG4gIGZvciB2IGluICc6LXdlYmtpdC1pbnB1dCcgJy1tb3onICc6LW1veicgJy1tcy1pbnB1dCdcbiAgICAmOnt2fS1wbGFjZWhvbGRlclxuICAgICAgZm9yIHBhaXIgaW4gYXJndW1lbnRzXG4gICAgICAgIGlmIHR5cGVvZihwYWlyKSA9PSAnZnVuY3Rpb24nXG4gICAgICAgICAgcGFpcigpXG4gICAgICAgIGVsc2UgaWYgcGFpciBpcyBub3QgbnVsbCAmJiBwYWlyWzBdIGlzIG5vdCBudWxsXG4gICAgICAgICAge3BhaXJbMF19OiB0eXBlKHBhaXJbMV0pID09ICdzdHJpbmcnID8gcyhwYWlyWzFdKSA6IHBhaXJbMV1cbmlucHV0LXBsYWNlaG9sZGVyID0gcGxhY2Vob2xkZXJcblxuLypcbiAqIFZlbmRvciBiYWNrZ3JvdW5kIHN1cHBvcnQgKGdyYWRpZW50cykuXG4gKi9cblxuYmFja2dyb3VuZCgpXG4gIGlmIG1hdGNoKCctZ3JhZGllbnRcXCgnLCAnJythcmd1bWVudHMpXG4gICAgdmVuZG9yKCdiYWNrZ3JvdW5kJywgYXJndW1lbnRzLCB2ZW5kb3ItcHJvcGVydHk6IGZhbHNlKVxuICBlbHNlXG4gICAgYmFja2dyb3VuZCBhcmd1bWVudHNcblxuYmFja2dyb3VuZC1pbWFnZSgpXG4gIGlmIG1hdGNoKCctZ3JhZGllbnRcXCgnLCAnJythcmd1bWVudHMpXG4gICAgdmVuZG9yKCdiYWNrZ3JvdW5kLWltYWdlJywgYXJndW1lbnRzLCB2ZW5kb3ItcHJvcGVydHk6IGZhbHNlKVxuICBlbHNlXG4gICAgYmFja2dyb3VuZC1pbWFnZSBhcmd1bWVudHNcblxuY3Vyc29yKClcbiAgaWYgbWF0Y2goJy1ncmFkaWVudFxcKCcsICcnK2FyZ3VtZW50cylcbiAgICB2ZW5kb3IoJ2N1cnNvcicsIGFyZ3VtZW50cywgdmVuZG9yLXByb3BlcnR5OiBmYWxzZSlcbiAgZWxzZVxuICAgIGN1cnNvciBhcmd1bWVudHNcblxubGlzdC1zdHlsZSgpXG4gIGlmIG1hdGNoKCctZ3JhZGllbnRcXCgnLCAnJythcmd1bWVudHMpXG4gICAgdmVuZG9yKCdsaXN0LXN0eWxlJywgYXJndW1lbnRzLCB2ZW5kb3ItcHJvcGVydHk6IGZhbHNlKVxuICBlbHNlXG4gICAgbGlzdC1zdHlsZSBhcmd1bWVudHNcblxubGlzdC1zdHlsZS1pbWFnZSgpXG4gIGlmIG1hdGNoKCctZ3JhZGllbnRcXCgnLCAnJythcmd1bWVudHMpXG4gICAgdmVuZG9yKCdsaXN0LXN0eWxlLWltYWdlJywgYXJndW1lbnRzLCB2ZW5kb3ItcHJvcGVydHk6IGZhbHNlKVxuICBlbHNlXG4gICAgbGlzdC1zdHlsZS1pbWFnZSBhcmd1bWVudHNcbiIsIi8qXG4gKiBWZW5kb3IgXCJkaXNwbGF5OiBmbGV4XCIgc3VwcG9ydCB3aXRoIGZhbGxiYWNrIHRvIG9ic29sZXRlIHZlcnNpb25zLlxuICovXG5cbmZsZXgtdmVyc2lvbiA/PSBib3ggZmxleFxuXG4vL1xuLy8gMS4gRGlzcGxheSB2YWx1ZXNcbi8vICAgIC0gaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1mbGV4Ym94LyNmbGV4LWNvbnRhaW5lcnNcbi8vXG5kaXNwbGF5KHR5cGUsIGFyZ3MuLi4pXG4gIGlmIGZsZXggPT0gdHlwZSB8fCBpbmxpbmUtZmxleCA9PSB0eXBlXG4gICAgaWYgYm94IGluIGZsZXgtdmVyc2lvblxuICAgICAgaWYgZmxleCA9PSB0eXBlXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94IGFyZ3NcbiAgICAgICAgZGlzcGxheTogdmVuZG9yLXZhbHVlKGJveCBhcmdzLCBvbmx5OiBtb3ogd2Via2l0KVxuICAgICAgZWxzZVxuICAgICAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3ggYXJnc1xuICAgICAgICBkaXNwbGF5OiB2ZW5kb3ItdmFsdWUoaW5saW5lLWJveCBhcmdzLCBvbmx5OiBtb3ogd2Via2l0KVxuICAgIGlmIGZsZXggaW4gZmxleC12ZXJzaW9uXG4gICAgICBkaXNwbGF5OiB2ZW5kb3ItdmFsdWUoYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgb2ZmaWNpYWwpIC8vIG92ZXJ3cml0ZXMgb2xkIHdlYmtpdFxuICBlbHNlXG4gICAgZGlzcGxheTogYXJndW1lbnRzXG5cbi8qXG4gKiBOZXcgc3ludGF4IGZvciBicm93c2VycyBsaWtlIEdvb2dsZSBDaHJvbWUuXG4gKiBQbHVzIGEgdHJhbnNsYXRpb24gdG8gdGhlIG9sZCBzeW50YXgsIGlmIHBvc3NpYmxlLlxuICovXG5cblxuLy9cbi8vIDUuIE9yZGVyaW5nIGFuZCBPcmllbnRhdGlvblxuLy8gICAgLSBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLWZsZXhib3gvI29yZGVyaW5nLWFuZC1vcmllbnRhdGlvblxuLy9cbi1mbGV4LW9ic29sZXRlLWRpcmVjdGlvbihkaXJlY3Rpb24pXG4gIGlmIGJveCBpbiBmbGV4LXZlcnNpb25cbiAgICBpZiByb3ctcmV2ZXJzZSA9PSBkaXJlY3Rpb24gfHwgY29sdW1uLXJldmVyc2UgPT0gZGlyZWN0aW9uXG4gICAgICB2ZW5kb3IoJ2JveC1kaXJlY3Rpb24nLCByZXZlcnNlLCBpZ25vcmU6IG1zIG9mZmljaWFsKVxuXG4gICAgaWYgcm93ID09IGRpcmVjdGlvbiB8fCByb3ctcmV2ZXJzZSA9PSBkaXJlY3Rpb25cbiAgICAgIHZlbmRvcignYm94LW9yaWVudCcsIGhvcml6b250YWwsIGlnbm9yZTogbXMgb2ZmaWNpYWwpXG4gICAgZWxzZSBpZiBjb2x1bW4gPT0gZGlyZWN0aW9uIHx8IGNvbHVtbi1yZXZlcnNlID09IGRpcmVjdGlvblxuICAgICAgdmVuZG9yKCdib3gtb3JpZW50JywgdmVydGljYWwsIGlnbm9yZTogbXMgb2ZmaWNpYWwpXG5cbi1mbGV4LW9ic29sZXRlLXdyYXAodmFsdWUpXG4gIGlmIGJveCBpbiBmbGV4LXZlcnNpb25cbiAgICAvLyBXQVJOOiB3cmFwLXJldmVyc2UgZG9lcyBub3QgaGF2ZSBhIGJveCBlcXVpdmFsZW50LiBUaGlzIHdpbGwgcmVuZGVyIGluIGRpZmZlcmVudCBtYW5uZXJzXG4gICAgLy8gICAgb24gYm94IHZzLiBmbGV4IHZhbHVlcy5cbiAgICBpZiAnd3JhcCcgPT0gdmFsdWUgfHwgd3JhcC1yZXZlcnNlID09IHZhbHVlXG4gICAgICB2ZW5kb3IoJ2JveC1saW5lcycsIG11bHRpcGxlLCBpZ25vcmU6IG1zIG9mZmljaWFsKVxuICAgIGVsc2UgaWYgbm93cmFwID09IHZhbHVlXG4gICAgICB2ZW5kb3IoJ2JveC1saW5lcycsIHNpbmdsZSwgaWdub3JlOiBtcyBvZmZpY2lhbClcblxuZmxleC1kaXJlY3Rpb24oZGlyZWN0aW9uKVxuICAvLyBvYnNvbGV0ZVxuICAtZmxleC1vYnNvbGV0ZS1kaXJlY3Rpb24oZGlyZWN0aW9uKVxuXG4gIC8vIG5ld1xuICBpZiBmbGV4IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignZmxleC1kaXJlY3Rpb24nLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtcyBvZmZpY2lhbClcblxuZmxleC13cmFwKHZhbHVlKVxuICAvLyBvYnNvbGV0ZVxuICAtZmxleC1vYnNvbGV0ZS13cmFwKHZhbHVlKVxuXG4gIGlmIGZsZXggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdmbGV4LXdyYXAnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtcyBvZmZpY2lhbClcblxuZmxleC1mbG93KClcbiAgLy8gb2Jzb2xldGVcbiAgLWZsZXgtb2Jzb2xldGUtZGlyZWN0aW9uKGFyZ3VtZW50c1swXSlcbiAgLWZsZXgtb2Jzb2xldGUtZGlyZWN0aW9uKGFyZ3VtZW50c1sxXSlcbiAgLWZsZXgtb2Jzb2xldGUtd3JhcChhcmd1bWVudHNbMF0pXG4gIC1mbGV4LW9ic29sZXRlLXdyYXAoYXJndW1lbnRzWzFdKVxuXG4gIC8vIG5ld1xuICBpZiBmbGV4IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignZmxleC1mbG93JywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbXMgb2ZmaWNpYWwpXG5cblxub3JkZXIoKVxuICAvLyBvYnNvbGV0ZVxuICBpZiBib3ggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdib3gtb3JkaW5hbC1ncm91cCcsIGFyZ3VtZW50cywgaWdub3JlOiBtcyBvZmZpY2lhbClcblxuICAvLyBuZXdcbiAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2ZsZXgtb3JkZXInLCBhcmd1bWVudHMsIG9ubHk6IG1zKVxuICAgIHZlbmRvcignb3JkZXInLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBvZmZpY2lhbClcblxuXG4vL1xuLy8gNy4gRmxleGliaWxpdHlcbi8vICAgIC0gaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1mbGV4Ym94LyNmbGV4aWJpbGl0eVxuLy9cbmZsZXgtZ3Jvdyhncm93dGgpXG4gIC8vIG9ic29sZXRlXG4gIGlmIGJveCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2JveC1mbGV4JywgZ3Jvd3RoKVxuXG4gIC8vIG5ld1xuICBpZiBmbGV4IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignZmxleC1ncm93JywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgb2ZmaWNpYWwpXG5cbmZsZXgtYmFzaXMoKVxuICBpZiBmbGV4IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignZmxleC1iYXNpcycsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG9mZmljaWFsKVxuXG5mbGV4LXNocmluaygpXG4gIGlmIGZsZXggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdmbGV4LXNocmluaycsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG9mZmljaWFsKVxuXG5mbGV4KGdyb3d0aClcblxuICAvLyBvYnNvbGV0ZVxuICBpZiBib3ggaW4gZmxleC12ZXJzaW9uXG4gICAgc2hyaW5rID0gMVxuXG4gICAgaWYgbm9uZSA9PSBncm93dGggfHwgaW5pdGlhbCA9PSBncm93dGhcbiAgICAgIC8vIFdlbGwga25vd24gdmFsdWVzXG4gICAgICBzaHJpbmsgPSAwIGlmIG5vbmUgPT0gZ3Jvd3RoXG4gICAgICBncm93dGggPSAwXG4gICAgZWxzZSBpZiBpcy13aWR0aChncm93dGgpID09IHRydWVcbiAgICAgIC8vIEJhc2lzIGlzIGRlZmluZWQgYXMgdGhlIGZpcnN0IHBhcmFtZXRlclxuICAgICAgZ3Jvd3RoID0gYXJndW1lbnRzWzFdIHx8IDBcbiAgICAgIHNocmluayA9IGFyZ3VtZW50c1syXSBpZiAzIDw9IGxlbmd0aChhcmd1bWVudHMpXG4gICAgZWxzZSBpZiBhcmd1bWVudHNbMV0gJiYgaXMtd2lkdGgoYXJndW1lbnRzWzFdKSA9PSBmYWxzZVxuICAgICAgLy8gR3Jvd3RoIGlzIGZpcnN0IGFuZCBzaHJpbmsgaXMgc2Vjb25kXG4gICAgICBzaHJpbmsgPSBhcmd1bWVudHNbMV1cblxuICAgIC8vIFNpbmNlIHdlIGNhbid0IG1ha2UgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gZ3Jvd2luZyBhbmQgc2hyaW5raW5nIGluIHRoZSBib3ggbW9kZWwsIHRha2VcbiAgICAvLyB0aGUgb25lIHRoYXQgcHJvdmlkZXMgdGhlIG1vc3QgZmxleGliaWxpdHkuXG4gICAgdmVuZG9yKCdib3gtZmxleCcsIG1heChncm93dGgsIHNocmluayksIGlnbm9yZTogbXMpXG5cbiAgLy8gbmV3XG4gIGlmIGZsZXggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdmbGV4JywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbXMgb2ZmaWNpYWwpXG5cblxuLy8gY29udmVydHMgdGhlIGp1c3RpZmljYXRpb24gYWxpZ25tZW50XG4tY29udmVydC1qdXN0aWZ5KGFsaWduKVxuICBpZiBmbGV4LXN0YXJ0ID09IGFsaWduXG4gICAgcmV0dXJuIHN0YXJ0XG4gIGVsc2UgaWYgZmxleC1lbmQgPT0gYWxpZ25cbiAgICByZXR1cm4gZW5kXG4gIGVsc2UgaWYgc3BhY2UtYXJvdW5kID09IGFsaWduXG4gICAgcmV0dXJuIGRpc3RyaWJ1dGVcbiAgZWxzZSBpZiBzcGFjZS1iZXR3ZWVuID09IGFsaWduXG4gICAgcmV0dXJuIGp1c3RpZnlcbiAgZWxzZVxuICAgIHJldHVybiBhbGlnblxuXG4vL1xuLy8gOC4gQWxpZ25tZW50XG4vLyAgICAtIGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtZmxleGJveC8jYWxpZ25tZW50XG4vL1xuanVzdGlmeS1jb250ZW50KGFsaWduKVxuICAvLyBvYnNvbGV0ZVxuICBpZiBib3ggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdib3gtcGFjaycsIC1jb252ZXJ0LWp1c3RpZnkoYWxpZ24pLCBpZ25vcmU6IG1zIG9mZmljaWFsKVxuXG4gIC8vIG5ld1xuICBpZiBmbGV4IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignZmxleC1wYWNrJywgLWNvbnZlcnQtanVzdGlmeShhbGlnbiksIG9ubHk6IG1zKVxuICAgIHZlbmRvcignanVzdGlmeS1jb250ZW50JywgYWxpZ24sIG9ubHk6IHdlYmtpdCBvZmZpY2lhbClcblxuYWxpZ24tY29udGVudChhbGlnbilcbiAgLy8gV0FSTjogT2Jzb2xldGUgc3BlYyBkb2VzIG5vdCBhbGxvdyBmb3IgYWRqdXN0bWVudCBoZXJlXG4gIGlmIGZsZXggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdmbGV4LWxpbmUtcGFjaycsIC1jb252ZXJ0LWp1c3RpZnkoYWxpZ24pLCBvbmx5OiBtcylcbiAgICB2ZW5kb3IoJ2FsaWduLWNvbnRlbnQnLCBhbGlnbiwgb25seTogd2Via2l0IG9mZmljaWFsKVxuXG4vLyBjb252ZXJ0cyBhbGlnbm1lbnQgZnJvbSAnZmxleCcgdG8gbm9ybWFsIHZhbHVlXG4tY29udmVydC1hbGlnbm1lbnQoYWxpZ24pXG4gIGlmIGZsZXgtc3RhcnQgPT0gYWxpZ25cbiAgICByZXR1cm4gc3RhcnRcbiAgZWxzZSBpZiBmbGV4LWVuZCA9PSBhbGlnblxuICAgIHJldHVybiBlbmRcbiAgZWxzZVxuICAgIHJldHVybiBhbGlnblxuXG5hbGlnbi1pdGVtcyhhbGlnbilcbiAgLy8gb2Jzb2xldGVcbiAgaWYgYm94IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignYm94LWFsaWduJywgLWNvbnZlcnQtYWxpZ25tZW50KGFsaWduKSwgaWdub3JlOiBtcyBvZmZpY2lhbClcblxuICAvLyBuZXdcbiAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2ZsZXgtYWxpZ24nLCAtY29udmVydC1hbGlnbm1lbnQoYWxpZ24pLCBvbmx5OiBtcylcbiAgICB2ZW5kb3IoJ2FsaWduLWl0ZW1zJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgb2ZmaWNpYWwpXG5cbmFsaWduLXNlbGYoYWxpZ24pXG4gIC8vIFdBUk46IE9ic29sZXRlIHNwZWMgZG9lcyBub3QgYWxsb3cgZm9yIG92ZXJyaWRpbmcgYWxpZ25tZW50IG9uIGluZGl2aWR1YWwgaXRlbXMuXG4gIGlmIGZsZXggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdhbGlnbi1zZWxmJywgYWxpZ24sIG9ubHk6IHdlYmtpdCBvZmZpY2lhbClcbiAgICB2ZW5kb3IoJ2ZsZXgtaXRlbS1hbGlnbicsIC1jb252ZXJ0LWFsaWdubWVudChhbGlnbiksIG9ubHk6IG1zKVxuIiwiLyoqXG4gKiBTaG9ydGhhbmQgZm9yIGFkZGluZyBjdXN0b20gZm9udHNcbiAqIEBwYXJhbSB7e3N0cmluZ3xpZGVudH19IGZvbnQtbmFtZSAtIE5hbWVzcGFjZSBpbiBjc3NcbiAqIEBwYXJhbSB7e3N0cmluZ3xpZGVudH19IGZpbGUtbmFtZSAtIEZpbGUgbmFtZVxuICogQHBhcmFtIHt7c3RyaW5nfGlkZW50fX0gZm9udC13ZWlnaHQgLSBzZWxmLWV4cGxhbmF0b3J5XG4gKiBAcGFyYW0ge3tzdHJpbmd8aWRlbnR9fSBmb250LXN0eWxlIC0gc2VsZi1leHBsYW5hdG9yeVxuICovXG5pbmNsdWRlLWZvbnQoZm9udC1uYW1lLCBmaWxlLW5hbWUsIGZvbnQtd2VpZ2h0ID0gbm9ybWFsLCBmb250LXN0eWxlID0gbm9ybWFsKSB7XG4gICBAZm9udC1mYWNlIHtcbiAgICAgIGZvbnQtZmFtaWx5IGZvbnQtbmFtZVxuICAgICAgc3JjOiBsb2NhbChmaWxlLW5hbWUpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy8nK2ZpbGUtbmFtZSsnLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy8nK2ZpbGUtbmFtZSsnLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICAgIGZvbnQtd2VpZ2h0IGZvbnQtd2VpZ2h0XG4gICAgICBmb250LXN0eWxlIGZvbnQtc3R5bGVcbiAgIH1cbn1cbiIsImh0bWwsXG5ib2R5IHtcbiAgIG1pbi13aWR0aCAzMjBweFxuICAgaGVpZ2h0IDEwMCVcbn1cbmh0bWwge1xuICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yIHJnYmEoIzAwMCwgMClcbn1cbmJvZHkge1xuICAgY3Vyc29yIGRlZmF1bHRcblx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZVxuICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWRcbiAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJVxuICAgb3ZlcmZsb3cteSBzY3JvbGxcbiAgIGNvbG9yICRjb2xvci1tYWluXG4gICBmb250LWZhbWlseSAkZm9udC1tYWluXG4gICBmb250LXNpemUgJHNpemUtbWFpblxuICAgbGluZS1oZWlnaHQgJGxpbmUtbWFpblxufVxuXG4uYm9keSB7XG4gICBkaXNwbGF5IGZsZXhcbiAgIGZsZXgtZGlyZWN0aW9uIGNvbHVtblxuICAgJl9fd3JhcHBlciB7XG4gICAgICBvdmVyZmxvdyBoaWRkZW5cbiAgICAgIGZsZXggMSAwIGF1dG9cbiAgICAgIGRpc3BsYXkgZmxleFxuICAgICAgZmxleC1kaXJlY3Rpb24gY29sdW1uXG4gICAgICBwb3NpdGlvbiByZWxhdGl2ZVxuICAgICAgJi5pcy1sb2NrZWQge1xuICAgICAgICAgcG9zaXRpb24gZml4ZWRcbiAgICAgICAgIHRvcCAwXG4gICAgICAgICBib3R0b20gMFxuICAgICAgICAgd2lkdGggMTAwJVxuICAgICAgfVxuXG4gICAgICAmLmlzLWhpZGUge1xuICAgICAgICAgdHJhbnNpdGlvbiBvcGFjaXR5ICR0cmFuc2l0aW9uLW1haW4gLjNzXG4gICAgICAgICBvcGFjaXR5IDBcbiAgICAgIH1cbiAgIH1cbiAgICZfX292ZXJsYXkge1xuICAgICAgdHJhbnNpdGlvbiBvcGFjaXR5ICR0cmFuc2l0aW9uLW1haW5cbiAgICAgIHBvaW50ZXItZXZlbnRzIG5vbmVcbiAgICAgIG9wYWNpdHkgMFxuICAgICAgei1pbmRleCAxMTk5XG4gICAgICBwb3NpdGlvbiBmaXhlZFxuICAgICAgdG9wIDBcbiAgICAgIGxlZnQgMFxuICAgICAgcmlnaHQgMFxuICAgICAgYm90dG9tIDBcbiAgICAgIGJhY2tncm91bmQtY29sb3IgcmdiYSgkY29sb3ItYmxhY2ssIC43NSlcbiAgICAgICtkbyg3NTApIHtcbiAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb24gMHNcbiAgICAgIH1cbiAgICAgICYuaXMtb3BlbmVkIHtcbiAgICAgICAgIHotaW5kZXggMTIwMVxuICAgICAgICAgcG9pbnRlci1ldmVudHMgYXV0b1xuICAgICAgICAgb3BhY2l0eSAxXG4gICAgICB9XG4gICB9XG4gICAmX19oZWFkZXIsXG4gICAmX19mb290ZXIsXG4gICAmX19jb250ZW50IHtcbiAgICAgIGZsZXggMCAwIGF1dG9cbiAgIH1cbiAgICZfX2NvbnRlbnQge1xuICAgICAgZmxleC1ncm93IDFcbiAgIH1cbiAgICZfX2Zvb3RlciB7XG4gICAgICBtYXJnaW4tdG9wIGF1dG9cbiAgIH1cbn1cbiIsImNhbGxlZC1mcm9tID0gKClcblxudmVuZG9ycyA9IG1veiB3ZWJraXQgbyBtcyBvZmZpY2lhbFxuXG4vLyBzdHJpbmdpZnkgdGhlIGdpdmVuIGFyZ1xuXG4tc3RyaW5nKGFyZylcbiAgdHlwZShhcmcpICsgJyAnICsgYXJnXG5cbi8vIHJlcXVpcmUgYSBjb2xvclxuXG5yZXF1aXJlLWNvbG9yKGNvbG9yKVxuICB1bmxlc3MgY29sb3IgaXMgYSAnY29sb3InXG4gICAgZXJyb3IoJ1JHQiBvciBIU0wgdmFsdWUgZXhwZWN0ZWQsIGdvdCBhICcgKyAtc3RyaW5nKGNvbG9yKSlcblxuLy8gcmVxdWlyZSBhIHVuaXRcblxucmVxdWlyZS11bml0KG4pXG4gIHVubGVzcyBuIGlzIGEgJ3VuaXQnXG4gICAgZXJyb3IoJ3VuaXQgZXhwZWN0ZWQsIGdvdCBhICcgKyAtc3RyaW5nKG4pKVxuXG4vLyByZXF1aXJlIGEgc3RyaW5nXG5cbnJlcXVpcmUtc3RyaW5nKHN0cilcbiAgdW5sZXNzIHN0ciBpcyBhICdzdHJpbmcnIG9yIHN0ciBpcyBhICdpZGVudCdcbiAgICBlcnJvcignc3RyaW5nIGV4cGVjdGVkLCBnb3QgYSAnICsgLXN0cmluZyhzdHIpKVxuXG4vLyBNYXRoIGZ1bmN0aW9uc1xuXG5hYnMobikgeyBtYXRoKG4sICdhYnMnKSB9XG5taW4oYSwgYikgeyBhIDwgYiA/IGEgOiBiIH1cbm1heChhLCBiKSB7IGEgPiBiID8gYSA6IGIgfVxuXG4vLyBUcmlnb25vbWV0cmljc1xuUEkgPSAtbWF0aC1wcm9wKCdQSScpXG5cbnJhZGlhbnMtdG8tZGVncmVlcyhhbmdsZSlcbiAgYW5nbGUgKiAoMTgwIC8gUEkpXG5cbmRlZ3JlZXMtdG8tcmFkaWFucyhhbmdsZSlcbiAgdW5pdChhbmdsZSAqIChQSSAvIDE4MCksJycpXG5cbnNpbihuKVxuICBuID0gZGVncmVlcy10by1yYWRpYW5zKG4pIGlmIHVuaXQobikgPT0gJ2RlZydcbiAgcm91bmQobWF0aChuLCAnc2luJyksIDkpXG5cbmNvcyhuKVxuICBuID0gZGVncmVlcy10by1yYWRpYW5zKG4pIGlmIHVuaXQobikgPT0gJ2RlZydcbiAgcm91bmQobWF0aChuLCAnY29zJyksIDkpXG5cbi8vIFJvdW5kaW5nIE1hdGggZnVuY3Rpb25zXG5cbmNlaWwobiwgcHJlY2lzaW9uID0gMClcbiAgbXVsdGlwbGllciA9IDEwICoqIHByZWNpc2lvblxuICBtYXRoKG4gKiBtdWx0aXBsaWVyLCAnY2VpbCcpIC8gbXVsdGlwbGllclxuXG5mbG9vcihuLCBwcmVjaXNpb24gPSAwKVxuICBtdWx0aXBsaWVyID0gMTAgKiogcHJlY2lzaW9uXG4gIG1hdGgobiAqIG11bHRpcGxpZXIsICdmbG9vcicpIC8gbXVsdGlwbGllclxuXG5yb3VuZChuLCBwcmVjaXNpb24gPSAwKVxuICBtdWx0aXBsaWVyID0gMTAgKiogcHJlY2lzaW9uXG4gIG1hdGgobiAqIG11bHRpcGxpZXIsICdyb3VuZCcpIC8gbXVsdGlwbGllclxuXG4vLyByZXR1cm4gdGhlIHN1bSBvZiB0aGUgZ2l2ZW4gbnVtYmVyc1xuXG5zdW0obnVtcylcbiAgc3VtID0gMFxuICBzdW0gKz0gbiBmb3IgbiBpbiBudW1zXG5cbi8vIHJldHVybiB0aGUgYXZlcmFnZSBvZiB0aGUgZ2l2ZW4gbnVtYmVyc1xuXG5hdmcobnVtcylcbiAgc3VtKG51bXMpIC8gbGVuZ3RoKG51bXMpXG5cbi8vIHJldHVybiBhIHVuaXRsZXNzIG51bWJlciwgb3IgcGFzcyB0aHJvdWdoXG5cbnJlbW92ZS11bml0KG4pXG4gIGlmIHR5cGVvZihuKSBpcyBcInVuaXRcIlxuICAgIHVuaXQobiwgXCJcIilcbiAgZWxzZVxuICAgIG5cblxuLy8gY29udmVydCBhIHBlcmNlbnQgdG8gYSBkZWNpbWFsLCBvciBwYXNzIHRocm91Z2hcblxucGVyY2VudC10by1kZWNpbWFsKG4pXG4gIGlmIHVuaXQobikgaXMgXCIlXCJcbiAgICByZW1vdmUtdW5pdChuKSAvIDEwMFxuICBlbHNlXG4gICAgblxuXG4vLyBjaGVjayBpZiBuIGlzIGFuIG9kZCBudW1iZXJcblxub2RkKG4pXG4gIDEgPT0gbiAlIDJcblxuLy8gY2hlY2sgaWYgbiBpcyBhbiBldmVuIG51bWJlclxuXG5ldmVuKG4pXG4gIDAgPT0gbiAlIDJcblxuLy8gY2hlY2sgaWYgY29sb3IgaXMgbGlnaHRcblxubGlnaHQoY29sb3IpXG4gIGxpZ2h0bmVzcyhjb2xvcikgPj0gNTAlXG5cbi8vIGNoZWNrIGlmIGNvbG9yIGlzIGRhcmtcblxuZGFyayhjb2xvcilcbiAgbGlnaHRuZXNzKGNvbG9yKSA8IDUwJVxuXG4vLyBkZXNhdHVyYXRlIGNvbG9yIGJ5IGFtb3VudFxuXG5kZXNhdHVyYXRlKGNvbG9yLCBhbW91bnQpXG4gIGFkanVzdChjb2xvciwgJ3NhdHVyYXRpb24nLCAtIGFtb3VudClcblxuLy8gc2F0dXJhdGUgY29sb3IgYnkgYW1vdW50XG5cbnNhdHVyYXRlKGNvbG9yID0gJycsIGFtb3VudCA9IDEwMCUpXG4gIGlmIGNvbG9yIGlzIGEgJ2NvbG9yJ1xuICAgIGFkanVzdChjb2xvciwgJ3NhdHVyYXRpb24nLCBhbW91bnQpXG4gIGVsc2VcbiAgICB1bnF1b3RlKCBcInNhdHVyYXRlKFwiICsgY29sb3IgKyBcIilcIiApXG5cbi8vIGRhcmtlbiBieSB0aGUgZ2l2ZW4gYW1vdW50XG5cbmRhcmtlbihjb2xvciwgYW1vdW50KVxuICBhZGp1c3QoY29sb3IsICdsaWdodG5lc3MnLCAtIGFtb3VudClcblxuLy8gbGlnaHRlbiBieSB0aGUgZ2l2ZW4gYW1vdW50XG5cbmxpZ2h0ZW4oY29sb3IsIGFtb3VudClcbiAgYWRqdXN0KGNvbG9yLCAnbGlnaHRuZXNzJywgYW1vdW50KVxuXG4vLyBkZWNyZWFzZSBvcGFjaXR5IGJ5IGFtb3VudFxuXG5mYWRlLW91dChjb2xvciwgYW1vdW50KVxuICBjb2xvciAtIHJnYmEoYmxhY2ssIHBlcmNlbnQtdG8tZGVjaW1hbChhbW91bnQpKVxuXG4vLyBpbmNyZWFzZSBvcGFjaXR5IGJ5IGFtb3VudFxuXG5mYWRlLWluKGNvbG9yLCBhbW91bnQpXG4gIGNvbG9yICsgcmdiYShibGFjaywgcGVyY2VudC10by1kZWNpbWFsKGFtb3VudCkpXG5cbi8vIHNwaW4gaHVlIGJ5IGEgZ2l2ZW4gYW1vdW50XG5cbnNwaW4oY29sb3IsIGFtb3VudClcbiAgY29sb3IgKyB1bml0KGFtb3VudCwgZGVnKVxuXG4vLyBtaXggdHdvIGNvbG9ycyBieSBhIGdpdmVuIGFtb3VudFxuXG5taXgoY29sb3IxLCBjb2xvcjIsIHdlaWdodCA9IDUwJSlcbiAgdW5sZXNzIHdlaWdodCBpbiAwLi4xMDBcbiAgICBlcnJvcihcIldlaWdodCBtdXN0IGJlIGJldHdlZW4gMCUgYW5kIDEwMCVcIilcblxuICBpZiBsZW5ndGgoY29sb3IxKSA9PSAyXG4gICAgd2VpZ2h0ID0gY29sb3IxWzBdXG4gICAgY29sb3IxID0gY29sb3IxWzFdXG5cbiAgZWxzZSBpZiBsZW5ndGgoY29sb3IyKSA9PSAyXG4gICAgd2VpZ2h0ID0gMTAwIC0gY29sb3IyWzBdXG4gICAgY29sb3IyID0gY29sb3IyWzFdXG5cbiAgcmVxdWlyZS1jb2xvcihjb2xvcjEpXG4gIHJlcXVpcmUtY29sb3IoY29sb3IyKVxuXG4gIHAgPSB1bml0KHdlaWdodCAvIDEwMCwgJycpXG4gIHcgPSBwICogMiAtIDFcblxuICBhID0gYWxwaGEoY29sb3IxKSAtIGFscGhhKGNvbG9yMilcblxuICB3MSA9ICgoKHcgKiBhID09IC0xKSA/IHcgOiAodyArIGEpIC8gKDEgKyB3ICogYSkpICsgMSkgLyAyXG4gIHcyID0gMSAtIHcxXG5cbiAgY2hhbm5lbHMgPSAocmVkKGNvbG9yMSkgcmVkKGNvbG9yMikpIChncmVlbihjb2xvcjEpIGdyZWVuKGNvbG9yMikpIChibHVlKGNvbG9yMSkgYmx1ZShjb2xvcjIpKVxuICByZ2IgPSAoKVxuXG4gIGZvciBwYWlyIGluIGNoYW5uZWxzXG4gICAgcHVzaChyZ2IsIGZsb29yKHBhaXJbMF0gKiB3MSArIHBhaXJbMV0gKiB3MikpXG5cbiAgYTEgPSBhbHBoYShjb2xvcjEpICogcFxuICBhMiA9IGFscGhhKGNvbG9yMikgKiAoMSAtIHApXG4gIGFscGhhID0gYTEgKyBhMlxuXG4gIHJnYmEocmdiWzBdLCByZ2JbMV0sIHJnYlsyXSwgYWxwaGEpXG5cbi8vIGludmVydCBjb2xvcnMsIGxlYXZlIGFscGhhIGludGFjdFxuXG5pbnZlcnQoY29sb3IgPSAnJylcbiAgaWYgY29sb3IgaXMgYSAnY29sb3InXG4gICAgcmdiYSgjZmZmIC0gY29sb3IsIGFscGhhKGNvbG9yKSlcbiAgZWxzZVxuICAgIHVucXVvdGUoIFwiaW52ZXJ0KFwiICsgY29sb3IgKyBcIilcIiApXG5cbi8vIGdpdmUgY29tcGxlbWVudCBvZiB0aGUgZ2l2ZW4gY29sb3JcblxuY29tcGxlbWVudCggY29sb3IgKVxuICBzcGluKCBjb2xvciwgMTgwIClcblxuLy8gZ2l2ZSBncmF5c2NhbGUgb2YgdGhlIGdpdmVuIGNvbG9yXG5cbmdyYXlzY2FsZSggY29sb3IgPSAnJyApXG4gIGlmIGNvbG9yIGlzIGEgJ2NvbG9yJ1xuICAgIGRlc2F0dXJhdGUoIGNvbG9yLCAxMDAlIClcbiAgZWxzZVxuICAgIHVucXVvdGUoIFwiZ3JheXNjYWxlKFwiICsgY29sb3IgKyBcIilcIiApXG5cbi8vIG1peCB0aGUgZ2l2ZW4gY29sb3Igd2l0aCB3aGl0ZVxuXG50aW50KCBjb2xvciwgcGVyY2VudCApXG4gIG1peCggd2hpdGUsIGNvbG9yLCBwZXJjZW50IClcblxuLy8gbWl4IHRoZSBnaXZlbiBjb2xvciB3aXRoIGJsYWNrXG5cbnNoYWRlKCBjb2xvciwgcGVyY2VudCApXG4gIG1peCggYmxhY2ssIGNvbG9yLCBwZXJjZW50IClcblxuLy8gcmV0dXJuIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBnaXZlbiBleHByXG5cbmxhc3QoZXhwcilcbiAgZXhwcltsZW5ndGgoZXhwcikgLSAxXVxuXG4vLyByZXR1cm4ga2V5cyBpbiB0aGUgZ2l2ZW4gcGFpcnMgb3Igb2JqZWN0XG5cbmtleXMocGFpcnMpXG4gIHJldCA9ICgpXG4gIGlmIHR5cGUocGFpcnMpID09ICdvYmplY3QnXG4gICAgZm9yIGtleSBpbiBwYWlyc1xuICAgICAgcHVzaChyZXQsIGtleSlcbiAgZWxzZVxuICAgIGZvciBwYWlyIGluIHBhaXJzXG4gICAgICBwdXNoKHJldCwgcGFpclswXSk7XG4gIHJldFxuXG4vLyByZXR1cm4gdmFsdWVzIGluIHRoZSBnaXZlbiBwYWlycyBvciBvYmplY3RcblxudmFsdWVzKHBhaXJzKVxuICByZXQgPSAoKVxuICBpZiB0eXBlKHBhaXJzKSA9PSAnb2JqZWN0J1xuICAgIGZvciBrZXksIHZhbCBpbiBwYWlyc1xuICAgICAgcHVzaChyZXQsIHZhbClcbiAgZWxzZVxuICAgIGZvciBwYWlyIGluIHBhaXJzXG4gICAgICBwdXNoKHJldCwgcGFpclsxXSk7XG4gIHJldFxuXG4vLyBqb2luIHZhbHVlcyB3aXRoIHRoZSBnaXZlbiBkZWxpbWl0ZXJcblxuam9pbihkZWxpbSwgdmFscy4uLilcbiAgYnVmID0gJydcbiAgdmFscyA9IHZhbHNbMF0gaWYgbGVuZ3RoKHZhbHMpID09IDFcbiAgZm9yIHZhbCwgaSBpbiB2YWxzXG4gICAgYnVmICs9IGkgPyBkZWxpbSArIHZhbCA6IHZhbFxuXG4vLyBhZGQgYSBDU1MgcnVsZSB0byB0aGUgY29udGFpbmluZyBibG9ja1xuXG4vLyAtIFRoaXMgZGVmaW5pdGlvbiBhbGxvd3MgYWRkLXByb3BlcnR5IHRvIGJlIHVzZWQgYXMgYSBtaXhpblxuLy8gLSBJdCBoYXMgdGhlIHNhbWUgZWZmZWN0IGFzIGludGVycG9sYXRpb24gYnV0IGFsbG93cyB1c2Vyc1xuLy8gICB0byBvcHQgZm9yIGEgZnVuY3Rpb25hbCBzdHlsZVxuXG5hZGQtcHJvcGVydHktZnVuY3Rpb24gPSBhZGQtcHJvcGVydHlcbmFkZC1wcm9wZXJ0eShuYW1lLCBleHByKVxuICBpZiBtaXhpblxuICAgIHtuYW1lfSBleHByXG4gIGVsc2VcbiAgICBhZGQtcHJvcGVydHktZnVuY3Rpb24obmFtZSwgZXhwcilcblxucHJlZml4LWNsYXNzZXMocHJlZml4KVxuICAtcHJlZml4LWNsYXNzZXMocHJlZml4LCBibG9jaylcblxuLy8gQ2FjaGluZyBtaXhpbiwgdXNlIGluc2lkZSB5b3VyIGZ1bmN0aW9ucyB0byBlbmFibGUgY2FjaGluZyBieSBleHRlbmRpbmcuXG5cbiRzdHlsdXNfbWl4aW5fY2FjaGUgPSB7fVxuY2FjaGUoKVxuICAka2V5ID0gKGN1cnJlbnQtbWVkaWEoKSBvciAnbm8tbWVkaWEnKSArICdfXycgKyBjYWxsZWQtZnJvbVswXSArICdfXycgKyBhcmd1bWVudHNcbiAgaWYgJGtleSBpbiAkc3R5bHVzX21peGluX2NhY2hlXG4gICAgQGV4dGVuZCB7XCIkY2FjaGVfcGxhY2Vob2xkZXJfZm9yX1wiICsgJHN0eWx1c19taXhpbl9jYWNoZVska2V5XX1cbiAgZWxzZSBpZiAnY2FjaGUnIGluIGNhbGxlZC1mcm9tXG4gICAge2Jsb2NrfVxuICBlbHNlXG4gICAgJGlkID0gbGVuZ3RoKCRzdHlsdXNfbWl4aW5fY2FjaGUpXG5cbiAgICAmLFxuICAgIC8kY2FjaGVfcGxhY2Vob2xkZXJfZm9yX3skaWR9XG4gICAgICAkc3R5bHVzX21peGluX2NhY2hlWyRrZXldID0gJGlkXG4gICAgICB7YmxvY2t9XG5cbi8vIFBlcmNlbnRhZ2UgZnVuY3Rpb24gdG8gY29udmVydCBhIG51bWJlciwgZS5nLiBcIi40NVwiLCBpbnRvIGEgcGVyY2VudGFnZSwgZS5nLiBcIjQ1JVwiXG5cbnBlcmNlbnRhZ2UobnVtKVxuICByZXR1cm4gdW5pdChudW0gKiAxMDAsICclJylcblxuLy8gUmV0dXJucyB0aGUgcG9zaXRpb24gb2YgYSBgdmFsdWVgIHdpdGhpbiBhIGBsaXN0YFxuXG5pbmRleChsaXN0LCB2YWx1ZSlcbiAgZm9yIHZhbCwgaSBpbiBsaXN0XG4gICAgcmV0dXJuIGkgaWYgdmFsID09IHZhbHVlXG4iLCIvKlxuICogT3ZlcmZsb3cgdXRpbGl0eS4gTWFwcyB0byByZWd1bGFyIG92ZXJmbG93LCBhbmQgYWRkcyBhbiBlbGxpcHNpcyB2YWx1ZS5cbiAqXG4gKiBTeW5vcHNpczpcbiAqXG4gKiAgIG92ZXJmbG93OiA8dHlwZT5cbiAqXG4gKiBFeGFtcGxlczpcbiAqXG4gKiAgICAgb3ZlcmZsb3c6IGF1dG9cbiAqICAgICBvdmVyZmxvdzogaGlkZGVuXG4gKiAgICAgb3ZlcmZsb3c6IGVsbGlwc2lzXG4gKlxuICovXG5cbm92ZXJmbG93KClcbiAgaWYgYXJndW1lbnRzWzBdID09IGVsbGlwc2lzXG4gICAgZWxsaXBzaXMoKVxuICBlbHNlXG4gICAgb3ZlcmZsb3c6IGFyZ3VtZW50c1xuIiwiZG8oKSB7XG4gICAkdHlwZSA9IGFyZ3VtZW50c1swXVxuICAgX3R5cGUgPSAkdHlwZVxuICAgJHNpemUgPSBhcmd1bWVudHNbMV1cbiAgIF9zaXplID0gJHNpemVcblxuICAgaWYgKCB0eXBlb2YoX3R5cGUpID09ICd1bml0JyAmJiB0eXBlb2YoX3NpemUpICE9ICd1bml0JyApIHtcbiAgICAgICRzaXplID0gX3R5cGVcbiAgICAgICR0eXBlID0gX3NpemVcbiAgIH1cblxuICAgaWYgKCAkdHlwZSA9PSAnbWluJyB8fCAkdHlwZSA9PSAnbWl3JyApIHtcbiAgICAgICR0eXBlID0gJ21pbi13aWR0aCdcbiAgICAgICRzaXplID0gKCRzaXplICsgMSlcbiAgIH0gZWxzZSBpZiAoICR0eXBlID09ICdtaWgnICkge1xuICAgICAgJHR5cGUgPSAnbWluLWhlaWdodCdcbiAgICAgICRzaXplID0gKCRzaXplICsgMSlcbiAgIH0gZWxzZSBpZiAoICR0eXBlID09ICdtYWgnKSB7XG4gICAgICAkdHlwZSA9ICdtYXgtaGVpZ2h0J1xuICAgfSBlbHNlIGlmICggJHR5cGUgPT0gJ21heCcgfHwgJHR5cGUgPT0gJ21hdycgfHwgISR0eXBlICkge1xuICAgICAgJHR5cGUgPSAnbWF4LXdpZHRoJ1xuICAgfVxuXG4gICBpZiAoIHR5cGVvZihfdHlwZSkgPT0gJ3VuaXQnICYmIHR5cGVvZihfc2l6ZSkgPT0gJ3VuaXQnICkge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IHVuaXQoKG1pbihfdHlwZSwgX3NpemUpICsgMSksICdweCcpKSBhbmQgKG1heC13aWR0aDogdW5pdChtYXgoX3R5cGUsIF9zaXplKSwgJ3B4JykpIHtcbiAgICAgICAgIHtibG9ja31cbiAgICAgIH1cbiAgIH0gZWxzZSBpZiAoICR0eXBlID09ICdwb3J0cmFpdCcgfHwgJHR5cGUgPT0gJ2xhbmRzY2FwZScgKSB7XG4gICAgICBAbWVkaWEgKG9yaWVudGF0aW9uOiB1bnF1b3RlKCR0eXBlKSkge1xuICAgICAgICAge2Jsb2NrfVxuICAgICAgfVxuICAgfSBlbHNlIHtcbiAgICAgIEBtZWRpYSAoeyR0eXBlfTogdW5pdCgkc2l6ZSwgJ3B4JykpIHtcbiAgICAgICAgIHtibG9ja31cbiAgICAgIH1cbiAgIH1cbn1cbiIsIiRwYXJhZ3JhcGgsXG50YWJsZSxcbmJsb2NrcXVvdGUsXG5vbCxcbnVsLFxucCB7XG4gICBtYXJnaW4tYm90dG9tICRtYXJnaW4tcGFyYWdyYXBoXG4gICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbSAwXG4gICB9XG59XG5cbmltZyB7XG4gICBtYXgtd2lkdGggMTAwJVxufVxuXG5pLCBlbSB7XG4gICBmb250LXN0eWxlIGl0YWxpY1xufVxuYiwgc3Ryb25nIHtcbiAgIGZvbnQtd2VpZ2h0IDcwMFxufVxuXG4kbGluayxcbi5saW5rLFxuYSB7XG4gICB0cmFuc2l0aW9uICR0cmFuc2l0aW9uLW1haW5cbiAgIHRleHQtZGVjb3JhdGlvbiB1bmRlcmxpbmVcbiAgIGNvbG9yICRjb2xvci1saW5rXG5cbiAgICY6aG92ZXIsXG4gICAmOmFjdGl2ZSB7XG4gICAgICBjb2xvciAkY29sb3ItaG92ZXJcbiAgIH1cbn1cblxuYVtocmVmXj0ndGVsOiddIHtcbiAgIC8vQGV4dGVuZCAkbGlua19pbmhlcml0XG4gICBib3JkZXItYm90dG9tLXdpZHRoIDBcbiAgIHdoaXRlLXNwYWNlIG5vd3JhcFxufVxuXG5vbCB7XG4gICBjb3VudGVyLXJlc2V0IG51bXNcbiAgIGxpc3Qtc3R5bGUgbm9uZVxuICAgbGkge1xuICAgICAgY291bnRlci1pbmNyZW1lbnQgbnVtc1xuICAgICAgbGlzdC1zdHlsZS10eXBlIG5vbmVcbiAgICAgIHBvc2l0aW9uIHJlbGF0aXZlXG4gICAgICBwYWRkaW5nLWxlZnQgMjBweFxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgIGNvbnRlbnQgY291bnRlcihudW1zKSAnLidcbiAgICAgICAgIHBvc2l0aW9uIGFic29sdXRlXG4gICAgICAgICBmb250LXdlaWdodCA3MDBcbiAgICAgICAgIGxlZnQgMnB4XG4gICAgICAgICBjb2xvciAkY29sb3ItbWFpblxuICAgICAgfVxuICAgfVxufVxuXG51bCB7XG4gICBsaSB7XG4gICAgICBwYWRkaW5nLWxlZnQgMjNweFxuICAgICAgcG9zaXRpb24gcmVsYXRpdmVcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICBjb250ZW50ICcnXG4gICAgICAgICBkaXNwbGF5IGJsb2NrXG4gICAgICAgICBwb3NpdGlvbiBhYnNvbHV0ZVxuICAgICAgICAgbGVmdCAwXG4gICAgICAgICB0b3AgMFxuICAgICAgICAgc2l6ZSA4cHhcbiAgICAgICAgIGJvcmRlci1yYWRpdXMgNTAlXG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIGN1cnJlbnRDb2xvclxuICAgICAgfVxuXG4gICB9XG59XG5cblxuLmRpc3BsYXktbm9uZSB7XG4gICBkaXNwbGF5IG5vbmVcbn1cblxuLnJlZCB7XG4gICBwb3NpdGlvbiByZWxhdGl2ZVxuICAgY29sb3Igd2hpdGVcbiAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQgJydcbiAgICAgIHBvc2l0aW9uIGFic29sdXRlXG4gICAgICB0b3A6IDBcbiAgICAgIGxlZnQgLTIwcHhcbiAgICAgIHJpZ2h0IC00cHhcbiAgICAgIGJvdHRvbSAwXG4gICAgICBiYWNrZ3JvdW5kICNlODM3MmVcbiAgICAgIHotaW5kZXggLTFcbiAgIH1cbn1cbi5saW5rX3JlZCB7XG4gICBjb2xvciAjZTgzNzJlXG4gICBib3JkZXItY29sb3IgI2U4MzcyZVxufVxuLnZrIHtcbiAgIGRpc3BsYXkgYmxvY2tcbiAgIGJvcmRlci1ib3R0b20gbm9uZVxuICAgdGV4dC1kZWNvcmF0aW9uIG5vbmVcbiAgIHdpZHRoIDYwcHhcbiAgIGhlaWdodCA2MHB4XG4gICBiYWNrZ3JvdW5kICM3Mjk5YzVcbiAgIHBvc2l0aW9uIHJlbGF0aXZlXG4gICBib3JkZXItcmFkaXVzIDUwJVxuICAgdHJhbnNpdGlvbiAuM3MgZWFzZVxuICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudCAnJ1xuICAgICAgcG9zaXRpb24gYWJzb2x1dGVcbiAgICAgIHRvcCA1MCVcbiAgICAgIGxlZnQgNTAlXG4gICAgICBkaXNwbGF5IGJsb2NrXG4gICAgICB0cmFuc2Zvcm0gdHJhbnNsYXRlKC01MCUsLTUwJSlcbiAgICAgIHN2ZygndmsnLDMwcHgsd2hpdGUpXG4gICB9XG4gICAmOmhvdmVyIHtcbiAgICAgIG9wYWNpdHkgMC41XG4gICB9XG59XG4ucGhvbmUge1xuICAgZm9udC1zaXplIDE4cHhcbiAgIHRleHQtZGVjb3JhdGlvbiBub25lXG4gICBib3JkZXItYm90dG9tIG5vbmVcbiAgIGNvbG9yIGJsYWNrXG4gICBmb250LXdlaWdodCA3MDBcbn1cbmEge1xuICAgJjpob3ZlciB7XG4gICAgICBvcGFjaXR5IDAuOFxuICAgfVxufSIsIi8qXG4gKiBTaXplIHV0aWxpdHkuXG4gKlxuICogU3lub3BzaXM6XG4gKlxuICogICBzaXplOiA8d2lkdGg+IDxoZWlnaHQ+IHwgPHdpZHRoICYgaGVpZ2h0PlxuICpcbiAqIEV4YW1wbGVzOlxuICpcbiAqICAgICBzaXplOiAxMDAlIDMwcHhcbiAqICAgICAgIHlpZWxkczpcbiAqICAgICAgICAgd2lkdGg6IDEwMCVcbiAqICAgICAgICAgaGVpZ2h0OiAzMHB4XG4gKlxuICogICAgIHNpemU6IDVweFxuICogICAgICAgeWllbGRzOlxuICogICAgICAgICB3aWR0aDogNXB4XG4gKiAgICAgICAgIGhlaWdodDogNXB4XG4gKlxuICovXG5cbnNpemUoKVxuICBpZiBsZW5ndGgoYXJndW1lbnRzKSA9PSAxXG4gICAgd2lkdGg6IGFyZ3VtZW50c1swXVxuICAgIGhlaWdodDogYXJndW1lbnRzWzBdXG4gIGVsc2VcbiAgICB3aWR0aDogYXJndW1lbnRzWzBdXG4gICAgaGVpZ2h0OiBhcmd1bWVudHNbMV1cbiIsIi8qXG4gKiBIZWxwZXIgZm9yIGJvcmRlci1yYWRpdXMoKS5cbiAqL1xuXG4tYXBwbHktYm9yZGVyLXJhZGl1cyhwb3MsIGltcG9ydGFuY2UpXG4gIGlmIGxlbmd0aChwb3MpID09IDNcbiAgICAvLyBib3JkZXItcmFkaXVzOiA8dG9wIHwgYm90dG9tPiA8bGVmdCB8IHJpZ2h0PiA8bj5cbiAgICB5ID0gcG9zWzBdXG4gICAgeCA9IHBvc1sxXVxuICAgIC8vIFdlIGRvbid0IHVzZSB2ZW5kb3IgZm9yIGJvZGVyLXJhZGl1cyBhbnltb3JlXG4gICAgLy8gdmVuZG9yKCdib3JkZXItcmFkaXVzLSVzJXMnICUgcG9zLCBwb3NbMl0sIG9ubHk6IHdlYmtpdCBvZmZpY2lhbClcbiAgICB7J2JvcmRlci0lcy0lcy1yYWRpdXMnICUgcG9zfTogcG9zWzJdIGltcG9ydGFuY2VcbiAgZWxzZSBpZiBwb3NbMF0gaW4gKHRvcCBib3R0b20pXG4gICAgLy8gYm9yZGVyLXJhZGl1czogPHRvcCB8IGJvdHRvbT4gPG4+XG4gICAgLWFwcGx5LWJvcmRlci1yYWRpdXMocG9zWzBdIGxlZnQgcG9zWzFdLCBpbXBvcnRhbmNlKVxuICAgIC1hcHBseS1ib3JkZXItcmFkaXVzKHBvc1swXSByaWdodCBwb3NbMV0sIGltcG9ydGFuY2UpXG4gIGVsc2UgaWYgcG9zWzBdIGluIChsZWZ0IHJpZ2h0KVxuICAgIC8vIGJvcmRlci1yYWRpdXM6IDxsZWZ0IHwgcmlnaHQ+IDxuPlxuICAgIHVuc2hpZnQocG9zLCB0b3ApO1xuICAgIC1hcHBseS1ib3JkZXItcmFkaXVzKHBvcywgaW1wb3J0YW5jZSlcbiAgICBwb3NbMF0gPSBib3R0b21cbiAgICAtYXBwbHktYm9yZGVyLXJhZGl1cyhwb3MsIGltcG9ydGFuY2UpXG5cbi8qXG4gKiBib3JkZXItcmFkaXVzIHN1cHBvcnRpbmcgYXVnbWVudGVkIGJlaGF2aW9yLlxuICpcbiAqIEV4YW1wbGVzOlxuICpcbiAqICAgIGJvcmRlci1yYWRpdXM6IDJweCA1cHhcbiAqICAgIGJvcmRlci1yYWRpdXM6IHRvcCA1cHggYm90dG9tIDEwcHhcbiAqICAgIGJvcmRlci1yYWRpdXM6IGxlZnQgNXB4XG4gKiAgICBib3JkZXItcmFkaXVzOiB0b3AgbGVmdCA1cHhcbiAqICAgIGJvcmRlci1yYWRpdXM6IHRvcCBsZWZ0IDEwcHggYm90dG9tIHJpZ2h0IDVweFxuICogICAgYm9yZGVyLXJhZGl1czogdG9wIGxlZnQgMTBweCwgYm90dG9tIHJpZ2h0IDVweFxuICpcbiAqL1xuXG5ib3JkZXItcmFkaXVzKClcbiAgcG9zID0gKClcbiAgYXVnbWVudGVkID0gZmFsc2VcbiAgaW1wb3J0YW5jZSA9IGFyZ3VtZW50c1tsZW5ndGgoYXJndW1lbnRzKSAtIDFdID09ICFpbXBvcnRhbnQgPyAhaW1wb3J0YW50IDogdW5xdW90ZSgnJylcblxuICBmb3IgYXJncyBpbiBhcmd1bWVudHNcbiAgICBmb3IgYXJnIGluIGFyZ3NcbiAgICAgIGlmIGFyZyBpcyBhICdpZGVudCdcbiAgICAgICAgYXBwZW5kKHBvcywgYXJnKVxuICAgICAgICBhdWdtZW50ZWQgPSB0cnVlXG4gICAgICBlbHNlXG4gICAgICAgIGFwcGVuZChwb3MsIGFyZylcbiAgICAgICAgaWYgYXVnbWVudGVkXG4gICAgICAgICAgLWFwcGx5LWJvcmRlci1yYWRpdXMocG9zLCBpbXBvcnRhbmNlKVxuICAgICAgICAgIHBvcyA9ICgpXG4gIGJvcmRlci1yYWRpdXMgcG9zIHVubGVzcyBhdWdtZW50ZWRcbiIsInN2ZyhuYW1lLCBzaXplID0gMTZweCwgY29sb3IgPSAjZmZmLCBhbGlnbiA9IG51bGwsIHRhcmdldENvbG9yID0gJyUyM3h4eCcpIHtcbiAgIC8vINCY0YnQtdC8INC+0LHRitC10LrRgiDRgSDQtNCw0L3QvdGL0LzQuCBzdmdcbiAgICRpbWFnZSA9ICRzdmdbbmFtZV1cblxuICAgLy8g0JXRgdC70Lgg0L3QsNGI0LvQuCDQutCw0YDRgtC40L3QutGDXG4gICBpZiAoICRpbWFnZSApIHtcbiAgICAgIC8vINCf0L7Qu9GD0YfQsNC10Lwg0LfQsNC00LDQvdC90YPRjiDQvdCw0LzQuCDRiNC40YDQuNC90YMg0Lgg0LLRi9GB0L7RgtGDXG4gICAgICAvLyBzaXplID0gc3RyLXNwbGl0KCcnK3NpemUrJycsICcgJylcbiAgICAgICR3aWR0aCA9IGNvbnZlcnQoJycrc2l6ZSsnJylcbiAgICAgICRoZWlnaHQgPSB1bml0KHJvdW5kKCgkd2lkdGggKiAkaW1hZ2VbJ2hlaWdodCddKSAvICRpbWFnZVsnd2lkdGgnXSksICdweCcpXG4gICAgICAvLyBoZWlnaHQgPSBjb252ZXJ0KCFzaXplWzFdID8gc2l6ZVswXSA6IHNpemVbMV0pIC8vINCV0YHQu9C4INC90LXRgtGDINCy0YvRgdC+0YLRiywg0YLQviDQv9GA0LjRgNCw0LLQvdC40LLQsNC10Lwg0Log0YjQuNGA0LjQvdC1XG5cbiAgICAgIGlmICggYWxpZ24gKSB7XG4gICAgICAgICBob3Jpem9udGFsID0gYWxpZ25bMF1cbiAgICAgICAgIHZlcnRpY2FsID0gYWxpZ25bMV0gPyBhbGlnblsxXSA6IGFsaWduWzBdXG4gICAgICAgICBwb3NpdGlvbiBhYnNvbHV0ZSBpZiAhQHBvc2l0aW9uXG4gICAgICAgICBpZiBob3Jpem9udGFsIGlzIGNlbnRlciB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdCByb3VuZCgkd2lkdGggLyAtMilcbiAgICAgICAgICAgIGxlZnQgNTAlXG4gICAgICAgICB9IGVsc2UgaWYgKGhvcml6b250YWwgaXMgbGVmdCkge1xuICAgICAgICAgICAgbGVmdCAwXG4gICAgICAgICB9IGVsc2UgaWYgKGhvcml6b250YWwgaXMgcmlnaHQpIHtcbiAgICAgICAgICAgIHJpZ2h0IDBcbiAgICAgICAgIH1cblxuICAgICAgICAgaWYgKHZlcnRpY2FsIGlzIGNlbnRlcikge1xuICAgICAgICAgICAgbWFyZ2luLXRvcCByb3VuZCgkaGVpZ2h0IC8gLTIpXG4gICAgICAgICAgICB0b3AgNTAlXG4gICAgICAgICB9IGVsc2UgaWYgKHZlcnRpY2FsIGlzIHRvcCkge1xuICAgICAgICAgICAgdG9wIDBcbiAgICAgICAgIH0gZWxzZSBpZiAodmVydGljYWwgaXMgYm90dG9tKSB7XG4gICAgICAgICAgICBib3R0b20gMFxuICAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAkYmcgPSBzdHItcmVwbGFjZSgkaW1hZ2VbJ2ljb24nXSwgdGFyZ2V0Q29sb3IsIHN0ci1yZXBsYWNlKGNvbG9yLCAnIycsICclMjMnKSlcbiAgICAgIC8vIF9jYWNoZSA9ICckc3ZnX2JnLScrbmFtZSsnLS0nK3N0ci1yZXBsYWNlKGNvbG9yLCAnIycsICcnKSsnXycrdW5pdChzaXplLCAnJylcbiAgICAgIF9jYWNoZSA9ICckc3ZnX2JnLScrbmFtZSsnLS0nK3N0ci1yZXBsYWNlKGNvbG9yLCAnIycsICcnKVxuXG4gICAgICB3aWR0aCAkd2lkdGhcbiAgICAgIGhlaWdodCAkaGVpZ2h0XG5cbiAgICAgIGlmICggY2FsbGVkLWZyb20gIT0gJ2RvJyApIHtcbiAgICAgICAgICtjYWNoZShfY2FjaGUpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQgdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwnJGJnKSAwIDAgbm8tcmVwZWF0XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemUgMTAwJSAxMDAlXG4gICAgICAgICB9XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgIGJhY2tncm91bmQgdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwnJGJnKSAwIDAgbm8tcmVwZWF0XG4gICAgICAgICBiYWNrZ3JvdW5kLXNpemUgMTAwJSAxMDAlXG4gICAgICB9XG5cbiAgIH0gZWxzZSB7XG4gICAgICAvLyDQmNC90LDRh9C1INC+0YjQuNCx0LrQsFxuICAgICAgZXJyb3IoJ1xcblxcblxcbiDQndC10YLRgyDRgtCw0LrQvtCz0L4gc3ZnIGAnK25hbWUrJ2AgXFxuXFxuJylcbiAgIH1cbn1cblxuc3ZnLWNvbG9yKG5hbWUsIGNvbG9yID0gI2ZmZiwgdGFyZ2V0Q29sb3IgPSAnJTIzeHh4Jykge1xuICAgLy8g0JjRidC10Lwg0L7QsdGK0LXQutGCINGBINC00LDQvdC90YvQvNC4IHN2Z1xuICAgJGltYWdlID0gJHN2Z1tuYW1lXVxuXG4gICBpZiAoICRpbWFnZSApIHtcbiAgICAgICRiZyA9IHN0ci1yZXBsYWNlKCRpbWFnZVsnaWNvbiddLCB0YXJnZXRDb2xvciwgc3RyLXJlcGxhY2UoY29sb3IsICcjJywgJyUyMycpKVxuICAgICAgLy8gX2NhY2hlID0gJyRzdmdfYmctJytuYW1lKyctLScrc3RyLXJlcGxhY2UoY29sb3IsICcjJywgJycpKydfJyt1bml0KHNpemUsICcnKVxuICAgICAgX2NhY2hlID0gJyRzdmdfYmctJytuYW1lKyctLScrc3RyLXJlcGxhY2UoY29sb3IsICcjJywgJycpXG5cbiAgICAgIGlmICggY2FsbGVkLWZyb20gIT0gJ2RvJyApIHtcbiAgICAgICAgICtjYWNoZShfY2FjaGUpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2UgdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwnJGJnKVxuICAgICAgICAgfVxuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgICBiYWNrZ3JvdW5kLWltYWdlIHVybCgnZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJyRiZylcbiAgICAgIH1cblxuICAgfSBlbHNlIHtcbiAgICAgIC8vINCY0L3QsNGH0LUg0L7RiNC40LHQutCwXG4gICAgICBlcnJvcignXFxuXFxuXFxuINCd0LXRgtGDINGC0LDQutC+0LPQviBzdmcgYCcrbmFtZSsnYCBcXG5cXG4nKVxuICAgfVxufVxuXG5zdmctc2l6ZShuYW1lLCBzaXplID0gMTZweCwgYWxpZ24gPSBudWxsKSB7XG4gICAkaW1hZ2UgPSAkc3ZnW25hbWVdXG4gICBpZiAoICRpbWFnZSApIHtcbiAgICAgICR3aWR0aCA9IGNvbnZlcnQoJycrc2l6ZSsnJylcbiAgICAgICRoZWlnaHQgPSB1bml0KHJvdW5kKCgkd2lkdGggKiAkaW1hZ2VbJ2hlaWdodCddKSAvICRpbWFnZVsnd2lkdGgnXSksICdweCcpXG5cbiAgICAgIHdpZHRoICR3aWR0aFxuICAgICAgaGVpZ2h0ICRoZWlnaHRcblxuICAgICAgaWYgKCBhbGlnbiApIHtcbiAgICAgICAgIGhvcml6b250YWwgPSBhbGlnblswXVxuICAgICAgICAgdmVydGljYWwgPSBhbGlnblsxXSB8fCBhbGlnblswXVxuICAgICAgICAgcG9zaXRpb24gYWJzb2x1dGUgaWYgIUBwb3NpdGlvblxuICAgICAgICAgaWYgaG9yaXpvbnRhbCBpcyBjZW50ZXIge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQgcm91bmQoJHdpZHRoIC8gLTIpXG4gICAgICAgICAgICBsZWZ0IDUwJVxuICAgICAgICAgfSBlbHNlIGlmIChob3Jpem9udGFsIGlzIGxlZnQpIHtcbiAgICAgICAgICAgIGxlZnQgMFxuICAgICAgICAgICAgbWFyZ2luLWxlZnQgMFxuICAgICAgICAgfSBlbHNlIGlmIChob3Jpem9udGFsIGlzIHJpZ2h0KSB7XG4gICAgICAgICAgICByaWdodCAwXG4gICAgICAgICAgICBtYXJnaW4tbGVmdCAwXG4gICAgICAgICB9XG5cbiAgICAgICAgIGlmICh2ZXJ0aWNhbCBpcyBjZW50ZXIpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3Agcm91bmQoJGhlaWdodCAvIC0yKVxuICAgICAgICAgICAgdG9wIDUwJVxuICAgICAgICAgfSBlbHNlIGlmICh2ZXJ0aWNhbCBpcyB0b3ApIHtcbiAgICAgICAgICAgIHRvcCAwXG4gICAgICAgICAgICBtYXJnaW4tdG9wIDBcbiAgICAgICAgIH0gZWxzZSBpZiAodmVydGljYWwgaXMgYm90dG9tKSB7XG4gICAgICAgICAgICBib3R0b20gMFxuICAgICAgICAgICAgbWFyZ2luLXRvcCAwXG4gICAgICAgICB9XG4gICAgICB9XG4gICB9IGVsc2Uge1xuICAgICAgLy8g0JjQvdCw0YfQtSDQvtGI0LjQsdC60LBcbiAgICAgIGVycm9yKCdcXG5cXG5cXG4g0J3QtdGC0YMg0YLQsNC60L7Qs9C+IHN2ZyBgJytuYW1lKydgIFxcblxcbicpXG4gICB9XG59XG5zdmctaGVpZ2h0KG5hbWUsIHNpemUgPSAxNnB4KSB7XG4gICAkaW1hZ2UgPSAkc3ZnW25hbWVdXG4gICBpZiAoICRpbWFnZSApIHtcbiAgICAgICR3aWR0aCA9IGNvbnZlcnQoJycrc2l6ZSsnJylcbiAgICAgICRoZWlnaHQgPSB1bml0KHJvdW5kKCgkd2lkdGggKiAkaW1hZ2VbJ2hlaWdodCddKSAvICRpbWFnZVsnd2lkdGgnXSksICdweCcpXG5cbiAgICAgIHJldHVybiAkaGVpZ2h0XG4gICB9IGVsc2Uge1xuICAgICAgLy8g0JjQvdCw0YfQtSDQvtGI0LjQsdC60LBcbiAgICAgIGVycm9yKCdcXG5cXG5cXG4g0J3QtdGC0YMg0YLQsNC60L7Qs9C+IHN2ZyBgJytuYW1lKydgIFxcblxcbicpXG4gICB9XG59IiwiZ3JpZC13aWR0aCgkc2l6ZSwgJHdpZHRoID0gJGdyaWQtd2lkdGgsICRnYXAgPSAkZ3JpZC1nYXApIHtcbiAgIHJldHVybiByb3VuZCgkd2lkdGggKiAkc2l6ZSArICRnYXAgKiAoJHNpemUgLSAxKSlcbn1cblxuJGJsb2NrLFxuLmJsb2NrIHtcbiAgIGJveC1zaXppbmcgYm9yZGVyLWJveFxuICAgcGFkZGluZy1sZWZ0ICRibG9jay1wYWRkaW5nXG4gICBwYWRkaW5nLXJpZ2h0ICRibG9jay1wYWRkaW5nXG4gICArZG8oMTAwMCkge1xuICAgICAgcGFkZGluZy1sZWZ0ICRibG9jay1wYWRkaW5nLXNtYWxsXG4gICAgICBwYWRkaW5nLXJpZ2h0ICRibG9jay1wYWRkaW5nLXNtYWxsXG4gICB9XG59XG5cblxuJGJsb2NrLXdyYXBwZXIsXG4uYmxvY2std3JhcHBlciB7XG4gICBib3gtc2l6aW5nIGJvcmRlci1ib3hcbiAgIG1hcmdpbi1sZWZ0IGF1dG9cbiAgIG1hcmdpbi1yaWdodCBhdXRvXG4gICBpZiAoJGJsb2NrLW1heC13aWR0aCkge1xuICAgICAgbWluLXdpZHRoICRibG9jay13aWR0aFxuICAgICAgbWF4LXdpZHRoICRibG9jay1tYXgtd2lkdGhcbiAgIH0gZWxzZSB7XG4gICAgICB3aWR0aCAkYmxvY2std2lkdGhcbiAgIH1cbn1cblxuLmJsb2NrLXdyYXBwZXJfc21hbGwge1xuICAgbWF4LXdpZHRoICRibG9jay1tYXgtd2lkdGgtc21hbGxcbn1cbiIsIi5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgcGFkZGluZyAwXG4gICBib3JkZXIgMFxufVxuXG4kYnV0dG9uLFxuLmJ1dHRvbiB7XG4gICBjdXJzb3IgcG9pbnRlclxuICAgdXNlci1zZWxlY3Qgbm9uZVxuICAgdHJhbnNpdGlvbiAkdHJhbnNpdGlvbi1mYXN0XG4gICBib3gtc2l6aW5nIGJvcmRlci1ib3hcbiAgIHZlcnRpY2FsLWFsaWduIHRvcFxuICAgZGlzcGxheSBpbmxpbmUtYmxvY2tcbiAgIGFsaWduLWl0ZW1zIGNlbnRlclxuICAganVzdGlmeS1jb250ZW50IGNlbnRlclxuICAgcG9zaXRpb24gcmVsYXRpdmVcbiAgIHBhZGRpbmcgMCAzMHB4XG4gICBib3JkZXIgMnB4IHNvbGlkICMxZDFkMWJcbiAgIG91dGxpbmUgbm9uZVxuICAgYmFja2dyb3VuZC1jb2xvciAjMWQxZDFiXG4gICBjb2xvciB3aGl0ZVxuICAgZm9udC1mYW1pbHkgJGZvbnQtbWFpblxuICAgZm9udC1zdHlsZSBub3JtYWxcbiAgIGZvbnQtd2VpZ2h0IDYwMFxuICAgZm9udC1zaXplICRzaXplLW1haW5cbiAgIGxpbmUtaGVpZ2h0ICRsaW5lLW1haW5cbiAgIGxldHRlci1zcGFjaW5nIDBcbiAgIHRleHQtYWxpZ24gY2VudGVyXG4gICB0ZXh0LXRyYW5zZm9ybSBub25lXG4gICB0ZXh0LWRlY29yYXRpb24gbm9uZVxuICAgLy9ib3gtc2hhZG93IDAgMTBweCAzMHB4IHJnYmEoI2U4MzcyZSwwLjI1KVxuICAgJl9faWNvbiB7XG4gICAgICBtYXJnaW4tcmlnaHQgMTBweFxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgIGNvbnRlbnQgJydcbiAgICAgICAgIGRpc3BsYXkgYmxvY2tcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgIG1hcmdpbi1sZWZ0IDEwcHhcbiAgICAgICAgIG1hcmdpbi1yaWdodCAwXG4gICAgICB9XG4gICB9XG4gICAmX19jb250ZW50IHtcbiAgICAgIGRpc3BsYXkgZmxleFxuICAgICAgYWxpZ24taXRlbXMgY2VudGVyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQgY2VudGVyXG4gICB9XG4gICAmX190aXRsZSB7XG4gICAgICBwYWRkaW5nIDE1cHggMCAxNHB4XG4gICB9XG5cbiAgICYuaXMtaG92ZXIsXG4gICAmOmhvdmVyIHtcbiAgICAgIG9wYWNpdHkgMC44XG4gICAgICB0cmFuc2Zvcm0gdHJhbnNsYXRlWSgtMnB4KVxuICAgfVxuICAgJi5pcy1hY3RpdmUsXG4gICAmOmFjdGl2ZSB7XG4gICAgICBvcGFjaXR5IDAuOVxuICAgICAgdHJhbnNmb3JtIHRyYW5zbGF0ZVkoMnB4KVxuICAgfVxuICAgJi5pcy1kaXNhYmxlZCxcbiAgICY6ZGlzYWJsZWQge1xuICAgICAgYm9yZGVyLWNvbG9yICRjb2xvci1ncmV5ICFpbXBvcnRhbnRcbiAgICAgIGJhY2tncm91bmQtaW1hZ2Ugbm9uZSAhaW1wb3J0YW50XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yICRjb2xvci1ncmV5ICFpbXBvcnRhbnRcbiAgICAgIGNvbG9yICRjb2xvci13aGl0ZSAhaW1wb3J0YW50XG4gICB9XG5cbiAgICYuaXMtbG9hZGluZyB7XG4gICAgICBvcGFjaXR5IC41XG4gICB9XG59XG5cblxuJGJ1dHRvbl9mdWxsLFxuLmJ1dHRvbl9mdWxsIHtcbiAgIHdpZHRoIDEwMCVcbn1cblxuLmJ1dHRvbl9ib3JkZXJlZCB7XG4gICBib3JkZXIgM3B4IHNvbGlkICNiYTkwNjBcbiAgIC5idXR0b24ge1xuICAgICAgJl9fY29udGVudCB7XG4gICAgICB9XG4gICB9XG59XG5cbi5idXR0b25fd2hpdGUge1xuICAgYmFja2dyb3VuZCB3aGl0ZVxuICAgY29sb3IgYmxhY2tcbiAgIC5idXR0b24ge1xuICAgICAgJl9fY29udGVudCB7XG4gICAgICB9XG4gICB9XG59XG4uYnV0dG9uX2xpZ2h0IHtcbiAgIGJvcmRlci1jb2xvciAjYmQ4YzY0XG4gICBiYWNrZ3JvdW5kICNiZDhjNjRcbiAgIGNvbG9yIHdoaXRlXG5cbn0iLCJidXR0b24sIGlucHV0LCBvcHRncm91cCwgc2VsZWN0LCB0ZXh0YXJlYVxuICAgY29sb3IgIGluaGVyaXRcbiAgIGZvbnQgICBpbmhlcml0XG4gICBtYXJnaW4gMFxuXG5idXR0b25cbiAgIG92ZXJmbG93IHZpc2libGVcblxuYnV0dG9uLCBzZWxlY3RcbiAgIHRleHQtdHJhbnNmb3JtIG5vbmVcblxuYnV0dG9uLCBodG1sIGlucHV0W3R5cGU9J2J1dHRvbiddLCBpbnB1dFt0eXBlPSdyZXNldCddLCBpbnB1dFt0eXBlPSdzdWJtaXQnXVxuICAgY3Vyc29yIHBvaW50ZXJcbiAgIC13ZWJraXQtYXBwZWFyYW5jZSBidXR0b25cblxuYnV0dG9uW2Rpc2FibGVkXSwgaHRtbCBpbnB1dFtkaXNhYmxlZF1cbiAgIGN1cnNvciBkZWZhdWx0XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwgaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXJcbiAgIGJvcmRlciAgMFxuICAgcGFkZGluZyAwXG5cbmlucHV0XG4gICBsaW5lLWhlaWdodCBub3JtYWxcblxuaW5wdXRbdHlwZT0nY2hlY2tib3gnXSwgaW5wdXRbdHlwZT0ncmFkaW8nXVxuICAgYm94LXNpemluZyBib3JkZXItYm94XG4gICBwYWRkaW5nICAgIDBcblxuaW5wdXRbdHlwZT0nbnVtYmVyJ106Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPSdudW1iZXInXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvblxuICAgaGVpZ2h0IGF1dG9cblxuaW5wdXRbdHlwZT0nc2VhcmNoJ11cbiAgIC13ZWJraXQtYXBwZWFyYW5jZSAgdGV4dGZpZWxkXG5cbmlucHV0W3R5cGU9J3NlYXJjaCddOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT0nc2VhcmNoJ106Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb25cbiAgIC13ZWJraXQtYXBwZWFyYW5jZSBub25lXG5cbnRleHRhcmVhXG4gICBvdmVyZmxvdyBhdXRvXG4gICByZXNpemUgbm9uZVxuXG5vcHRncm91cFxuICAgZm9udC13ZWlnaHQgYm9sZFxuXG5pbnB1dFt0eXBlPSd0ZXh0J10sXG5pbnB1dFt0eXBlPSdwYXNzd29yZCddLFxuaW5wdXRbdHlwZT0nZW1haWwnXSxcbmlucHV0W3R5cGU9J3RlbCddLFxuaW5wdXRbdHlwZT0nc2VhcmNoJ10sXG5pbnB1dFt0eXBlPSd1cmwnXSxcbnNlbGVjdCxcbnRleHRhcmVhe1xuICAgd2lkdGggMTAwJVxuICAgYm94LXNpemluZyBib3JkZXItYm94XG4gICAmOjotbXMtY2xlYXIge1xuICAgICAgZGlzcGxheSBub25lXG4gICB9XG59XG5cblxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCxcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6aG92ZXIsXG5pbnB1dDotd2Via2l0LWF1dG9maWxsOmZvY3VzXG5pbnB1dDotd2Via2l0LWF1dG9maWxsIHtcbiAgIC8vY29sb3IgJGNvbG9yLW1haW4gIWltcG9ydGFudFxuICAgLy9iYWNrZ3JvdW5kLWNvbG9yIHRyYW5zcGFyZW50ICFpbXBvcnRhbnRcbiAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgNTBweCB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyAvKiDQptCy0LXRgiDRhNC+0L3QsCAqL1xuICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICRjb2xvci1tYWluICFpbXBvcnRhbnQ7IC8qINGG0LLQtdGCINGC0LXQutGB0YLQsCAqL1xuICAgY29sb3I6ICRjb2xvci1tYWluICFpbXBvcnRhbnQ7IC8qINGG0LLQtdGCINGC0LXQutGB0YLQsCAqL1xufVxuXG5pbnB1dFt0eXBlPSd0ZXh0J10ge1xuICAgYXBwZWFyYW5jZSBub25lXG4gICBvdXRsaW5lIG5vbmVcbiAgIC8vICtwbGFjZWhvbGRlcigpe1xuICAgLy8gICAgY29sb3IgJGNvbG9yLWdyZXktbGlnaHRcbiAgIC8vIH1cbn1cblxuaW5wdXRbdHlwZT0nbnVtYmVyJ10sXG5pbnB1dFt0eXBlPSdlbWFpbCddLFxuaW5wdXRbdHlwZT0ndGVsJ10sXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSxcbmlucHV0W3R5cGU9J3VybCddLFxuaW5wdXRbdHlwZT1wYXNzd29yZF0sXG50ZXh0YXJlYSB7XG4gICBAZXh0ZW5kIGlucHV0W3R5cGU9J3RleHQnXVxufVxuXG5pbnB1dDotd2Via2l0LWF1dG9maWxsIHtcbiAgIGNvbG9yICRjb2xvci1tYWluICFpbXBvcnRhbnRcbiAgIGJhY2tncm91bmQtY29sb3IgdHJhbnNwYXJlbnQgIWltcG9ydGFudFxufVxuXG50ZXh0YXJlYSB7XG4gICByZXNpemUgdmVydGljYWxcbn1cblxuaW5wdXQge1xuICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lIG5vbmVcbiAgIH1cbn1cbiIsIi53b3JrcyB7XG4gICBwYWRkaW5nLXRvcCA3MnB4XG4gICBwYWRkaW5nLWJvdHRvbSA3MnB4XG4gICAmX193cmFwcGVyIHtcbiAgIH1cbiAgICZfX3NpZGUge1xuICAgICAgbWFyZ2luLWJvdHRvbSA1MnB4XG4gICB9XG4gICAmX19tYWluIHtcbiAgICAgICYtbWFqb3Ige1xuICAgICAgICAgbWFyZ2luLWJvdHRvbSA2NXB4XG4gICAgICB9XG4gICAgICAmLW1pbm9yIHtcblxuICAgICAgfVxuICAgfVxuICAgJl9fdGl0bGUge1xuICAgICAgZm9udC1zaXplIDMwcHhcbiAgICAgIGxpbmUtaGVpZ2h0ICgzNCAvIDMwKVxuICAgICAgZm9udC13ZWlnaHQgNzAwXG4gICAgICB0ZXh0LXRyYW5zZm9ybSB1cHBlcmNhc2VcbiAgICAgIG1hcmdpbi1ib3R0b20gMTRweFxuICAgfVxuICAgJl9fc3VidGl0bGUge1xuICAgICAgZm9udC1zaXplIDE0cHhcbiAgICAgIGxpbmUtaGVpZ2h0ICgxOC8xNClcbiAgIH1cbiAgICZfX2xpc3Qge1xuICAgICAgZGlzcGxheSBmbGV4XG4gICAgICBmbGV4LXdyYXAgd3JhcFxuICAgICAgbWFyZ2luLXJpZ2h0IC0xNXB4XG4gICAgICBtYXJnaW4tbGVmdCAtMTVweFxuICAgICAgbWFyZ2luLWJvdHRvbSAtMzBweFxuICAgICAgJi1pdGVtIHtcbiAgICAgICAgIGZsZXggMCAwIGF1dG9cbiAgICAgICAgIG1hcmdpbi1yaWdodCAxNXB4XG4gICAgICAgICBtYXJnaW4tbGVmdCAxNXB4XG4gICAgICAgICBtYXJnaW4tYm90dG9tIDMwcHhcbiAgICAgICAgIG1heC13aWR0aCBjYWxjKDMzLjMzJSAtIDMwcHgpXG4gICAgICAgICBmbGV4LWJhc2lzIGNhbGMoMzMuMzMlIC0gMzBweClcbiAgICAgICAgICtkbygxMDAwKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGggY2FsYyg1MCUgLSAzMHB4KVxuICAgICAgICAgICAgZmxleC1iYXNpcyBjYWxjKDUwJSAtIDMwcHgpXG4gICAgICAgICB9XG4gICAgICAgICArZG8oNzUwKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGggY2FsYygxMDAlIC0gMzBweClcbiAgICAgICAgICAgIGZsZXgtYmFzaXMgY2FsYygxMDAlIC0gMzBweClcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cbiAgICZfX2FjdGlvbnMge1xuICAgICAgZGlzcGxheSBmbGV4XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQgY2VudGVyXG4gICAgICBhbGlnbi1pdGVtcyBjZW50ZXJcbiAgICAgICtkbyg3NTApIHtcbiAgICAgICAgIGRpc3BsYXkgYmxvY2tcbiAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgIHdpZHRoIDEwMCVcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYtbGlzdCB7XG4gICAgICAgICBkaXNwbGF5IGZsZXhcbiAgICAgICAgIG1hcmdpbi1yaWdodCAtMTVweFxuICAgICAgICAgbWFyZ2luLWxlZnQgLTE1cHhcbiAgICAgICAgIG1hcmdpbi1ib3R0b20gLTE1cHhcbiAgICAgICAgICtkbyg3NTApIHtcbiAgICAgICAgICAgIGRpc3BsYXkgYmxvY2tcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYtaXRlbSB7XG4gICAgICAgICBmbGV4IDAgMCBhdXRvXG4gICAgICAgICBtYXJnaW4tcmlnaHQgMTVweFxuICAgICAgICAgbWFyZ2luLWxlZnQgMTVweFxuICAgICAgICAgbWFyZ2luLWJvdHRvbSAxNXB4XG4gICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbSAwXG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG59XG5cbi53b3Jrcy1pdGVtIHtcbiAgIGN1cnNvciBwb2ludGVyXG4gICAmX193cmFwcGVyIHtcbiAgIH1cbiAgICZfX3NpZGUge1xuICAgICAgbWFyZ2luLWJvdHRvbSAyNHB4XG4gICB9XG4gICAmX19tYWluIHtcbiAgIH1cbiAgICZfX2ltZyB7XG4gICAgICBkaXNwbGF5IGJsb2NrXG4gICAgICBtaW4taGVpZ2h0IDIyMHB4XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uIGNlbnRlclxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQgbm8tcmVwZWF0XG4gICAgICBiYWNrZ3JvdW5kLXNpemUgY292ZXJcbiAgICAgIHBvc2l0aW9uIHJlbGF0aXZlXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgICBjb250ZW50ICcnXG4gICAgICAgICBwb3NpdGlvbiBhYnNvbHV0ZVxuICAgICAgICAgdG9wIDBcbiAgICAgICAgIGxlZnQgMFxuICAgICAgICAgcmlnaHQgMFxuICAgICAgICAgYm90dG9tIDBcbiAgICAgICAgIGJhY2tncm91bmQtY29sb3IgcmdiYShibGFjaywgMC4zKVxuICAgICAgICAgb3BhY2l0eSAwXG4gICAgICAgICB0cmFuc2l0aW9uIC4zcyBlYXNlXG4gICAgICB9XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIG9wYWNpdHkgMVxuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxuICAgJl9faW5mbyB7XG4gICAgICBtYXJnaW4tYm90dG9tIDEwcHhcbiAgICAgICYtY29udGVudCB7XG4gICAgICAgICBtYXJnaW4tcmlnaHQgLTVweFxuICAgICAgICAgbWFyZ2luLWxlZnQgLTVweFxuICAgICAgICAgbWFyZ2luLWJvdHRvbSAtMTBweFxuICAgICAgICAgZGlzcGxheSBmbGV4XG4gICAgICB9XG4gICAgICAmLW1haW4ge1xuICAgICAgICAgZmxleCAxIDEgYXV0b1xuICAgICAgICAgbWFyZ2luLXJpZ2h0IDVweFxuICAgICAgICAgbWFyZ2luLWxlZnQgNXB4XG4gICAgICAgICBtYXJnaW4tYm90dG9tIDEwcHhcbiAgICAgIH1cbiAgICAgICYtc2lkZSB7XG4gICAgICAgICBmbGV4IDAgMCBhdXRvXG4gICAgICAgICBtYXJnaW4tcmlnaHQgNXB4XG4gICAgICAgICBtYXJnaW4tbGVmdCA1cHhcbiAgICAgICAgIG1hcmdpbi1ib3R0b20gMTBweFxuICAgICAgfVxuICAgfVxuICAgJl9fdGl0bGUge1xuICAgICAgZm9udC1zaXplIDIwcHhcbiAgIH1cbiAgICZfX3ByaWNlIHtcbiAgICAgIGZvbnQtc2l6ZSAyMHB4XG4gICAgICBmb250LXdlaWdodCA3MDBcbiAgIH1cbiAgICZfX2Rlc2Mge1xuICAgICAgZm9udC1zaXplIDE0cHhcbiAgICAgIGNvbG9yICMxZDFkMWJcbiAgIH1cbn0iLCIuZmllbGQge1xuICAgZGlzcGxheSBibG9ja1xuICAgcG9zaXRpb24gcmVsYXRpdmVcbiAgIG1hcmdpbi1ib3R0b20gMTZweFxuICAgJl9fZXJyb3IsXG4gICAmX190aXRsZSB7XG4gICAgICB0cmFuc2l0aW9uICR0cmFuc2l0aW9uLW1haW5cbiAgICAgIG92ZXJmbG93IGhpZGRlblxuICAgICAgZGlzcGxheSBibG9ja1xuICAgICAgbWF4LWhlaWdodCAxMDBweFxuICAgICAgbWFyZ2luLWJvdHRvbSA4cHhcbiAgICAgIGZvbnQtc2l6ZSAkc2l6ZS1zbWFsbFxuICAgICAgbGluZS1oZWlnaHQgJGxpbmUtc21hbGxcbiAgIH1cbiAgICZfX21haW4ge1xuICAgICAgZGlzcGxheSBibG9ja1xuICAgICAgcG9zaXRpb24gcmVsYXRpdmVcbiAgIH1cbiAgIC8kaW5wdXQsXG4gICAmX19pbnB1dCB7XG4gICAgICB0cmFuc2l0aW9uICR0cmFuc2l0aW9uLW1haW5cbiAgICAgIGFwcGVhcmFuY2Ugbm9uZVxuICAgICAgYm94LXNpemluZyBib3JkZXItYm94XG4gICAgICBkaXNwbGF5IGJsb2NrXG4gICAgICB3aWR0aCAxMDAlXG4gICAgICBwYWRkaW5nIDExcHggMjBweCAxMHB4XG4gICAgICBib3JkZXIgbm9uZVxuICAgICAgYm9yZGVyLWJvdHRvbSAxcHggc29saWQgd2hpdGVcbiAgICAgIG91dGxpbmUgMFxuICAgICAgY29sb3IgIzFkMWQxYlxuICAgICAgZm9udC1mYW1pbHkgJGZvbnQtbWFpblxuICAgICAgZm9udC1zaXplIDE4cHhcbiAgICAgIGJvcmRlci1yYWRpdXMgMFxuICAgICAgK3BsYWNlaG9sZGVyKCkge1xuICAgICAgICAgY29sb3IgIzFkMWQxYlxuICAgICAgfVxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgICBib3JkZXItY29sb3IgJGNvbG9yLW1haW5cbiAgICAgIH1cbiAgICAgIHNlbGVjdCYge1xuICAgICAgICAgdXNlci1zZWxlY3Qgbm9uZVxuICAgICAgICAgcGFkZGluZy1yaWdodCAoMTlweCArIDI1cHgpXG4gICAgICAgICAmOjotbXMtZXhwYW5kIHtcbiAgICAgICAgICAgIGRpc3BsYXkgbm9uZVxuICAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgICBib3JkZXItYm90dG9tIDFweCBzb2xpZCBibGFja1xuICAgICAgfVxuICAgfVxuICAgJl9fZXJyb3Ige1xuICAgICAgdHJhbnNpdGlvbiAkdHJhbnNpdGlvbi1tYWluXG4gICAgICBvdmVyZmxvdyBoaWRkZW5cbiAgICAgIGRpc3BsYXkgbm9uZVxuICAgICAgY29sb3IgJGNvbG9yLWVycm9yXG4gICB9XG5cbiAgICYuaXMtZXJyb3Ige1xuICAgICAgLmZpZWxkX19pbnB1dCB7fVxuICAgICAgLmZpZWxkX19tYWluIHt9XG4gICAgICAuZmllbGRfX2Vycm9yIHtcbiAgICAgICAgIGRpc3BsYXkgYmxvY2tcbiAgICAgIH1cbiAgICAgIC5maWVsZF9fdGl0bGUge1xuICAgICAgICAgZGlzcGxheSBub25lXG4gICAgICB9XG4gICB9XG59XG5cbi5maWVsZF9zZWxlY3Qge1xuICAgLmZpZWxkX19tYWluIHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgIGNvbnRlbnQgJydcbiAgICAgICAgIHBvc2l0aW9uIGFic29sdXRlXG4gICAgICAgICBzdmcoJ2Fycm93LWRvd24nLCAxNnB4LCAkY29sb3ItbWFpbiwgbm9uZSBjZW50ZXIpXG4gICAgICAgICByaWdodCAxOHB4XG4gICAgICB9XG4gICB9XG5cbiAgICYuaXMtZXJyb3Ige1xuICAgICAgLmZpZWxkX19tYWluIHtcbiAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIG9wYWNpdHkgMFxuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxufVxuIiwicGxhY2Vob2xkZXIoKSB7XG4gICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgIHtibG9ja31cbiAgIH1cbiAgICY6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICB7YmxvY2t9XG4gICB9XG4gICAmOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgIHtibG9ja31cbiAgIH1cbiAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgIHtibG9ja31cbiAgIH1cbn1cbiIsIi50aXRsZSxcbiR0aXRsZSB7XG4gICBmb250LWZhbWlseSAkZm9udC10aXRsZVxufVxuXG5oMSxcbi50aXRsZS1oMSxcbiR0aXRsZS1oMSB7XG4gICBAZXh0ZW5kICR0aXRsZVxuICAgbWFyZ2luLWJvdHRvbSA0MHB4XG4gICBmb250LWZhbWlseSAkZm9udC1wYWNpZmljb1xuICAgZm9udC1zaXplICRzaXplLXh4bGFyZ2VcbiAgIGxpbmUtaGVpZ2h0ICRsaW5lLXh4bGFyZ2Vcbn1cblxuaDIsXG4udGl0bGUtaDIsXG4kdGl0bGUtaDIge1xuICAgQGV4dGVuZCAkdGl0bGVcbiAgIG1hcmdpbi1ib3R0b20gMjRweFxuICAgZm9udC13ZWlnaHQgNzAwXG4gICBmb250LXNpemUgJHNpemUteGxhcmdlXG4gICBsaW5lLWhlaWdodCAkbGluZS14bGFyZ2Vcbn1cblxuaDMsXG4udGl0bGUtaDMsXG4kdGl0bGUtaDMge1xuICAgZm9udC1zaXplIGluaGVyaXRcbiAgIGxpbmUtaGVpZ2h0IGluaGVyaXRcbiAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3AgMzRweFxuICAgfVxufVxuXG5oNCxcbi50aXRsZS1oNCxcbiR0aXRsZS1oNCB7XG4gICBAZXh0ZW5kICR0aXRsZVxuICAgbWFyZ2luLWJvdHRvbSAyNHB4XG4gICBmb250LXNpemUgJHNpemUtbWVkaXVtXG4gICBsaW5lLWhlaWdodCAkbGluZS1tZWRpdW1cbiAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3AgMzRweFxuICAgfVxufVxuXG5oNSxcbi50aXRsZS1oNSxcbiR0aXRsZS1oNSB7XG4gICBAZXh0ZW5kICR0aXRsZVxuICAgZm9udC1zaXplICRzaXplLXNtYWxsXG4gICBsaW5lLWhlaWdodCAkbGluZS1zbWFsbFxufVxuXG5cbmgxOm5vdChbY2xhc3NdKSB7XG4gICBmb250LXNpemUgaW5oZXJpdFxuICAgbGluZS1oZWlnaHQgaW5oZXJpdFxuICAgbWFyZ2luIDBcbn0iLCIudG9nZ2xlIHtcbiAgIGN1cnNvciBwb2ludGVyXG4gICBkaXNwbGF5IGJsb2NrXG4gICBwb3NpdGlvbiByZWxhdGl2ZVxuICAgbWFyZ2luLWJvdHRvbSAuNWVtXG4gICBwYWRkaW5nLWxlZnQgKDE3cHggKyAxMHB4KVxuICAgJl9faW5wdXQge1xuICAgICAgZGlzcGxheSBub25lXG4gICAgICAmOmNoZWNrZWQgfiBeWzBdX19mYWtlOmJlZm9yZSB7XG4gICAgICAgICAgICBvcGFjaXR5IDFcbiAgICAgIH1cbiAgIH1cbiAgICZfX2Zha2Uge1xuICAgICAgYm94LXNpemluZyBib3JkZXItYm94XG4gICAgICB0cmFuc2l0aW9uICR0cmFuc2l0aW9uLW1haW5cbiAgICAgIHBvc2l0aW9uIGFic29sdXRlXG4gICAgICB0b3AgKDIvbm8tdW5pdCgkc2l6ZS1tYWluKSllbVxuICAgICAgbGVmdCAwXG4gICAgICBzaXplIDE3cHhcbiAgICAgIGJhY2tncm91bmQgI2U4MzcyZVxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgIGNvbnRlbnQgJydcbiAgICAgICAgIHRyYW5zaXRpb24gJHRyYW5zaXRpb24tbWFpblxuICAgICAgICAgc3ZnKCdjaGVjaycsOXB4LHdoaXRlKVxuICAgICAgICAgcG9zaXRpb24gYWJzb2x1dGVcbiAgICAgICAgIGRpc3BsYXkgYmxvY2tcbiAgICAgICAgIHRvcCA1MCVcbiAgICAgICAgIGxlZnQgNTAlXG4gICAgICAgICB0cmFuc2Zvcm0gdHJhbnNsYXRlKC01MCUsLTUwJSlcbiAgICAgICAgIG9wYWNpdHkgMFxuICAgICAgfVxuICAgICAgW3R5cGU9XCJyYWRpb1wiXSB+ICYge1xuICAgICAgICAgYm9yZGVyLXJhZGl1cyA1MCVcbiAgICAgIH1cbiAgIH1cbiAgICZfX3RpdGxlIHt9XG59XG5cbi50b2dnbGVfbWFyZ2luLWJvdHRvbV9ub25lIHtcbiAgIG1hcmdpbi1ib3R0b20gMFxufVxuXG4iLCJ0YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlIGNvbGxhcHNlXG59XG4iLCIkbGF5ZXItcGFkZGluZyA9IDQwcHhcblxuLmxheWVyIHtcbiAgIGZsZXggMSAwIGF1dG9cbiAgIGRpc3BsYXkgZmxleFxuICAgcG9zaXRpb24gZml4ZWRcbi8vIHBvc2l0aW9uIGFic29sdXRlXG4gICB0cmJsIDBcbiAgIGJhY2tncm91bmQgI2ZmZlxuICAgbWluLWhlaWdodCAxMDAlXG4gICB6LWluZGV4IDEyMDBcbiAgIG9wYWNpdHkgMFxuICAgdHJhbnNmb3JtIHRyYW5zbGF0ZVkoNXZoKVxuICAgdHJhbnNpdGlvbiB0cmFuc2Zvcm0gJHRyYW5zaXRpb24tbWFpbiwgb3BhY2l0eSAkdHJhbnNpdGlvbi1tYWluXG4gICBib3gtc2l6aW5nIGJvcmRlci1ib3hcbiAgICZfX2luc2lkZSB7XG4gICAgICBib3gtc2l6aW5nIGJvcmRlci1ib3hcbiAgICAgIGZsZXggMSAwIGF1dG9cbiAgICAgIHdpZHRoIDEwMCVcbiAgICAgIHBhZGRpbmcgMCAwXG4gICB9XG4gICAmX19oZWFkZXIge1xuICAgICAgYm94LXNpemluZyBib3JkZXItYm94XG4gICAgICBwb3NpdGlvbiByZWxhdGl2ZVxuICAgICAgYm9yZGVyLWJvdHRvbSAxcHggc29saWQgI2QxZDFkMVxuICAgICAgcGFkZGluZyAyNXB4ICRsYXllci1wYWRkaW5nIDAgJGxheWVyLXBhZGRpbmdcbiAgICAgIHRleHQtYWxpZ24gY2VudGVyXG4gICB9XG4gICAmX19jb250ZW50IHtcbiAgICAgIGJveC1zaXppbmcgYm9yZGVyLWJveFxuICAgICAgb3ZlcmZsb3cgaGlkZGVuXG4gICAgICB3aWR0aCAxMDAlXG4gICAgICBwYWRkaW5nIDM0cHggJGxheWVyLXBhZGRpbmcgMjVweCAkbGF5ZXItcGFkZGluZ1xuICAgfVxuICAgJl9fZm9vdGVyIHtcbiAgICAgIHBhZGRpbmcgMzBweCAkbGF5ZXItcGFkZGluZyAyMHB4ICRsYXllci1wYWRkaW5nXG4gICAgICBib3JkZXItdG9wIDFweCBzb2xpZCAjZDFkMWQxXG4gICAgICBib3gtc2l6aW5nIGJvcmRlci1ib3hcbiAgICAgIG1hcmdpbi10b3AgYXV0b1xuICAgfVxuICAgJl9fdGl0bGUge1xuICAgICAgQGV4dGVuZCAkdGl0bGUtaDJcbiAgICAgIGZvbnQtc2l6ZSAkc2l6ZS14eGxhcmdlXG4gICAgICBtYXJnaW4tYm90dG9tIDE4cHhcbiAgIH1cblxuICAgJi5pcy1hc2lkZSB7XG4gICAgICB0cmFuc2l0aW9uIHRyYW5zZm9ybSAuNHMgZWFzZS1pbi1vdXQsIG9wYWNpdHkgLjBzIGVhc2UtaW4tb3V0IC40c1xuICAgICAgdHJhbnNmb3JtIHRyYW5zbGF0ZVgoLTEwMCUpXG4gICAgICAmLmlzLW9wZW5lZCB7XG4gICAgICAgICB0cmFuc2l0aW9uIHRyYW5zZm9ybSAuNHMgbGluZWFyLCBvcGFjaXR5IC40cyBsaW5lYXJcbiAgICAgIH1cbiAgIH1cbiAgICYuaXMtb3BlbmVkIHtcbiAgICAgIHotaW5kZXggMTIxMFxuICAgICAgb3BhY2l0eSAxXG4gICAgICB0cmFuc2Zvcm0gdHJhbnNsYXRlKDAsIDApXG4gICB9XG4gICAmOm5vdCguaXMtYW5pbWF0aW5nKSB7XG4gICAgICB0cmFuc2Zvcm0gbm9uZVxuICAgICAgcG9zaXRpb24gcmVsYXRpdmVcbiAgIH1cbiAgICYuaXMtZmFkZWQge1xuICAgICAgcG9zaXRpb24gZml4ZWRcbiAgICAgIG9wYWNpdHkgMFxuICAgfVxuICAgJi5pcy1jbG9zaW5nIHtcbiAgICAgIHotaW5kZXggMTIxMFxuICAgICAgcG9zaXRpb24gZml4ZWRcbiAgIH1cbiAgICY6bm90KC5pcy1pbml0aWFsaXplZCkge1xuICAgICAgZGlzcGxheSBub25lICFpbXBvcnRhbnRcbiAgIH1cbn1cblxuK2RvKDc1MCkge1xuICAgLmxheWVyIHtcbiAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICAgcGFkZGluZy10b3AgMjBweFxuICAgICAgICAgcGFkZGluZy1ib3R0b20gMjBweFxuICAgICAgfVxuICAgICAgJl9faGVhZGVyIHtcbiAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXkgbm9uZVxuICAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgZm9udC1zaXplICRzaXplLWxhcmdlXG4gICAgICAgICBsaW5lLWhlaWdodCAkbGluZS1sYXJnZVxuICAgICAgfVxuICAgfVxufVxuXG4rZG8oNTAwKSB7XG4gICAubGF5ZXIge1xuICAgICAgJl9faGVhZGVyIHtcbiAgICAgICAgIHRleHQtYWxpZ24gbGVmdFxuICAgICAgICAgcGFkZGluZy10b3AgMjJweFxuICAgICAgICAgcGFkZGluZy1yaWdodCA2NXB4XG4gICAgICAgICBwYWRkaW5nLWxlZnQgMjBweFxuICAgICAgfVxuICAgICAgJl9fY29udGVudCB7XG4gICAgICAgICBwYWRkaW5nLXJpZ2h0IDIwcHhcbiAgICAgICAgIHBhZGRpbmctbGVmdCAyMHB4XG4gICAgICB9XG4gICB9XG59XG5cbi5sYXllci1jbG9zZSB7XG4gICB6LWluZGV4IDIwMFxuICAgcG9zaXRpb24gYWJzb2x1dGVcbiAgIHNpemUgNDBweFxuICAgYm9yZGVyLXJhZGl1cyA1MCVcbiAgIGJhY2tncm91bmQgd2hpdGVcbiAgIGJvcmRlciAycHggc29saWQgI2JhOTA2MFxuICAgdG9wIDIycHhcbiAgIHJpZ2h0IC0yMXB4XG4gICBib3gtc2l6aW5nIGJvcmRlci1ib3hcbiAgIGJveC1zaGFkb3cgMCA1cHggMTVweCByZ2JhKDI1MSwgMTE3LCAxMTcsIDAuMSlcbiAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50ICcnXG4gICAgICBwb3NpdGlvbiBhYnNvbHV0ZVxuICAgICAgZGlzcGxheSBibG9ja1xuICAgICAgc3ZnKCdjcm9zcycsIDE0cHgsICNiYTkwNjApXG4gICAgICB0b3AgNTAlXG4gICAgICBsZWZ0IDUwJVxuICAgICAgdHJhbnNmb3JtIHRyYW5zbGF0ZSgtNTAlLCAtNTAlKVxuICAgfVxuICAgJjpob3ZlciB7XG4gICAgICBib3gtc2hhZG93IDAgNXB4IDIwcHggcmdiYSgjYmE5MDYwLCAwLjQpXG4gICAgICBvcGFjaXR5IDAuOFxuICAgfVxuICAgJjphY3RpdmUge1xuICAgICAgYm94LXNoYWRvdyBub25lXG4gICB9XG59XG5cbitkbyg3NTApIHtcbiAgIC5sYXllci1jbG9zZSB7XG4gICAgICBzaXplIDMwcHhcbiAgICAgIHRvcCAyMHB4XG4gICAgICByaWdodCAyMHB4XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgICBzdmcoJ2Nyb3NzJywgMTJweCwgI2JhOTA2MClcbiAgICAgICAgIGFsaWduLWNlbnRlcigpXG4gICAgICB9XG4gICB9XG59XG5cbi5sYXllcl9vdmVybGF5IHtcbiAgIHBvaW50ZXItZXZlbnRzIG5vbmVcbiAgIGFsaWduLWl0ZW1zIGNlbnRlclxuICAganVzdGlmeS1jb250ZW50IGNlbnRlclxuICAgcGFkZGluZy10b3AgMjZweFxuICAgcGFkZGluZy1ib3R0b20gMjZweFxuICAgYmFja2dyb3VuZCBub25lXG4gICAubGF5ZXIge1xuICAgICAgJl9faW5zaWRlIHtcbiAgICAgICAgIHBvaW50ZXItZXZlbnRzIGF1dG9cbiAgICAgICAgIGZsZXggMCAxIGF1dG9cbiAgICAgICAgIHBvc2l0aW9uIHJlbGF0aXZlXG4gICAgICAgICBtYXgtd2lkdGggNDIwcHhcbiAgICAgICAgIHdpZHRoIDEwMCVcbiAgICAgICAgIGJhY2tncm91bmQgI2ZmZlxuICAgICAgICAgbWFyZ2luIGF1dG8gNTRweFxuICAgICAgICAgYm94LXNpemluZyBib3RkZXItYm94XG4gICAgICB9XG4gICAgICAmX19jb250ZW50IHtcbiAgICAgICAgIHdpZHRoIGF1dG9cbiAgICAgIH1cbiAgIH1cblxuICAgJi5pcy1vcGVuZWQge1xuICAgICAgdHJhbnNmb3JtIG5vbmVcbiAgIH1cbiAgICZfbGVmdCB7XG4gICAgICB0cmFuc2Zvcm0gdHJhbnNsYXRlWCgtMTAwJSlcbiAgICAgIGp1c3RpZnktY29udGVudCBmbGV4LXN0YXJ0XG4gICAgICAmLmlzLW9wZW5lZCB7XG4gICAgICAgICB0cmFuc2Zvcm0gdHJhbnNsYXRlKDAsIDApXG4gICAgICB9XG4gICB9XG59XG5cbitkbygxMjAwKSB7XG4gICAubGF5ZXJfbWVudS5sYXllcl9vdmVybGF5IHtcbiAgICAgIGFsaWduLWl0ZW1zIHN0cmV0Y2hcbiAgICAgIHBhZGRpbmctdG9wIDBcbiAgICAgIHBhZGRpbmctYm90dG9tIDBcbiAgICAgIC5sYXllciB7XG4gICAgICAgICAmX19pbnNpZGUge1xuICAgICAgICAgICAgbWF4LXdpZHRoIG5vbmVcbiAgICAgICAgICAgIHdpZHRoIDEwMCVcbiAgICAgICAgICAgIG1hcmdpbiAwXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzIDBcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cbn1cblxuK2RvKDc1MCkge1xuICAgLmxheWVyX292ZXJsYXk6bm90KC5sYXllcl9tZW51KSB7XG4gICAgICAubGF5ZXIge1xuICAgICAgICAgJl9faW5zaWRlIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodCAxNXB4XG4gICAgICAgICAgICBtYXJnaW4tbGVmdCAxNXB4XG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG59XG5cbi5sYXllcl9wcmV0dHkge1xufVxuXG4rZG8oNzUwKSB7XG4gICAubGF5ZXJfcHJldHR5IHtcbiAgICAgIHBhZGRpbmctdG9wIDI2cHhcbiAgICAgIHBhZGRpbmctYm90dG9tIDI2cHhcbiAgICAgIGFsaWduLWl0ZW1zIGNlbnRlclxuICAgICAgLmxheWVyIHtcbiAgICAgICAgICZfX2luc2lkZSB7XG5cbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cbn1cblxuLmxheWVyX2Fuc3dlciB7XG4gICAubGF5ZXIge1xuICAgICAgJl9faGVhZGVyIHtcbiAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHRvcCAtMjBweFxuICAgICAgICAgICAgbGVmdCAtNDBweFxuICAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9faW5zaWRlIHtcbiAgICAgICAgIG1heC13aWR0aCA0OTBweFxuICAgICAgfVxuICAgICAgJl9fY29udGVudCB7XG4gICAgICAgICBwYWRkaW5nLXJpZ2h0IDM1cHhcbiAgICAgICAgIHBhZGRpbmctbGVmdCAzNXB4XG4gICAgICB9XG4gICB9XG59XG5cbitkbyg3NTApIHtcbiAgIC5sYXllcl9hbnN3ZXIge1xuICAgICAgLmxheWVyIHtcbiAgICAgICAgICZfX2luc2lkZSB7XG4gICAgICAgICAgICBtYXgtd2lkdGggbm9uZVxuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxufVxuXG4ubGF5ZXJfaW5mbyB7XG4gICAubGF5ZXIge1xuICAgICAgJl9fYmcge1xuICAgICAgICAgcG9zaXRpb24gYWJzb2x1dGVcbiAgICAgICAgIHRyYmwgMFxuICAgICAgICAgJi1oYXJlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uIGFic29sdXRlXG4gICAgICAgICAgICBib3R0b20gMFxuICAgICAgICAgICAgei1pbmRleCAxMDBcbiAgICAgICAgICAgIHJpZ2h0IDI2cHhcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX2luc2lkZSB7XG4gICAgICAgICBtYXgtd2lkdGggNTgwcHhcbiAgICAgICAgIG1pbi1oZWlnaHQgMzQwcHhcbiAgICAgICAgIGJhY2tncm91bmQgdXJsKCcuLi9pbWFnZXMvbGF5ZXJzL2luZm8tYmcuanBnJykgbm8tcmVwZWF0XG4gICAgICAgICBiYWNrZ3JvdW5kLXNpemUgY292ZXJcbiAgICAgIH1cbiAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICAgcG9zaXRpb24gcmVsYXRpdmVcbiAgICAgICAgIHBhZGRpbmcgMzdweCAyMzhweCAyNXB4IDM1cHhcbiAgICAgICAgIHRleHQtYWxpZ24gY2VudGVyXG4gICAgICAgICBjb2xvciAkY29sb3ItYmx1ZS14ZGFya1xuICAgICAgfVxuICAgICAgJl9faGVhZGVyIHtcbiAgICAgICAgIHBhZGRpbmctcmlnaHQgMjM4cHhcbiAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXkgbm9uZVxuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxufVxuXG4rZG8oNzUwKSB7XG4gICAubGF5ZXJfaW5mbyB7XG4gICAgICAubGF5ZXIge1xuICAgICAgICAgJl9faW5zaWRlIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0IDIwcHhcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodCAyMHB4XG4gICAgICAgICB9XG4gICAgICAgICAmX19iZyB7XG4gICAgICAgICAgICAmLWhhcmUge1xuICAgICAgICAgICAgICAgcmlnaHQgOHB4XG4gICAgICAgICAgICAgICB3aWR0aCAxODBweFxuICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICAgICAgJl9fY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nIDM1cHggMjEwcHggMjVweCAzMHB4XG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG59XG5cbitkbyg1MDApIHtcbiAgIC5sYXllcl9pbmZvIHtcbiAgICAgIC5sYXllciB7XG4gICAgICAgICAmX19oZWFkZXIge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodCA2MHB4XG4gICAgICAgICB9XG4gICAgICAgICAmX19iZyB7XG4gICAgICAgICAgICBkaXNwbGF5IG5vbmVcbiAgICAgICAgIH1cbiAgICAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICAgICAgcGFkZGluZyAzMHB4IDIwcHggNDVweCAyMHB4XG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG59XG5cbi5sYXllcl9pbmZvX3NpbXBsZSB7XG4gICAubGF5ZXIge1xuICAgICAgJl9faGVhZGVyIHtcbiAgICAgICAgIHBhZGRpbmctcmlnaHQgNDBweFxuICAgICAgICAgdGV4dC1hbGlnbiBjZW50ZXJcbiAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXkgYmxvY2tcbiAgICAgICAgICAgIHRvcCAyMHB4XG4gICAgICAgICB9XG4gICAgICB9XG4gICAgICAmX19pbnNpZGUge1xuICAgICAgICAgbWF4LXdpZHRoIDQyMHB4XG4gICAgICAgICBtaW4taGVpZ2h0IGF1dG9cbiAgICAgIH1cbiAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICAgcGFkZGluZyAzN3B4IDc1cHggMjVweCA3NXB4XG4gICAgICB9XG4gICB9XG59XG5cbitkbyg2MDApIHtcbiAgIC5sYXllcl9pbmZvX3NpbXBsZSB7XG4gICAgICAubGF5ZXIge1xuICAgICAgICAgJl9faGVhZGVyIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgIGRpc3BsYXkgbm9uZVxuICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxufVxuXG4rZG8oNTAwKSB7XG4gICAubGF5ZXJfaW5mb19zaW1wbGUge1xuICAgICAgLmxheWVyIHtcbiAgICAgICAgICZfX2hlYWRlciB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0IDYwcHhcbiAgICAgICAgICAgIHRleHQtYWxpZ24gbGVmdFxuICAgICAgICAgfVxuICAgICAgICAgJl9fYmcge1xuICAgICAgICAgICAgZGlzcGxheSBub25lXG4gICAgICAgICB9XG4gICAgICAgICAmX19jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmcgMzdweCAyNXB4IDQ1cHggMjVweFxuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxufVxuXG4ubGF5ZXJfbWVudSB7XG4gICAubGF5ZXIge1xuICAgICAgJl9faGVhZGVyIHtcbiAgICAgICAgIHBhZGRpbmcgMFxuICAgICAgICAgYm9yZGVyLWJvdHRvbSBub25lXG4gICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5IG5vbmVcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICAgLy9wYWRkaW5nIDAgMCA0MHB4IDBcbiAgICAgICAgIHBhZGRpbmctdG9wIDQwcHhcbiAgICAgIH1cbiAgICAgICZfX2JvZHkge1xuXG4gICAgICB9XG4gICAgICAmX19pbnNpZGUge1xuICAgICAgICAgcGFkZGluZy10b3AgMFxuICAgICAgfVxuICAgfVxufVxuXG4ubGF5ZXJfbGlua19zbWFsbCB7XG4gICAubGluayB7XG4gICAgICBmb250LXNpemUgJHNpemUtc21hbGxcbiAgICAgIGxpbmUtaGVpZ2h0ICRsaW5lLXNtYWxsXG4gICB9XG59XG5cbi5sYXllcl9hbGVydCB7XG4gICAubGF5ZXIge1xuICAgICAgJl9fY29udGVudCB7XG4gICAgICAgICB0ZXh0LWFsaWduIGNlbnRlclxuICAgICAgfVxuICAgICAgJl9fZGVzY3JpcHRpb24ge1xuICAgICAgICAgbWFyZ2luLWJvdHRvbSA0NXB4XG4gICAgICAgICBjb2xvciAkY29sb3ItYmx1ZS14ZGFya1xuICAgICAgICAgbGluZS1oZWlnaHQgJGxpbmUtbWVkaXVtXG4gICAgICB9XG4gICB9XG59XG5cbitkbyg1MDApIHtcbiAgIC5sYXllcl9hbGVydCB7XG4gICAgICAubGF5ZXIge1xuICAgICAgICAgJl9faGVhZGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b20gLTM1cHhcbiAgICAgICAgIH1cbiAgICAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICAgICAgcGFkZGluZy10b3AgNzBweFxuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxufVxuXG4ubGF5ZXJfZm9ybSB7XG59XG5cbitkbyg3NTApIHtcbiAgIC5sYXllcl9mb3JtIHtcbiAgICAgIC5saXN0LXNlY3Rpb25zIHtcbiAgICAgICAgICZfc21hbGwge1xuICAgICAgICAgICAgbWF4LXdpZHRoIDUwMHB4XG4gICAgICAgICAgICBtYXJnaW4gMCBhdXRvXG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG59XG5cbi5sYXllcl9yZXZpZXcge1xuICAgLmxheWVyIHtcbiAgICAgICZfX2luc2lkZSB7XG4gICAgICAgICBtYXgtd2lkdGggNjAwcHhcbiAgICAgIH1cbiAgIH1cbn1cblxuLmxheWVyX2NhbGxiYWNrIHtcbiAgIC5sYXllciB7XG4gICAgICAmX19pbnNpZGUge1xuICAgICAgICAgYmFja2dyb3VuZCAjZWRlZGVkXG4gICAgICB9XG4gICAgICAmX19jb250ZW50IHtcbiAgICAgICAgIHBhZGRpbmctYm90dG9tIDYwcHhcbiAgICAgIH1cbiAgIH1cbiAgIC5sYXllci1jbG9zZSB7XG4gICAgICBiYWNrZ3JvdW5kICNlZGVkZWRcbiAgIH1cbn1cbi5sYXllcl93b3JrIHtcbiAgIC5sYXllci1jbG9zZSB7XG4gICAgICB0b3AgMjJweFxuICAgICAgcmlnaHQgNDBweFxuICAgfVxuICAgLmxheWVyX190aXRsZSB7XG4gICAgICB0ZXh0LWFsaWduIGxlZnRcbiAgICAgIG1hcmdpbi1ib3R0b20gMFxuICAgICAgbGluZS1oZWlnaHQgMS4yXG4gICB9XG4gICAubGF5ZXJfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZy1ib3R0b20gNjBweFxuICAgfVxuICAgLmxheWVyX19oZWFkZXIge1xuICAgICAgcGFkZGluZy10b3AgNzVweFxuICAgICAgcGFkZGluZy1yaWdodCA0MHB4XG4gICAgICBwYWRkaW5nLWxlZnQgNDBweFxuICAgICAgYm9yZGVyLWJvdHRvbSBub25lXG4gICAgICArZG8oNzUwKSB7XG4gICAgICAgICBwYWRkaW5nLXRvcCA4NXB4XG4gICAgICAgICBwYWRkaW5nLWxlZnQgMjBweFxuICAgICAgICAgcGFkZGluZy1yaWdodCAyMHB4XG4gICAgICB9XG4gICAgICAmLWNvbnRlbnQge1xuICAgICAgICAgZGlzcGxheSBmbGV4XG4gICAgICAgICBmbGV4LXdyYXAgd3JhcFxuICAgICAgICAgbWFyZ2luLXJpZ2h0IC0xMHB4XG4gICAgICAgICBtYXJnaW4tbGVmdCAtMTBweFxuICAgICAgICAgbWFyZ2luLWJvdHRvbSAtMjBweFxuICAgICAgICAgYWxpZ24taXRlbXMgY2VudGVyXG5cbiAgICAgIH1cbiAgICAgICYtc2lkZSB7XG4gICAgICAgICBtYXJnaW4tcmlnaHQgMTBweFxuICAgICAgICAgbWFyZ2luLWxlZnQgMTBweFxuICAgICAgICAgbWFyZ2luLWJvdHRvbSAyMHB4XG4gICAgICAgICBmbGV4IDAgMCBhdXRvXG5cbiAgICAgIH1cbiAgICAgICYtbWFpbiB7XG4gICAgICAgICBmbGV4IDFcbiAgICAgICAgIG1hcmdpbi1yaWdodCAxMHB4XG4gICAgICAgICBtYXJnaW4tbGVmdCAxMHB4XG4gICAgICAgICBtYXJnaW4tYm90dG9tIDIwcHhcblxuICAgICAgfVxuICAgfVxuICAgLmxheWVyLWNsb3NlIHtcbiAgICAgICtkbyg3NTApIHtcbiAgICAgICAgIHJpZ2h0IDE1cHhcbiAgICAgIH1cbiAgIH1cbn1cblxuLmxheWVyLWdhbGxlcnkge1xuICAgJl9fbGlzdCB7XG4gICAgICAmLWl0ZW0ge1xuXG4gICAgICB9XG4gICB9XG4gICAmX19pbWcge1xuICAgICAgZGlzcGxheSBibG9ja1xuICAgfVxufSIsInRyYmwoKSB7XG4gICBpZiAoIGxlbmd0aChhcmd1bWVudHMpID09IDEgKSB7XG4gICAgICB0b3AgYXJndW1lbnRzXG4gICAgICByaWdodCBhcmd1bWVudHNcbiAgICAgIGJvdHRvbSBhcmd1bWVudHNcbiAgICAgIGxlZnQgYXJndW1lbnRzXG4gICB9IGVsc2UgaWYgKCBsZW5ndGgoYXJndW1lbnRzKSA9PSAyICkge1xuICAgICAgdG9wIGFyZ3VtZW50c1swXVxuICAgICAgcmlnaHQgYXJndW1lbnRzWzFdXG4gICAgICBib3R0b20gYXJndW1lbnRzWzBdXG4gICAgICBsZWZ0IGFyZ3VtZW50c1sxXVxuICAgfSBlbHNlIGlmICggbGVuZ3RoKGFyZ3VtZW50cykgPT0gMyApIHtcbiAgICAgIHRvcCBhcmd1bWVudHNbMF1cbiAgICAgIHJpZ2h0IGFyZ3VtZW50c1sxXVxuICAgICAgYm90dG9tIGFyZ3VtZW50c1syXVxuICAgICAgbGVmdCBhcmd1bWVudHNbMV1cbiAgIH0gZWxzZSBpZiAoIGxlbmd0aChhcmd1bWVudHMpID09IDQgKSB7XG4gICAgICB0b3AgYXJndW1lbnRzWzBdXG4gICAgICByaWdodCBhcmd1bWVudHNbMV1cbiAgICAgIGJvdHRvbSBhcmd1bWVudHNbMl1cbiAgICAgIGxlZnQgYXJndW1lbnRzWzNdXG4gICB9XG59XG4iLCIuLWlzLWxvYWQge1xuICAgcG9zaXRpb24gcmVsYXRpdmVcbiAgIHBvaW50ZXItZXZlbnRzIG5vbmVcbiAgICY6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXkgYmxvY2tcbiAgICAgIGNvbnRlbnQgJydcbiAgICAgIHBvc2l0aW9uIGFic29sdXRlXG4gICAgICB0b3AgMFxuICAgICAgbGVmdCAwXG4gICAgICByaWdodCAwXG4gICAgICBib3R0b20gMFxuICAgICAgYmFja2dyb3VuZCByZ2JhKHdoaXRlLC44KVxuICAgICAgei1pbmRleCA2XG4gICB9XG4gICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQgJydcbiAgICAgIGRpc3BsYXkgYmxvY2tcbiAgICAgIHNpemUgMTIwcHhcbiAgICAgIGJvcmRlci1yYWRpdXMgNTAlXG4gICAgICBib3JkZXIgNHB4IHNvbGlkICNiYTkwNjBcbiAgICAgIGJvcmRlci1sZWZ0IDRweCBzb2xpZCByZ2JhKCNiYTkwNjAsLjApXG4gICAgICBwb3NpdGlvbiBhYnNvbHV0ZVxuICAgICAgbGVmdCA1MCVcbiAgICAgIHRvcCA1MCVcbiAgICAgIGFuaW1hdGlvbiBsb2FkIDFzIGxpbmVhciBpbmZpbml0ZVxuICAgICAgei1pbmRleCA5OVxuICAgICAgdHJhbnNmb3JtIHRyYW5zbGF0ZSgtNTAlLC01MCUpIHJvdGF0ZSgwKTtcbiAgICAgIEBrZXlmcmFtZXMgbG9hZCB7XG4gICAgICAgICAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm0gdHJhbnNsYXRlKC01MCUsLTUwJSkgcm90YXRlKDApO1xuICAgICAgICAgfVxuICAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm0gdHJhbnNsYXRlKC01MCUsLTUwJSkgcm90YXRlKDM2MGRlZyk7XG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG59IiwiLmFib3V0IHtcbiAgIHBhZGRpbmctdG9wIDExOXB4XG4gICBwYWRkaW5nLWJvdHRvbSAxMzBweFxuICAgYm94LXNpemluZyBib3JkZXItYm94XG4gICBtaW4taGVpZ2h0IDUyMHB4XG4gICBwb3NpdGlvbiByZWxhdGl2ZVxuICAgb3ZlcmZsb3cgaGlkZGVuXG4gICArZG8oMTIwMCkge1xuICAgICAgbWluLWhlaWdodCAwXG4gICAgICBwYWRkaW5nLXRvcCA5MHB4XG4gICB9XG4gICArZG8oMTAwMCkge1xuICAgICAgcGFkZGluZy10b3AgNDBweFxuICAgfVxuICAgK2RvKDc1MCkge1xuICAgICAgcGFkZGluZy1ib3R0b20gMFxuICAgfVxuICAgJjphZnRlciB7XG4gICAgICBjb250ZW50ICcnXG4gICAgICBoZWlnaHQgMTI0cHhcbiAgICAgIGRpc3BsYXkgYmxvY2tcbiAgICAgIHBvc2l0aW9uIGFic29sdXRlXG4gICAgICBib3R0b20gMFxuICAgICAgbGVmdCAwXG4gICAgICByaWdodCAwXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlIHVybCgnLi4vaW1hZ2VzL2xvZ28taG9yLnBuZycpXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uIGNlbnRlclxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQgbm8tcmVwZWF0XG4gICAgICBiYWNrZ3JvdW5kLXNpemUgY29udGFpblxuICAgfVxuICAgJl9fdGl0bGUge1xuICAgICAgZm9udC1zaXplIDMwcHhcbiAgICAgIGxpbmUtaGVpZ2h0ICgzNC8zMClcbiAgICAgIGZvbnQtd2VpZ2h0IDcwMFxuICAgICAgdGV4dC10cmFuc2Zvcm0gdXBwZXJjYXNlXG4gICB9XG4gICAmX19kZXNjIHt9XG4gICAmX19jb250ZW50IHtcbiAgICAgIG1heC13aWR0aCA0NzBweFxuICAgfVxuICAgJl9fc2lkZSB7XG4gICAgICBtYXJnaW4tYm90dG9tIDYwcHhcbiAgICAgICtkbygxMDAwKSB7XG4gICAgICAgICBtYXJnaW4tYm90dG9tIDMwcHhcbiAgICAgIH1cbiAgIH1cbiAgICZfX3dyYXBwZXIge1xuICAgICAgcG9zaXRpb24gcmVsYXRpdmVcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgY29udGVudCAnJ1xuICAgICAgICAgd2lkdGggODA0cHhcbiAgICAgICAgIGhlaWdodCA1MDRweFxuICAgICAgICAgZGlzcGxheSBibG9ja1xuICAgICAgICAgcG9zaXRpb24gYWJzb2x1dGVcbiAgICAgICAgIHJpZ2h0IC0xNzFweFxuICAgICAgICAgdG9wIC04MnB4XG4gICAgICAgICBiYWNrZ3JvdW5kLWltYWdlIHVybCgnLi4vaW1hZ2VzL3RlYW0ucG5nJylcbiAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24gY2VudGVyXG4gICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdCBuby1yZXBlYXRcbiAgICAgICAgIGJhY2tncm91bmQtc2l6ZSBjb250YWluXG4gICAgICAgICArZG8oMTYwMCkge1xuICAgICAgICAgICAgd2lkdGggNjAwcHhcbiAgICAgICAgICAgIGhlaWdodCA2MDBweFxuICAgICAgICAgICAgcmlnaHQgMFxuICAgICAgICAgfVxuICAgICAgICAgK2RvKDEyMDApIHtcbiAgICAgICAgICAgIHdpZHRoIDQ3MnB4XG4gICAgICAgICAgICBoZWlnaHQgNjkzcHhcbiAgICAgICAgIH1cbiAgICAgICAgICtkbygxMDAwKSB7XG4gICAgICAgICAgICB3aWR0aCA0MDBweFxuICAgICAgICAgICAgaGVpZ2h0IDY5M3B4XG4gICAgICAgICB9XG4gICAgICAgICArZG8oNzUwKSB7XG4gICAgICAgICAgICBwb3NpdGlvbiBzdGF0aWNcbiAgICAgICAgICAgIHdpZHRoIDEwMCVcbiAgICAgICAgICAgIGhlaWdodCAxOTBweFxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbiBib3R0b21cbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cbn0iLCIuYWN0aW9uLXNldCB7XG4gICBkaXNwbGF5IGZsZXhcbiAgIGp1c3RpZnktY29udGVudCBjZW50ZXJcbiAgIGFsaWduLWl0ZW1zIGNlbnRlclxuICAgJl9fbWFpbiB7XG4gICAgICBmbGV4IDAgMCBhdXRvXG4gICB9XG4gICAmX29mZnNldCB7XG4gICAgICBwb3NpdGlvbiBhYnNvbHV0ZVxuICAgICAgYm90dG9tIC0yNXB4XG4gICAgICBsZWZ0IDUwJVxuICAgICAgdHJhbnNmb3JtIHRyYW5zbGF0ZVgoLTUwJSlcbiAgIH1cbn0iLCIuYWR2YW50YWdlIHtcbiAgICZfX3RpdGxlIHtcbiAgICAgIGxpbmUtaGVpZ2h0ICgyNiAvIDIwKVxuICAgICAgZm9udC13ZWlnaHQgNzAwXG4gICAgICBmb250LXNpemUgMjBweFxuICAgICAgdGV4dC10cmFuc2Zvcm0gdXBwZXJjYXNlXG4gICAgICBtYXJnaW4tYm90dG9tIDIwcHhcbiAgICAgICtkbygxMjAwKSB7XG4gICAgICAgICBmb250LXNpemUgMTRweFxuICAgICAgICAgbGluZS1oZWlnaHQgMS4yXG4gICAgICB9XG4gICAgICArZG8oMTAwMCkge1xuICAgICAgICAgdGV4dC1hbGlnbiBjZW50ZXJcbiAgICAgICAgIG1hcmdpbi1ib3R0b20gMTVweFxuICAgICAgfVxuICAgfVxuICAgJl9fd3JhcHBlciB7XG4gICAgICBkaXNwbGF5IGZsZXhcbiAgICAgICtkbygxMDAwKSB7XG4gICAgICAgICBkaXNwbGF5IGJsb2NrXG4gICAgICB9XG4gICB9XG4gICAmX19kZXNjIHtcbiAgICAgIGNvbG9yICM3MjcyNmNcbiAgICAgIGZvbnQtc2l6ZSAxNHB4XG4gICAgICBsaW5lLWhlaWdodCAoMjAvMTQpXG4gICAgICArZG8oMTAwMCkge1xuICAgICAgICAgdGV4dC1hbGlnbiBjZW50ZXJcbiAgICAgICAgIGZvbnQtc2l6ZSAxMnB4XG4gICAgICB9XG4gICB9XG4gICAmX19zaWRlIHtcbiAgICAgIGZsZXggMCAwIGF1dG9cbiAgICAgIG1hcmdpbi1yaWdodCAzMHB4XG4gICAgICArZG8oMTAwMCkge1xuICAgICAgICAgbWFyZ2luLXJpZ2h0IDBcbiAgICAgICAgIGRpc3BsYXkgZmxleFxuICAgICAgICAganVzdGlmeS1jb250ZW50IGNlbnRlclxuICAgICAgfVxuICAgfVxuICAgJl9fbWFpbiB7XG4gICAgICBmbGV4IDFcbiAgICAgIHBhZGRpbmctdG9wIDEwcHhcbiAgICAgIGJveC1zaXppbmcgYm9yZGVyLWJveFxuICAgfVxuICAgJl9fbG9nbyB7XG4gICAgICB3aWR0aCA3MHB4XG4gICAgICBoZWlnaHQgNzBweFxuICAgICAgYmFja2dyb3VuZCAjYmE5MDYwXG4gICAgICBwb3NpdGlvbiByZWxhdGl2ZVxuICAgICAgJi1pbWcge1xuICAgICAgICAgcG9zaXRpb24gYWJzb2x1dGVcbiAgICAgICAgIHRvcCAtMTVweFxuICAgICAgICAgcmlnaHQgMTdweFxuICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXkgYmxvY2tcbiAgICAgICAgICAgIG1heC13aWR0aCAxMDAlXG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG59XG5cbi5hZHZhbnRhZ2VzIHtcbiAgIGJhY2tncm91bmQgI2VkZWRlZFxuICAgcGFkZGluZy10b3AgODVweFxuICAgcGFkZGluZy1ib3R0b20gOTVweFxuICAgcG9zaXRpb24gcmVsYXRpdmVcbiAgICtkbygxMjAwKSB7XG4gICAgICBwYWRkaW5nLXRvcCA0MHB4XG4gICAgICBwYWRkaW5nLWJvdHRvbSAxMjBweFxuICAgfVxuICAgK2RvKDEwMDApIHtcbiAgICAgIHBhZGRpbmctYm90dG9tIDE1MHB4XG4gICB9XG4gICAmX190aXRsZSB7XG4gICAgICBmb250LXNpemUgMzBweFxuICAgICAgZm9udC13ZWlnaHQgNzAwXG4gICAgICBsaW5lLWhlaWdodCAoMzQgLyAzMClcbiAgICAgIHRleHQtdHJhbnNmb3JtIHVwcGVyY2FzZVxuICAgfVxuICAgJl9fbGlzdCB7XG4gICAgICBkaXNwbGF5IGZsZXhcbiAgICAgIGZsZXgtd3JhcCB3cmFwXG4gICAgICBtYXJnaW4tcmlnaHQgLTMwcHhcbiAgICAgIG1hcmdpbi1sZWZ0IC0zMHB4XG4gICAgICBtYXJnaW4tYm90dG9tIC0xMTBweFxuICAgICAgK2RvKDEyMDApIHtcbiAgICAgICAgIG1hcmdpbi1yaWdodCAtMTVweFxuICAgICAgICAgbWFyZ2luLWxlZnQgLTE1cHhcbiAgICAgIH1cbiAgICAgICtkbyg3NTApIHtcbiAgICAgICAgIG1hcmdpbi1yaWdodCAtNXB4XG4gICAgICAgICBtYXJnaW4tbGVmdCAtNXB4XG4gICAgICB9XG4gICAgICAmLWl0ZW0ge1xuICAgICAgICAgbWFyZ2luLXJpZ2h0IDMwcHhcbiAgICAgICAgIG1hcmdpbi1sZWZ0IDMwcHhcbiAgICAgICAgIG1hcmdpbi1ib3R0b20gMTEwcHhcbiAgICAgICAgIGZsZXggMVxuICAgICAgICAgbWF4LXdpZHRoIGNhbGMoMzMuMzMlIC0gNjBweClcbiAgICAgICAgIGZsZXgtYmFzaXMgY2FsYygzMy4zMyUgLSA2MHB4KVxuICAgICAgICAgK2RvKDEyMDApIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodCAxNXB4XG4gICAgICAgICAgICBtYXJnaW4tbGVmdCAxNXB4XG4gICAgICAgICAgICBtYXgtd2lkdGggY2FsYygzMy4zMyUgLSAzMHB4KVxuICAgICAgICAgICAgZmxleC1iYXNpcyBjYWxjKDMzLjMzJSAtIDMwcHgpXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tIDU1cHhcbiAgICAgICAgIH1cbiAgICAgICAgICtkbygxMDAwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tIDMwcHhcbiAgICAgICAgIH1cbiAgICAgICAgICtkbyg3MDApIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodCA1cHhcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0IDVweFxuICAgICAgICAgICAgbWF4LXdpZHRoIGNhbGMoMTAwJSAtIDEwcHgpXG4gICAgICAgICAgICBmbGV4LWJhc2lzIGNhbGMoMTAwJSAtIDEwcHgpXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tIDIwcHhcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cbiAgICZfX3NpZGUge1xuICAgICAgbWFyZ2luLWJvdHRvbSAxMDBweFxuICAgICAgK2RvKDEyMDApIHtcbiAgICAgICAgIG1hcmdpbi1ib3R0b20gNDBweFxuICAgICAgfVxuICAgfVxuICAgJl9fbWFpbiB7XG4gICB9XG59XG4iLCIuY2FsbGJhY2sge1xuICAgcGFkZGluZy10b3AgOThweFxuICAgK2RvKDEyMDApIHtcbiAgICAgIHBhZGRpbmctdG9wIDQwcHhcbiAgIH1cbiAgICtkbygxMDAwKSB7XG4gICAgICBwYWRkaW5nLXRvcCAwXG4gICB9XG4gICAmX19jb2xzIHtcbiAgICAgICYtbGlzdCB7XG4gICAgICAgICBkaXNwbGF5IGZsZXhcbiAgICAgICAgIG1hcmdpbi1sZWZ0IC0zM3B4XG4gICAgICAgICBtYXJnaW4tcmlnaHQgLTMzcHhcbiAgICAgICAgICtkbygxMDAwKSB7XG4gICAgICAgICAgICBkaXNwbGF5IGJsb2NrXG4gICAgICAgICAgICBtYXJnaW4tbGVmdCAwXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQgMFxuICAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi1pdGVtIHtcbiAgICAgICAgIGZsZXggMVxuICAgICAgICAgbWFyZ2luLWxlZnQgMzNweFxuICAgICAgICAgbWFyZ2luLXJpZ2h0IDMzcHhcbiAgICAgICAgICtkbygxMDAwKSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQgMFxuICAgICAgICAgICAgbWFyZ2luLWxlZnQgMFxuICAgICAgICAgfVxuICAgICAgICAgJl9wYWRkaW5nLXRvcF9sYXJnZSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcCAxMDBweFxuICAgICAgICAgICAgK2RvKDEyMDApIHtcbiAgICAgICAgICAgICAgIHBhZGRpbmctdG9wIDIwcHhcbiAgICAgICAgICAgIH1cbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cbiAgICZfX2ltZyB7XG4gICAgICB3aWR0aCA1ODhweFxuICAgICAgaGVpZ2h0IDcxOHB4XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlIHVybCgnLi4vaW1hZ2VzL2NhbGxiYWNrLmpwZycpXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uIGNlbnRlclxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQgbm8tcmVwZWF0XG4gICAgICBiYWNrZ3JvdW5kLXNpemUgY292ZXJcbiAgICAgICtkbygxMjAwKSB7XG4gICAgICAgICB3aWR0aCA0NTBweFxuICAgICAgfVxuICAgICAgK2RvKDEwMDApIHtcbiAgICAgICAgIHdpZHRoIDEwMCVcbiAgICAgICAgIG1heC13aWR0aCAxMDAlXG4gICAgICAgICBoZWlnaHQgMjAwcHhcbiAgICAgICAgIG1hcmdpbi1ib3R0b20gMjBweFxuICAgICAgfVxuICAgfVxuICAgJl9fZGVzYyB7XG4gICAgICBmb250LXNpemUgMTRweFxuICAgICAgbGluZS1oZWlnaHQgKDI0IC8gMTQpXG4gICAgICBtYXJnaW4tYm90dG9tIDE0NnB4XG4gICAgICArZG8oMTAwMCkge1xuICAgICAgICAgbWFyZ2luLWJvdHRvbSAyMHB4XG4gICAgICB9XG4gICB9XG4gICAmX19mb3JtIHtcbiAgICAgIG1heC13aWR0aCAzODBweFxuICAgICAgcG9zaXRpb24gcmVsYXRpdmVcbiAgICAgIHBhZGRpbmctdG9wIDc1cHhcbiAgICAgIHBhZGRpbmctYm90dG9tIDEwMHB4XG4gICAgICArZG8oMTAwMCkge1xuICAgICAgICAgcGFkZGluZy10b3AgNDBweFxuICAgICAgICAgcGFkZGluZy1ib3R0b20gNDBweFxuICAgICAgICAgbWFyZ2luLXJpZ2h0IGF1dG9cbiAgICAgICAgIG1hcmdpbi1sZWZ0IGF1dG9cbiAgICAgIH1cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgIGNvbnRlbnQgJydcbiAgICAgICAgIGRpc3BsYXkgYmxvY2tcbiAgICAgICAgIHBvc2l0aW9uIGFic29sdXRlXG4gICAgICAgICB0b3AgMFxuICAgICAgICAgbGVmdCAtMTEwcHhcbiAgICAgICAgIHJpZ2h0IC0xMDB2d1xuICAgICAgICAgYm90dG9tIDBcbiAgICAgICAgIGJhY2tncm91bmQgI2U4ZThlOFxuICAgICAgICAgK2RvKDEwMDApIHtcbiAgICAgICAgICAgIGxlZnQgLTEwMHZ3XG4gICAgICAgICAgICByaWdodCAtMTAwdndcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cbn1cblxuLmNhbGxiYWNrLWZvcm0ge1xuICAgJl9fc2lkZSB7XG4gICAgICBwb3NpdGlvbiByZWxhdGl2ZVxuICAgICAgei1pbmRleCA1XG4gICAgICBtYXJnaW4tYm90dG9tIDU1cHhcbiAgIH1cbiAgICZfX21haW4ge1xuICAgICAgcG9zaXRpb24gcmVsYXRpdmVcbiAgICAgIHotaW5kZXggNVxuICAgfVxuICAgJl9fdGl0bGUge1xuICAgICAgZm9udC1zaXplIDMwcHhcbiAgICAgIGxpbmUtaGVpZ2h0ICgzNCAvIDMwKVxuICAgICAgZm9udC13ZWlnaHQgNzAwXG4gICAgICB0ZXh0LXRyYW5zZm9ybSB1cHBlcmNhc2VcbiAgIH1cbiAgICZfX2ZpcnN0IHtcbiAgIH1cbiAgICZfX2ZpZWxkcyB7XG4gICAgICBtYXJnaW4tYm90dG9tIDQwcHhcbiAgICAgICYtaXRlbSB7XG4gICAgICAgICBtYXJnaW4tYm90dG9tIDMwcHhcbiAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tIDBcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cbiAgICZfX2xvYWRlZCB7XG4gICAgICBwb3NpdGlvbiByZWxhdGl2ZVxuICAgICAgei1pbmRleCA1XG4gICAgICBkaXNwbGF5IG5vbmVcbiAgICAgIG1pbi1oZWlnaHQgMzAycHhcbiAgICAgICZfbWluLWhlaWdodF9ub25lIHtcbiAgICAgICAgIG1pbi1oZWlnaHQgMFxuICAgICAgfVxuICAgfVxuICAgJi5pcy1zdWNjZXNzIHtcbiAgICAgICYgXlswXV9fbG9hZGVkIHtcbiAgICAgICAgIGRpc3BsYXkgYmxvY2tcbiAgICAgIH1cbiAgICAgICYgXlswXV9fZmlyc3Qge1xuICAgICAgICAgZGlzcGxheSBub25lXG4gICAgICB9XG4gICB9XG59IiwiLmV4YW1wbGUge1xuICAgYmFja2dyb3VuZCAjMDAwXG4gICBjb2xvciAjZmZmXG4gICAmX19saXN0IHtcbiAgICAgIGRpc3BsYXkgZmxleFxuICAgICAgZmxleC13cmFwIHdyYXBcbiAgICAgIG1hcmdpbi1ib3R0b20gLTIwcHhcbiAgIH1cbiAgICZfX2VsZW1lbnQge1xuICAgICAgZmxleCAxIDEgNTAlXG4gICAgICBtYXJnaW4tYm90dG9tIDIwcHhcbiAgIH1cbn1cbitkbygxMjAwKSB7XG4gICAuZXhhbXBsZSB7XG4gICAgICAmX19lbGVtZW50IHtcbiAgICAgICAgIGZsZXgtYmFzaXMgKDEwMC8zKSVcbiAgICAgIH1cbiAgIH1cbn1cbitkbygxMDAwKSB7XG4gICAuZXhhbXBsZSB7XG4gICAgICAmX19lbGVtZW50IHtcbiAgICAgICAgIGZsZXgtYmFzaXMgNTAlXG4gICAgICB9XG4gICB9XG59XG4rZG8oNzUwKSB7XG4gICAuZXhhbXBsZSB7XG4gICAgICAmX19saXN0IHtcbiAgICAgICAgIGRpc3BsYXkgYmxvY2tcbiAgICAgIH1cbiAgIH1cbn1cbitkbyg1MDApIHtcbiAgIC5leGFtcGxlIHtcbiAgICAgICZfX2xpc3Qge1xuICAgICAgICAgbWFyZ2luLWJvdHRvbSAtNTBweFxuICAgICAgfVxuICAgICAgJl9fZWxlbWVudCB7XG4gICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbSA1MHB4XG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG59XG5cbi5leGFtcGxlX21vZGlmaWNhdG9yIHtcbiAgIGJhY2tncm91bmQgI2ZmZlxuICAgY29sb3IgIzAwMFxufVxuLmV4YW1wbGVfbW9kaWZpY2F0b3IgLmV4YW1wbGUge1xuICAgJl9fZWxlbWVudCB7XG4gICAgICBmbGV4LWJhc2lzIDMzLjMzMyVcbiAgIH1cbn1cbitkbygxMDAwKSB7XG4gICAuZXhhbXBsZV9tb2RpZmljYXRvciAuZXhhbXBsZSB7XG4gICAgICAmX19saXN0IHtcbiAgICAgICAgIGRpc3BsYXkgYmxvY2tcbiAgICAgIH1cbiAgIH1cbn1cblxuXG4ubmV4dC1ibG9jayB7XG4gICBiYWNrZ3JvdW5kICMwMDBcbn1cbi5uZXh0LWJsb2NrX3doaXRlIHtcbiAgIGJhY2tncm91bmQgI2ZmZlxufVxuXG5cbi5hbm90aGVyLW9uZSB7XG4gICBkaXNwbGF5IGZsZXhcbiAgICZfX2VsZW0ge1xuICAgICAgZmxleC1iYXNpcyA1MCVcbiAgICAgICZfZnVsbCB7XG4gICAgICAgICBmbGV4LWJhc2lzIDEwMCVcbiAgICAgIH1cbiAgIH1cbn1cbitkbyg1MDAgJ21pbi13aWR0aCcpIHtcbiAgIC5hbm90aGVyLW9uZSB7XG4gICAgICBkaXNwbGF5IG5vbmVcbiAgIH1cbn1cbiIsIi5mb290ZXIge1xuICAgcGFkZGluZy10b3AgMzBweFxuICAgcGFkZGluZy1ib3R0b20gMzBweFxuICAgYmFja2dyb3VuZCAjMWQxZDFiXG4gICAmX19sb2dvIHtcbiAgICAgIGRpc3BsYXkgYmxvY2tcbiAgICAgIGZsZXggMCAwIGF1dG9cbiAgICAgIG1hcmdpbi1yaWdodCAzNnB4XG4gICAgICArZG8oNzUwKSB7XG4gICAgICAgICBkaXNwbGF5IG5vbmVcbiAgICAgIH1cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgIGNvbnRlbnQgJydcbiAgICAgICAgIHN2ZygnbG9nbycsIDc1cHgsICM3Nzc3NzYpXG4gICAgICAgICBkaXNwbGF5IGJsb2NrXG4gICAgICAgICArZG8oNzUwKSB7XG4gICAgICAgICAgICBzdmcoJ2xvZ28nLCA0MHB4LCAjNzc3Nzc2KVxuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxuICAgJl9fc2lkZSB7XG4gICAgICBmbGV4IDAgMCBhdXRvXG4gICAgICBtYXJnaW4tcmlnaHQgMTBweFxuICAgICAgbWFyZ2luLWxlZnQgMTBweFxuICAgICAgJi1tYWpvciB7XG4gICAgICAgICBkaXNwbGF5IGZsZXhcbiAgICAgICAgIGFsaWduLWl0ZW1zIGNlbnRlclxuICAgICAgICAgbWFyZ2luLXJpZ2h0IC0xNXB4XG4gICAgICAgICBtYXJnaW4tbGVmdCAtMTVweFxuICAgICAgICAgbWFyZ2luLWJvdHRvbSAxNXB4XG4gICAgICAgICArZG8oMTAwMCkge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50IGNlbnRlclxuICAgICAgICAgfVxuICAgICAgICAgK2RvKDc1MCkge1xuICAgICAgICAgICAgZGlzcGxheSBibG9ja1xuICAgICAgICAgICAgdGV4dC1hbGlnbiBjZW50ZXJcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYtbWlub3Ige1xuICAgICAgICAgK2RvKDc1MCkge1xuICAgICAgICAgICAgZGlzcGxheSBmbGV4XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQgY2VudGVyXG4gICAgICAgICAgICBhbGlnbi1pdGVtcyBjZW50ZXJcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cbiAgICZfX3Bob25lIHtcbiAgICAgIG1hcmdpbi1yaWdodCAxNXB4XG4gICAgICBtYXJnaW4tbGVmdCAxNXB4XG4gICAgICArZG8oNzUwKSB7XG4gICAgICAgICBtYXJnaW4tYm90dG9tIDE1cHhcbiAgICAgIH1cbiAgICAgICYtbGluayB7XG4gICAgICAgICBmb250LXdlaWdodCA3MDBcbiAgICAgICAgIGNvbG9yIHdoaXRlXG4gICAgICAgICBmb250LXNpemUgMThweFxuICAgICAgICAgdGV4dC1kZWNvcmF0aW9uIG5vbmVcbiAgICAgICAgIGJvcmRlci1ib3R0b20gbm9uZVxuICAgICAgfVxuICAgfVxuICAgJl9fY2FsbGJhY2sge1xuICAgICAgbWFyZ2luLXJpZ2h0IDE1cHhcbiAgICAgIG1hcmdpbi1sZWZ0IDE1cHhcbiAgIH1cbiAgICZfX21haW4ge1xuICAgICAgZmxleCAxXG4gICAgICBtYXJnaW4tcmlnaHQgMTBweFxuICAgICAgbWFyZ2luLWxlZnQgMTBweFxuICAgICAgJi13cmFwcGVyIHtcbiAgICAgICAgIGRpc3BsYXkgZmxleFxuICAgICAgICAgYWxpZ24taXRlbXMgY2VudGVyXG4gICAgICAgICArZG8oMTAwMCkge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50IGNlbnRlclxuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxuICAgJl9fc29jaWFscyB7XG4gICAgICBjb2xvciAjZThlOGU4XG4gICAgICAmLWxpc3Qge1xuICAgICAgICAgZGlzcGxheSBmbGV4XG4gICAgICAgICBmbGV4LXdyYXAgd3JhcFxuICAgICAgICAgYWxpZ24taXRlbXMgY2VudGVyXG4gICAgICAgICBtYXJnaW4tcmlnaHQgLTIwcHhcbiAgICAgICAgIG1hcmdpbi1sZWZ0IC0yMHB4XG4gICAgICAgICBtYXJnaW4tYm90dG9tIC0xMHB4XG4gICAgICAgICArZG8oNzUwKSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQgY2VudGVyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tIDE1cHhcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYtaXRlbSB7XG4gICAgICAgICBtYXJnaW4tcmlnaHQgMjBweFxuICAgICAgICAgbWFyZ2luLWxlZnQgMjBweFxuICAgICAgICAgbWFyZ2luLWJvdHRvbSAxMHB4XG4gICAgICB9XG4gICAgICAmLWxpbmsge1xuICAgICAgICAgY29sb3IgY3VycmVudENvbG9yXG4gICAgICAgICB0ZXh0LWRlY29yYXRpb24gbm9uZVxuICAgICAgICAgYm9yZGVyLWJvdHRvbSBub25lXG4gICAgICAgICBwb3NpdGlvbiByZWxhdGl2ZVxuICAgICAgICAgbWFyZ2luLWxlZnQgMjVweFxuICAgICAgICAgYm9yZGVyLWJvdHRvbSAxcHggZG90dGVkIGN1cnJlbnRDb2xvclxuICAgICAgICAgJl9tYWlsIHtcbiAgICAgICAgICAgIHBvc2l0aW9uIHJlbGF0aXZlXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICBjb250ZW50ICcnXG4gICAgICAgICAgICAgICBkaXNwbGF5IGJsb2NrXG4gICAgICAgICAgICAgICBzdmcoJ21haWwnLDE3cHgsIzRlNGU0ZClcbiAgICAgICAgICAgICAgIHBvc2l0aW9uIGFic29sdXRlXG4gICAgICAgICAgICAgICBsZWZ0IC0yNXB4XG4gICAgICAgICAgICAgICB0b3AgMFxuICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICAgICAgJl9pbnN0IHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgIGNvbnRlbnQgJydcbiAgICAgICAgICAgICAgIGRpc3BsYXkgYmxvY2tcbiAgICAgICAgICAgICAgIHN2ZygnaW5zdGFncmFtJywxN3B4LCM0ZTRlNGQpXG4gICAgICAgICAgICAgICBwb3NpdGlvbiBhYnNvbHV0ZVxuICAgICAgICAgICAgICAgbGVmdCAtMjVweFxuICAgICAgICAgICAgICAgdG9wIDBcbiAgICAgICAgICAgIH1cbiAgICAgICAgIH1cbiAgICAgICAgICZfd2hhdHNhcHAge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgY29udGVudCAnJ1xuICAgICAgICAgICAgICAgZGlzcGxheSBibG9ja1xuICAgICAgICAgICAgICAgc3ZnKCd3aGF0c2FwcCcsMTdweCwjNGU0ZTRkKVxuICAgICAgICAgICAgICAgcG9zaXRpb24gYWJzb2x1dGVcbiAgICAgICAgICAgICAgIGxlZnQgLTI1cHhcbiAgICAgICAgICAgICAgIHRvcCAwXG4gICAgICAgICAgICB9XG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG4gICAmX19jb250ZW50IHtcbiAgICAgIGRpc3BsYXkgZmxleFxuICAgICAgYWxpZ24taXRlbXMgY2VudGVyXG4gICAgICBtYXJnaW4tcmlnaHQgLTEwcHhcbiAgICAgIG1hcmdpbi1sZWZ0IC0xMHB4XG4gICAgICArZG8oMTAwMCkge1xuICAgICAgICAgZGlzcGxheSBibG9ja1xuICAgICAgICAgbWFyZ2luLXJpZ2h0IDBcbiAgICAgICAgIG1hcmdpbi1sZWZ0IDBcbiAgICAgIH1cblxuICAgfVxuICAgJl9fY29weXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ24gcmlnaHRcbiAgICAgIGNvbG9yICNlOGU4ZThcbiAgICAgIGZvbnQtc2l6ZSAxNnB4XG4gICAgICBkaXNwbGF5IGJsb2NrXG4gICAgICB0ZXh0LWRlY29yYXRpb24gbm9uZVxuICAgICAgdHJhbnNpdGlvbiBub25lXG4gICAgICAmLWNhcHRpb24ge1xuICAgICAgICAgY29sb3IgI2JhOTA2MFxuICAgICAgICAgdGV4dC1kZWNvcmF0aW9uIG5vbmVcbiAgICAgICAgIGZvbnQtd2VpZ2h0IDUwMFxuICAgICAgfVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgICBjb2xvciAjYmE5MDYwXG4gICAgICB9XG4gICB9XG59IiwiLmhlYWRlciB7XG4gICBiYWNrZ3JvdW5kLWNvbG9yICRjb2xvci1ibHVlXG4gICBwYWRkaW5nLXRvcCAyOXB4XG4gICBwYWRkaW5nLWJvdHRvbSAyN3B4XG4gICAmX19jb250ZW50IHtcbiAgICAgIGRpc3BsYXkgZmxleFxuICAgICAganVzdGlmeS1jb250ZW50IHNwYWNlLWJldHdlZW5cbiAgICAgIGFsaWduLWl0ZW1zIGNlbnRlclxuICAgfVxuICAgJl9fbWFpbiB7XG4gICAgICB3aWR0aCAxMDAlXG4gICAgICAmLXdyYXBwZXIge1xuICAgICAgICAgZGlzcGxheSBmbGV4XG4gICAgICAgICBmbGV4IDFcbiAgICAgICAgIG1heC13aWR0aCAxMDcwcHhcbiAgICAgICAgIG1hcmdpbiAwIGF1dG9cbiAgICAgIH1cbiAgIH1cbiAgICZfX2xvZ28ge1xuICAgICAgZGlzcGxheSBibG9ja1xuICAgICAgZmxleCAwIDAgYXV0b1xuICAgICAgJi1pbWcge1xuICAgICAgICAgZmxleCAwIDAgYXV0b1xuICAgICAgICAgcG9zaXRpb24gcmVsYXRpdmVcbiAgICAgICAgIG1heC13aWR0aCAzNjBweFxuICAgICAgfVxuXG4gICB9XG59XG5cbitkbygxMDAwKSB7XG4gICAuaGVhZGVyIHtcbiAgICAgIHBhZGRpbmctdG9wIDI1cHhcbiAgICAgIHBhZGRpbmctYm90dG9tIDIzcHhcbiAgICAgICZfX2xvZ28ge1xuICAgICAgICAgJi1pbWcge1xuICAgICAgICAgICAgbWF4LXdpZHRoIDMyMHB4XG4gICAgICAgICB9XG5cbiAgICAgIH1cbiAgIH1cbn1cbitkbyg4MDApIHtcbiAgIC5oZWFkZXIge1xuICAgICAgcGFkZGluZy10b3AgMjBweFxuICAgICAgcGFkZGluZy1ib3R0b20gMjBweFxuICAgICAgJl9fbG9nbyB7XG4gICAgICAgICAmLWltZyB7XG4gICAgICAgICAgICBtYXgtd2lkdGggMzAwcHhcbiAgICAgICAgIH1cblxuICAgICAgfVxuICAgfVxufVxuK2RvKDcwMCkge1xuICAgLmhlYWRlciB7XG4gICAgICBwYWRkaW5nLXRvcCAxNXB4XG4gICAgICBwYWRkaW5nLWJvdHRvbSAxNXB4XG4gICAgICAmX19sb2dvIHtcbiAgICAgICAgICYtaW1nIHtcbiAgICAgICAgICAgIG1heC13aWR0aCAyMDBweFxuICAgICAgICAgfVxuXG4gICAgICB9XG4gICB9XG59XG4rZG8oNjAwKSB7XG4gICAuaGVhZGVyIHtcbiAgICAgICZfX2xvZ28ge1xuICAgICAgICAgJi1pbWcge1xuICAgICAgICAgICAgbWF4LXdpZHRoIDE4MHB4XG4gICAgICAgICB9XG5cbiAgICAgIH1cbiAgIH1cbn1cbitkbyg1MDApIHtcbiAgIC5oZWFkZXIge1xuICAgICAgcGFkZGluZy10b3AgMTBweFxuICAgICAgcGFkZGluZy1ib3R0b20gMTBweFxuICAgICAgJl9fbG9nbyB7XG4gICAgICAgICAmLWltZyB7XG4gICAgICAgICAgICBtYXgtd2lkdGggMTUwcHhcbiAgICAgICAgIH1cblxuICAgICAgfVxuICAgfVxufSIsIi5pbnN0cnVjdGlvbiB7XG4gICBwb3NpdGlvbiByZWxhdGl2ZVxuICAgcGFkZGluZy10b3AgMTYwcHhcbiAgIHBhZGRpbmctYm90dG9tIDQwcHhcbiAgICtkbyg3NTApIHtcbiAgICAgIHBhZGRpbmctdG9wIDYwcHhcbiAgICAgIHBhZGRpbmctYm90dG9tIDgwcHhcbiAgIH1cbiAgICZfX3NpZGUge1xuICAgICAgbWFyZ2luLWJvdHRvbSAzN3B4XG4gICB9XG4gICAmX19tYWluIHt9XG4gICAmX193cmFwcGVyIHtcbiAgICAgIHBvc2l0aW9uIHJlbGF0aXZlXG4gICB9XG4gICAmX19pbWcge1xuICAgICAgcG9zaXRpb24gYWJzb2x1dGVcbiAgICAgIHJpZ2h0IC0zNTVweFxuICAgICAgdG9wIC0xMzBweFxuICAgICAgYWRhcHRpdmUtYmcoJy4uL2ltYWdlcy9saW5lYXIucG5nJylcbiAgICAgICtkbyg3NTApIHtcbiAgICAgICAgIGRpc3BsYXkgbm9uZVxuICAgICAgfVxuICAgfVxuICAgJl9fY29udGVudCB7fVxuICAgJl9fdGl0bGUge1xuICAgICAgZm9udC1zaXplIDMwcHhcbiAgICAgIGZvbnQtd2VpZ2h0IDcwMFxuICAgICAgdGV4dC10cmFuc2Zvcm0gdXBwZXJjYXNlXG4gICAgICBtYXJnaW4tYm90dG9tIDQ2cHhcbiAgIH1cbiAgICZfX3N1YnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZSAxNHB4XG4gICAgICBsaW5lLWhlaWdodCAoMjQvMTQpXG4gICAgICBtYXgtd2lkdGggNjcwcHhcbiAgIH1cbiAgICZfX2xpc3Qge1xuICAgICAgJi1pdGVtIHtcbiAgICAgICAgIG1hcmdpbi1ib3R0b20gMjRweFxuICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b20gMFxuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxuICAgJl9fY29scyB7XG4gICAgICBtYXgtd2lkdGggMTExNXB4XG4gICAgICBtYXJnaW4tYm90dG9tIDcwcHhcbiAgICAgICtkbygxMDAwKSB7XG4gICAgICAgICBtYXJnaW4tYm90dG9tIDQwcHhcbiAgICAgIH1cbiAgICAgICYtbGlzdCB7XG4gICAgICAgICBkaXNwbGF5IGZsZXhcbiAgICAgICAgIGZsZXgtd3JhcCB3cmFwXG4gICAgICAgICBtYXJnaW4tcmlnaHQgLTUwcHhcbiAgICAgICAgIG1hcmdpbi1sZWZ0IC01MHB4XG4gICAgICAgICBtYXJnaW4tYm90dG9tIC0zMHB4XG4gICAgICAgICArZG8oNzAwKSB7XG4gICAgICAgICAgICBkaXNwbGF5IGJsb2NrXG4gICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLWl0ZW0ge1xuICAgICAgICAgZmxleCAxXG4gICAgICAgICBtYXgtd2lkdGggY2FsYyg1MCUgLSAxMDBweClcbiAgICAgICAgIGZsZXgtYmFzaXMgY2FsYyg1MCUgLSAxMDBweClcbiAgICAgICAgIG1hcmdpbi1yaWdodCA1MHB4XG4gICAgICAgICBtYXJnaW4tbGVmdCA1MHB4XG4gICAgICAgICBtYXJnaW4tYm90dG9tIDMwcHhcbiAgICAgICAgICtkbyg3MDApIHtcbiAgICAgICAgICAgbWF4LXdpZHRoIG5vbmVcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cbn1cbi5pbnN0cnVjdGlvbi1pdGVtIHtcbiAgIGZvbnQtc2l6ZSAxNHB4XG4gICBsaW5lLWhlaWdodCAoMjQvMTQpXG4gICAmX193cmFwcGVyIHtcbiAgICAgIGRpc3BsYXkgZmxleFxuICAgfVxuICAgJl9fc2lkZSB7XG4gICAgICBmbGV4IDAgMCBhdXRvXG4gICAgICB3aWR0aCAyMHB4XG4gICAgICBtYXJnaW4tcmlnaHQgMTBweFxuICAgICAgZGlzcGxheSBmbGV4XG4gICAgICBhbGlnbi1pdGVtcyBmbGV4LXN0YXJ0XG4gICAgICBwb3NpdGlvbiByZWxhdGl2ZVxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgY29udGVudCAnJ1xuICAgICAgICAgZGlzcGxheSBibG9ja1xuICAgICAgICAgcG9zaXRpb24gYWJzb2x1dGVcbiAgICAgICAgIHdpZHRoIDU1cHhcbiAgICAgICAgIGhlaWdodCAxNXB4XG4gICAgICAgICB0b3AgMTJweFxuICAgICAgICAgYmFja2dyb3VuZCAjZjJlOGUwXG4gICAgICB9XG4gICB9XG4gICAmX19tYWluIHtcbiAgICAgIHBvc2l0aW9uIHJlbGF0aXZlXG4gICAgICB6LWluZGV4IDlcbiAgICAgIGZsZXggMVxuICAgfVxuICAgJl9fYW1vdW50IHtcbiAgICAgIHBvc2l0aW9uIHJlbGF0aXZlXG4gICAgICB6LWluZGV4IDlcbiAgICAgIGxpbmUtaGVpZ2h0IDFcbiAgICAgIGZvbnQtc2l6ZSAyNHB4XG4gICAgICBmb250LXdlaWdodCA3MDBcbiAgICAgIGNvbG9yICNiZDhjNjRcbiAgIH1cbiAgIGIge1xuICAgICAgcG9zaXRpb24gcmVsYXRpdmVcbiAgICAgIGZvbnQtd2VpZ2h0IDcwMFxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgY29udGVudCAnJ1xuICAgICAgICAgei1pbmRleCAtMVxuICAgICAgICAgcG9zaXRpb24gYWJzb2x1dGVcbiAgICAgICAgIHRvcCAtMnB4XG4gICAgICAgICBsZWZ0IC0ycHhcbiAgICAgICAgIHJpZ2h0IC0ycHhcbiAgICAgICAgIGJvdHRvbSAtMnB4XG4gICAgICAgICBiYWNrZ3JvdW5kICNlZWVlZWVcbiAgICAgIH1cbiAgIH1cbn0iLCJhZGFwdGl2ZS1iZygkbmFtZSkge1xuICAgJHNpemUgPSBpbWFnZS1zaXplKCRuYW1lKVxuICAgd2lkdGggJHNpemVbMF1cbiAgIGJhY2tncm91bmQgdXJsKCRuYW1lKSAwIDAgLyBjb3ZlciBuby1yZXBlYXRcbiAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQgJydcbiAgICAgIGRpc3BsYXkgYmxvY2tcbiAgICAgIHBhZGRpbmctYm90dG9tICgoJHNpemVbMV0qMTAwKS8kc2l6ZVswXSklXG4gICB9XG59IiwiLmludHJvIHtcbiAgIHBhZGRpbmctdG9wIDEzNHB4XG4gICBtaW4taGVpZ2h0IDcwMHB4XG4gICBib3gtc2l6aW5nIGJvcmRlci1ib3hcbiAgIHBhZGRpbmctYm90dG9tIDQwcHhcbiAgIGNvbG9yIHdoaXRlXG4gICBwb3NpdGlvbiByZWxhdGl2ZVxuICAgYmFja2dyb3VuZCAjZWRlZGVkXG4gICArZG8oNzAwKSB7XG4gICAgICBtaW4taGVpZ2h0IDUxMHB4XG4gICB9XG4gICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50ICcnXG4gICAgICBkaXNwbGF5IGJsb2NrXG4gICAgICB0b3AgMFxuICAgICAgYm90dG9tIDBcbiAgICAgIGxlZnQgMFxuICAgICAgcmlnaHQgNDUlXG4gICAgICBwb3NpdGlvbiBhYnNvbHV0ZVxuICAgICAgYmFja2dyb3VuZCBibGFja1xuICAgfVxuICAgJjphZnRlciB7XG4gICAgICBjb250ZW50ICcnXG4gICAgICBkaXNwbGF5IGJsb2NrXG4gICAgICB0b3AgMFxuICAgICAgYm90dG9tIDBcbiAgICAgIGxlZnQgNTUlXG4gICAgICByaWdodCAwXG4gICAgICBwb3NpdGlvbiBhYnNvbHV0ZVxuICAgICAgd2lkdGggNjYwcHhcbiAgICAgIGJhY2tncm91bmQtY29sb3IgI2JhOTA2MFxuICAgICAgYmFja2dyb3VuZC1pbWFnZSB1cmwoJy4uL2ltYWdlcy9wYXR0ZXJuLmpwZycpXG4gICAgICBiYWNrZ3JvdW5kLXNpemUgY29udGFpblxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbiBib3R0b21cbiAgICAgIGJhY2tncm91bmQtcmVwZWF0IG5vLXJlcGVhdFxuICAgfVxuICAgJl9fdGl0bGUge1xuICAgICAgZm9udC1zaXplIDU2cHhcbiAgICAgIGxpbmUtaGVpZ2h0ICg1NiAvIDU2KVxuICAgICAgZm9udC1mYW1pbHkgJGZvbnQtY29kZWNjb2xkbG9nb1xuICAgICAgdGV4dC10cmFuc2Zvcm0gdXBwZXJjYXNlXG4gICAgICBmb250LXdlaWdodCA3MDBcbiAgICAgIG1hcmdpbi1ib3R0b20gMzZweFxuICAgICAgK2RvKDcwMCkge1xuICAgICAgICAgZm9udC1zaXplIDM2cHhcbiAgICAgIH1cbiAgIH1cbiAgICZfX2Rlc2Mge1xuICAgICAgbWF4LXdpZHRoIDI1MHB4XG4gICAgICBmb250LXNpemUgMTRweFxuICAgICAgbGluZS1oZWlnaHQgKDIwLzE0KVxuICAgICAgb3BhY2l0eSAwLjZcbiAgIH1cbiAgICZfX2ltZyB7XG4gICAgICB3aWR0aCA4MDBweFxuICAgICAgaGVpZ2h0IDYwMHB4XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uIGNlbnRlclxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQgbm8tcmVwZWF0XG4gICAgICBiYWNrZ3JvdW5kLXNpemUgY292ZXJcbiAgICAgICtkbygxMjAwKSB7XG4gICAgICAgICB3aWR0aCA1MDBweFxuICAgICAgICAgaGVpZ2h0IDQ2MHB4XG4gICAgICB9XG4gICAgICArZG8oNzAwKSB7XG4gICAgICAgICB3aWR0aDogMjU2cHg7XG4gICAgICAgICBoZWlnaHQ6IDE4MnB4O1xuICAgICAgfVxuICAgfVxuICAgJl9fY29udGVudCB7XG4gICAgICBwb3NpdGlvbiByZWxhdGl2ZVxuICAgfVxuICAgJl9fbWFpbiB7XG4gICAgICBwYWRkaW5nLXRvcCAxMDBweFxuICAgICAgbWluLWhlaWdodCAzOTBweFxuICAgICAgbWF4LXdpZHRoIDYyNXB4XG4gICAgICBwb3NpdGlvbiByZWxhdGl2ZVxuICAgICAgei1pbmRleCAyXG4gICAgICBkaXNwbGF5IGZsZXhcbiAgICAgIGZsZXgtZGlyZWN0aW9uIGNvbHVtblxuICAgICAgK2RvKDEyMDApIHtcbiAgICAgICAgIG1pbi1oZWlnaHQgMzIwcHhcbiAgICAgIH1cbiAgICAgICtkbyg3MDApIHtcbiAgICAgICAgIHBhZGRpbmctdG9wIDBcbiAgICAgICAgIG1pbi1oZWlnaHQgMFxuICAgICAgfVxuICAgfVxuICAgJl9fc2lkZSB7XG4gICAgICBwb3NpdGlvbiBhYnNvbHV0ZVxuICAgICAgcmlnaHQgMFxuICAgICAgdG9wIDBcbiAgICAgIHotaW5kZXggMVxuICAgICAgK2RvKDcwMCkge1xuICAgICAgICAgcmlnaHQgMFxuICAgICAgICAgdG9wIGF1dG9cbiAgICAgICAgIGJvdHRvbSAtMTE1cHhcbiAgICAgIH1cblxuICAgfVxuICAgJl9fdGl0bGUge1xuICAgfVxuICAgJl9fZGVzYyB7XG4gICAgICBtYXJnaW4tYm90dG9tIDMwcHhcbiAgIH1cbiAgICZfX2FjdGlvbiB7XG4gICAgICBtYXJnaW4tdG9wIGF1dG9cbiAgIH1cbn0iLCIubmF2LWJpZyB7XG4gICAmX19tYWluIHtcbiAgICAgIG1hcmdpbi1ib3R0b20gMjVweFxuICAgfVxuICAgJl9fbGluayB7XG4gICAgICB0ZXh0LWRlY29yYXRpb24gbm9uZVxuICAgICAgYm9yZGVyLWJvdHRvbSBub25lXG4gICAgICBmb250LXNpemUgMjZweFxuICAgICAgZm9udC13ZWlnaHQgNzAwXG4gICAgICBjb2xvciBibGFja1xuICAgfVxuICAgJl9fbGlzdCB7XG4gICAgICAmLWl0ZW0ge1xuICAgICAgICAgbWFyZ2luLWJvdHRvbSA1cHhcbiAgICAgICAgICZfb2Zmc2V0X2xhcmdlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b20gMTVweFxuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxufSIsIi5vcmdhbmlzYXRpb24ge1xuICAgcGFkZGluZy10b3AgODVweFxuICAgcGFkZGluZy1ib3R0b20gMTAwcHhcbiAgIHBvc2l0aW9uIHJlbGF0aXZlXG4gICArZG8oMTIwMCkge1xuICAgICAgcGFkZGluZy1ib3R0b20gNDBweFxuICAgfVxuICAgK2RvKDc1MCkge1xuICAgICAgcGFkZGluZy10b3AgNTBweFxuICAgICAgcGFkZGluZy1ib3R0b20gMTBweFxuICAgfVxuICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudCAnJ1xuICAgICAgYmFja2dyb3VuZC1jb2xvciAjZThlOGU4XG4gICAgICBtaW4taGVpZ2h0IDQ2MHB4XG4gICAgICBkaXNwbGF5IGJsb2NrXG4gICAgICBwb3NpdGlvbiBhYnNvbHV0ZVxuICAgICAgdG9wIDBcbiAgICAgIGxlZnQgLTEwMHZ3XG4gICAgICByaWdodCAtMTAwdndcbiAgICAgIHotaW5kZXggLTFcbiAgIH1cbiAgICZfX3NpZGUge1xuICAgICAgbWFyZ2luLWJvdHRvbSA2M3B4XG4gICAgICArZG8oNzUwKSB7XG4gICAgICAgICBtYXJnaW4tYm90dG9tIDQ1cHhcbiAgICAgIH1cbiAgIH1cbiAgICZfX21haW4ge1xuICAgfVxuICAgJl9fd3JhcHBlciB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgIGNvbnRlbnQgJydcbiAgICAgICAgIGRpc3BsYXkgYmxvY2tcbiAgICAgICAgIHdpZHRoIDExOTRweFxuICAgICAgICAgaGVpZ2h0IDE1NHB4XG4gICAgICAgICBwb3NpdGlvbiBhYnNvbHV0ZVxuICAgICAgICAgdG9wIDMyNXB4XG4gICAgICAgICB6LWluZGV4IC0xXG4gICAgICAgICBiYWNrZ3JvdW5kLWltYWdlIHVybCgnLi4vaW1hZ2VzL2xvZ28taG9yLXdoaXRlLnBuZycpXG4gICAgICB9XG4gICB9XG4gICAmX19jb250ZW50IHtcbiAgIH1cbiAgICZfX2Rlc2Mge1xuICAgICAgZm9udC1zaXplIDE0cHhcbiAgICAgIGxpbmUtaGVpZ2h0ICgxNiAvIDE0KVxuICAgfVxuICAgJl9fdGl0bGUge1xuICAgICAgZm9udC1zaXplIDMwcHhcbiAgICAgIGxpbmUtaGVpZ2h0ICgzNCAvIDMwKVxuICAgICAgZm9udC13ZWlnaHQgNzAwXG4gICAgICB0ZXh0LXRyYW5zZm9ybSB1cHBlcmNhc2VcbiAgIH1cbiAgICZfX2hlYWRlciB7XG4gICAgICBkaXNwbGF5IGZsZXhcbiAgICAgIGZsZXgtd3JhcCB3cmFwXG4gICAgICBhbGlnbi1pdGVtcyBjZW50ZXJcbiAgICAgIG1hcmdpbi1yaWdodCAtNXB4XG4gICAgICBtYXJnaW4tbGVmdCAtNXB4XG4gICAgICBtYXJnaW4tYm90dG9tIC0yNXB4XG4gICAgICAmLW1haW4ge1xuICAgICAgICAgbWFyZ2luLXJpZ2h0IDVweFxuICAgICAgICAgbWFyZ2luLWxlZnQgNXB4XG4gICAgICAgICBtYXJnaW4tYm90dG9tIDI1cHhcbiAgICAgICAgIGZsZXggMVxuICAgICAgfVxuICAgICAgJi1zaWRlIHtcbiAgICAgICAgIGZsZXggMCAwIGF1dG9cbiAgICAgICAgIG1hcmdpbi1yaWdodCA1cHhcbiAgICAgICAgIG1hcmdpbi1sZWZ0IDVweFxuICAgICAgICAgbWFyZ2luLWJvdHRvbSAyNXB4XG4gICAgICAgICArZG8oNzUwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tIDE1cHhcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cbiAgICZfX2NvbHMge1xuICAgICAgJi1saXN0IHtcbiAgICAgICAgIGRpc3BsYXkgZmxleFxuICAgICAgICAgbWFyZ2luLXJpZ2h0IC00NHB4XG4gICAgICAgICBtYXJnaW4tbGVmdCAtNDRweFxuICAgICAgICAgbWFyZ2luLWJvdHRvbSAtMjBweFxuICAgICAgICAgK2RvKDc1MCkge1xuICAgICAgICAgICAgZGlzcGxheSBibG9ja1xuICAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi1pdGVtIHtcbiAgICAgICAgIGZsZXggMVxuICAgICAgICAgbWFyZ2luLXJpZ2h0IDQ0cHhcbiAgICAgICAgIG1hcmdpbi1sZWZ0IDQ0cHhcbiAgICAgICAgIG1hcmdpbi1ib3R0b20gMjBweFxuICAgICAgfVxuICAgfVxuICAgJl9faW1nIHtcbiAgICAgIHdpZHRoIDYzMHB4XG4gICAgICBoZWlnaHQgMzQwcHhcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb24gY2VudGVyXG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdCBuby1yZXBlYXRcbiAgICAgIGJhY2tncm91bmQtc2l6ZSBjb3ZlclxuICAgICAgcG9zaXRpb24gcmVsYXRpdmVcbiAgICAgICtkbygxMDAwKSB7XG4gICAgICAgICB3aWR0aCAyOTBweFxuICAgICAgICAgaGVpZ2h0IDI1MHB4XG4gICAgICB9XG4gICAgICArZG8oNzUwKSB7XG4gICAgICAgICB3aWR0aCAxMDAlXG4gICAgICB9XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgICBjb250ZW50ICcnXG4gICAgICAgICBkaXNwbGF5IGJsb2NrXG4gICAgICAgICBwb3NpdGlvbiBhYnNvbHV0ZVxuICAgICAgICAgbGVmdCAwXG4gICAgICAgICB0b3AgLTUwcHhcbiAgICAgICAgIHJpZ2h0IC0xMDB2d1xuICAgICAgICAgYm90dG9tIDg4cHhcbiAgICAgICAgIGJhY2tncm91bmQtaW1hZ2UgdXJsKCcuLi9pbWFnZXMvcGF0dGVybi10cmFuc3BhcmVudC5wbmcnKVxuICAgICAgICAgei1pbmRleCAtMVxuICAgICAgICAgbWFyZ2luLWxlZnQgMjAwcHhcbiAgICAgIH1cbiAgIH1cbn0iLCIucGhvdG9zIHtcbiAgIHBhZGRpbmctYm90dG9tIDgwcHhcbiAgIHBhZGRpbmctdG9wIDIwNXB4XG4gICArZG8oMTIwMCkge1xuICAgICAgcGFkZGluZy10b3AgMTQwcHhcbiAgIH1cbiAgICtkbygxMDAwKSB7XG4gICAgICBwYWRkaW5nLXRvcCAxODBweFxuICAgICAgcGFkZGluZy1ib3R0b20gNDBweFxuICAgfVxuICAgK2RvKDc1MCkge1xuICAgICAgcGFkZGluZy10b3AgMzBweFxuICAgfVxuICAgJl9fc2lkZSB7XG4gICAgICBtYXJnaW4tYm90dG9tIDQ3cHhcbiAgIH1cbiAgICZfX21haW4ge1xuICAgICAgJi1tYWpvciB7XG4gICAgICAgICBtYXJnaW4tYm90dG9tIDU1cHhcbiAgICAgIH1cbiAgICAgICYtbWlub3Ige31cbiAgIH1cbiAgICZfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZSAzMHB4XG4gICAgICBmb250LXdlaWdodCA3MDBcbiAgICAgIHRleHQtdHJhbnNmb3JtIHVwcGVyY2FzZVxuICAgfVxuICAgJl9fbGlzdCB7XG4gICAgICBkaXNwbGF5IGZsZXhcbiAgICAgIGZsZXgtd3JhcCB3cmFwXG4gICAgICBtYXJnaW4tcmlnaHQgLTIwcHhcbiAgICAgIG1hcmdpbi1sZWZ0IC0yMHB4XG4gICAgICBtYXJnaW4tYm90dG9tIC00MHB4XG4gICAgICArZG8oMTAwMCkge1xuICAgICAgICAgbWFyZ2luLXJpZ2h0IC0xMHB4XG4gICAgICAgICBtYXJnaW4tbGVmdCAtMTBweFxuICAgICAgICAgbWFyZ2luLWJvdHRvbSAtMjBweFxuICAgICAgfVxuICAgICAgJi1pdGVtIHtcbiAgICAgICAgIG1hcmdpbi1yaWdodCAyMHB4XG4gICAgICAgICBtYXJnaW4tbGVmdCAyMHB4XG4gICAgICAgICBtYXJnaW4tYm90dG9tIDQwcHhcbiAgICAgICAgIGZsZXggMVxuICAgICAgICAgZGlzcGxheSBibG9ja1xuICAgICAgICAgZmxleC1iYXNpcyBjYWxjKDMzLjMzJSAtIDQwcHgpXG4gICAgICAgICBtYXgtd2lkdGggY2FsYygzMy4zMyUgLSA0MHB4KVxuICAgICAgICAgJl9sYXJnZSB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzIGNhbGMoNjYuNjYlIC0gNDBweClcbiAgICAgICAgICAgIG1heC13aWR0aCBjYWxjKDY2LjY2JSAtIDQwcHgpXG4gICAgICAgICB9XG4gICAgICAgICArZG8oMTAwMCkge1xuICAgICAgICAgICAgZmxleC1iYXNpcyBjYWxjKDUwJSAtIDIwcHgpXG4gICAgICAgICAgICBtYXgtd2lkdGggY2FsYyg1MCUgLSAyMHB4KVxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0IDEwcHhcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0IDEwcHhcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b20gMjBweFxuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxuICAgJl9fYWN0aW9ucyB7XG4gICAgICBkaXNwbGF5IGZsZXhcbiAgICAgIGZsZXgtd3JhcCB3cmFwXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQgY2VudGVyXG4gICAgICBhbGlnbi1pdGVtcyBjZW50ZXJcbiAgICAgICYtaXRlbSB7XG4gICAgICB9XG4gICB9XG4gICAmX19pbWcge1xuICAgICAgbWluLWhlaWdodCAzMDBweFxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbiBjZW50ZXJcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0IG5vLXJlcGVhdFxuICAgICAgYmFja2dyb3VuZC1zaXplIGNvdmVyXG4gICAgICB0cmFuc2l0aW9uIC4zcyBlYXNlIG9wYWNpdHlcbiAgICAgICtkbyg3MDApIHtcbiAgICAgICAgIG1pbi1oZWlnaHQgMTUwcHhcbiAgICAgIH1cbiAgICAgICY6aG92ZXIge1xuICAgICAgICAgb3BhY2l0eSAwLjhcbiAgICAgIH1cbiAgIH1cbiAgICZfc2ltcGxlIHtcbiAgICAgIHBhZGRpbmcgMFxuICAgfVxufVxuIiwiLnBsYW5uaW5nIHtcbiAgIG1hcmdpbi1ib3R0b20gMTU0cHhcbiAgIHBhZGRpbmctdG9wIDE4MHB4XG4gICArZG8oMTAwMCkge1xuICAgICAgcGFkZGluZy10b3AgNDBweFxuICAgICAgbWFyZ2luLWJvdHRvbSA3MHB4XG4gICB9XG4gICArZG8oNzUwKSB7XG4gICAgICBtYXJnaW4tYm90dG9tIDMwcHhcbiAgIH1cbiAgICZfX2FjdGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcCAxNXB4XG4gICAgICBwYWRkaW5nLWJvdHRvbSAxNXB4XG4gICAgICB0ZXh0LWFsaWduIHJpZ2h0XG4gICAgICArZG8oNzUwKSB7XG4gICAgICAgICB0ZXh0LWFsaWduIGNlbnRlclxuICAgICAgfVxuICAgfVxuICAgJl9fY29scyB7XG4gICAgICBkaXNwbGF5IGZsZXhcbiAgICAgIGZsZXgtd3JhcCB3cmFwXG4gICAgICBtYXJnaW4tbGVmdCAtMTVweFxuICAgICAgbWFyZ2luLXJpZ2h0IC0xNXB4XG4gICAgICArZG8oNzUwKSB7XG4gICAgICAgICBkaXNwbGF5IGJsb2NrXG4gICAgICAgICBtYXgtd2lkdGggbm9uZVxuICAgICAgICAgZmxleC1iYXNpcyBub25lXG4gICAgICAgICBtYXJnaW4tcmlnaHQgMFxuICAgICAgICAgbWFyZ2luLWxlZnQgMFxuICAgICAgfVxuICAgICAgJi1pdGVtIHtcbiAgICAgICAgIG1hcmdpbi1yaWdodCAxNXB4XG4gICAgICAgICBtYXJnaW4tbGVmdCAxNXB4XG4gICAgICAgICBtYXgtd2lkdGggY2FsYyg1MCUgLSAzMHB4KVxuICAgICAgICAgZmxleC1iYXNpcyBjYWxjKDUwJSAtIDMwcHgpXG4gICAgICAgICArZG8oNzUwKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGggbm9uZVxuICAgICAgICAgICAgZmxleC1iYXNpcyBub25lXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQgMFxuICAgICAgICAgICAgbWFyZ2luLWxlZnQgMFxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbSAzMHB4XG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG4gICAmX190aXRsZSB7XG4gICAgICBmb250LXNpemUgNDhweFxuICAgICAgbGluZS1oZWlnaHQgKDU2LzQ4KVxuICAgICAgZm9udC13ZWlnaHQgNzAwXG4gICAgICBtYXJnaW4tYm90dG9tIDMwcHhcbiAgICAgIHRleHQtdHJhbnNmb3JtIHVwcGVyY2FzZVxuICAgICAgK2RvKDc1MCkge1xuICAgICAgICAgZm9udC1zaXplIDMwcHhcbiAgICAgICAgIHRleHQtYWxpZ24gY2VudGVyXG4gICAgICB9XG4gICB9XG4gICAmX19pbWcge1xuICAgICAgaW1nIHtcbiAgICAgICAgIHdpZHRoIDEwMCVcbiAgICAgICAgIG1heC13aWR0aCAxMDAlXG4gICAgICAgICBkaXNwbGF5IGJsb2NrXG4gICAgICB9XG4gICAgICAmXzEge31cbiAgICAgICZfMiB7XG4gICAgICAgICBwYWRkaW5nLXRvcCAxMnB4XG4gICAgICB9XG4gICB9XG59IiwiLnByb21vIHtcbiAgIHBhZGRpbmctdG9wIDg1cHhcbiAgIGNvbG9yIHdoaXRlXG4gICArZG8oMTAwMCkge1xuICAgICAgcGFkZGluZy10b3AgNjBweFxuICAgfVxuICAgK2RvKDc1MCkge1xuICAgICAgY29sb3IgYmxhY2tcbiAgIH1cbiAgICZfX3dyYXBwZXIge1xuICAgICAgcG9zaXRpb24gcmVsYXRpdmVcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgIGNvbnRlbnQgJydcbiAgICAgICAgIHBvc2l0aW9uIGFic29sdXRlXG4gICAgICAgICBtaW4taGVpZ2h0IDQ5NXB4XG4gICAgICAgICBsZWZ0IC04NXB4XG4gICAgICAgICByaWdodCAtMTAwdndcbiAgICAgICAgIGJhY2tncm91bmQgI2JkOGM2NFxuICAgICAgICAgei1pbmRleCAtMVxuICAgICAgICAgK2RvKDc1MCkge1xuICAgICAgICAgICAgZGlzcGxheSBub25lXG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG4gICAmX19jb2xzIHtcbiAgICAgICYtbGlzdCB7XG4gICAgICAgICBkaXNwbGF5IGZsZXhcbiAgICAgICAgIGZsZXgtd3JhcCB3cmFwXG4gICAgICAgICBtYXJnaW4tcmlnaHQgLTI3cHhcbiAgICAgICAgIG1hcmdpbi1sZWZ0IC0yN3B4XG4gICAgICAgICArZG8oNzAwKSB7XG4gICAgICAgICAgICBkaXNwbGF5IGJsb2NrXG4gICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLWl0ZW0ge1xuICAgICAgICAgZmxleCAxXG4gICAgICAgICBtYXJnaW4tcmlnaHQgMjdweFxuICAgICAgICAgbWFyZ2luLWxlZnQgMjdweFxuICAgICAgICAgJl9wYWRkaW5nLXRvcF9tZWRpdW0ge1xuICAgICAgICAgICAgcGFkZGluZy10b3AgNjVweFxuICAgICAgICAgICAgK2RvKDc1MCkge1xuICAgICAgICAgICAgICAgcGFkZGluZy10b3AgMFxuICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICAgICAgJl9wYWRkaW5nLXRvcF9sYXJnZSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcCAxMTVweFxuICAgICAgICAgICAgK2RvKDEwMDApIHtcbiAgICAgICAgICAgICAgIHBhZGRpbmctdG9wIDMwcHhcbiAgICAgICAgICAgIH1cbiAgICAgICAgIH1cblxuICAgICAgfVxuICAgfVxuICAgJl9faW1nIHtcbiAgICAgIHdpZHRoIDc0MHB4XG4gICAgICBoZWlnaHQgNDkwcHhcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb24gY2VudGVyXG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdCBuby1yZXBlYXRcbiAgICAgIGJhY2tncm91bmQtc2l6ZSBjb3ZlclxuICAgICAgbWFyZ2luLWxlZnQgLTE5NXB4XG4gICAgICBwb3NpdGlvbiByZWxhdGl2ZVxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgY29udGVudCAnJ1xuICAgICAgICAgcG9zaXRpb24gYWJzb2x1dGVcbiAgICAgICAgIHRvcCAwXG4gICAgICAgICBsZWZ0IC0xMDB2d1xuICAgICAgICAgcmlnaHQgLTExMHB4XG4gICAgICAgICBib3R0b20gMFxuICAgICAgICAgYmFja2dyb3VuZC1pbWFnZSB1cmwoXCIuLi9pbWFnZXMvcGF0dGVybi10cmFuc3BhcmVudC5wbmdcIilcbiAgICAgICAgIHotaW5kZXggLTFcbiAgICAgICAgIG1hcmdpbi10b3AgMTEwcHhcbiAgICAgICAgIGJvdHRvbSAtODBweFxuICAgICAgfVxuICAgICAgK2RvKDEwMDApIHtcbiAgICAgICAgIHdpZHRoIDUwNnB4XG4gICAgICAgICBoZWlnaHQgMzAwcHhcbiAgICAgIH1cbiAgICAgICtkbyg3MDApIHtcbiAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgIH1cbiAgIH1cbiAgICZfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZSAzMHB4XG4gICAgICBmb250LXdlaWdodCA3MDBcbiAgICAgIGxpbmUtaGVpZ2h0ICgzNC8zMClcbiAgICAgIG1hcmdpbi1ib3R0b20gNDVweFxuICAgICAgdGV4dC10cmFuc2Zvcm0gdXBwZXJjYXNlXG4gICAgICBtYXgtd2lkdGggNDUwcHhcbiAgIH1cbiAgICZfX2Rlc2Mge1xuICAgICAgZm9udC1zaXplIDE0cHhcbiAgICAgIG1heC13aWR0aCA0ODBweFxuICAgfVxuXG59IiwiLnJ1bGVzIHtcbiAgIHBvc2l0aW9uIHJlbGF0aXZlXG4gICAmX193cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctdG9wIDkwcHhcbiAgICAgIHBhZGRpbmctYm90dG9tIDkwcHhcbiAgICAgIGJhY2tncm91bmQgIzFkMWQxYlxuICAgICAgYm94LXNpemluZyBib3JkZXItYm94XG4gICAgICBjb2xvciB3aGl0ZVxuICAgICAgbWluLWhlaWdodCA1MDBweFxuICAgICAgcG9zaXRpb24gcmVsYXRpdmVcbiAgICAgICtkbyg3NTApIHtcbiAgICAgICAgIHBhZGRpbmctdG9wIDQwcHhcbiAgICAgICAgIHBhZGRpbmctYm90dG9tIDkwcHhcbiAgICAgIH1cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgIGNvbnRlbnQgJydcbiAgICAgICAgIHBvc2l0aW9uIGFic29sdXRlXG4gICAgICAgICBsZWZ0IC0xMDB2d1xuICAgICAgICAgYmFja2dyb3VuZCAjMWQxZDFiXG4gICAgICAgICBkaXNwbGF5IGJsb2NrXG4gICAgICAgICByaWdodCAtNzBweFxuICAgICAgICAgdG9wIDBcbiAgICAgICAgIGJvdHRvbSAwXG4gICAgICAgICB6LWluZGV4IC0xXG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgIGNvbnRlbnQgJydcbiAgICAgICAgIGRpc3BsYXkgYmxvY2tcbiAgICAgICAgIG1pbi1oZWlnaHQgNDkwcHhcbiAgICAgICAgIHdpZHRoIDEwMHZ3XG4gICAgICAgICBwb3NpdGlvbiBhYnNvbHV0ZVxuICAgICAgICAgcmlnaHQgLTEwMHZ3XG4gICAgICAgICBsZWZ0IDEwMCVcbiAgICAgICAgIG1hcmdpbi1sZWZ0IC0zNDBweFxuICAgICAgICAgYm90dG9tIC0yNDBweFxuICAgICAgICAgYmFja2dyb3VuZC1pbWFnZSB1cmwoJy4uL2ltYWdlcy9wYXR0ZXJuLXRyYW5zcGFyZW50LnBuZycpXG4gICAgICB9XG4gICB9XG4gICAmX19jb250ZW50IHtcbiAgIH1cbiAgICZfX3NpZGUge1xuICAgICAgbWFyZ2luLWJvdHRvbSAxMDBweFxuICAgICAgK2RvKDc1MCkge1xuICAgICAgICAgbWFyZ2luLWJvdHRvbSA0NXB4XG4gICAgICB9XG4gICB9XG4gICAmX190aXRsZSB7XG4gICAgICBjb2xvciB3aGl0ZVxuICAgICAgZm9udC13ZWlnaHQgNzAwXG4gICAgICBmb250LXNpemUgMzBweFxuICAgICAgbGluZS1oZWlnaHQgKDM0IC8gMzApXG4gICAgICB0ZXh0LXRyYW5zZm9ybSB1cHBlcmNhc2VcbiAgIH1cbiAgICZfX21haW4ge1xuICAgfVxuICAgJl9fbGlzdCB7XG4gICAgICBkaXNwbGF5IGZsZXhcbiAgICAgIGZsZXgtd3JhcCB3cmFwXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQgc3BhY2UtYmV0d2VlblxuICAgICAgbWFyZ2luLXJpZ2h0IC01cHhcbiAgICAgIG1hcmdpbi1sZWZ0IC01cHhcbiAgICAgIG1hcmdpbi1ib3R0b20gLTMwcHhcbiAgICAgICYtaXRlbSB7XG4gICAgICAgICBmbGV4IDFcbiAgICAgICAgIG1heC13aWR0aCAxMjBweFxuICAgICAgICAgbWFyZ2luLXJpZ2h0IDVweFxuICAgICAgICAgbWFyZ2luLWxlZnQgNXB4XG4gICAgICAgICBtYXJnaW4tYm90dG9tIDMwcHhcbiAgICAgICAgICtkbyg3NTApIHtcbiAgICAgICAgICAgIG1heC13aWR0aCBjYWxjKDUwJSAtIDEwcHgpXG4gICAgICAgICAgICBmbGV4LWJhc2lzIGNhbGMoNTAlIC0gMTBweClcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cbn1cblxuLnJ1bGVzLWl0ZW0ge1xuICAgJl9fc2lkZSB7XG4gICAgICBkaXNwbGF5IGZsZXhcbiAgICAgIGp1c3RpZnktY29udGVudCBjZW50ZXJcbiAgICAgIG1hcmdpbi1ib3R0b20gMzBweFxuICAgICAgK2RvKDc1MCkge1xuICAgICAgICAgbWFyZ2luLWJvdHRvbSAxNXB4XG4gICAgICB9XG4gICB9XG4gICAmX19tYWluIHtcblxuICAgfVxuICAgJl9fZGVzYyB7XG4gICAgICBmb250LXNpemUgMjBweFxuICAgICAgZm9udC13ZWlnaHQgNzAwXG4gICAgICB0ZXh0LWFsaWduIGNlbnRlclxuICAgICAgbGluZS1oZWlnaHQgKDI2LzIwKVxuICAgfVxufSIsIi5zZWN0aW9uIHtcclxuICAgYmFja2dyb3VuZC1jb2xvciAkY29sb3ItcGlua1xyXG4gICAmX193cmFwZXByIHtcclxuXHJcbiAgIH1cclxuICAgJl9fY29udGVudCB7XHJcbiAgICAgIHBhZGRpbmctdG9wIDEzMnB4XHJcbiAgICAgIHBhZGRpbmctbGVmdCAyMHB4XHJcbiAgICAgIHBhZGRpbmctcmlnaHQgMjBweFxyXG4gICB9XHJcbiAgICZfX3RpdGxlIHtcclxuICAgICAgbWF4LXdpZHRoIDEwNzBweFxyXG4gICAgICBtYXJnaW4tbGVmdCBhdXRvXHJcbiAgICAgIG1hcmdpbi1yaWdodCBhdXRvXHJcbiAgICAgIGNvbG9yICRjb2xvci13aGl0ZVxyXG4gICAgICBmb250LWZhbWlseSAkZm9udC1yb2JvdG9cclxuICAgICAgZm9udC13ZWlnaHQgMzAwXHJcbiAgICAgIG1hcmdpbi1ib3R0b20gMTQ4cHhcclxuICAgICAgJi1oMiB7XHJcbiAgICAgICAgIGZvbnQtc2l6ZSAxMzBweFxyXG4gICAgICAgICBsZXR0ZXItc3BhY2luZyAwLjA5NmVtXHJcbiAgICAgICAgIGxpbmUtaGVpZ2h0IDFcclxuICAgICAgICAgdGV4dC1hbGlnbiBjZW50ZXJcclxuICAgICAgfVxyXG4gICAgICAmLWgzIHtcclxuICAgICAgICAgZm9udC1zaXplIDEwM3B4XHJcbiAgICAgICAgIGxldHRlci1zcGFjaW5nIDAuMTQxZW1cclxuICAgICAgICAgbGluZS1oZWlnaHQgMS4yXHJcbiAgICAgICAgIHRleHQtYWxpZ24gY2VudGVyXHJcbiAgICAgIH1cclxuICAgICAgJi1oNCB7XHJcbiAgICAgICAgIGZvbnQtc2l6ZSA5MXB4XHJcbiAgICAgICAgIGxldHRlci1zcGFjaW5nIDAuMWVtXHJcbiAgICAgICAgIGxpbmUtaGVpZ2h0IDFcclxuICAgICAgICAgdGV4dC1hbGlnbiBjZW50ZXJcclxuICAgICAgfVxyXG4gICB9XHJcblxyXG4gICAmX19saW5rLXdyYXBwZXIge1xyXG4gICAgICBkaXNwbGF5IGZsZXhcclxuICAgICAganVzdGlmeS1jb250ZW50IGNlbnRlclxyXG4gICAgICBtYXJnaW4tYm90dG9tIDk3cHhcclxuICAgfVxyXG4gICAmX19pbWFnZSB7XHJcbiAgICAgICYtd3JhcHBlciB7XHJcbiAgICAgICAgIHBvc2l0aW9uIHJlbGF0aXZlXHJcbiAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudCAnJ1xyXG4gICAgICAgICAgICB0b3AgNzMuOSVcclxuICAgICAgICAgICAgei1pbmRleCA1XHJcbiAgICAgICAgICAgIGxlZnQgLTUwdndcclxuICAgICAgICAgICAgcmlnaHQgLTUwdndcclxuICAgICAgICAgICAgYm90dG9tIDBcclxuICAgICAgICAgICAgcG9zaXRpb24gYWJzb2x1dGVcclxuICAgICAgICAgICAgZGlzcGxheSBibG9ja1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNjYzI0Y2EgMCUsICNjYzI0Y2EgNTAlLCAjMjMwZGEwIDUwJSwgIzIzMGRhMCAxMDAlKTtcclxuICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgIH1cclxuICAgJl9faW1nIHtcclxuICAgICAgcG9zaXRpb24gcmVsYXRpdmVcclxuICAgICAgei1pbmRleCA1NVxyXG4gICAgICBkaXNwbGF5IGJsb2NrXHJcbiAgICAgIG1heC13aWR0aCAxMDAlXHJcbiAgICAgICZfdGFibGVzIHtcclxuICAgICAgICAgcG9zaXRpb24gYWJzb2x1dGVcclxuICAgICAgICAgdG9wIDBweFxyXG4gICAgICAgICBsZWZ0IDBweFxyXG4gICAgICAgICByaWdodCAwcHhcclxuICAgICAgICAgbWFyZ2luIDAgYXV0b1xyXG4gICAgICB9XHJcbiAgIH1cclxufVxyXG4rZG8oMTIwMCkge1xyXG4gICAuc2VjdGlvbiB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3IgJGNvbG9yLXBpbmtcclxuICAgICAgJl9fd3JhcGVwciB7XHJcblxyXG4gICAgICB9XHJcbiAgICAgICZfX2NvbnRlbnQge1xyXG4gICAgICAgICBwYWRkaW5nLXRvcCAxMzJweFxyXG4gICAgICB9XHJcbiAgICAgICZfX3RpdGxlIHtcclxuICAgICAgICAgbWF4LXdpZHRoIDEwNzBweFxyXG4gICAgICAgICBtYXJnaW4tbGVmdCBhdXRvXHJcbiAgICAgICAgIG1hcmdpbi1yaWdodCBhdXRvXHJcbiAgICAgICAgIGNvbG9yICRjb2xvci13aGl0ZVxyXG4gICAgICAgICBmb250LWZhbWlseSAkZm9udC1yb2JvdG9cclxuICAgICAgICAgZm9udC13ZWlnaHQgMzAwXHJcbiAgICAgICAgIG1hcmdpbi1ib3R0b20gMTQ4cHhcclxuICAgICAgICAgJi1oMiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZSAxMTVweFxyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZyAwLjA5NmVtXHJcbiAgICAgICAgIH1cclxuICAgICAgICAgJi1oMyB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZSA5MHB4XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nIDAuMTQxZW1cclxuICAgICAgICAgfVxyXG4gICAgICAgICAmLWg0IHtcclxuICAgICAgICAgICAgZm9udC1zaXplIDgwcHhcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmcgMC4xZW1cclxuICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgIH1cclxufVxyXG4rZG8oMTAwMCkge1xyXG4gICAuc2VjdGlvbiB7XHJcbiAgICAgICZfX2NvbnRlbnQge1xyXG4gICAgICAgICBwYWRkaW5nLXRvcCA5MHB4XHJcbiAgICAgIH1cclxuICAgICAgJl9fdGl0bGUge1xyXG4gICAgICAgICBtYXJnaW4tYm90dG9tIDkwcHhcclxuICAgICAgICAgJi1oMiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZSA5M3B4XHJcbiAgICAgICAgIH1cclxuICAgICAgICAgJi1oMyB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZSA3NHB4XHJcbiAgICAgICAgIH1cclxuICAgICAgICAgJi1oNCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZSA2NXB4XHJcbiAgICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmX19saW5rLXdyYXBwZXIge1xyXG4gICAgICAgICBtYXJnaW4tYm90dG9tIDkwcHhcclxuICAgICAgfVxyXG4gICB9XHJcbn1cclxuXHJcbitkbyg4NTApIHtcclxuICAgLnNlY3Rpb24ge1xyXG4gICAgICAmX19jb250ZW50IHtcclxuICAgICAgICAgcGFkZGluZy10b3AgNzVweFxyXG4gICAgICB9XHJcbiAgICAgICZfX3RpdGxlIHtcclxuICAgICAgICAgbWFyZ2luLWJvdHRvbSA3NXB4XHJcbiAgICAgICAgICYtaDIge1xyXG4gICAgICAgICAgICBmb250LXNpemUgODZweFxyXG4gICAgICAgICB9XHJcbiAgICAgICAgICYtaDMge1xyXG4gICAgICAgICAgICBmb250LXNpemUgNjhweFxyXG4gICAgICAgICB9XHJcbiAgICAgICAgICYtaDQge1xyXG4gICAgICAgICAgICBmb250LXNpemUgNjBweFxyXG4gICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJl9fbGluay13cmFwcGVyIHtcclxuICAgICAgICAgbWFyZ2luLWJvdHRvbSA3NXB4XHJcbiAgICAgIH1cclxuICAgfVxyXG59XHJcbitkbyg3NTApIHtcclxuICAgLnNlY3Rpb24ge1xyXG4gICAgICAmX19jb250ZW50IHtcclxuICAgICAgICAgcGFkZGluZy10b3AgNTBweFxyXG4gICAgICB9XHJcbiAgICAgICZfX3RpdGxlIHtcclxuICAgICAgICAgbWFyZ2luLWJvdHRvbSA1MHB4XHJcbiAgICAgICAgICYtaDIge1xyXG4gICAgICAgICAgICBmb250LXNpemUgNjVweFxyXG4gICAgICAgICB9XHJcbiAgICAgICAgICYtaDMge1xyXG4gICAgICAgICAgICBmb250LXNpemUgNTJweFxyXG4gICAgICAgICB9XHJcbiAgICAgICAgICYtaDQge1xyXG4gICAgICAgICAgICBmb250LXNpemUgNDVweFxyXG4gICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJl9fbGluay13cmFwcGVyIHtcclxuICAgICAgICAgbWFyZ2luLWJvdHRvbSA1MHB4XHJcbiAgICAgIH1cclxuICAgfVxyXG59XHJcbitkbyg2MDApIHtcclxuICAgLnNlY3Rpb24ge1xyXG4gICAgICAmX190aXRsZSB7XHJcbiAgICAgICAgICYtaDIge1xyXG4gICAgICAgICAgICBmb250LXNpemUgNTFweFxyXG4gICAgICAgICB9XHJcbiAgICAgICAgICYtaDMge1xyXG4gICAgICAgICAgICBmb250LXNpemUgNDFweFxyXG4gICAgICAgICB9XHJcbiAgICAgICAgICYtaDQge1xyXG4gICAgICAgICAgICBmb250LXNpemUgMzVweFxyXG4gICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgfVxyXG59XHJcbitkbyg1MDApIHtcclxuICAgLnNlY3Rpb24ge1xyXG4gICAgICAmX190aXRsZSB7XHJcbiAgICAgICAgICYtaDIge1xyXG4gICAgICAgICAgICBmb250LXNpemUgMzdweFxyXG4gICAgICAgICB9XHJcbiAgICAgICAgICYtaDMge1xyXG4gICAgICAgICAgICBmb250LXNpemUgMjlweFxyXG4gICAgICAgICB9XHJcbiAgICAgICAgICYtaDQge1xyXG4gICAgICAgICAgICBmb250LXNpemUgMjVweFxyXG4gICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgfVxyXG59XHJcbitkbygzNTApIHtcclxuICAgLnNlY3Rpb24ge1xyXG4gICAgICAmX190aXRsZSB7XHJcbiAgICAgICAgICYtaDIge1xyXG4gICAgICAgICAgICBmb250LXNpemUgMzNweFxyXG4gICAgICAgICB9XHJcbiAgICAgICAgICYtaDMge1xyXG4gICAgICAgICAgICBmb250LXNpemUgMjZweFxyXG4gICAgICAgICB9XHJcbiAgICAgICAgICYtaDQge1xyXG4gICAgICAgICAgICBmb250LXNpemUgMjNweFxyXG4gICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgfVxyXG59XHJcbi5zZWN0aW9uLWxpbmsge1xyXG4gICBkaXNwbGF5IGZsZXhcclxuICAgZmxleC1kaXJlY3Rpb24gY29sdW1uXHJcbiAgIGJhY2tncm91bmQtY29sb3IgJGNvbG9yLXdoaXRlXHJcbiAgIHRleHQtZGVjb3JhdGlvbiBub25lXHJcbiAgIHBhZGRpbmcgOXB4IDg2cHggMzZweFxyXG4gICBib3JkZXItcmFkaXVzIDIwcHhcclxuICAgJl9fdGV4dCB7XHJcbiAgICAgIGZvbnQtZmFtaWx5ICRmb250LXJvYm90b1xyXG4gICAgICBmb250LXdlaWdodCA3MDBcclxuICAgICAgJl92aW9sZXQge1xyXG4gICAgICAgICBmb250LXNpemUgMTAwcHhcclxuICAgICAgICAgbGV0dGVyLXNwYWNpbmcgMC4xZW1cclxuICAgICAgICAgbGluZS1oZWlnaHQgMS4yXHJcbiAgICAgICAgIGNvbG9yICRjb2xvci12aW9sZXRcclxuICAgICAgfVxyXG4gICAgICAmX2JsdWUge1xyXG4gICAgICAgICBmb250LXNpemUgNzNweFxyXG4gICAgICAgICBsZXR0ZXItc3BhY2luZyAwLjA1ZW1cclxuICAgICAgICAgbGluZS1oZWlnaHQgMVxyXG4gICAgICAgICBjb2xvciAkY29sb3ItYmx1ZVxyXG4gICAgICB9XHJcbiAgIH1cclxufVxyXG5cclxuK2RvKDEwMDApIHtcclxuICAgLnNlY3Rpb24tbGluayB7XHJcbiAgICAgIHBhZGRpbmcgOXB4IDg2cHggMzZweFxyXG4gICAgICAmX190ZXh0IHtcclxuICAgICAgICAgJl92aW9sZXQge1xyXG4gICAgICAgICAgICBmb250LXNpemUgODVweFxyXG4gICAgICAgICB9XHJcbiAgICAgICAgICZfYmx1ZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZSA2M3B4XHJcbiAgICAgICAgIH1cclxuICAgICAgfVxyXG4gICB9XHJcbn1cclxuK2RvKDg1MCkge1xyXG4gICAuc2VjdGlvbi1saW5rIHtcclxuICAgICAgcGFkZGluZyA5cHggNjVweCAyNXB4XHJcbiAgICAgICZfX3RleHQge1xyXG4gICAgICAgICAmX3Zpb2xldCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZSA2MHB4XHJcbiAgICAgICAgIH1cclxuICAgICAgICAgJl9ibHVlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplIDQ1cHhcclxuICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgIH1cclxufVxyXG4rZG8oNzUwKSB7XHJcbiAgIC5zZWN0aW9uLWxpbmsge1xyXG4gICAgICBwYWRkaW5nIDlweCA0NXB4IDI1cHhcclxuICAgICAgJl9fdGV4dCB7XHJcbiAgICAgICAgICZfdmlvbGV0IHtcclxuICAgICAgICAgICAgZm9udC1zaXplIDUwcHhcclxuICAgICAgICAgfVxyXG4gICAgICAgICAmX2JsdWUge1xyXG4gICAgICAgICAgICBmb250LXNpemUgMzhweFxyXG4gICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgfVxyXG59XHJcbitkbyg2MDApIHtcclxuICAgLnNlY3Rpb24tbGluayB7XHJcbiAgICAgICZfX3RleHQge1xyXG4gICAgICAgICAmX3Zpb2xldCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZSA0MHB4XHJcbiAgICAgICAgIH1cclxuICAgICAgICAgJl9ibHVlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplIDMwcHhcclxuICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgIH1cclxufVxyXG4rZG8oNTAwKSB7XHJcbiAgIC5zZWN0aW9uLWxpbmsge1xyXG4gICAgICBwYWRkaW5nIDlweCAzN3B4IDE4cHhcclxuICAgICAgJl9fdGV4dCB7XHJcbiAgICAgICAgICZfdmlvbGV0IHtcclxuICAgICAgICAgICAgZm9udC1zaXplIDMwcHhcclxuICAgICAgICAgfVxyXG4gICAgICAgICAmX2JsdWUge1xyXG4gICAgICAgICAgICBmb250LXNpemUgMjJweFxyXG4gICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgfVxyXG59XHJcbiIsIkBrZXlmcmFtZXMgcG9wdXAge1xyXG4gICAwJSB7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgfVxyXG4gICAyMCUge1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNyUpO1xyXG4gICB9XHJcbiAgIDMwJSB7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzJSk7XHJcbiAgIH1cclxuICAgNDAlIHtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDclKTtcclxuICAgfVxyXG4gICA1MCUge1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMyUpO1xyXG4gICB9XHJcbiAgIDYwJSB7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg3JSk7XHJcbiAgIH1cclxuICAgNzAlIHtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMlKTtcclxuICAgfVxyXG4gICA4MCUge1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNyUpO1xyXG4gICB9XHJcbiAgIDEwMCUge1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgIH1cclxufVxyXG5cclxuLnRhYmxlcyB7XHJcbiAgIGFuaW1hdGlvbjogcG9wdXAgMTVzIDJzIGVhc2UgaW5maW5pdGU7XHJcbn0iXX0= */
