.c-summary-card-list-component {
  background-color: #004D61;
  position: relative; }
  .c-summary-card-list-component--padding {
    padding-top: 50px;
    padding-bottom: 90px; }
    @media (min-width: 960px) {
      .c-summary-card-list-component--padding {
        padding-top: 60px;
        padding-bottom: 160px; } }
  .c-summary-card-list-component--white {
    background-color: #fff; }
  .c-summary-card-list-component--remove-padding-bottom {
    padding-bottom: 0; }
  .c-summary-card-list-component__shapes {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    overflow: hidden; }
  @media (min-width: 960px) {
    .c-summary-card-list-component__container {
      max-width: 1330px;
      margin: 0 auto; } }
  .c-summary-card-list-component__container--grid {
    padding-left: 25px;
    padding-right: 25px;
    max-width: 1330px;
    margin: 0 auto; }
  .c-summary-card-list-component__items--grid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-flow: wrap;
        flex-flow: wrap; }
  .c-summary-card-list-component__items--slider {
    padding-left: 12.5px;
    padding-right: 0px;
    display: block; }
    @media (min-width: 960px) {
      .c-summary-card-list-component__items--slider {
        padding-left: 0px; } }
  .c-summary-card-list-component__items--margin-bottom {
    margin-bottom: 30px; }
    @media (min-width: 960px) {
      .c-summary-card-list-component__items--margin-bottom {
        margin-bottom: 45px; } }
  .c-summary-card-list-component__items--stack-at-medium {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
    @media (max-width: 959px) {
      .c-summary-card-list-component__items--stack-at-medium {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-flow: column;
                flex-flow: column; } }
  @media (max-width: 399px) {
    .c-summary-card-list-component__items.display-card-full-width-on-small-mobile .summary-card {
      width: 100%; } }
  .c-summary-card-list-component__summary {
    font-size: 1.25rem;
    color: #3C3C3B; }
    .c-summary-card-list-component__summary p {
      font-size: 1.25rem; }
    .c-summary-card-list-component__summary--white {
      color: #fff; }
    .c-summary-card-list-component__summary--bigger p {
      font-size: 1.5rem; }
  .c-summary-card-list-component__content {
    text-align: center;
    margin-bottom: 45px;
    position: relative;
    z-index: 5; }
    @media (min-width: 960px) {
      .c-summary-card-list-component__content {
        padding: 0 23%; } }
  .c-summary-card-list-component__button-container {
    text-align: center;
    margin-top: 25px; }
  .c-summary-card-list-component__shape1 {
    position: absolute;
    width: 700px;
    top: -265px;
    left: -350px; }
    @media (max-width: 959px) {
      .c-summary-card-list-component__shape1 {
        height: 1px;
        width: 1px;
        clip: rect(1px 1px 1px 1px);
        clip: rect(1px, 1px, 1px, 1px);
        -webkit-clip-path: polygon(0px 0px, 0px 0px, 0px 0px);
                clip-path: polygon(0px 0px, 0px 0px, 0px 0px);
        overflow: hidden !important; } }
    @media (min-width: 960px) {
      .c-summary-card-list-component__shape1 {
        left: -480px; } }
    @media (min-width: 1330px) {
      .c-summary-card-list-component__shape1 {
        left: -255px; } }
    .c-summary-card-list-component__shape1 svg {
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg); }
      .c-summary-card-list-component__shape1 svg .st0 {
        fill: #fbd9db; }
      .c-summary-card-list-component__shape1 svg .st1 {
        fill: #009CDE; }
      .c-summary-card-list-component__shape1 svg .st2 {
        fill: #3A8433; }
  .c-summary-card-list-component__shape2 {
    position: absolute;
    width: 700px;
    bottom: -245px;
    right: -430px; }
    @media (max-width: 399px) {
      .c-summary-card-list-component__shape2 {
        bottom: -160px; } }
    @media (min-width: 400px) {
      .c-summary-card-list-component__shape2 {
        bottom: -315px; } }
    @media (min-width: 640px) {
      .c-summary-card-list-component__shape2 {
        right: -422px;
        bottom: -260px; } }
    @media (min-width: 1330px) {
      .c-summary-card-list-component__shape2 {
        right: -440px;
        bottom: -255px; } }
    @media (min-width: 1440px) {
      .c-summary-card-list-component__shape2 {
        right: -300px; } }
    @media (min-width: 1920px) {
      .c-summary-card-list-component__shape2 {
        right: -180px; } }
    .c-summary-card-list-component__shape2 svg .st0 {
      fill: #fbd9db; }
    .c-summary-card-list-component__shape2 svg .st1 {
      fill: #009CDE; }
    .c-summary-card-list-component__shape2 svg .st2 {
      fill: #FFB323; }
  .c-summary-card-list-component__shape3 {
    position: absolute;
    width: 700px;
    height: 100%;
    bottom: -735px;
    left: -80px; }
    @media (min-width: 400px) {
      .c-summary-card-list-component__shape3 {
        bottom: -470px; } }
    @media (min-width: 640px) {
      .c-summary-card-list-component__shape3 {
        bottom: -500px; } }
    @media (min-width: 960px) {
      .c-summary-card-list-component__shape3 {
        left: 50%;
        bottom: -475px; } }
    .c-summary-card-list-component__shape3 svg .st0 {
      fill: #fbd9db; }
    .c-summary-card-list-component__shape3 svg .st1 {
      fill: #009CDE; }
    .c-summary-card-list-component__shape3 svg .st2 {
      fill: #3A8433; }
  .c-summary-card-list-component__background-logo {
    position: absolute;
    max-width: 700px;
    width: 100%;
    bottom: 0;
    left: 50%;
    margin-right: -50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    z-index: 0; }
    @media (max-width: 959px) {
      .c-summary-card-list-component__background-logo {
        bottom: auto;
        top: 130px; } }
    .c-summary-card-list-component__background-logo svg {
      fill: #e5f5fc; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIjA0LWNvbXBvbmVudHMvc3VtbWFyeS1jYXJkLWxpc3QtY29tcG9uZW50LnNjc3MiLCJzZXR0aW5ncy9fY29sb3Vycy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9fYnJlYWtwb2ludC5zY3NzIiwic2V0dGluZ3MvX2dyaWQuc2NzcyIsInRvb2xzL21peGlucy9fbWl4aW5zLnNjc3MiLCJ0b29scy9mdW5jdGlvbnMvX3B4LXRvLXJlbS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBO0VBQ0kseUJDSzhCO0VESjlCLGtCQUFrQixFQUFBO0VBRWxCO0lBQ0ksaUJBQWlCO0lBQ2pCLG9CQUFvQixFQUFBO0lFd0R4QjtNRjFEQTtRQUtRLGlCQUFpQjtRQUNqQixxQkFBcUIsRUFBQSxFQUU1QjtFQUVEO0lBQ0ksc0JBQXNCLEVBQUE7RUFHMUI7SUFDSSxpQkFBaUIsRUFBQTtFQUdyQjtJQUNJLGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gsWUFBWTtJQUNaLE1BQU07SUFDTixPQUFPO0lBQ1AsZ0JBQWdCLEVBQUE7RUVrQ3BCO0lGL0JBO01BRVEsaUJHL0JlO01IZ0NmLGNBQWMsRUFBQSxFQU1yQjtFQUhHO0lJOUJKLGtCQUR5QztJQUV6QyxtQkFGK0Q7SUFHL0QsaUJEUHVCO0lDUXZCLGNBQWMsRUFBQTtFSmlDVjtJQUNJLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2Isd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFDdkIsbUJBQWU7UUFBZixlQUFlLEVBQUE7RUFHbkI7SUFDSSxvQkFBb0I7SUFDcEIsa0JBQWtCO0lBQ2xCLGNBQWMsRUFBQTtJRVV0QjtNRmJJO1FBTVEsaUJBQWlCLEVBQUEsRUFFeEI7RUFFRDtJQUNJLG1CQUFtQixFQUFBO0lFRTNCO01GSEk7UUFJUSxtQkFBbUIsRUFBQSxFQUUxQjtFQUVEO0lBQ0ksb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QixFQUFBO0lFUC9CO01GS0k7UUFLUSw0QkFBaUI7UUFBakIsNkJBQWlCO1lBQWpCLHFCQUFpQjtnQkFBakIsaUJBQWlCLEVBQUEsRUFFeEI7RUVaTDtJRnBCQztNQXFDZSxXQUFXLEVBQUEsRUFDZDtFQUtiO0lBQ0ksa0JLdERvRDtJTHVEcEQsY0NsRm1CLEVBQUE7SURnRnRCO01BS08sa0JLMURnRCxFQUFBO0lMNkRwRDtNQUNJLFdBQVcsRUFBQTtJQUdkO01BRU8saUJLbkU0QyxFQUFBO0VMd0V4RDtJQUNJLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsa0JBQWtCO0lBQ2xCLFVBQVUsRUFBQTtJRTlDZDtNRjBDQTtRQU9RLGNBQWMsRUFBQSxFQUVyQjtFQUVEO0lBQ0ksa0JBQWtCO0lBQ2xCLGdCR3BISyxFQUFBO0VIdUhUO0lBQ0ksa0JBQWtCO0lBQ2xCLFlBQVk7SUFDWixXQUFXO0lBQ1gsWUFBWSxFQUFBO0lFOURoQjtNRjBEQTtRQU9RLFdBQVc7UUFDWCxVQUFVO1FBQ1YsMkJBQTJCO1FBQzNCLDhCQUE4QjtRQUM5QixxREFBNkM7Z0JBQTdDLDZDQUE2QztRQUM3QywyQkFBMkIsRUFBQSxFQTBCbEM7SUVoR0Q7TUYwREE7UUFnQlEsWUFBWSxFQUFBLEVBc0JuQjtJRWhHRDtNRjBEQTtRQW9CUSxZQUFZLEVBQUEsRUFrQm5CO0lBdENBO01Bd0JPLGdDQUF5QjtjQUF6Qix3QkFBeUIsRUFBQTtNQXhCaEM7UUEyQlcsYUFBYSxFQUFBO01BM0J4QjtRQStCVyxhQ2hKWSxFQUFBO01EaUh2QjtRQW1DVyxhQ3ZKVSxFQUFBO0VENEp0QjtJQUNJLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osY0FBYztJQUNkLGFBQWEsRUFBQTtJRXRHakI7TUZrR0E7UUFPUSxjQUFjLEVBQUEsRUFzQ3JCO0lFL0lEO01Ga0dBO1FBV1EsY0FBYyxFQUFBLEVBa0NyQjtJRS9JRDtNRmtHQTtRQWVRLGFBQWE7UUFDYixjQUFjLEVBQUEsRUE2QnJCO0lFL0lEO01Ga0dBO1FBb0JRLGFBQWE7UUFDYixjQUFjLEVBQUEsRUF3QnJCO0lFL0lEO01Ga0dBO1FBeUJRLGFBQWEsRUFBQSxFQW9CcEI7SUUvSUQ7TUZrR0E7UUE2QlEsYUFBYSxFQUFBLEVBZ0JwQjtJQTdDQTtNQWtDVyxhQUFhLEVBQUE7SUFsQ3hCO01Bc0NXLGFDL0xZLEVBQUE7SUR5SnZCO01BMENXLGFDL0xVLEVBQUE7RURvTXRCO0lBQ0ksa0JBQWtCO0lBQ2xCLFlBQVk7SUFDWixZQUFZO0lBQ1osY0FBYztJQUNkLFdBQVcsRUFBQTtJRXRKZjtNRmlKQTtRQVFRLGNBQWMsRUFBQSxFQXlCckI7SUVsTEQ7TUZpSkE7UUFZUSxjQUFjLEVBQUEsRUFxQnJCO0lFbExEO01GaUpBO1FBZ0JRLFNBQVM7UUFDVCxjQUFjLEVBQUEsRUFnQnJCO0lBakNBO01Bc0JXLGFBQWEsRUFBQTtJQXRCeEI7TUEwQlcsYUNsT1ksRUFBQTtJRHdNdkI7TUE4QlcsYUN6T1UsRUFBQTtFRDhPdEI7SUFDSSxrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLFdBQVc7SUFDWCxTQUFTO0lBQ1QsU0FBUztJQUNULGtCQUFrQjtJQUNsQixtQ0FBMkI7WUFBM0IsMkJBQTJCO0lBQzNCLFVBQVUsRUFBQTtJRTVMZDtNRm9MQTtRQVdRLFlBQVk7UUFDWixVQUFVLEVBQUEsRUFNakI7SUFsQkE7TUFnQk8sYUFBYSxFQUFBIiwiZmlsZSI6IjA0LWNvbXBvbmVudHMvc3VtbWFyeS1jYXJkLWxpc3QtY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCIuLi9jb3JlXCI7XHJcblxyXG4uYy1zdW1tYXJ5LWNhcmQtbGlzdC1jb21wb25lbnQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogYnJhbmQtY29sb3VyKCdhbHBoYScpO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICYtLXBhZGRpbmcge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA5MHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGdldC1icmVha3BvaW50KG1pbiwgbWVkaXVtKSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNjBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE2MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLS13aGl0ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIH1cclxuXHJcbiAgICAmLS1yZW1vdmUtcGFkZGluZy1ib3R0b20ge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgfVxyXG5cclxuICAgICZfX3NoYXBlcyB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2NvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChnZXQtYnJlYWtwb2ludChtaW4sIG1lZGl1bSkpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAkZ3JpZDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLS1ncmlkIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgc3RhbmRhcmQtY29udGFpbmVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19pdGVtcyB7XHJcbiAgICAgICAgJi0tZ3JpZCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBmbGV4LWZsb3c6IHdyYXA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLS1zbGlkZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEyLjVweDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZ2V0LWJyZWFrcG9pbnQobWluLCBtZWRpdW0pKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi0tbWFyZ2luLWJvdHRvbSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGdldC1icmVha3BvaW50KG1pbiwgbWVkaXVtKSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi0tc3RhY2stYXQtbWVkaXVtIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGdldC1icmVha3BvaW50KG1heCwgbWVkaXVtKSkge1xyXG4gICAgICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuZGlzcGxheS1jYXJkLWZ1bGwtd2lkdGgtb24tc21hbGwtbW9iaWxlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChnZXQtYnJlYWtwb2ludChtYXgsIHgtc21hbGwpKSB7XHJcbiAgICAgICAgICAgICAgICAuc3VtbWFyeS1jYXJkIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19zdW1tYXJ5IHtcclxuICAgICAgICBmb250LXNpemU6IHJlbSgyMHB4KTtcclxuICAgICAgICBjb2xvcjogYnJhbmQtY29sb3VyKCdob3RlbCcpO1xyXG5cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjBweCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLS13aGl0ZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi0tYmlnZ2VyIHtcclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgyNHB4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19jb250ZW50IHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDVweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogNTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChnZXQtYnJlYWtwb2ludChtaW4sIG1lZGl1bSkpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAyMyU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2J1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW4tdG9wOiAkZ3V0dGVyO1xyXG4gICAgfVxyXG5cclxuICAgICZfX3NoYXBlMSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHdpZHRoOiA3MDBweDtcclxuICAgICAgICB0b3A6IC0yNjVweDtcclxuICAgICAgICBsZWZ0OiAtMzUwcHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZ2V0LWJyZWFrcG9pbnQobWF4LCBtZWRpdW0pKSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMXB4O1xyXG4gICAgICAgICAgICBjbGlwOiByZWN0KDFweCAxcHggMXB4IDFweCk7XHJcbiAgICAgICAgICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcclxuICAgICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDBweCAwcHgsIDBweCAwcHgsIDBweCAwcHgpO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGdldC1icmVha3BvaW50KG1pbiwgbWVkaXVtKSkge1xyXG4gICAgICAgICAgICBsZWZ0OiAtNDgwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGdldC1icmVha3BvaW50KG1pbiwgbGFyZ2UpKSB7XHJcbiAgICAgICAgICAgIGxlZnQ6IC0yNTVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKCA5MGRlZyk7XHJcblxyXG4gICAgICAgICAgICAuc3QwIHtcclxuICAgICAgICAgICAgICAgIGZpbGw6ICNmYmQ5ZGI7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5zdDEge1xyXG4gICAgICAgICAgICAgICAgZmlsbDogYnJhbmQtY29sb3VyKCdicmF2bycpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuc3QyIHtcclxuICAgICAgICAgICAgICAgIGZpbGw6IGJyYW5kLWNvbG91cignZWNobycpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX3NoYXBlMiB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHdpZHRoOiA3MDBweDtcclxuICAgICAgICBib3R0b206IC0yNDVweDtcclxuICAgICAgICByaWdodDogLTQzMHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGdldC1icmVha3BvaW50KG1heCwgeC1zbWFsbCkpIHtcclxuICAgICAgICAgICAgYm90dG9tOiAtMTYwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGdldC1icmVha3BvaW50KG1pbiwgeC1zbWFsbCkpIHtcclxuICAgICAgICAgICAgYm90dG9tOiAtMzE1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGdldC1icmVha3BvaW50KG1pbiwgc21hbGwpKSB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAtNDIycHg7XHJcbiAgICAgICAgICAgIGJvdHRvbTogLTI2MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChnZXQtYnJlYWtwb2ludChtaW4sIGxhcmdlKSkge1xyXG4gICAgICAgICAgICByaWdodDogLTQ0MHB4O1xyXG4gICAgICAgICAgICBib3R0b206IC0yNTVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZ2V0LWJyZWFrcG9pbnQobWluLCB4LWxhcmdlKSkge1xyXG4gICAgICAgICAgICByaWdodDogLTMwMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChnZXQtYnJlYWtwb2ludChtaW4sIHdpZGUpKSB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAtMTgwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAuc3QwIHtcclxuICAgICAgICAgICAgICAgIGZpbGw6ICNmYmQ5ZGI7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5zdDEge1xyXG4gICAgICAgICAgICAgICAgZmlsbDogYnJhbmQtY29sb3VyKCdicmF2bycpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuc3QyIHtcclxuICAgICAgICAgICAgICAgIGZpbGw6IGJyYW5kLWNvbG91cignZGVsdGEnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19zaGFwZTMge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB3aWR0aDogNzAwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGJvdHRvbTogLTczNXB4O1xyXG4gICAgICAgIGxlZnQ6IC04MHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGdldC1icmVha3BvaW50KG1pbiwgeC1zbWFsbCkpIHtcclxuICAgICAgICAgICAgYm90dG9tOiAtNDcwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGdldC1icmVha3BvaW50KG1pbiwgc21hbGwpKSB7XHJcbiAgICAgICAgICAgIGJvdHRvbTogLTUwMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChnZXQtYnJlYWtwb2ludChtaW4sIG1lZGl1bSkpIHtcclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICBib3R0b206IC00NzVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgIC5zdDAge1xyXG4gICAgICAgICAgICAgICAgZmlsbDogI2ZiZDlkYjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnN0MSB7XHJcbiAgICAgICAgICAgICAgICBmaWxsOiBicmFuZC1jb2xvdXIoJ2JyYXZvJyk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5zdDIge1xyXG4gICAgICAgICAgICAgICAgZmlsbDogYnJhbmQtY29sb3VyKCdlY2hvJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fYmFja2dyb3VuZC1sb2dvIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA3MDBweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogLTUwJTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgICAgei1pbmRleDogMDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChnZXQtYnJlYWtwb2ludChtYXgsIG1lZGl1bSkpIHtcclxuICAgICAgICAgICAgYm90dG9tOiBhdXRvO1xyXG4gICAgICAgICAgICB0b3A6IDEzMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgZmlsbDogI2U1ZjVmYztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCJAaW1wb3J0IFwiLi4vdG9vbHMvZnVuY3Rpb25zL21hcHNcIjtcclxuXHJcbi8vICMgQ29sb3JzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcGFsZXR0ZTogKFxyXG4gICAgY29sb3VyLWdvYmxpbjogIzNBODQzMyxcclxuICAgIGNvbG91ci10dWF0YXJhOiAjM0MzQzNCLFxyXG4gICAgY29sb3VyLWFzdHJvbmF1dC1ibHVlOiAjMDA0RDYxLFxyXG4gICAgY29sb3VyLWNlcnVsZWFuOiAjMDA5Q0RFLFxyXG4gICAgY29sb3VyLWNoaW5vOiAjQ0ZDNUE4LFxyXG4gICAgY29sb3VyLWNhbi1jYW46ICNENjk4QkYsXHJcbiAgICBjb2xvdXItY2lubmFiYXI6ICNFMzU1M0QsXHJcbiAgICBjb2xvdXItbXktc2luOiAjRkZCMzIzXHJcbik7XHJcblxyXG5AZnVuY3Rpb24gcGFsZXR0ZSgka2V5KSB7XHJcbiAgICBAcmV0dXJuIG1hcC1nZXQoJHBhbGV0dGUsICRrZXkpO1xyXG59XHJcblxyXG4kYnJhbmQtY29sb3VyczogKFxyXG4gICAgYWxwaGE6IHBhbGV0dGUoJ2NvbG91ci1hc3Ryb25hdXQtYmx1ZScpLFxyXG4gICAgYnJhdm86IHBhbGV0dGUoJ2NvbG91ci1jZXJ1bGVhbicpLFxyXG4gICAgY2hhcmxpZTogcGFsZXR0ZSgnY29sb3VyLWNpbm5hYmFyJyksXHJcbiAgICBkZWx0YTogcGFsZXR0ZSgnY29sb3VyLW15LXNpbicpLFxyXG4gICAgZWNobzogcGFsZXR0ZSgnY29sb3VyLWdvYmxpbicpLFxyXG4gICAgZm94dHJvdDogcGFsZXR0ZSgnY29sb3VyLWNhbi1jYW4nKSxcclxuICAgIGdvbGY6IHBhbGV0dGUoJ2NvbG91ci1jaGlubycpLFxyXG4gICAgaG90ZWw6IHBhbGV0dGUoJ2NvbG91ci10dWF0YXJhJylcclxuKTtcclxuXHJcbkBmdW5jdGlvbiBicmFuZC1jb2xvdXIoJGtleSkge1xyXG4gICAgQHJldHVybiBtYXAtZ2V0KCRicmFuZC1jb2xvdXJzLCAka2V5KTtcclxufVxyXG5cclxuJGZ1bmN0aW9uYWwtY29sb3VyczogKFxyXG4gICAgYm9keTogKFxyXG4gICAgICAgIGJhc2U6IGJyYW5kLWNvbG91cignaG90ZWwnKVxyXG4gICAgKVxyXG4pO1xyXG5cclxuQGZ1bmN0aW9uIGZ1bmN0aW9uYWwtY29sb3VyKCRzZWN0aW9uLCAkdmFsdWUpIHtcclxuICAgIEByZXR1cm4gbWFwLWRlZXAtZ2V0KCRmdW5jdGlvbmFsLWNvbG91cnMsICRzZWN0aW9uLCAkdmFsdWUpO1xyXG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBEZWZhdWx0IFZhcmlhYmxlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kQnJlYWtwb2ludC1TZXR0aW5nczogKFxuICAnZGVmYXVsdCBtZWRpYSc6IGFsbCxcbiAgJ2RlZmF1bHQgZmVhdHVyZSc6IG1pbi13aWR0aCxcbiAgJ2RlZmF1bHQgcGFpcic6IHdpZHRoLFxuXG4gICdmb3JjZSBhbGwgbWVkaWEgdHlwZSc6IGZhbHNlLFxuICAndG8gZW1zJzogZmFsc2UsXG4gICd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnOiB0cnVlLFxuXG4gICdubyBxdWVyaWVzJzogZmFsc2UsXG4gICdubyBxdWVyeSBmYWxsYmFja3MnOiBmYWxzZSxcblxuICAnYmFzZSBmb250IHNpemUnOiAxNnB4LFxuXG4gICdsZWdhY3kgc3ludGF4JzogZmFsc2Vcbik7XG5cbiRicmVha3BvaW50OiAoKSAhZGVmYXVsdDtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBJbXBvcnRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgXCJicmVha3BvaW50L3NldHRpbmdzXCI7XG5AaW1wb3J0ICdicmVha3BvaW50L2NvbnRleHQnO1xuQGltcG9ydCAnYnJlYWtwb2ludC9oZWxwZXJzJztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvcGFyc2Vycyc7XG5AaW1wb3J0ICdicmVha3BvaW50L25vLXF1ZXJ5JztcblxuQGltcG9ydCAnYnJlYWtwb2ludC9yZXNwb25kLXRvJztcblxuQGltcG9ydCBcImJyZWFrcG9pbnQvbGVnYWN5LXNldHRpbmdzXCI7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQnJlYWtwb2ludCBNaXhpblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaW5jbHVkZSBsZWdhY3ktc2V0dGluZ3Mtd2FybmluZztcblxuICAvLyBSZXNldCBjb250ZXh0c1xuICBAaW5jbHVkZSBwcml2YXRlLWJyZWFrcG9pbnQtcmVzZXQtY29udGV4dHMoKTtcblxuICAkYnJlYWtwb2ludDogYnJlYWtwb2ludCgkcXVlcnksIGZhbHNlKTtcblxuICAkcXVlcnktc3RyaW5nOiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnknKTtcbiAgJHF1ZXJ5LWZhbGxiYWNrOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnZmFsbGJhY2snKTtcblxuICAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnY29udGV4dCBob2xkZXInKSAhZ2xvYmFsO1xuICAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnkgY291bnQnKSAhZ2xvYmFsO1xuXG4gIC8vIEFsbG93IGZvciBhbiBhcy1uZWVkZWQgb3ZlcnJpZGUgb3IgdXNhZ2Ugb2Ygbm8gcXVlcnkgZmFsbGJhY2suXG4gIEBpZiAkbm8tcXVlcnkgIT0gZmFsc2Uge1xuICAgICRxdWVyeS1mYWxsYmFjazogJG5vLXF1ZXJ5O1xuICB9XG5cbiAgQGlmICRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSB7XG4gICAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJ25vLXF1ZXJ5JywgJHF1ZXJ5LWZhbGxiYWNrKTtcbiAgfVxuXG4gIC8vIFByaW50IE91dCBRdWVyeSBTdHJpbmdcbiAgQGlmIG5vdCBicmVha3BvaW50LWdldCgnbm8gcXVlcmllcycpIHtcbiAgICBAbWVkaWEgI3skcXVlcnktc3RyaW5nfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpICE9IGZhbHNlIG9yIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyaWVzJykgPT0gdHJ1ZSB7XG5cbiAgICAkdHlwZTogdHlwZS1vZihicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykpO1xuICAgICRwcmludDogZmFsc2U7XG5cbiAgICBAaWYgKCR0eXBlID09ICdib29sJykge1xuICAgICAgJHByaW50OiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ3N0cmluZycpIHtcbiAgICAgIEBpZiAkcXVlcnktZmFsbGJhY2sgPT0gYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpIHtcbiAgICAgICAgJHByaW50OiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ2xpc3QnKSB7XG4gICAgICBAZWFjaCAkd3JhcHBlciBpbiBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykge1xuICAgICAgICBAaWYgJHF1ZXJ5LWZhbGxiYWNrID09ICR3cmFwcGVyIHtcbiAgICAgICAgICAkcHJpbnQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBXcml0ZSBGYWxsYmFja1xuICAgIEBpZiAoJHF1ZXJ5LWZhbGxiYWNrICE9IGZhbHNlKSBhbmQgKCRwcmludCA9PSB0cnVlKSB7XG4gICAgICAkdHlwZS1mYWxsYmFjazogdHlwZS1vZigkcXVlcnktZmFsbGJhY2spO1xuXG4gICAgICBAaWYgKCR0eXBlLWZhbGxiYWNrICE9ICdib29sJykge1xuICAgICAgICAjeyRxdWVyeS1mYWxsYmFja30gJiB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcHJpdmF0ZS1icmVha3BvaW50LXJlc2V0LWNvbnRleHRzKCk7XG59XG5cblxuQG1peGluIG1xKCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vICMgR3JpZCBWYXJpYWJsZXNcclxuXHJcbiRjb2x1bW5zOiAxMjtcclxuJGd1dHRlcjogMjVweDtcclxuJGdyaWQ6IDEyODBweCArICRndXR0ZXIgKiAyO1xyXG5cclxuJGJsb2NrLW1hcmdpbjogJGd1dHRlciAqIDQ7XHJcbiRibG9jay1tYXJnaW4taGFsZjogJGd1dHRlcjtcclxuXHJcbiR0aW55OiAzMjBweDtcclxuJHgtc21hbGw6IDQwMHB4O1xyXG4kc21hbGw6IDY0MHB4O1xyXG4kbWVkaXVtOiA5NjBweDtcclxuJGxhcmdlLW1lZGl1bTogMTIwMHB4O1xyXG4kbGFyZ2U6ICRncmlkO1xyXG4keC1sYXJnZTogMTQ0MHB4O1xyXG4kd2lkZTogMTkyMHB4O1xyXG5cclxuJG1xLWJyZWFrcG9pbnRzOiAoXHJcbiAgbWluOiAoXHJcbiAgICB0aW55OiBtaW4td2lkdGggJHRpbnksXHJcbiAgICB4LXNtYWxsOiBtaW4td2lkdGggJHgtc21hbGwsXHJcbiAgICBzbWFsbDogbWluLXdpZHRoICRzbWFsbCxcclxuICAgIG1lZGl1bTogbWluLXdpZHRoICRtZWRpdW0sXHJcblx0bGFyZ2UtbWVkaXVtOiBtaW4td2lkdGggJGxhcmdlLW1lZGl1bSxcclxuICAgIGxhcmdlOiBtaW4td2lkdGggJGxhcmdlLFxyXG4gICAgeC1sYXJnZTogbWluLXdpZHRoICR4LWxhcmdlLFxyXG4gICAgd2lkZTogbWluLXdpZHRoICR3aWRlXHJcbiAgKSxcclxuICBtYXg6IChcclxuICAgIHRpbnk6IG1pbi13aWR0aCAoJHRpbnkgLSAxKSxcclxuICAgIHgtc21hbGw6IG1heC13aWR0aCAoJHgtc21hbGwgLSAxKSxcclxuICAgIHNtYWxsOiBtYXgtd2lkdGggKCRzbWFsbCAtIDEpLFxyXG4gICAgbWVkaXVtOiBtYXgtd2lkdGggKCRtZWRpdW0gLSAxKSxcclxuXHRsYXJnZS1tZWRpdW06IG1heC13aWR0aCAoJGxhcmdlLW1lZGl1bSAtIDEpLFxyXG4gICAgbGFyZ2U6IG1heC13aWR0aCAoJGxhcmdlIC0gMSksXHJcbiAgICB4LWxhcmdlOiBtYXgtd2lkdGggKCR4LWxhcmdlIC0gMSksXHJcbiAgICB3aWRlOiBtYXgtd2lkdGggKCR3aWRlIC0gMSlcclxuICApXHJcbik7XHJcblxyXG5AZnVuY3Rpb24gZ2V0LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQtdHlwZSwgJGJyZWFrcG9pbnQtdmFsdWUpIHtcclxuICBAcmV0dXJuIG1hcC1nZXQobWFwLWdldCgkbXEtYnJlYWtwb2ludHMsICRicmVha3BvaW50LXR5cGUpLCAkYnJlYWtwb2ludC12YWx1ZSk7XHJcbn1cclxuIiwiLy8gVGV4dCBvdmVyZmxvd1xyXG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXHJcbkBtaXhpbiB0ZXh0LW92ZXJmbG93IHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbkBtaXhpbiBzdGFuZGFyZC1jb250YWluZXIoJGxlZnQtcGFkZGluZzogMjVweCwgJHJpZ2h0LXBhZGRpbmc6IDI1cHgpIHtcclxuICAgIHBhZGRpbmctbGVmdDogJGxlZnQtcGFkZGluZztcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRyaWdodC1wYWRkaW5nO1xyXG4gICAgbWF4LXdpZHRoOiAkZ3JpZDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG59XHJcblxyXG5AbWl4aW4gZ3JpZC1ibG9jaygkY29scywgJGdyaWQtZ2FwLWhvcml6b250YWwsICRncmlkLWdhcC12ZXJ0aWNhbCkge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBtYXJnaW4tbGVmdDogLSRncmlkLWdhcC1ob3Jpem9udGFsIC8yO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAtJGdyaWQtZ2FwLWhvcml6b250YWwgLzI7XHJcbiAgICA+KiB7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoKCgxMDAlIC8gI3skY29sc30pIC0gKCN7JGdyaWQtZ2FwLWhvcml6b250YWx9KSkpO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRncmlkLWdhcC12ZXJ0aWNhbDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRncmlkLWdhcC1ob3Jpem9udGFsIC8gMjtcclxuICAgICAgICBtYXJnaW4tbGVmdDogJGdyaWQtZ2FwLWhvcml6b250YWwgLyAyO1xyXG4gICAgfVxyXG4gICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XHJcbiAgICAgICAgY29sdW1uLWdhcDogJGdyaWQtZ2FwLWhvcml6b250YWw7XHJcbiAgICAgICAgcm93LWdhcDogJGdyaWQtZ2FwLXZlcnRpY2FsO1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoJGNvbHMsIDFmcik7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDBweDtcclxuICAgICAgICA+KiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGNsZWFyZml4IHtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIE5vIEJ1bGxldHMgb24gbGlzdHNcclxuQG1peGluIG5vLWJ1bGxldCB7XHJcbiAgICBsaXN0LXN0eWxlLWltYWdlOiBub25lO1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbn1cclxuXHJcbkBtaXhpbiBuby1idWxsZXRzIHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBsaSB7XHJcbiAgICAgICAgQGluY2x1ZGUgbm8tYnVsbGV0O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gdGFibGVmeSgkdmFsaWdubWVudDogbWlkZGxlKSB7XHJcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgdmVydGljYWwtYWxpZ246ICR2YWxpZ25tZW50O1xyXG4gICAgZmxvYXQ6IG5vbmU7XHJcbiAgICBtYXJnaW46IDBweDtcclxuICAgIEBpbmNsdWRlIGd1dHRlcnMoaW5zaWRlKTtcclxufVxyXG5cclxuQG1peGluIGltZy1yZXNwb25zaXZlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG5AbWl4aW4gZmx1aWQtdHlwZSgkcHJvcGVydGllcywgJG1pbi12dywgJG1heC12dywgJG1pbi12YWx1ZSwgJG1heC12YWx1ZSkge1xyXG4gICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcclxuICAgICAgICAjeyRwcm9wZXJ0eX06ICRtaW4tdmFsdWU7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbi12dykge1xyXG4gICAgICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XHJcbiAgICAgICAgICAgICN7JHByb3BlcnR5fTogY2FsYygjeyRtaW4tdmFsdWV9ICsgI3tzdHJpcC11bml0KCRtYXgtdmFsdWUgLSAkbWluLXZhbHVlKX0gKiAoMTAwdncgLSAjeyRtaW4tdnd9KSAvICN7c3RyaXAtdW5pdCgkbWF4LXZ3IC0gJG1pbi12dyl9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1heC12dykge1xyXG4gICAgICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XHJcbiAgICAgICAgICAgICN7JHByb3BlcnR5fTogJG1heC12YWx1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW1iZXIpIHtcclxuICAgIEBpZiB0eXBlLW9mKCRudW1iZXIpPT1cIm51bWJlclwiYW5kIG5vdCB1bml0bGVzcygkbnVtYmVyKSB7XHJcbiAgICAgICAgQHJldHVybiAkbnVtYmVyIC8gKCRudW1iZXIgKiAwICsgMSk7XHJcbiAgICB9XHJcbiAgICBAcmV0dXJuICRudW1iZXI7XHJcbn1cclxuXHJcbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHdpZHRoLCAkaGVpZ2h0KSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwYWRkaW5nLXRvcDogKCRoZWlnaHQgLyAkd2lkdGgpICogMTAwJTtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGxpbmstYW5pbWF0aW9uKCRiYWNrZ3JvdW5kOiBicmFuZC1jb2xvdXIoJ2JyYXZvJyksICRiYWNrZ3JvdW5kLWhvdmVyOiBicmFuZC1jb2xvdXIoJ2NoYXJsaWUnKSkge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkYmFja2dyb3VuZC1ob3ZlciwgJGJhY2tncm91bmQtaG92ZXIgNTAlLCAkYmFja2dyb3VuZCA1MCUsICRiYWNrZ3JvdW5kKTtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMTAwJTtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDIwMCUgMnB4O1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1wb3NpdGlvbiAuM3M7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBsaW5rLWFuaW1hdGlvbi1hbHRlcm5hdGUoJGJhY2tncm91bmQtaG92ZXI6IGJyYW5kLWNvbG91cignY2hhcmxpZScpLCAkYWx3YXlzX2FjdGl2ZTogZmFsc2UpIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRiYWNrZ3JvdW5kLWhvdmVyO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogMTAwJTtcclxuICAgICAgICBib3R0b206IDBweDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IHJpZ2h0IC4ycyBjdWJpYy1iZXppZXIoMCwuNSwwLDEpO1xyXG4gICAgfVxyXG4gICAgQGlmICRhbHdheXNfYWN0aXZlIHtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBpb3MtZGV2aWNlcyB7XHJcbiAgICBAc3VwcG9ydHMgKC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZSkge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gc2FmYXJpLWJyb3dzZXIge1xyXG4gICAgQG1lZGlhIG5vdCBhbGwgYW5kIChtaW4tcmVzb2x1dGlvbjouMDAxZHBjbSkge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59IiwiJHJlYy1iYXNlbGluZTogMTZweCAhZGVmYXVsdDtcclxuJHJlYy1mYWxsYmFjazogZmFsc2UgIWRlZmF1bHQ7XHJcbiRyZWMtcHgtb25seTogZmFsc2UgIWRlZmF1bHQ7XHJcblxyXG5AZnVuY3Rpb24gcmVjLXNlcGFyYXRvcigkbGlzdCwgJHNlcGFyYXRvcjogZmFsc2UpIHtcclxuICBAaWYgJHNlcGFyYXRvciA9PSBcImNvbW1hXCIgb3IgJHNlcGFyYXRvciA9PSBcInNwYWNlXCIge1xyXG4gICAgQHJldHVybiBhcHBlbmQoJGxpc3QsIG51bGwsICRzZXBhcmF0b3IpO1xyXG4gIH0gXHJcbiAgXHJcbiAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhcImxpc3Qtc2VwYXJhdG9yXCIpID09IHRydWUge1xyXG4gICAgQHJldHVybiBsaXN0LXNlcGFyYXRvcigkbGlzdCk7XHJcbiAgfVxyXG5cclxuICAvLyBsaXN0LXNlcGFyYXRvciBwb2x5ZmlsbCBieSBIdWdvIEdpcmF1ZGVsIChodHRwczovL3Nhc3MtY29tcGF0aWJpbGl0eS5naXRodWIuaW8vI2xpc3Rfc2VwYXJhdG9yX2Z1bmN0aW9uKVxyXG4gICR0ZXN0LWxpc3Q6ICgpO1xyXG4gIEBlYWNoICRpdGVtIGluICRsaXN0IHtcclxuICAgICR0ZXN0LWxpc3Q6IGFwcGVuZCgkdGVzdC1saXN0LCAkaXRlbSwgc3BhY2UpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiBpZigkdGVzdC1saXN0ID09ICRsaXN0LCBzcGFjZSwgY29tbWEpO1xyXG59XHJcblxyXG5AbWl4aW4gcmVjLWJhc2VsaW5lKCR6b29tOiAxMDAlKSB7XHJcbiAgZm9udC1zaXplOiAkem9vbSAvIDE2cHggKiAkcmVjLWJhc2VsaW5lO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gcmVjLWNvbnZlcnQoJHRvLCAkdmFsdWVzLi4uKSB7XHJcbiAgJHJlc3VsdDogKCk7XHJcbiAgJHNlcGFyYXRvcjogcmVjLXNlcGFyYXRvcigkdmFsdWVzKTtcclxuICBcclxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XHJcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIgYW5kIHVuaXQoJHZhbHVlKSA9PSBcInJlbVwiIGFuZCAkdG8gPT0gXCJweFwiIHtcclxuICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsICR2YWx1ZSAvIDFyZW0gKiAkcmVjLWJhc2VsaW5lICsgMHB4LCAkc2VwYXJhdG9yKTtcclxuICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIgYW5kIHVuaXQoJHZhbHVlKSA9PSBcInB4XCIgYW5kICR0byA9PSBcInJlbVwiIHtcclxuICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsICR2YWx1ZSAvICRyZWMtYmFzZWxpbmUgKyAwcmVtLCAkc2VwYXJhdG9yKTtcclxuICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpID09IFwibGlzdFwiIHtcclxuICAgICAgJHZhbHVlLXNlcGFyYXRvcjogcmVjLXNlcGFyYXRvcigkdmFsdWUpO1xyXG4gICAgICAkdmFsdWU6IHJlYy1jb252ZXJ0KCR0bywgJHZhbHVlLi4uKTtcclxuICAgICAgJHZhbHVlOiByZWMtc2VwYXJhdG9yKCR2YWx1ZSwgJHZhbHVlLXNlcGFyYXRvcik7XHJcbiAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCAkdmFsdWUsICRzZXBhcmF0b3IpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCAkdmFsdWUsICRzZXBhcmF0b3IpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiBpZihsZW5ndGgoJHJlc3VsdCkgPT0gMSwgbnRoKCRyZXN1bHQsIDEpLCAkcmVzdWx0KTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIHJlbSgkdmFsdWVzLi4uKSB7XHJcbiAgQGlmICRyZWMtcHgtb25seSB7XHJcbiAgICBAcmV0dXJuIHJlYy1jb252ZXJ0KHB4LCAkdmFsdWVzLi4uKTtcclxuICB9IEBlbHNlIHtcclxuICAgIEByZXR1cm4gcmVjLWNvbnZlcnQocmVtLCAkdmFsdWVzLi4uKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiByZW0oJHByb3BlcnRpZXMsICR2YWx1ZXMuLi4pIHtcclxuICBAaWYgdHlwZS1vZigkcHJvcGVydGllcykgPT0gXCJtYXBcIiB7XHJcbiAgICBAZWFjaCAkcHJvcGVydHkgaW4gbWFwLWtleXMoJHByb3BlcnRpZXMpIHtcclxuICAgICAgQGluY2x1ZGUgcmVtKCRwcm9wZXJ0eSwgbWFwLWdldCgkcHJvcGVydGllcywgJHByb3BlcnR5KSk7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xyXG4gICAgICBAaWYgJHJlYy1mYWxsYmFjayBvciAkcmVjLXB4LW9ubHkge1xyXG4gICAgICAgICN7JHByb3BlcnR5fTogcmVjLWNvbnZlcnQocHgsICR2YWx1ZXMuLi4pO1xyXG4gICAgICB9XHJcbiAgICAgIEBpZiBub3QgJHJlYy1weC1vbmx5IHtcclxuICAgICAgICAjeyRwcm9wZXJ0eX06IHJlYy1jb252ZXJ0KHJlbSwgJHZhbHVlcy4uLik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19 */
