/**
 * Do not @use files with actual scss code in this file, as it will compile css code twice.
 * As this file going to be an standalone css file.
 */
/*
 * CONVERT TO CLAMP
 *
 * @link https://websemantics.uk/tools/responsive-font-calculator/
 *
 * Call with 2, or 4 parameters. Only first 2 parameters are required. Viewport widths also can be with 'px' units (for supporting breakpoint values).
 *
 * Examples:
 *
 * 1) font-size: clamp-rem(32, 48);
 * 2) font-size: clamp-rem(32, 48, 640, 1440);
 */
/**
 * Mixins for Media Queries
 * Example Usage: @include min($lg) || @include min(1440)
 */
.it-our-approach.design_2 .it-container--wide {
  align-items: center;
}
.it-our-approach.design_2 .it-our-approach__grid {
  grid-template-columns: clamp(9.375rem, calc(9.375rem + (1vw - 3.6px) * 9.83), 11.875rem) calc(100% - clamp(9.375rem, calc(9.375rem + (1vw - 3.6px) * 9.83), 11.875rem) - var(--it-inner-padding));
}
@media (min-width: 1024px) {
  .it-our-approach.design_2 .it-our-approach__grid {
    grid-template-rows: repeat(2, auto);
    width: calc(62% - var(--it-inner-padding) * 2);
    grid-template-columns: clamp(9.375rem, calc(9.375rem + (1vw - 6.4px) * 5), 11.875rem) calc(100% - clamp(9.375rem, calc(9.375rem + (1vw - 6.4px) * 5), 11.875rem) - var(--it-inner-padding));
  }
  .it-our-approach.design_2 .it-our-approach__grid .grid_item:nth-child(2) {
    min-height: 170px;
  }
}
@media (max-width: 575px) {
  .it-our-approach.design_2 .it-our-approach__grid {
    display: flex;
    flex-direction: column;
  }
}
@media (min-width: 1024px) {
  .it-our-approach.design_2 .it-our-approach__content .inner_content {
    max-width: 25.625rem;
  }
}
.it-our-approach .it-container--wide {
  display: flex;
  flex-wrap: wrap;
  gap: var(--it-inner-padding);
}
.it-our-approach--reversed .it-container--wide {
  flex-direction: row-reverse;
}
.it-our-approach--reversed .it-our-approach__content {
  justify-content: flex-start;
}
.it-our-approach__grid {
  display: grid;
  grid-template-columns: 40.71% 55.36%; /* 300 and 408 */
  grid-template-rows: repeat(2, 1fr);
  gap: var(--it-inner-padding);
  width: 100%;
}
@media (min-width: 1024px) {
  .it-our-approach__grid {
    width: calc(62% - var(--it-inner-padding) * 2);
  }
}
.it-our-approach__grid .grid_item {
  position: relative;
}
.it-our-approach__grid .grid_item:nth-child(1) {
  grid-area: 1/1/3/2;
}
.it-our-approach__grid .grid_item:nth-child(2) {
  grid-area: 1/2/2/3;
}
.it-our-approach__grid .grid_item:nth-child(3) {
  grid-area: 2/2/3/3;
}
.it-our-approach__grid .grid_item > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 1024px) {
  .it-our-approach__grid .grid_item > img {
    position: absolute;
    top: 0;
    left: 0;
  }
}
.it-our-approach__grid .grid_item .testimonial_block {
  padding: var(--it-spacing-form) clamp(1rem, calc(1rem + (1vw - 6.4px) * 1.75), 1.875rem) var(--it-spacing-form) var(--it-spacing-form);
  display: flex;
  flex-direction: column;
  row-gap: var(--it-inner-padding);
  height: 100%;
}
.it-our-approach__grid .grid_item .testimonial_block p {
  font-size: var(--it-h6-font-size);
  color: var(--it-color-brand);
  font-family: var(--it-heading-font-family);
  font-weight: bold;
}
.it-our-approach__grid .grid_item .testimonial__person {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  margin-top: auto;
}
.it-our-approach__grid .grid_item .testimonial__person--img {
  width: clamp(3.125rem, calc(3.125rem + (1vw - 3.6px) * 7.12), 4.375rem);
  aspect-ratio: 1/1;
  border-radius: 50%;
  overflow: hidden;
}
.it-our-approach__grid .grid_item .testimonial__person--img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.it-our-approach__grid .grid_item .testimonial__person > div:not([class]) {
  flex: 1 1;
}
.it-our-approach__grid .grid_item .testimonial__person span {
  display: block;
}
.it-our-approach__grid .grid_item .testimonial__person--name {
  font-weight: bold;
  font-size: var(--it-size-small);
}
.it-our-approach__grid .grid_item .testimonial__person--job_position {
  margin-top: 0.3125rem;
  font-size: var(--it-size-x-small);
}
.it-our-approach__content {
  flex: 1 1;
  display: flex;
  flex-wrap: wrap;
  padding: 24px 0;
  justify-content: flex-end;
}
.it-our-approach__content .it-title-group + .editor {
  margin-top: 1.875rem;
}
@media (min-width: 1024px) {
  .it-our-approach__content .inner_content {
    max-width: 31.875rem;
  }
}
.it-our-approach__content .inner_content .editor {
  font-weight: 500;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFjZi1sYXlvdXRzL291cl9hcHByb2FjaC9zdHlsZS5zY3NzIiwiYXNzZXRzL3Njc3MvZ2xvYmFsLzAtc2V0dGluZ3MvX3JlbS1jYWxjLnNjc3MiLCJhc3NldHMvc2Nzcy9nbG9iYWwvMC1zZXR0aW5ncy9fbWl4aW5zLW1lZGlhLXF1ZXJ5LnNjc3MiLCJhY2YtbGF5b3V0cy9vdXJfYXBwcm9hY2gvc3R5bGUuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7RUFBQTtBQ29FQTs7Ozs7Ozs7Ozs7RUFBQTtBQ3BFQTs7O0VBQUE7QUZRRTtFQUNDLG1CQUFBO0FHYUg7QUhURztFQUNDLGlNQUFBO0FHV0o7QURqQkM7RUZLRTtJQUdFLG1DQUFBO0lBQ0EsOENBQUE7SUFDQSwyTEFBQTtFR2FIO0VIWEc7SUFDQyxpQkFBQTtFR2FKO0FBQ0Y7QURYQztFRlhFO0lBWUUsYUFBQTtJQUNBLHNCQUFBO0VHY0g7QUFDRjtBRGpDQztFRnVCRztJQUVFLG9CQUFBO0VHWUo7QUFDRjtBSE5DO0VBQ0MsYUFBQTtFQUNBLGVBQUE7RUFDQSw0QkFBQTtBR1FGO0FISEU7RUFDQywyQkFBQTtBR0tIO0FIRkU7RUFDQywyQkFBQTtBR0lIO0FIQUM7RUFDQyxhQUFBO0VBRUEsb0NBQUEsRUFBQSxnQkFBQTtFQUNBLGtDQUFBO0VBQ0EsNEJBQUE7RUFDQSxXQUFBO0FHQ0Y7QUR4REM7RUZpREE7SUFRRSw4Q0FBQTtFR0dEO0FBQ0Y7QUhBRTtFQUNDLGtCQUFBO0FHRUg7QUhBRztFQUNDLGtCQUFBO0FHRUo7QUhDRztFQUNDLGtCQUFBO0FHQ0o7QUhFRztFQUNDLGtCQUFBO0FHQUo7QUhHRztFQUNDLFdBQUE7RUFDQSxZQUFBO0VBQ0Esb0JBQUE7S0FBQSxpQkFBQTtBR0RKO0FEOUVDO0VGNEVFO0lBS0Usa0JBQUE7SUFDQSxNQUFBO0lBQ0EsT0FBQTtFR0NIO0FBQ0Y7QUhHSTtFQUNDLHNJQUFBO0VBQ0EsYUFBQTtFQUNBLHNCQUFBO0VBQ0EsZ0NBQUE7RUFDQSxZQUFBO0FHREw7QUhHSztFQUNDLGlDQUFBO0VBQ0EsNEJBQUE7RUFDQSwwQ0FBQTtFQUNBLGlCQUFBO0FHRE47QUhLSTtFQUNDLGFBQUE7RUFDQSxlQUFBO0VBQ0EsbUJBQUE7RUFDQSxTQUFBO0VBQ0EsZ0JBQUE7QUdITDtBSEtLO0VBQ0MsdUVBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7QUdITjtBSEtNO0VBQ0MsV0FBQTtFQUNBLFlBQUE7RUFDQSxvQkFBQTtLQUFBLGlCQUFBO0FHSFA7QUhPSztFQUNDLFNBQUE7QUdMTjtBSFFLO0VBQ0MsY0FBQTtBR05OO0FIU0s7RUFDQyxpQkFBQTtFQUNBLCtCQUFBO0FHUE47QUhVSztFQUNDLHFCQUFBO0VBQ0EsaUNBQUE7QUdSTjtBSGVDO0VBQ0MsU0FBQTtFQUNBLGFBQUE7RUFDQSxlQUFBO0VBQ0EsZUFBQTtFQUNBLHlCQUFBO0FHYkY7QUhlRTtFQUNDLG9CQUFBO0FHYkg7QUQ1SUM7RUY0SkM7SUFFRSxvQkFBQTtFR2RGO0FBQ0Y7QUhnQkc7RUFDQyxnQkFBQTtBR2RKIiwiZmlsZSI6ImFjZi1sYXlvdXRzL291cl9hcHByb2FjaC9zdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIERvIG5vdCBAdXNlIGZpbGVzIHdpdGggYWN0dWFsIHNjc3MgY29kZSBpbiB0aGlzIGZpbGUsIGFzIGl0IHdpbGwgY29tcGlsZSBjc3MgY29kZSB0d2ljZS5cbiAqIEFzIHRoaXMgZmlsZSBnb2luZyB0byBiZSBhbiBzdGFuZGFsb25lIGNzcyBmaWxlLlxuICovXG5AdXNlIFwiLi4vLi4vYXNzZXRzL3Njc3MvZ2xvYmFsLzAtc2V0dGluZ3Mvc2V0dGluZ3NcIiBhcyBzO1xuXG4uaXQtb3VyLWFwcHJvYWNoIHtcblx0Ji5kZXNpZ25fMiB7XG5cdFx0Lml0LWNvbnRhaW5lci0td2lkZSB7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdH1cblxuXHRcdC5pdC1vdXItYXBwcm9hY2gge1xuXHRcdFx0Jl9fZ3JpZCB7XG5cdFx0XHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcy5jbGFtcC1yZW0oMTUwLCAxOTAsIDM2MCwgNzY3KSBjYWxjKDEwMCUgLSBzLmNsYW1wLXJlbSgxNTAsIDE5MCwgMzYwLCA3NjcpIC0gdmFyKC0taXQtaW5uZXItcGFkZGluZykpO1xuXHRcdFx0XHRAaW5jbHVkZSBzLm1pbihzLiRtZCkge1xuXHRcdFx0XHRcdGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDIsIGF1dG8pO1xuXHRcdFx0XHRcdHdpZHRoOiBjYWxjKDYyJSAtIHZhcigtLWl0LWlubmVyLXBhZGRpbmcpICogMik7XG5cdFx0XHRcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzLmNsYW1wLXJlbSgxNTAsIDE5MCkgY2FsYygxMDAlIC0gcy5jbGFtcC1yZW0oMTUwLCAxOTApIC0gdmFyKC0taXQtaW5uZXItcGFkZGluZykpO1xuXG5cdFx0XHRcdFx0LmdyaWRfaXRlbTpudGgtY2hpbGQoMikge1xuXHRcdFx0XHRcdFx0bWluLWhlaWdodDogMTcwcHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIHMubWF4KHMuJHhzKSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCZfX2NvbnRlbnQge1xuXHRcdFx0XHQuaW5uZXJfY29udGVudCB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgcy5taW4ocy4kbWQpIHtcblx0XHRcdFx0XHRcdG1heC13aWR0aDogcy5yZW0oNDEwKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuaXQtY29udGFpbmVyLS13aWRlIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRnYXA6IHZhcigtLWl0LWlubmVyLXBhZGRpbmcpO1xuXHRcdC8vYWxpZ24taXRlbXM6IGNlbnRlcjtcblx0fVxuXG5cdCYtLXJldmVyc2VkIHtcblx0XHQuaXQtY29udGFpbmVyLS13aWRlIHtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcblx0XHR9XG5cblx0XHQuaXQtb3VyLWFwcHJvYWNoX19jb250ZW50IHtcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0XHR9XG5cdH1cblxuXHQmX19ncmlkIHtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdC8vZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzLmNsYW1wLXJlbSgxNTAsIDI1MywgMzYwLCA3NjcpIGNhbGMoMTAwJSAtIHMuY2xhbXAtcmVtKDE1MCwgMjUzLCAzNjAsIDc2NykgLSB2YXIoLS1pdC1pbm5lci1wYWRkaW5nKSk7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA0MC43MSUgNTUuMzYlOyAvKiAzMDAgYW5kIDQwOCAqL1xuXHRcdGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDIsIDFmcik7XG5cdFx0Z2FwOiB2YXIoLS1pdC1pbm5lci1wYWRkaW5nKTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRAaW5jbHVkZSBzLm1pbihzLiRtZCkge1xuXHRcdFx0d2lkdGg6IGNhbGMoNjIlIC0gdmFyKC0taXQtaW5uZXItcGFkZGluZykgKiAyKTtcblx0XHRcdC8vZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzLmNsYW1wLXJlbSgxNTAsIDI1MykgY2FsYygxMDAlIC0gcy5jbGFtcC1yZW0oMTUwLCAyNTMpIC0gdmFyKC0taXQtaW5uZXItcGFkZGluZykpO1xuXHRcdH1cblxuXHRcdC5ncmlkX2l0ZW0ge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0XHQmOm50aC1jaGlsZCgxKSB7XG5cdFx0XHRcdGdyaWQtYXJlYTogMSAvIDEgLyAzIC8gMjtcblx0XHRcdH1cblxuXHRcdFx0JjpudGgtY2hpbGQoMikge1xuXHRcdFx0XHRncmlkLWFyZWE6IDEgLyAyIC8gMiAvIDM7XG5cdFx0XHR9XG5cblx0XHRcdCY6bnRoLWNoaWxkKDMpIHtcblx0XHRcdFx0Z3JpZC1hcmVhOiAyIC8gMiAvIDMgLyAzO1xuXHRcdFx0fVxuXG5cdFx0XHQ+IGltZyB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRcdFx0XHRAaW5jbHVkZSBzLm1pbihzLiRtZCkge1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQudGVzdGltb25pYWwge1xuXHRcdFx0XHQmX2Jsb2NrIHtcblx0XHRcdFx0XHRwYWRkaW5nOiB2YXIoLS1pdC1zcGFjaW5nLWZvcm0pIHMuY2xhbXAtcmVtKDE2LCAzMCkgdmFyKC0taXQtc3BhY2luZy1mb3JtKSB2YXIoLS1pdC1zcGFjaW5nLWZvcm0pO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdFx0XHRyb3ctZ2FwOiB2YXIoLS1pdC1pbm5lci1wYWRkaW5nKTtcblx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cblx0XHRcdFx0XHRwIHtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogdmFyKC0taXQtaDYtZm9udC1zaXplKTtcblx0XHRcdFx0XHRcdGNvbG9yOiB2YXIoLS1pdC1jb2xvci1icmFuZCk7XG5cdFx0XHRcdFx0XHRmb250LWZhbWlseTogdmFyKC0taXQtaGVhZGluZy1mb250LWZhbWlseSk7XG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmX19wZXJzb24ge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdFx0Z2FwOiBzLnJlbSgxNik7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogYXV0bztcblxuXHRcdFx0XHRcdCYtLWltZyB7XG5cdFx0XHRcdFx0XHR3aWR0aDogcy5jbGFtcC1yZW0oNTAsIDcwLCAzNjAsIDY0MSk7XG5cdFx0XHRcdFx0XHRhc3BlY3QtcmF0aW86IDEvMTtcblx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblx0XHRcdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdFx0XHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdD4gZGl2Om5vdChbY2xhc3NdKSB7XG5cdFx0XHRcdFx0XHRmbGV4OiAxIDE7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0c3BhbiB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmLS1uYW1lIHtcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiB2YXIoLS1pdC1zaXplLXNtYWxsKTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmLS1qb2JfcG9zaXRpb24ge1xuXHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogcy5yZW0oNSk7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IHZhcigtLWl0LXNpemUteC1zbWFsbCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Jl9fY29udGVudCB7XG5cdFx0ZmxleDogMSAxO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdHBhZGRpbmc6IDI0cHggMDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG5cdFx0Lml0LXRpdGxlLWdyb3VwICsgLmVkaXRvciB7XG5cdFx0XHRtYXJnaW4tdG9wOiBzLnJlbSgzMCk7XG5cdFx0fVxuXG5cdFx0LmlubmVyX2NvbnRlbnQge1xuXHRcdFx0QGluY2x1ZGUgcy5taW4ocy4kbWQpIHtcblx0XHRcdFx0bWF4LXdpZHRoOiBzLnJlbSg1MTApO1xuXHRcdFx0fVxuXG5cdFx0XHQuZWRpdG9yIHtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgXCJzYXNzOmxpc3RcIjtcblxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuXG5cdEByZXR1cm4gbWF0aC5kaXYoJG51bSwgJG51bSAqIDAgKyAxKTtcbn1cblxuQGZ1bmN0aW9uIGdldFVuaXQoJHZhbHVlKSB7XG5cblx0QHJldHVybiBzdHItc2xpY2UoJHZhbHVlICogMCArIFwiXCIsIDIsIC0xKTtcbn1cblxuQGZ1bmN0aW9uIGNvbnZlcnQtdG8tcmVtKCR2YWx1ZSwgJGJhc2UtdmFsdWU6IDE2cHgpIHtcblx0JHZhbHVlOiBtYXRoLmRpdihyb3VuZChtYXRoLmRpdihzdHJpcC11bml0KCR2YWx1ZSksIHN0cmlwLXVuaXQoJGJhc2UtdmFsdWUpKSAqIDEwMDAwKSwgMTAwMDApICogMXJlbTtcblxuXHRAaWYgKCR2YWx1ZSA9PSAwKSB7ICR2YWx1ZTogMDsgfSAvKiBUdXJuIDByZW0gaW50byAwICovXG5cblx0QHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiByZW0oJHZhbHVlcywgJGJhc2UtdmFsdWU6IDE2cHgpIHtcblx0JG1heDogbGlzdC5sZW5ndGgoJHZhbHVlcyk7XG5cblx0QGlmICRtYXggPT0gMSB7IEByZXR1cm4gY29udmVydC10by1yZW0obGlzdC5udGgoJHZhbHVlcywgMSksICRiYXNlLXZhbHVlKTsgfVxuXG5cdCRyZW1WYWx1ZXM6ICgpO1xuXHRAZm9yICRpIGZyb20gMSB0aHJvdWdoICRtYXgge1xuXHRcdCRyZW1WYWx1ZXM6IGxpc3QuYXBwZW5kKCRyZW1WYWx1ZXMsIGNvbnZlcnQtdG8tcmVtKGxpc3QubnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UtdmFsdWUpKTtcblx0fVxuXHRAcmV0dXJuICRyZW1WYWx1ZXM7XG59XG5cbkBmdW5jdGlvbiByZW0tZnJvbS1weCgkdmFsdWVzLCAkYmFzZS12YWx1ZTogMTZweCkge1xuXHQkbWF4OiBsaXN0Lmxlbmd0aCgkdmFsdWVzKTtcblxuXHRAaWYgJG1heCA9PSAxIHtcblxuIEByZXR1cm4gY29udmVydC10by1yZW0obGlzdC5udGgoJHZhbHVlcywgMSksICRiYXNlLXZhbHVlKTsgfVxuXG5cdCRyZW1WYWx1ZXM6ICgpO1xuXG5cdEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJG1heCB7XG5cdFx0JHJlbVZhbHVlczogbGlzdC5hcHBlbmQoJHJlbVZhbHVlcywgY29udmVydC10by1yZW0obGlzdC5udGgoJHZhbHVlcywgJGkpLCAkYmFzZS12YWx1ZSkpO1xuXHR9XG5cblx0QHJldHVybiAkcmVtVmFsdWVzO1xufVxuXG5AZnVuY3Rpb24gZW0oJHZhbHVlcykge1xuXHQkcmVtVmFsdWVzOiByZW0tZnJvbS1weCgkdmFsdWVzKTtcblxuXHQkbWF4OiBsaXN0Lmxlbmd0aCgkcmVtVmFsdWVzKTtcblxuXHRAaWYgJG1heCA9PSAxIHtcblxuXHRcdEByZXR1cm4gbWF0aC5kaXYocm91bmQoc3RyaXAtdW5pdChsaXN0Lm50aCgkcmVtVmFsdWVzLCAxKSkgKiAxMDAwMCksIDEwMDAwICkgKiAxZW07XG5cdH1cblxuXHQkZW1WYWx1ZXM6ICgpO1xuXG5cdEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJG1heCB7XG5cdFx0JGVtVmFsdWVzOiBsaXN0LmFwcGVuZCgkZW1WYWx1ZXMsIG1hdGguZGl2KHJvdW5kKHN0cmlwLXVuaXQobGlzdC5udGgoJHJlbVZhbHVlcywgMSkpICogMTAwMDApLCAxMDAwMCApICogMWVtKTtcblx0fVxuXG5cdEByZXR1cm4gJGVtVmFsdWVzO1xufVxuXG4vKlxuICogQ09OVkVSVCBUTyBDTEFNUFxuICpcbiAqIEBsaW5rIGh0dHBzOi8vd2Vic2VtYW50aWNzLnVrL3Rvb2xzL3Jlc3BvbnNpdmUtZm9udC1jYWxjdWxhdG9yL1xuICpcbiAqIENhbGwgd2l0aCAyLCBvciA0IHBhcmFtZXRlcnMuIE9ubHkgZmlyc3QgMiBwYXJhbWV0ZXJzIGFyZSByZXF1aXJlZC4gVmlld3BvcnQgd2lkdGhzIGFsc28gY2FuIGJlIHdpdGggJ3B4JyB1bml0cyAoZm9yIHN1cHBvcnRpbmcgYnJlYWtwb2ludCB2YWx1ZXMpLlxuICpcbiAqIEV4YW1wbGVzOlxuICpcbiAqIDEpIGZvbnQtc2l6ZTogY2xhbXAtcmVtKDMyLCA0OCk7XG4gKiAyKSBmb250LXNpemU6IGNsYW1wLXJlbSgzMiwgNDgsIDY0MCwgMTQ0MCk7XG4gKi9cbkBmdW5jdGlvbiBjbGFtcC1yZW0oJGZvbnQtc2l6ZS1taW4sICRmb250LXNpemUtbWF4LCAkdmlld3BvcnQtbWluOiA2NDAsICR2aWV3cG9ydC1tYXg6IDE0NDApIHtcblxuXHRAaWYgbWF0aC5pcy11bml0bGVzcygkdmlld3BvcnQtbWluKSB7XG5cdFx0JHZpZXdwb3J0LW1pbjogJHZpZXdwb3J0LW1pbiAqIDFweDtcblx0fVxuXHQkZm9udC1zaXplLW1pbi1yZW06IGNvbnZlcnQtdG8tcmVtKCRmb250LXNpemUtbWluKTtcblx0JGZvbnQtc2l6ZS1tYXgtcmVtOiBjb252ZXJ0LXRvLXJlbSgkZm9udC1zaXplLW1heCk7XG5cblx0Ly8gQ2FsY3VsYXRlIGZsdWlkIHZhcmlhYmxlLlxuXHQkdmFyMTogY2FsYygxdncgLSBtYXRoLnJvdW5kKG1hdGguZGl2KCR2aWV3cG9ydC1taW4sIDEwMCkgKiAxMDAwMCkgLyAxMDAwMCk7XG5cdCR2YXIyOiBjYWxjKDEwMCAqIG1hdGgucm91bmQobWF0aC5kaXYoKHN0cmlwLXVuaXQoJGZvbnQtc2l6ZS1tYXgpIC0gc3RyaXAtdW5pdCgkZm9udC1zaXplLW1pbikpLCAoc3RyaXAtdW5pdCgkdmlld3BvcnQtbWF4KSAtIHN0cmlwLXVuaXQoJHZpZXdwb3J0LW1pbikpKSAqIDEwMDAwKSAvIDEwMDAwKTtcblx0JGZsdWlkOiBjYWxjKCAkZm9udC1zaXplLW1pbi1yZW0gKyAoJHZhcjEgKiAkdmFyMikgKTtcblxuXHQvLyBQcmVwYXJlIHJldHVybmluZyB2YXJpYWJsZS5cblx0JGNsYW1wOiBjbGFtcCggI3skZm9udC1zaXplLW1pbi1yZW19LCAjeyRmbHVpZH0sICN7JGZvbnQtc2l6ZS1tYXgtcmVtfSApO1xuXG5cdEByZXR1cm4gJGNsYW1wO1xufVxuXG4iLCIvKipcbiAqIE1peGlucyBmb3IgTWVkaWEgUXVlcmllc1xuICogRXhhbXBsZSBVc2FnZTogQGluY2x1ZGUgbWluKCRsZykgfHwgQGluY2x1ZGUgbWluKDE0NDApXG4gKi9cblxuLy8gLS0tIG1pbi13aWR0aFxuQG1peGluIG1pbigkYnApIHtcblxuXHRAbWVkaWEgKG1pbi13aWR0aDogI3skYnAgKyAncHgnfSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbi8vIC0tLSBtaW4taGVpZ2h0XG5AbWl4aW4gbWluaCgkYnApIHtcblxuXHRAbWVkaWEgKG1pbi1oZWlnaHQ6ICN7JGJwICsgJ3B4J30pIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG4vLyAtLS0gbWF4LXdpZHRoXG5AbWl4aW4gbWF4KCRicCkge1xuXG5cdEBtZWRpYSAobWF4LXdpZHRoOiAjeygkYnAgLSAxKSArICdweCd9KSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuLy8gLS0tIG1heC1oZWlnaHRcbkBtaXhpbiBtYXhoKCRicCkge1xuXG5cdEBtZWRpYSAobWF4LWhlaWdodDogI3soJGJwIC0gMSkgKyAncHgnfSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbi8vIC0tLSBtaW4td2lkdGggLSBtYXgtd2lkdGhcbkBtaXhpbiBtaW4tbWF4KCRicC1taW4sICRicC1tYXgpIHtcblxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeygkYnAtbWF4IC0gMSkgKyAncHgnfSkgYW5kIChtaW4td2lkdGg6ICN7JGJwLW1pbiArICdweCd9KSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cbiIsIi8qKlxuICogRG8gbm90IEB1c2UgZmlsZXMgd2l0aCBhY3R1YWwgc2NzcyBjb2RlIGluIHRoaXMgZmlsZSwgYXMgaXQgd2lsbCBjb21waWxlIGNzcyBjb2RlIHR3aWNlLlxuICogQXMgdGhpcyBmaWxlIGdvaW5nIHRvIGJlIGFuIHN0YW5kYWxvbmUgY3NzIGZpbGUuXG4gKi9cbi8qXG4gKiBDT05WRVJUIFRPIENMQU1QXG4gKlxuICogQGxpbmsgaHR0cHM6Ly93ZWJzZW1hbnRpY3MudWsvdG9vbHMvcmVzcG9uc2l2ZS1mb250LWNhbGN1bGF0b3IvXG4gKlxuICogQ2FsbCB3aXRoIDIsIG9yIDQgcGFyYW1ldGVycy4gT25seSBmaXJzdCAyIHBhcmFtZXRlcnMgYXJlIHJlcXVpcmVkLiBWaWV3cG9ydCB3aWR0aHMgYWxzbyBjYW4gYmUgd2l0aCAncHgnIHVuaXRzIChmb3Igc3VwcG9ydGluZyBicmVha3BvaW50IHZhbHVlcykuXG4gKlxuICogRXhhbXBsZXM6XG4gKlxuICogMSkgZm9udC1zaXplOiBjbGFtcC1yZW0oMzIsIDQ4KTtcbiAqIDIpIGZvbnQtc2l6ZTogY2xhbXAtcmVtKDMyLCA0OCwgNjQwLCAxNDQwKTtcbiAqL1xuLyoqXG4gKiBNaXhpbnMgZm9yIE1lZGlhIFF1ZXJpZXNcbiAqIEV4YW1wbGUgVXNhZ2U6IEBpbmNsdWRlIG1pbigkbGcpIHx8IEBpbmNsdWRlIG1pbigxNDQwKVxuICovXG4uaXQtb3VyLWFwcHJvYWNoLmRlc2lnbl8yIC5pdC1jb250YWluZXItLXdpZGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLml0LW91ci1hcHByb2FjaC5kZXNpZ25fMiAuaXQtb3VyLWFwcHJvYWNoX19ncmlkIHtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBjbGFtcCg5LjM3NXJlbSwgY2FsYyg5LjM3NXJlbSArICgxdncgLSAzLjZweCkgKiA5LjgzKSwgMTEuODc1cmVtKSBjYWxjKDEwMCUgLSBjbGFtcCg5LjM3NXJlbSwgY2FsYyg5LjM3NXJlbSArICgxdncgLSAzLjZweCkgKiA5LjgzKSwgMTEuODc1cmVtKSAtIHZhcigtLWl0LWlubmVyLXBhZGRpbmcpKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLml0LW91ci1hcHByb2FjaC5kZXNpZ25fMiAuaXQtb3VyLWFwcHJvYWNoX19ncmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgyLCBhdXRvKTtcbiAgICB3aWR0aDogY2FsYyg2MiUgLSB2YXIoLS1pdC1pbm5lci1wYWRkaW5nKSAqIDIpO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogY2xhbXAoOS4zNzVyZW0sIGNhbGMoOS4zNzVyZW0gKyAoMXZ3IC0gNi40cHgpICogNSksIDExLjg3NXJlbSkgY2FsYygxMDAlIC0gY2xhbXAoOS4zNzVyZW0sIGNhbGMoOS4zNzVyZW0gKyAoMXZ3IC0gNi40cHgpICogNSksIDExLjg3NXJlbSkgLSB2YXIoLS1pdC1pbm5lci1wYWRkaW5nKSk7XG4gIH1cbiAgLml0LW91ci1hcHByb2FjaC5kZXNpZ25fMiAuaXQtb3VyLWFwcHJvYWNoX19ncmlkIC5ncmlkX2l0ZW06bnRoLWNoaWxkKDIpIHtcbiAgICBtaW4taGVpZ2h0OiAxNzBweDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gIC5pdC1vdXItYXBwcm9hY2guZGVzaWduXzIgLml0LW91ci1hcHByb2FjaF9fZ3JpZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5pdC1vdXItYXBwcm9hY2guZGVzaWduXzIgLml0LW91ci1hcHByb2FjaF9fY29udGVudCAuaW5uZXJfY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiAyNS42MjVyZW07XG4gIH1cbn1cbi5pdC1vdXItYXBwcm9hY2ggLml0LWNvbnRhaW5lci0td2lkZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiB2YXIoLS1pdC1pbm5lci1wYWRkaW5nKTtcbn1cbi5pdC1vdXItYXBwcm9hY2gtLXJldmVyc2VkIC5pdC1jb250YWluZXItLXdpZGUge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG59XG4uaXQtb3VyLWFwcHJvYWNoLS1yZXZlcnNlZCAuaXQtb3VyLWFwcHJvYWNoX19jb250ZW50IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuLml0LW91ci1hcHByb2FjaF9fZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNDAuNzElIDU1LjM2JTsgLyogMzAwIGFuZCA0MDggKi9cbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMiwgMWZyKTtcbiAgZ2FwOiB2YXIoLS1pdC1pbm5lci1wYWRkaW5nKTtcbiAgd2lkdGg6IDEwMCU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5pdC1vdXItYXBwcm9hY2hfX2dyaWQge1xuICAgIHdpZHRoOiBjYWxjKDYyJSAtIHZhcigtLWl0LWlubmVyLXBhZGRpbmcpICogMik7XG4gIH1cbn1cbi5pdC1vdXItYXBwcm9hY2hfX2dyaWQgLmdyaWRfaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5pdC1vdXItYXBwcm9hY2hfX2dyaWQgLmdyaWRfaXRlbTpudGgtY2hpbGQoMSkge1xuICBncmlkLWFyZWE6IDEvMS8zLzI7XG59XG4uaXQtb3VyLWFwcHJvYWNoX19ncmlkIC5ncmlkX2l0ZW06bnRoLWNoaWxkKDIpIHtcbiAgZ3JpZC1hcmVhOiAxLzIvMi8zO1xufVxuLml0LW91ci1hcHByb2FjaF9fZ3JpZCAuZ3JpZF9pdGVtOm50aC1jaGlsZCgzKSB7XG4gIGdyaWQtYXJlYTogMi8yLzMvMztcbn1cbi5pdC1vdXItYXBwcm9hY2hfX2dyaWQgLmdyaWRfaXRlbSA+IGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuaXQtb3VyLWFwcHJvYWNoX19ncmlkIC5ncmlkX2l0ZW0gPiBpbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgfVxufVxuLml0LW91ci1hcHByb2FjaF9fZ3JpZCAuZ3JpZF9pdGVtIC50ZXN0aW1vbmlhbF9ibG9jayB7XG4gIHBhZGRpbmc6IHZhcigtLWl0LXNwYWNpbmctZm9ybSkgY2xhbXAoMXJlbSwgY2FsYygxcmVtICsgKDF2dyAtIDYuNHB4KSAqIDEuNzUpLCAxLjg3NXJlbSkgdmFyKC0taXQtc3BhY2luZy1mb3JtKSB2YXIoLS1pdC1zcGFjaW5nLWZvcm0pO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICByb3ctZ2FwOiB2YXIoLS1pdC1pbm5lci1wYWRkaW5nKTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLml0LW91ci1hcHByb2FjaF9fZ3JpZCAuZ3JpZF9pdGVtIC50ZXN0aW1vbmlhbF9ibG9jayBwIHtcbiAgZm9udC1zaXplOiB2YXIoLS1pdC1oNi1mb250LXNpemUpO1xuICBjb2xvcjogdmFyKC0taXQtY29sb3ItYnJhbmQpO1xuICBmb250LWZhbWlseTogdmFyKC0taXQtaGVhZGluZy1mb250LWZhbWlseSk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLml0LW91ci1hcHByb2FjaF9fZ3JpZCAuZ3JpZF9pdGVtIC50ZXN0aW1vbmlhbF9fcGVyc29uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDFyZW07XG4gIG1hcmdpbi10b3A6IGF1dG87XG59XG4uaXQtb3VyLWFwcHJvYWNoX19ncmlkIC5ncmlkX2l0ZW0gLnRlc3RpbW9uaWFsX19wZXJzb24tLWltZyB7XG4gIHdpZHRoOiBjbGFtcCgzLjEyNXJlbSwgY2FsYygzLjEyNXJlbSArICgxdncgLSAzLjZweCkgKiA3LjEyKSwgNC4zNzVyZW0pO1xuICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLml0LW91ci1hcHByb2FjaF9fZ3JpZCAuZ3JpZF9pdGVtIC50ZXN0aW1vbmlhbF9fcGVyc29uLS1pbWcgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG4uaXQtb3VyLWFwcHJvYWNoX19ncmlkIC5ncmlkX2l0ZW0gLnRlc3RpbW9uaWFsX19wZXJzb24gPiBkaXY6bm90KFtjbGFzc10pIHtcbiAgZmxleDogMSAxO1xufVxuLml0LW91ci1hcHByb2FjaF9fZ3JpZCAuZ3JpZF9pdGVtIC50ZXN0aW1vbmlhbF9fcGVyc29uIHNwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5pdC1vdXItYXBwcm9hY2hfX2dyaWQgLmdyaWRfaXRlbSAudGVzdGltb25pYWxfX3BlcnNvbi0tbmFtZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IHZhcigtLWl0LXNpemUtc21hbGwpO1xufVxuLml0LW91ci1hcHByb2FjaF9fZ3JpZCAuZ3JpZF9pdGVtIC50ZXN0aW1vbmlhbF9fcGVyc29uLS1qb2JfcG9zaXRpb24ge1xuICBtYXJnaW4tdG9wOiAwLjMxMjVyZW07XG4gIGZvbnQtc2l6ZTogdmFyKC0taXQtc2l6ZS14LXNtYWxsKTtcbn1cbi5pdC1vdXItYXBwcm9hY2hfX2NvbnRlbnQge1xuICBmbGV4OiAxIDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogMjRweCAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuLml0LW91ci1hcHByb2FjaF9fY29udGVudCAuaXQtdGl0bGUtZ3JvdXAgKyAuZWRpdG9yIHtcbiAgbWFyZ2luLXRvcDogMS44NzVyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5pdC1vdXItYXBwcm9hY2hfX2NvbnRlbnQgLmlubmVyX2NvbnRlbnQge1xuICAgIG1heC13aWR0aDogMzEuODc1cmVtO1xuICB9XG59XG4uaXQtb3VyLWFwcHJvYWNoX19jb250ZW50IC5pbm5lcl9jb250ZW50IC5lZGl0b3Ige1xuICBmb250LXdlaWdodDogNTAwO1xufSJdfQ== */
