/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/.pnpm/postcss-loader@7.0.1_qjv4cptcpse3y5hrjkrbb7drda/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/.pnpm/sass-loader@13.0.2_sass@1.54.9+webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./node_modules/.pnpm/swiper@6.8.4/node_modules/swiper/swiper.scss ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@font-face {
  font-family: "swiper-icons";
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color: #007aff;
}

.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
}

.swiper-container-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box;
}

.swiper-container-android .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-container-multirow > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-container-multirow-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}

.swiper-container-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-container-pointer-events {
  touch-action: pan-y;
}
.swiper-container-pointer-events.swiper-container-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide {
  height: auto;
}
.swiper-container-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

/* 3D Effects */
.swiper-container-3d {
  perspective: 1200px;
}
.swiper-container-3d .swiper-wrapper,
.swiper-container-3d .swiper-slide,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}
.swiper-container-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-container-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-container-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

/* CSS Mode */
.swiper-container-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none; /* For Firefox */
  -ms-overflow-style: none; /* For Internet Explorer and Edge */
}
.swiper-container-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}
.swiper-container-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-container-horizontal.swiper-container-css-mode > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-container-vertical.swiper-container-css-mode > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}
/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/css-loader@6.7.1_webpack@5.74.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/.pnpm/postcss-loader@7.0.1_qjv4cptcpse3y5hrjkrbb7drda/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/.pnpm/sass-loader@13.0.2_sass@1.54.9+webpack@5.74.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/styles/cpc-ds.scss ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* Foundation 6 utils and grid */ /**
* Custom Foundation setup for DS
* Updates to be done with npm Foundation-Site update
* wwebpack is externalizing this so it excludes it from the bundle
*/
/**
 * Foundation for Sites
 * Version 6.7.4
 * https://get.foundation
 * Licensed under MIT Open Source
 */
/**
* Foundation CPC / SCP  Settings overrides
*/
/*
 *
 * Handy mixins 
 *
 */
/**
 * Handy functions 
 */
/* convenient class name for background colors */
.bg-blue-10 {
  background-color: #000b51;
}
.bg-blue-20 {
  background-color: #001266;
}
.bg-blue-30 {
  background-color: #001b76;
}
.bg-blue-40 {
  background-color: #002581;
}
.bg-blue-50 {
  background-color: #003087;
}
.bg-blue-60 {
  background-color: #3766be;
}
.bg-blue-70 {
  background-color: #7e9ed7;
}
.bg-blue-80 {
  background-color: #a7c1e8;
}
.bg-blue-90 {
  background-color: #dae9fd;
}
.bg-blue-100 {
  background-color: #eff6ff;
}
.bg-red-10 {
  background-color: #50000f;
}
.bg-red-20 {
  background-color: #820019;
}
.bg-red-30 {
  background-color: #a90020;
}
.bg-red-40 {
  background-color: #c60025;
}
.bg-red-50 {
  background-color: #e4002b;
}
.bg-red-60 {
  background-color: #fb495d;
}
.bg-red-70 {
  background-color: #ff8787;
}
.bg-red-80 {
  background-color: #ffb4b4;
}
.bg-red-90 {
  background-color: #ffe0e0;
}
.bg-red-100 {
  background-color: #fff2f2;
}
.bg-grey-10 {
  background-color: #111111;
}
.bg-grey-20 {
  background-color: #2a2a2a;
}
.bg-grey-30 {
  background-color: #434343;
}
.bg-grey-40 {
  background-color: #5c5c5c;
}
.bg-grey-50 {
  background-color: #757575;
}
.bg-grey-60 {
  background-color: #949595;
}
.bg-grey-70 {
  background-color: #a7a7a7;
}
.bg-grey-80 {
  background-color: #c0c0c0;
}
.bg-grey-90 {
  background-color: #d9d9d9;
}
.bg-grey-100 {
  background-color: #f2f2f2;
}
.bg-glacier-blue-10 {
  background-color: #002b66;
}
.bg-glacier-blue-20 {
  background-color: #003c8c;
}
.bg-glacier-blue-30 {
  background-color: #034ea9;
}
.bg-glacier-blue-40 {
  background-color: #1560bd;
}
.bg-glacier-blue-50 {
  background-color: #2c73ca;
}
.bg-glacier-blue-60 {
  background-color: #62a1eb;
}
.bg-glacier-blue-70 {
  background-color: #8bc4fd;
}
.bg-glacier-blue-80 {
  background-color: #baddff;
}
.bg-glacier-blue-90 {
  background-color: #e1f2ff;
}
.bg-glacier-blue-100 {
  background-color: #f2f9ff;
}
.bg-pine-green-10 {
  background-color: #001717;
}
.bg-pine-green-20 {
  background-color: #002523;
}
.bg-pine-green-30 {
  background-color: #00322e;
}
.bg-pine-green-40 {
  background-color: #003f3a;
}
.bg-pine-green-50 {
  background-color: #00443d;
}
.bg-pine-green-60 {
  background-color: #3b796c;
}
.bg-pine-green-70 {
  background-color: #81ae99;
}
.bg-pine-green-80 {
  background-color: #b2cebd;
}
.bg-pine-green-90 {
  background-color: #d5e9da;
}
.bg-pine-green-100 {
  background-color: #eef8f0;
}
.bg-prairie-gold-10 {
  background-color: #482a10;
}
.bg-prairie-gold-20 {
  background-color: #74451a;
}
.bg-prairie-gold-30 {
  background-color: #875830;
}
.bg-prairie-gold-40 {
  background-color: #a06f45;
}
.bg-prairie-gold-50 {
  background-color: #b6875e;
}
.bg-prairie-gold-60 {
  background-color: #d3a881;
}
.bg-prairie-gold-70 {
  background-color: #e7c19f;
}
.bg-prairie-gold-80 {
  background-color: #f4dbc3;
}
.bg-prairie-gold-90 {
  background-color: #fbf0e4;
}
.bg-prairie-gold-100 {
  background-color: #fff9f2;
}
.bg-wild-salmon-10 {
  background-color: #51191c;
}
.bg-wild-salmon-20 {
  background-color: #772b2f;
}
.bg-wild-salmon-30 {
  background-color: #994146;
}
.bg-wild-salmon-40 {
  background-color: #b85b60;
}
.bg-wild-salmon-50 {
  background-color: #d2797e;
}
.bg-wild-salmon-60 {
  background-color: #ed9da1;
}
.bg-wild-salmon-70 {
  background-color: #f6b3b6;
}
.bg-wild-salmon-80 {
  background-color: #fccdcf;
}
.bg-wild-salmon-90 {
  background-color: #ffeaea;
}
.bg-wild-salmon-100 {
  background-color: #fff6f6;
}

.text-blue-10 {
  color: #000b51;
}
.text-blue-20 {
  color: #001266;
}
.text-blue-30 {
  color: #001b76;
}
.text-blue-40 {
  color: #002581;
}
.text-blue-50 {
  color: #003087;
}
.text-blue-60 {
  color: #3766be;
}
.text-blue-70 {
  color: #7e9ed7;
}
.text-blue-80 {
  color: #a7c1e8;
}
.text-blue-90 {
  color: #dae9fd;
}
.text-blue-100 {
  color: #eff6ff;
}
.text-red-10 {
  color: #50000f;
}
.text-red-20 {
  color: #820019;
}
.text-red-30 {
  color: #a90020;
}
.text-red-40 {
  color: #c60025;
}
.text-red-50 {
  color: #e4002b;
}
.text-red-60 {
  color: #fb495d;
}
.text-red-70 {
  color: #ff8787;
}
.text-red-80 {
  color: #ffb4b4;
}
.text-red-90 {
  color: #ffe0e0;
}
.text-red-100 {
  color: #fff2f2;
}
.text-grey-10 {
  color: #111111;
}
.text-grey-20 {
  color: #2a2a2a;
}
.text-grey-30 {
  color: #434343;
}
.text-grey-40 {
  color: #5c5c5c;
}
.text-grey-50 {
  color: #757575;
}
.text-grey-60 {
  color: #949595;
}
.text-grey-70 {
  color: #a7a7a7;
}
.text-grey-80 {
  color: #c0c0c0;
}
.text-grey-90 {
  color: #d9d9d9;
}
.text-grey-100 {
  color: #f2f2f2;
}
.text-glacier-blue-10 {
  color: #002b66;
}
.text-glacier-blue-20 {
  color: #003c8c;
}
.text-glacier-blue-30 {
  color: #034ea9;
}
.text-glacier-blue-40 {
  color: #1560bd;
}
.text-glacier-blue-50 {
  color: #2c73ca;
}
.text-glacier-blue-60 {
  color: #62a1eb;
}
.text-glacier-blue-70 {
  color: #8bc4fd;
}
.text-glacier-blue-80 {
  color: #baddff;
}
.text-glacier-blue-90 {
  color: #e1f2ff;
}
.text-glacier-blue-100 {
  color: #f2f9ff;
}
.text-pine-green-10 {
  color: #001717;
}
.text-pine-green-20 {
  color: #002523;
}
.text-pine-green-30 {
  color: #00322e;
}
.text-pine-green-40 {
  color: #003f3a;
}
.text-pine-green-50 {
  color: #00443d;
}
.text-pine-green-60 {
  color: #3b796c;
}
.text-pine-green-70 {
  color: #81ae99;
}
.text-pine-green-80 {
  color: #b2cebd;
}
.text-pine-green-90 {
  color: #d5e9da;
}
.text-pine-green-100 {
  color: #eef8f0;
}
.text-prairie-gold-10 {
  color: #482a10;
}
.text-prairie-gold-20 {
  color: #74451a;
}
.text-prairie-gold-30 {
  color: #875830;
}
.text-prairie-gold-40 {
  color: #a06f45;
}
.text-prairie-gold-50 {
  color: #b6875e;
}
.text-prairie-gold-60 {
  color: #d3a881;
}
.text-prairie-gold-70 {
  color: #e7c19f;
}
.text-prairie-gold-80 {
  color: #f4dbc3;
}
.text-prairie-gold-90 {
  color: #fbf0e4;
}
.text-prairie-gold-100 {
  color: #fff9f2;
}
.text-wild-salmon-10 {
  color: #51191c;
}
.text-wild-salmon-20 {
  color: #772b2f;
}
.text-wild-salmon-30 {
  color: #994146;
}
.text-wild-salmon-40 {
  color: #b85b60;
}
.text-wild-salmon-50 {
  color: #d2797e;
}
.text-wild-salmon-60 {
  color: #ed9da1;
}
.text-wild-salmon-70 {
  color: #f6b3b6;
}
.text-wild-salmon-80 {
  color: #fccdcf;
}
.text-wild-salmon-90 {
  color: #ffeaea;
}
.text-wild-salmon-100 {
  color: #fff6f6;
}

[type=all] input {
  box-shadow: 0 0 0 0;
}
[type=all] input:focus {
  background-color: #ffffff;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}

/** Layout blocks specifi to Mercury Design pages **/
.ds-layout {
  width: 1440px;
  margin: 0 auto;
}

.ds-section {
  margin-bottom: 2.5rem;
}
.ds-section .ds-title {
  border-bottom: 1px solid #d9d9d9;
  margin-bottom: 1rem;
}

.ds-swatch {
  height: 4rem;
  width: 4rem;
  margin: 0 auto 0.5rem;
}

.cpc-block-grid {
  display: flex;
  flex-flow: row wrap;
  margin-left: -0.5rem;
  margin-right: -0.5rem;
}
@media print, screen and (min-width: 64.0625em) {
  .cpc-block-grid > .cpc-block-item {
    flex: 0 0 auto;
    width: calc(8.3333333333% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    margin-bottom: 0.5rem;
  }
}
@media print, screen and (min-width: 40.0625em) and (max-width: 64.06125em) {
  .cpc-block-grid > .cpc-block-item {
    flex: 0 0 auto;
    width: calc(12.5% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    margin-bottom: 0.5rem;
  }
}
@media print, screen and (max-width: 40.06125em) {
  .cpc-block-grid > .cpc-block-item {
    flex: 0 0 auto;
    width: calc(25% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    margin-bottom: 0.5rem;
  }
}

@font-face {
  font-family: Canadiana;
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaTextWEB-Regular.otf") format("opentype");
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaTextWEB-Regular.eof") format("embedded-opentype");
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaTextWEB-Regular.woff2") format("woff2");
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaTextWEB-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: Canadiana;
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaTextWEB-RegularItalic.otf") format("opentype");
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaTextWEB-RegularItalic.eot") format("embedded-opentype");
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaTextWEB-RegularItalic.woff2") format("woff2");
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaTextWEB-RegularItalic.woff") format("woff");
  font-weight: 400;
  font-style: italic;
}
@font-face {
  font-family: Canadiana;
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaTextWEB-Bold.otf") format("opentype");
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaTextWEB-Bold.eot") format("embedded-opentype");
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaTextWEB-Bold.woff2") format("woff2");
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaTextWEB-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: Canadiana;
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaTextWEB-BoldItalic.otf") format("opentype");
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaTextWEB-BoldItalic.eot") format("embedded-opentype");
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaTextWEB-BoldItalic.woff2") format("woff2");
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaTextWEB-BoldItalic.woff") format("woff");
  font-weight: 700;
  font-style: italic;
}
@font-face {
  font-family: Canadiana;
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaTextWEB-Light.otf") format("opentype");
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaTextWEB-Light.eot") format("embedded-opentype");
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaTextWEB-Light.woff2") format("woff2");
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaTextWEB-Light.woff") format("woff");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: Canadiana;
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaTextWEB-LightItalic.otf") format("opentype");
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaTextWEB-LightItalic.eot") format("embedded-opentype");
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaTextWEB-LightItalic.woff2") format("woff2");
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaTextWEB-LightItalic.woff") format("woff");
  font-weight: 300;
  font-style: italic;
}
@font-face {
  font-family: Canadiana;
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaTextWEB-SemiBold.otf") format("opentype");
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaTextWEB-SemiBold.eot") format("embedded-opentype");
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaTextWEB-SemiBold.woff2") format("woff2");
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaTextWEB-SemiBold.woff") format("woff");
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: Canadiana;
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaTextWEB-SemiBoldItalic.otf") format("opentype");
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaTextWEB-SemiBoldItalic.eot") format("embedded-opentype");
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaTextWEB-SemiBoldItalic.woff2") format("woff2");
  src: url("/cpc/assets/cpc/fonts/Canadiana/CanadianaTextWEB-SemiBoldItalic.woff") format("woff");
  font-weight: 600;
  font-style: italic;
}
.canadiana,
body {
  font-family: "Canadiana", arial, sans-serif;
}

blockquote,
cite {
  color: #434343;
}

body {
  color: #434343;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5rem;
}

p {
  line-height: 1.5rem;
}

small,
.small {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

big,
.big {
  font-size: 1.25rem;
  line-height: 1.75rem;
}

strong,
b {
  color: #434343;
  font-weight: 700;
}

sup {
  font-size: 0.75rem;
}

label {
  font-weight: 700;
  font-stretch: normal;
  letter-spacing: 0.5px;
}

ul,
ol,
dl {
  line-height: 1.5rem;
  margin-left: 1rem;
}

ul {
  list-style-type: disc;
}

li {
  color: #434343;
}

ul li,
ol li {
  padding-left: 0.5rem;
  padding-top: 0.5rem;
}
ul ul,
ol ul {
  list-style-type: disc;
}
ul ul,
ul ol,
ol ul,
ol ol {
  list-style-type: disc;
  margin-left: 1.5rem;
}

.legend,
legend {
  font-weight: 700;
}

.legal {
  color: #434343;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1rem;
}
.legal a {
  color: #003087;
  text-decoration: none;
}
.legal a:hover {
  text-decoration: underline;
}
.legal ol,
.legal ul {
  color: #757575;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.25rem;
}

a {
  text-decoration: none;
  color: #0467c6;
}
a:focus, a:hover {
  text-decoration: underline;
}

.nowrap {
  white-space: nowrap;
}

.hero {
  font-size: 3rem;
  line-height: 3.5rem;
}

h1,
.heading-1,
h2,
.heading-2,
h3,
.heading-3,
h4,
.heading-4,
h5,
.heading-5,
h6,
.heading-6 {
  color: #2a2a2a;
  font-family: "Canadiana", arial, sans-serif;
  font-weight: 600;
}

h1 {
  font-size: 2.5rem;
  line-height: 3rem;
}
h1.hero {
  font-size: 3rem;
  line-height: 3.5rem;
}

.heading-1 {
  font-size: 2.5rem !important;
  line-height: 3rem !important;
}

h2 {
  font-size: 2rem;
  line-height: 2.5rem;
}

.heading-2 {
  font-size: 2rem !important;
  line-height: 2.5rem !important;
}

h3 {
  font-size: 1.75rem;
  line-height: 2.25rem;
}

.heading-3 {
  font-size: 1.75rem !important;
  line-height: 2.25rem !important;
}

h4 {
  font-size: 1.5rem;
  line-height: 2rem;
}

.heading-4 {
  font-size: 1.5rem !important;
  line-height: 2rem !important;
}

h5 {
  font-size: 1.25rem;
  line-height: 1.75rem;
}

.heading-5 {
  font-size: 1.25rem !important;
  line-height: 1.75rem !important;
}

h6 {
  font-size: 1rem;
  line-height: 1.5rem;
}

.heading-6 {
  font-size: 1rem !important;
  line-height: 1.5rem !important;
}

@media print, screen and (max-width: 40.06125em) {
  h1,
h1.hero {
    font-size: 1.8125rem;
    line-height: 2.25rem;
  }
  .heading-1 {
    font-size: 1.8125rem !important;
    line-height: 2.25rem !important;
  }
  h2 {
    font-size: 1.625rem;
    line-height: 2rem;
  }
  .heading-2 {
    font-size: 1.625rem !important;
    line-height: 2rem !important;
  }
  h3 {
    font-size: 1.4375rem;
    line-height: 2rem;
  }
  .heading-3 {
    font-size: 1.4375rem !important;
    line-height: 2rem !important;
  }
  h4 {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
  .heading-4 {
    font-size: 1.25rem !important;
    line-height: 1.75rem !important;
  }
  h5 {
    font-size: 1.125rem;
    line-height: 1.5rem;
  }
  .heading-5 {
    font-size: 1.125rem !important;
    line-height: 1.5rem !important;
  }
  h6 {
    font-size: 1rem;
    line-height: 1.5rem;
  }
  .heading-6 {
    font-size: 1rem !important;
    line-height: 1.5rem !important;
  }
  big,
.big {
    font-size: 1.125rem;
    line-height: 1.5rem;
  }
  small,
.small {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}
a.icon-arrow-up,
a.icon-arrow-down,
a.icon-arrow-left,
a.icon-arrow-right {
  position: relative;
}

a.icon-arrow-up::before,
a.icon-arrow-up::after,
a.icon-arrow-down::before,
a.icon-arrow-down::after,
a.icon-arrow-left::before,
a.icon-arrow-left::after,
a.icon-arrow-right::before,
a.icon-arrow-right::after {
  border: 1px solid #8b8b8b;
  content: "";
  float: right;
  height: 0.5rem;
  position: absolute;
  width: 1px;
}

a.icon-arrow-up::before {
  right: 1.5rem;
  top: 1.5rem;
  transform: rotate(-45deg);
}

a.icon-arrow-up::after {
  right: 1.25rem;
  top: 1.5rem;
  transform: rotate(45deg);
}

a.icon-arrow-down::before {
  right: 1.5rem;
  top: 1.5rem;
  transform: rotate(-45deg);
}

a.icon-arrow-down::after {
  right: 1.25rem;
  top: 1.5rem;
  transform: rotate(45deg);
}

a.icon-arrow-right::before {
  right: 1.75rem;
  top: 1.25rem;
  transform: rotate(-45deg);
}

a.icon-arrow-right::after {
  right: 1.75rem;
  top: 1.55rem;
  transform: rotate(45deg);
}

.visually-hidden {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  left: -9999px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  top: -9999px;
  width: 1px;
}

/* suppress focus ring on form controls for mouse users */
[data-whatintent=mouse] *:focus {
  outline: none;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-font-smoothing: subpixel-antialiased;
}
@media print, screen and (max-width: 40.06125em) {
  html {
    overflow: auto;
  }
}

body {
  background-color: #ffffff !important;
  -webkit-overflow-scrolling: touch;
}

#main-content {
  background-color: #ffffff;
  margin-top: 4.75rem;
}
#main-content > div:first-child {
  margin-top: -4.75rem;
}
#main-content > .cpc-main-content--row,
#main-content > div {
  background-color: #ffffff;
}

.cpc-ds-elevation-item {
  display: flex;
  flex-flow: row wrap;
  margin-left: -0.5rem;
  margin-right: -0.5rem;
  justify-content: center;
}

.cpc-ds-elevation-container {
  flex: 0 0 auto;
  width: auto;
}

.cpc-ds-elevation {
  background-color: #ffffff;
  border-radius: 4px;
  margin: 2rem;
  height: 8rem;
  width: 8rem;
}
.cpc-ds-elevation.level-one-grey {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12);
}
.cpc-ds-elevation.level-two-grey {
  box-shadow: 0 12px 16px -8px rgba(0, 0, 0, 0.12), 0 4px 4px -2px rgba(0, 0, 0, 0.06);
}
.cpc-ds-elevation.level-three-grey {
  box-shadow: 0 20px 24px -12px rgba(0, 0, 0, 0.16), 0 4px 4px -4px rgba(0, 0, 0, 0.08);
}
.cpc-ds-elevation.level-four-grey {
  box-shadow: 0 32px 48px -16px rgba(0, 0, 0, 0.2), 0 4px 4px -4px rgba(0, 0, 0, 0.06);
}
.cpc-ds-elevation.level-five-grey {
  box-shadow: 0 48px 64px -24px rgba(0, 0, 0, 0.24);
}
.cpc-ds-elevation.level-one-blue {
  box-shadow: 0 2px 4px rgba(0, 48, 135, 0.12);
}
.cpc-ds-elevation.level-two-blue {
  box-shadow: 0 12px 16px -8px rgba(0, 48, 135, 0.12), 0 4px 4px -2px rgba(0, 48, 135, 0.06);
}
.cpc-ds-elevation.level-three-blue {
  box-shadow: 0 20px 24px -12px rgba(0, 48, 135, 0.16), 0 4px 4px -4px rgba(0, 48, 135, 0.08);
}
.cpc-ds-elevation.level-four-blue {
  box-shadow: 0 32px 48px -16px rgba(0, 48, 135, 0.2), 0 4px 4px -4px rgba(0, 48, 135, 0.06);
}
.cpc-ds-elevation.level-five-blue {
  box-shadow: 0 48px 64px -24px rgba(0, 48, 135, 0.24);
}

.cpc-ds-elevation-level {
  position: relative;
  left: 50%;
  bottom: 50%;
}

/**
CPC Desugn System components styles
**/
/**
CPC DS accordions 
**/
/********************* 
  Accordion Container 
**********************/
:root {
  --transition-speed: 0.3s;
}

.cpc-ds-accordions {
  max-width: 48.6875rem;
  width: 100%;
}
.cpc-ds-accordions:not(.cpc-ds-accordions__standalone) {
  margin: 0 auto;
}
.cpc-ds-accordions.cpc-ds-accordions__tiles {
  width: 100%;
  max-width: unset;
}
@media print, screen and (min-width: 40.0625em) and (max-width: 64.06125em) {
  .cpc-ds-accordions.cpc-ds-accordions__tiles {
    min-width: 36.0625rem;
    width: 75%;
  }
}
.cpc-ds-accordions.cpc-ds-accordions__standalone {
  margin: 0;
}
@media print, screen and (min-width: 40.0625em) and (max-width: 64.06125em) {
  .cpc-ds-accordions.cpc-ds-accordions__standalone {
    max-width: unset;
  }
  .cpc-ds-accordions.cpc-ds-accordions__standalone:not(.cpc-ds-accordions__tiles) {
    width: calc(75% - 0.5rem);
  }
}
.cpc-ds-accordions__back-to-top {
  margin-top: 1rem;
}
.cpc-ds-accordions__tiles .cpc-ds-accordion {
  border: none;
}
.cpc-ds-accordions__tiles .cpc-ds-accordion:last-of-type {
  border-bottom: none;
}
.cpc-ds-accordions__tiles .cpc-ds-accordion__list {
  width: 100%;
  display: grid;
  grid-column-gap: 2rem;
  grid-template-columns: 1fr 1fr;
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-accordions__tiles .cpc-ds-accordion__list {
    grid-column-gap: 0;
    grid-row-gap: 1rem;
    grid-template-columns: 1fr;
  }
}
.cpc-ds-accordions__tiles .cpc-ds-accordion__list--left-col, .cpc-ds-accordions__tiles .cpc-ds-accordion__list--right-col {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
}
.cpc-ds-accordions__tiles .cpc-ds-accordion__list--item {
  position: relative;
  box-shadow: 0 0.125rem 0.25rem 0 rgba(0, 0, 0, 0.12);
  background-color: #ffffff;
}
.cpc-ds-accordions__tiles .cpc-ds-accordion__list--item::before {
  content: "";
  display: block;
  width: 100%;
  height: 5.875rem;
  border-top: 0.125rem solid transparent;
  transition: all 0.2s;
  position: absolute;
  left: 0;
}
.cpc-ds-accordions__tiles .cpc-ds-accordion__list--item:hover::before {
  border-top: 0.125rem solid #003087;
}
.cpc-ds-accordions__tiles .cpc-ds-accordion__list--item .cpc-ds-accordion__content--inner {
  padding: 1rem 2rem 2rem;
}
.cpc-ds-accordions__tiles .cpc-ds-accordion__list--item .cpc-ds-accordion__content--inner-list {
  margin: 0;
  list-style-type: none;
}
.cpc-ds-accordions__tiles .cpc-ds-accordion__list--item .cpc-ds-accordion__content--inner-list li:not(:last-child) {
  padding-bottom: 0.5rem;
}
.cpc-ds-accordions__tiles .cpc-ds-accordion__list--item .cpc-ds-accordion__content--inner-list li::before {
  content: none;
}
.cpc-ds-accordions__tiles .cpc-ds-accordion__button {
  padding: 1.5rem;
  min-height: 6rem;
  border: none;
}
@media print, screen and (max-width: 40.06125em) {
  .cpc-ds-accordions__tiles .cpc-ds-accordion__button {
    padding: 1.25rem 1rem;
  }
}
.cpc-ds-accordions__tiles .cpc-ds-accordion__button--expand-all {
  margin-bottom: 1.5rem;
}
.cpc-ds-accordions__tiles .cpc-ds-accordion__button--icon-image {
  display: inline-block;
  width: 3rem;
  height: 3rem;
  margin-right: 1.5rem;
}
@media print, screen and (max-width: 40.06125em) {
  .cpc-ds-accordions__tiles .cpc-ds-accordion__button--icon-image {
    margin-right: 1rem;
  }
}
.cpc-ds-accordions__tiles .cpc-ds-accordion__title {
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 600;
  padding-right: 2rem;
}
@media print, screen and (max-width: 40.06125em) {
  .cpc-ds-accordions__tiles .cpc-ds-accordion__title {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}
.cpc-ds-accordions__tiles .cpc-ds-accordion .accordion__button-icon--open {
  right: 1.5rem;
  top: 50%;
  transform: translateY(-50%);
}
@media print, screen and (max-width: 40.06125em) {
  .cpc-ds-accordions__tiles .cpc-ds-accordion .accordion__button-icon--open {
    right: 1rem;
  }
}
.cpc-ds-accordions__tiles .cpc-ds-accordion.cpc-ds-accordions-expander--active .accordion__button-icon--open {
  transform: translateY(-50%) rotate(180deg);
}
.cpc-ds-accordions__tiles .cpc-ds-accordion ul.cpc-ds-list {
  margin-left: 1.5rem !important;
}

@media print, screen and (min-width: 40.0625em) and (max-width: 64.06125em) {
  .cpc-cb__content .cpc-ds-accordions.cpc-ds-accordions__standalone:not(.cpc-ds-accordions__tiles) {
    width: 100%;
  }
}

/**********************
 Control Expand Collapse 
**********************/
.accordion__controls {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.accordion__controls .accordion__controls--heading {
  flex: 1 0 100%;
  margin-bottom: 1rem;
}

.accordion--expand-close-all {
  display: none;
}

.cpc-ds-accordion__controls--active .accordion--expand-close-all {
  display: block;
}
.cpc-ds-accordion__controls--active .accordion--expand-open-all {
  display: none;
}

/********************** 
  Accordion Row 
**********************/
.cpc-ds-accordion {
  border-top: 1px solid #757575;
  transition: all var(--transition-speed) ease-in-out;
}
.cpc-ds-accordion:last-of-type {
  border-bottom: 1px solid #757575;
}
.cpc-ds-accordion__title {
  font-size: 1rem;
  font-weight: 400;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.5rem;
  letter-spacing: 0.5px;
  color: #2a2a2a;
  margin-bottom: 0;
  padding: 0;
}
.cpc-ds-accordion__button {
  display: flex;
  align-items: center;
  cursor: pointer;
  padding: 1rem 3.5rem 1rem 1rem;
  width: 100%;
  position: relative;
  margin: 0;
  text-decoration: none;
  border-radius: 1px;
  outline: none;
}
.cpc-ds-accordion__button[data-activated-via=keyboard] {
  box-shadow: 0 0 0 0.125rem #ffffff, 0 0 0 0.25rem #2c73ca;
}
.cpc-ds-accordion__button--expand-all {
  font-size: 1rem;
  font-weight: 400;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.5rem;
  letter-spacing: 0.5px;
  color: #003087;
  margin: 0 0 1rem 0;
  cursor: pointer;
  text-decoration: none;
  border-radius: 1px;
  outline: none;
}
.cpc-ds-accordion__button--expand-all:hover {
  text-decoration: underline;
}
@media only screen and (max-width: 40em) {
  .cpc-ds-accordion__button--expand-all {
    min-width: 5.25rem !important;
  }
}
.cpc-ds-accordion__button--expand-all[data-activated-via=keyboard]:focus {
  text-decoration: underline;
  box-shadow: 0 0 0 0.125rem #ffffff, 0 0 0 0.25rem #2c73ca;
}
.cpc-ds-accordion__list {
  margin: 0;
  list-style-type: none;
}
.cpc-ds-accordion__list li {
  padding: 0;
}
.cpc-ds-accordion__list li:not(.legal)::before {
  top: 0.625rem !important;
}
.cpc-ds-accordion__list li.legal::before {
  top: 0.375rem !important;
}
.cpc-ds-accordion__list li .cpc-ds-accordion p,
.cpc-ds-accordion__list li .cpc-ds-accordion ul li,
.cpc-ds-accordion__list li .cpc-ds-accordion ol li,
.cpc-ds-accordion__list li .cpc-ds-accordion span:not(.standalone__external):not(.cpc-ds-link__external):not(.standalone__internal):not(.cpc-ds-link__pdf) {
  color: #434343;
}
.cpc-ds-accordion__list li:not(:last-child) .cpc-ds-accordion {
  border-bottom: none;
}
.cpc-ds-accordion__content {
  max-height: 0;
  transition: all var(--transition-speed) ease-in-out;
  overflow: hidden;
}
.cpc-ds-accordion__content--inner {
  padding: 0 1rem;
}
.cpc-ds-accordion__content p {
  margin: 0;
  color: #434343;
}
.cpc-ds-accordion__content p:first-child {
  padding: 0.5rem 0 1rem 0;
}
.cpc-ds-accordion__content p:not(:first-child) {
  padding: 0 0 1rem 0;
}

.cpc-ds-accordions-expander--active .cpc-ds-accordion__title {
  font-weight: 600;
}
.cpc-ds-accordions-expander--active .accordion__button-icon--open {
  transform: rotate(180deg);
}

/**********************
 Accordion Buttons 
**********************/
.accordion__button-icon--open {
  width: 1rem;
  height: 1rem;
  background: url("/cpc/assets/cpc/img/icons/chevron-down-grey.svg");
  transition: all var(--transition-speed) ease-in-out;
  background-repeat: no-repeat;
  right: 1rem;
  position: absolute;
  top: 1.25rem;
}

.cpc-accordion-outro {
  margin-top: 1.5rem;
  max-width: 48.6875rem;
}
@media print, screen and (min-width: 40.0625em) and (max-width: 64.06125em) {
  .cpc-accordion-outro {
    max-width: unset;
    width: calc(75% - 0.5rem);
  }
}

/**
CPC DS breadbrumbs
**/
.cpc-ds-breadcrumb ul, .cpc-ds-breadcrumb__alt ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  row-gap: 0.5rem;
  margin: 0;
  padding: 0;
}
.cpc-ds-breadcrumb ul li, .cpc-ds-breadcrumb__alt ul li {
  display: inline-block;
  padding: 0;
  margin: 0;
  line-height: 1.25rem;
  height: 1.25rem;
  font-weight: 400;
}
.cpc-ds-breadcrumb ul li:last-child a, .cpc-ds-breadcrumb__alt ul li:last-child a {
  margin-right: 0 !important;
}
.cpc-ds-breadcrumb ul li a, .cpc-ds-breadcrumb__alt ul li a {
  display: inline-block;
  font-size: 0.875rem;
  line-height: 1.25rem;
  height: 1.25rem;
  margin-right: 0.5rem;
}
.cpc-ds-breadcrumb ul li a::after, .cpc-ds-breadcrumb__alt ul li a::after {
  content: "";
  display: inline-block;
  vertical-align: text-top;
  height: 1rem;
  width: 1rem;
  margin-left: 0.25rem;
}
.cpc-ds-breadcrumb ul li a:hover, .cpc-ds-breadcrumb ul li a:active, .cpc-ds-breadcrumb__alt ul li a:hover, .cpc-ds-breadcrumb__alt ul li a:active {
  text-decoration: underline;
}
.cpc-ds-breadcrumb ul li a:focus, .cpc-ds-breadcrumb__alt ul li a:focus {
  box-shadow: 0 0 0 0.125rem #ffffff, 0 0 0 0.25rem #2c73ca;
  outline: none !important;
  border-radius: 0.125rem;
  text-decoration: underline !important;
}
.cpc-ds-breadcrumb ul li a:focus:not(:focus-visible), .cpc-ds-breadcrumb__alt ul li a:focus:not(:focus-visible) {
  outline: none !important;
  box-shadow: none !important;
}
@media only screen and (max-width: 40em) {
  .cpc-ds-breadcrumb, .cpc-ds-breadcrumb__alt {
    display: none;
  }
}
.cpc-ds-breadcrumb ul li {
  color: #003087;
}
.cpc-ds-breadcrumb ul li a {
  color: #003087;
}
.cpc-ds-breadcrumb ul li a::after {
  background: url("/cpc/assets/cpc/img/icons/link-chevron-default.svg") no-repeat center bottom/1rem 1rem;
}
.cpc-ds-breadcrumb ul li a:hover {
  color: #001b76;
}
.cpc-ds-breadcrumb ul li a:hover::after {
  background: url("/cpc/assets/cpc/img/icons/link-chevron-hover.svg") no-repeat center bottom/1rem 1rem;
}
.cpc-ds-breadcrumb__alt ul li {
  color: #ffffff;
}
.cpc-ds-breadcrumb__alt ul li a {
  color: #ffffff;
}
.cpc-ds-breadcrumb__alt ul li a::after {
  background: url("/cpc/assets/cpc/img/icons/breadcrumb-arrow-white.svg") no-repeat center/0.375rem 0.625rem;
}

/**
CPC DS buttons
**/
input[type=button],
input[type=reset],
input[type=submit],
button,
.button,
a.button,
a[role=link].button,
a[role=button].button {
  border-radius: 6rem;
  font-weight: 600;
  font-family: "Canadiana", arial, sans-serif;
  outline: none;
  width: 100%;
  min-width: 7.5rem;
  margin-bottom: 1rem;
  cursor: pointer;
}
input[type=button]:not(.sm),
input[type=reset]:not(.sm),
input[type=submit]:not(.sm),
button:not(.sm),
.button:not(.sm),
a.button:not(.sm),
a[role=link].button:not(.sm),
a[role=button].button:not(.sm) {
  font-size: 1rem;
  line-height: 1.5rem;
}
input[type=button].sm,
input[type=reset].sm,
input[type=submit].sm,
button.sm,
.button.sm,
a.button.sm,
a[role=link].button.sm,
a[role=button].button.sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
@media print, screen and (min-width: 40.0625em) {
  input[type=button],
input[type=reset],
input[type=submit],
button,
.button,
a.button,
a[role=link].button,
a[role=button].button {
    width: auto;
    margin-right: 1rem;
  }
}
input[type=button].success,
input[type=reset].success,
input[type=submit].success,
button.success,
.button.success,
a.button.success,
a[role=link].button.success,
a[role=button].button.success {
  background-color: #098a00;
}
input[type=button].warning,
input[type=reset].warning,
input[type=submit].warning,
button.warning,
.button.warning,
a.button.warning,
a[role=link].button.warning,
a[role=button].button.warning {
  background-color: #ffbf05;
}
input[type=button].alert,
input[type=reset].alert,
input[type=submit].alert,
button.alert,
.button.alert,
a.button.alert,
a[role=link].button.alert,
a[role=button].button.alert {
  background-color: #e4002b;
}
input[type=button].text-button, input[type=button].link,
input[type=reset].text-button,
input[type=reset].link,
input[type=submit].text-button,
input[type=submit].link,
button.text-button,
button.link,
.button.text-button,
.button.link,
a.button.text-button,
a.button.link,
a[role=link].button.text-button,
a[role=link].button.link,
a[role=button].button.text-button,
a[role=button].button.link {
  background-color: transparent;
  border: 0 none;
  color: #0467c6;
  font-size: 1rem;
  font-weight: 300;
  letter-spacing: 0.5px;
  line-height: 1.5rem;
  padding: 0;
  text-align: left;
}
input[type=button].text-button:hover, input[type=button].text-button:focus, input[type=button].link:hover, input[type=button].link:focus,
input[type=reset].text-button:hover,
input[type=reset].text-button:focus,
input[type=reset].link:hover,
input[type=reset].link:focus,
input[type=submit].text-button:hover,
input[type=submit].text-button:focus,
input[type=submit].link:hover,
input[type=submit].link:focus,
button.text-button:hover,
button.text-button:focus,
button.link:hover,
button.link:focus,
.button.text-button:hover,
.button.text-button:focus,
.button.link:hover,
.button.link:focus,
a.button.text-button:hover,
a.button.text-button:focus,
a.button.link:hover,
a.button.link:focus,
a[role=link].button.text-button:hover,
a[role=link].button.text-button:focus,
a[role=link].button.link:hover,
a[role=link].button.link:focus,
a[role=button].button.text-button:hover,
a[role=button].button.text-button:focus,
a[role=button].button.link:hover,
a[role=button].button.link:focus {
  background-color: transparent;
  color: #0467c6;
  text-decoration: underline;
}

button[role=link]:not(.lg):not(.md):not(.sm),
.button:not(.lg):not(.md):not(.sm),
a.button:not(.lg):not(.md):not(.sm),
a[role=link].button:not(.lg):not(.md):not(.sm),
a[role=button].button:not(.lg):not(.md):not(.sm) {
  padding: 0.5rem 1.5rem;
}
button[role=link].lg,
.button.lg,
a.button.lg,
a[role=link].button.lg,
a[role=button].button.lg {
  padding: 0.625rem 1.5rem;
}
button[role=link].md,
.button.md,
a.button.md,
a[role=link].button.md,
a[role=button].button.md {
  padding: 0.5rem 1.25rem;
}
button[role=link].sm,
.button.sm,
a.button.sm,
a[role=link].button.sm,
a[role=button].button.sm {
  padding: 0.5rem 1rem;
}
button[role=link].primary, button[role=link]:not(.alt),
.button.primary,
.button:not(.alt),
a.button.primary,
a.button:not(.alt),
a[role=link].button.primary,
a[role=link].button:not(.alt),
a[role=button].button.primary,
a[role=button].button:not(.alt) {
  border: 0.125rem solid #003087;
  background-color: #003087;
  color: #ffffff;
}
button[role=link].primary:hover, button[role=link].primary:focus, button[role=link]:not(.alt):hover, button[role=link]:not(.alt):focus,
.button.primary:hover,
.button.primary:focus,
.button:not(.alt):hover,
.button:not(.alt):focus,
a.button.primary:hover,
a.button.primary:focus,
a.button:not(.alt):hover,
a.button:not(.alt):focus,
a[role=link].button.primary:hover,
a[role=link].button.primary:focus,
a[role=link].button:not(.alt):hover,
a[role=link].button:not(.alt):focus,
a[role=button].button.primary:hover,
a[role=button].button.primary:focus,
a[role=button].button:not(.alt):hover,
a[role=button].button:not(.alt):focus {
  background-color: #001266;
  text-decoration: underline;
}
button[role=link].primary[data-activated-via=keyboard], button[role=link]:not(.alt)[data-activated-via=keyboard],
.button.primary[data-activated-via=keyboard],
.button:not(.alt)[data-activated-via=keyboard],
a.button.primary[data-activated-via=keyboard],
a.button:not(.alt)[data-activated-via=keyboard],
a[role=link].button.primary[data-activated-via=keyboard],
a[role=link].button:not(.alt)[data-activated-via=keyboard],
a[role=button].button.primary[data-activated-via=keyboard],
a[role=button].button:not(.alt)[data-activated-via=keyboard] {
  box-shadow: 0 0 0 0.125rem #ffffff, 0 0 0 0.25rem #1560bd;
  background-color: #003087;
  text-decoration: none;
}
button[role=link].alt,
.button.alt,
a.button.alt,
a[role=link].button.alt,
a[role=button].button.alt {
  border: 0.125rem solid #ffffff;
  background-color: #ffffff;
  color: #001266;
}
button[role=link].alt:hover, button[role=link].alt:focus,
.button.alt:hover,
.button.alt:focus,
a.button.alt:hover,
a.button.alt:focus,
a[role=link].button.alt:hover,
a[role=link].button.alt:focus,
a[role=button].button.alt:hover,
a[role=button].button.alt:focus {
  background-color: rgba(255, 255, 255, 0.8);
  border: 0.125rem solid transparent;
  text-decoration: underline;
}
button[role=link].alt[data-activated-via=keyboard],
.button.alt[data-activated-via=keyboard],
a.button.alt[data-activated-via=keyboard],
a[role=link].button.alt[data-activated-via=keyboard],
a[role=button].button.alt[data-activated-via=keyboard] {
  background-color: #ffffff;
  border: 0.125rem solid transparent;
  text-decoration: none;
}
button[role=link].alt[data-activated-via=keyboard],
.button.alt[data-activated-via=keyboard],
a.button.alt[data-activated-via=keyboard],
a[role=link].button.alt[data-activated-via=keyboard],
a[role=button].button.alt[data-activated-via=keyboard] {
  text-decoration: none;
  box-shadow: none;
  position: relative;
  z-index: 2;
}
button[role=link].alt[data-activated-via=keyboard]::after,
.button.alt[data-activated-via=keyboard]::after,
a.button.alt[data-activated-via=keyboard]::after,
a[role=link].button.alt[data-activated-via=keyboard]::after,
a[role=button].button.alt[data-activated-via=keyboard]::after {
  content: "";
  display: block;
  width: calc(100% + 0.8rem);
  height: calc(100% + 0.8125rem);
  position: absolute;
  top: -0.4rem;
  left: -0.4rem;
  border-radius: 6rem;
  background-color: transparent;
  z-index: 1;
  border: 0.125rem solid #ffffff;
}
button[role=link].secondary:not(.alt), button[role=link].outline:not(.alt),
.button.secondary:not(.alt),
.button.outline:not(.alt),
a.button.secondary:not(.alt),
a.button.outline:not(.alt),
a[role=link].button.secondary:not(.alt),
a[role=link].button.outline:not(.alt),
a[role=button].button.secondary:not(.alt),
a[role=button].button.outline:not(.alt) {
  border: 0.125rem solid #003087;
  background-color: transparent;
  color: #001266;
}
button[role=link].secondary:not(.alt):hover, button[role=link].secondary:not(.alt):focus, button[role=link].outline:not(.alt):hover, button[role=link].outline:not(.alt):focus,
.button.secondary:not(.alt):hover,
.button.secondary:not(.alt):focus,
.button.outline:not(.alt):hover,
.button.outline:not(.alt):focus,
a.button.secondary:not(.alt):hover,
a.button.secondary:not(.alt):focus,
a.button.outline:not(.alt):hover,
a.button.outline:not(.alt):focus,
a[role=link].button.secondary:not(.alt):hover,
a[role=link].button.secondary:not(.alt):focus,
a[role=link].button.outline:not(.alt):hover,
a[role=link].button.outline:not(.alt):focus,
a[role=button].button.secondary:not(.alt):hover,
a[role=button].button.secondary:not(.alt):focus,
a[role=button].button.outline:not(.alt):hover,
a[role=button].button.outline:not(.alt):focus {
  background-color: #f2f9ff;
  text-decoration: underline;
  color: #001266;
}
button[role=link].secondary:not(.alt)[data-activated-via=keyboard], button[role=link].outline:not(.alt)[data-activated-via=keyboard],
.button.secondary:not(.alt)[data-activated-via=keyboard],
.button.outline:not(.alt)[data-activated-via=keyboard],
a.button.secondary:not(.alt)[data-activated-via=keyboard],
a.button.outline:not(.alt)[data-activated-via=keyboard],
a[role=link].button.secondary:not(.alt)[data-activated-via=keyboard],
a[role=link].button.outline:not(.alt)[data-activated-via=keyboard],
a[role=button].button.secondary:not(.alt)[data-activated-via=keyboard],
a[role=button].button.outline:not(.alt)[data-activated-via=keyboard] {
  box-shadow: 0 0 0 0.125rem #ffffff, 0 0 0 0.25rem #1560bd;
  background-color: transparent;
  text-decoration: none;
}
button[role=link].secondary.alt, button[role=link].outline.alt,
.button.secondary.alt,
.button.outline.alt,
a.button.secondary.alt,
a.button.outline.alt,
a[role=link].button.secondary.alt,
a[role=link].button.outline.alt,
a[role=button].button.secondary.alt,
a[role=button].button.outline.alt {
  border: 0.125rem solid #ffffff;
  background-color: transparent;
  color: #ffffff;
}
button[role=link].secondary.alt:hover, button[role=link].secondary.alt:focus, button[role=link].outline.alt:hover, button[role=link].outline.alt:focus,
.button.secondary.alt:hover,
.button.secondary.alt:focus,
.button.outline.alt:hover,
.button.outline.alt:focus,
a.button.secondary.alt:hover,
a.button.secondary.alt:focus,
a.button.outline.alt:hover,
a.button.outline.alt:focus,
a[role=link].button.secondary.alt:hover,
a[role=link].button.secondary.alt:focus,
a[role=link].button.outline.alt:hover,
a[role=link].button.outline.alt:focus,
a[role=button].button.secondary.alt:hover,
a[role=button].button.secondary.alt:focus,
a[role=button].button.outline.alt:hover,
a[role=button].button.outline.alt:focus {
  background-color: rgba(0, 0, 0, 0.4);
  text-decoration: underline;
}
button[role=link].secondary.alt[data-activated-via=keyboard], button[role=link].outline.alt[data-activated-via=keyboard],
.button.secondary.alt[data-activated-via=keyboard],
.button.outline.alt[data-activated-via=keyboard],
a.button.secondary.alt[data-activated-via=keyboard],
a.button.outline.alt[data-activated-via=keyboard],
a[role=link].button.secondary.alt[data-activated-via=keyboard],
a[role=link].button.outline.alt[data-activated-via=keyboard],
a[role=button].button.secondary.alt[data-activated-via=keyboard],
a[role=button].button.outline.alt[data-activated-via=keyboard] {
  background-color: transparent;
  border: 0.125rem solid #ffffff;
  text-decoration: none;
}
button[role=link].tertiary:not(.alt), button[role=link].transparent:not(.alt),
.button.tertiary:not(.alt),
.button.transparent:not(.alt),
a.button.tertiary:not(.alt),
a.button.transparent:not(.alt),
a[role=link].button.tertiary:not(.alt),
a[role=link].button.transparent:not(.alt),
a[role=button].button.tertiary:not(.alt),
a[role=button].button.transparent:not(.alt) {
  border: 0.125rem solid transparent;
  background-color: transparent;
  color: #001266;
}
button[role=link].tertiary:not(.alt):hover, button[role=link].tertiary:not(.alt):focus, button[role=link].transparent:not(.alt):hover, button[role=link].transparent:not(.alt):focus,
.button.tertiary:not(.alt):hover,
.button.tertiary:not(.alt):focus,
.button.transparent:not(.alt):hover,
.button.transparent:not(.alt):focus,
a.button.tertiary:not(.alt):hover,
a.button.tertiary:not(.alt):focus,
a.button.transparent:not(.alt):hover,
a.button.transparent:not(.alt):focus,
a[role=link].button.tertiary:not(.alt):hover,
a[role=link].button.tertiary:not(.alt):focus,
a[role=link].button.transparent:not(.alt):hover,
a[role=link].button.transparent:not(.alt):focus,
a[role=button].button.tertiary:not(.alt):hover,
a[role=button].button.tertiary:not(.alt):focus,
a[role=button].button.transparent:not(.alt):hover,
a[role=button].button.transparent:not(.alt):focus {
  background-color: #f2f9ff;
  text-decoration: underline;
}
button[role=link].tertiary:not(.alt)[data-activated-via=keyboard], button[role=link].transparent:not(.alt)[data-activated-via=keyboard],
.button.tertiary:not(.alt)[data-activated-via=keyboard],
.button.transparent:not(.alt)[data-activated-via=keyboard],
a.button.tertiary:not(.alt)[data-activated-via=keyboard],
a.button.transparent:not(.alt)[data-activated-via=keyboard],
a[role=link].button.tertiary:not(.alt)[data-activated-via=keyboard],
a[role=link].button.transparent:not(.alt)[data-activated-via=keyboard],
a[role=button].button.tertiary:not(.alt)[data-activated-via=keyboard],
a[role=button].button.transparent:not(.alt)[data-activated-via=keyboard] {
  box-shadow: 0 0 0 0.125rem #ffffff, 0 0 0 0.25rem #1560bd;
  background-color: #ffffff;
  text-decoration: none;
}
button[role=link].tertiary.alt, button[role=link].transparent.alt,
.button.tertiary.alt,
.button.transparent.alt,
a.button.tertiary.alt,
a.button.transparent.alt,
a[role=link].button.tertiary.alt,
a[role=link].button.transparent.alt,
a[role=button].button.tertiary.alt,
a[role=button].button.transparent.alt {
  border: 0.125rem solid transparent;
  background-color: transparent;
  color: #ffffff;
}
button[role=link].tertiary.alt:hover, button[role=link].tertiary.alt:focus, button[role=link].transparent.alt:hover, button[role=link].transparent.alt:focus,
.button.tertiary.alt:hover,
.button.tertiary.alt:focus,
.button.transparent.alt:hover,
.button.transparent.alt:focus,
a.button.tertiary.alt:hover,
a.button.tertiary.alt:focus,
a.button.transparent.alt:hover,
a.button.transparent.alt:focus,
a[role=link].button.tertiary.alt:hover,
a[role=link].button.tertiary.alt:focus,
a[role=link].button.transparent.alt:hover,
a[role=link].button.transparent.alt:focus,
a[role=button].button.tertiary.alt:hover,
a[role=button].button.tertiary.alt:focus,
a[role=button].button.transparent.alt:hover,
a[role=button].button.transparent.alt:focus {
  background-color: rgba(0, 0, 0, 0.4);
  text-decoration: underline;
}
button[role=link].tertiary.alt[data-activated-via=keyboard], button[role=link].transparent.alt[data-activated-via=keyboard],
.button.tertiary.alt[data-activated-via=keyboard],
.button.transparent.alt[data-activated-via=keyboard],
a.button.tertiary.alt[data-activated-via=keyboard],
a.button.transparent.alt[data-activated-via=keyboard],
a[role=link].button.tertiary.alt[data-activated-via=keyboard],
a[role=link].button.transparent.alt[data-activated-via=keyboard],
a[role=button].button.tertiary.alt[data-activated-via=keyboard],
a[role=button].button.transparent.alt[data-activated-via=keyboard] {
  background-color: transparent;
  border: 0.125rem solid transparent;
  text-decoration: none;
}

a {
  color: #003087;
  text-decoration: none;
}
a:hover, a:focus {
  color: #003087;
  text-decoration: underline;
}
a.microaction {
  color: #003087;
  vertical-align: middle;
}
a.microaction.copy::before {
  content: url("/cpc/assets/cpc/img/icons/microaction-icon-default.svg");
  position: relative;
  padding-right: 0.25rem;
  display: inline-block;
  top: 3px;
}
a.microaction.copy:hover::before {
  content: url("/cpc/assets/cpc/img/icons/microaction-icon-hover.svg");
}
a.microaction.copy:focus::before {
  content: url("/cpc/assets/cpc/img/icons/microaction-icon-hover.svg");
}

.cpc-fb__content a.button {
  margin-bottom: 0;
}
.cpc-fb__content a.button.primary.mobile-margin {
  margin-bottom: 0.5rem;
}
@media print, screen and (min-width: 40.0625em) {
  .cpc-fb__content a.button.primary.mobile-margin {
    margin-bottom: unset;
  }
}

/**
CPC DS Links
**/
a,
a[role=button],
a[role=link],
.cpc-ds-link {
  color: #003087;
  text-decoration: none;
  border-radius: 1px;
  outline: 0;
}
a:hover,
a[role=button]:hover,
a[role=link]:hover,
.cpc-ds-link:hover {
  text-decoration: underline;
}
a:hover, a:focus,
a[role=button]:hover,
a[role=button]:focus,
a[role=link]:hover,
a[role=link]:focus,
.cpc-ds-link:hover,
.cpc-ds-link:focus {
  color: #001b76;
  text-decoration: underline;
}
a.anchor-footnote,
a[role=button].anchor-footnote,
a[role=link].anchor-footnote,
.cpc-ds-link.anchor-footnote {
  line-height: 100%;
}
a.anchor-footnote:focus, a.anchor-footnote[data-activated-via=keyboard]:focus, a.anchor-footnote[data-activated-via=mouse]:focus,
a[role=button].anchor-footnote:focus,
a[role=button].anchor-footnote[data-activated-via=keyboard]:focus,
a[role=button].anchor-footnote[data-activated-via=mouse]:focus,
a[role=link].anchor-footnote:focus,
a[role=link].anchor-footnote[data-activated-via=keyboard]:focus,
a[role=link].anchor-footnote[data-activated-via=mouse]:focus,
.cpc-ds-link.anchor-footnote:focus,
.cpc-ds-link.anchor-footnote[data-activated-via=keyboard]:focus,
.cpc-ds-link.anchor-footnote[data-activated-via=mouse]:focus {
  box-shadow: 0 0 0 0.125rem #ffffff, 0 0 0 0.25rem #2c73ca;
}
a[data-activated-via=keyboard]:focus,
a[role=button][data-activated-via=keyboard]:focus,
a[role=link][data-activated-via=keyboard]:focus,
.cpc-ds-link[data-activated-via=keyboard]:focus {
  box-shadow: 0 0 0 0.125rem #ffffff, 0 0 0 0.25rem #2c73ca;
}
a[data-activated-via=keyboard]:focus .standalone__external,
a[role=button][data-activated-via=keyboard]:focus .standalone__external,
a[role=link][data-activated-via=keyboard]:focus .standalone__external,
.cpc-ds-link[data-activated-via=keyboard]:focus .standalone__external {
  text-decoration: underline !important;
}
a.inline:not(.standalone),
a[role=button].inline:not(.standalone),
a[role=link].inline:not(.standalone),
.cpc-ds-link.inline:not(.standalone) {
  text-decoration: underline;
  display: inline !important;
}
a:not(.standalone),
a[role=button]:not(.standalone),
a[role=link]:not(.standalone),
.cpc-ds-link:not(.standalone) {
  word-wrap: break-word;
}
a.standalone[data-activated-via=keyboard]:focus,
a[role=button].standalone[data-activated-via=keyboard]:focus,
a[role=link].standalone[data-activated-via=keyboard]:focus,
.cpc-ds-link.standalone[data-activated-via=keyboard]:focus {
  display: inline-block;
}
a.standalone .standalone__internal,
a[role=button].standalone .standalone__internal,
a[role=link].standalone .standalone__internal,
.cpc-ds-link.standalone .standalone__internal {
  display: inline-flex;
  white-space: nowrap;
  text-decoration: inherit;
  line-height: inherit;
  max-height: 1.5rem;
  font-size: inherit;
}
a.standalone .standalone__internal sup,
a[role=button].standalone .standalone__internal sup,
a[role=link].standalone .standalone__internal sup,
.cpc-ds-link.standalone .standalone__internal sup {
  align-self: center;
}
a.standalone .standalone__internal::after,
a[role=button].standalone .standalone__internal::after,
a[role=link].standalone .standalone__internal::after,
.cpc-ds-link.standalone .standalone__internal::after {
  content: url("/cpc/assets/cpc/img/icons/link-chevron-default.svg");
  padding: 2px 0 0 2px;
}
a.standalone .standalone__external,
a[role=button].standalone .standalone__external,
a[role=link].standalone .standalone__external,
.cpc-ds-link.standalone .standalone__external {
  display: inline-flex;
  white-space: nowrap;
  text-decoration: inherit;
  line-height: inherit;
  max-height: 1.5rem;
  font-size: inherit;
  align-items: center;
}
a.standalone .standalone__external::after,
a[role=button].standalone .standalone__external::after,
a[role=link].standalone .standalone__external::after,
.cpc-ds-link.standalone .standalone__external::after {
  content: url("/cpc/assets/cpc/img/icons/external-link-default.svg");
  padding: 2px 0 0 4px;
}
a.standalone:hover .standalone__internal,
a[role=button].standalone:hover .standalone__internal,
a[role=link].standalone:hover .standalone__internal,
.cpc-ds-link.standalone:hover .standalone__internal {
  text-decoration: underline;
}
a.standalone:hover .standalone__internal::after,
a[role=button].standalone:hover .standalone__internal::after,
a[role=link].standalone:hover .standalone__internal::after,
.cpc-ds-link.standalone:hover .standalone__internal::after {
  content: url("/cpc/assets/cpc/img/icons/link-chevron-hover.svg");
}
a.standalone:hover .standalone__external,
a[role=button].standalone:hover .standalone__external,
a[role=link].standalone:hover .standalone__external,
.cpc-ds-link.standalone:hover .standalone__external {
  text-decoration: underline;
}
a.standalone:hover .standalone__external::after,
a[role=button].standalone:hover .standalone__external::after,
a[role=link].standalone:hover .standalone__external::after,
.cpc-ds-link.standalone:hover .standalone__external::after {
  content: url("/cpc/assets/cpc/img/icons/external-link-hover.svg");
}
a.image,
a[role=button].image,
a[role=link].image,
.cpc-ds-link.image {
  display: inline-block;
}
a:not(.microaction):not(.button)[target=_blank] .cpc-ds-link__external, a.secondary:not(.microaction)[target=_blank] .cpc-ds-link__external,
a[role=button]:not(.microaction):not(.button)[target=_blank] .cpc-ds-link__external,
a[role=button].secondary:not(.microaction)[target=_blank] .cpc-ds-link__external,
a[role=link]:not(.microaction):not(.button)[target=_blank] .cpc-ds-link__external,
a[role=link].secondary:not(.microaction)[target=_blank] .cpc-ds-link__external,
.cpc-ds-link:not(.microaction):not(.button)[target=_blank] .cpc-ds-link__external,
.cpc-ds-link.secondary:not(.microaction)[target=_blank] .cpc-ds-link__external {
  display: inline-flex;
  white-space: nowrap;
  text-decoration: inherit;
  line-height: inherit;
  max-height: 1.5rem;
  font-size: inherit;
}
a:not(.microaction):not(.button)[target=_blank] .cpc-ds-link__external::after, a.secondary:not(.microaction)[target=_blank] .cpc-ds-link__external::after,
a[role=button]:not(.microaction):not(.button)[target=_blank] .cpc-ds-link__external::after,
a[role=button].secondary:not(.microaction)[target=_blank] .cpc-ds-link__external::after,
a[role=link]:not(.microaction):not(.button)[target=_blank] .cpc-ds-link__external::after,
a[role=link].secondary:not(.microaction)[target=_blank] .cpc-ds-link__external::after,
.cpc-ds-link:not(.microaction):not(.button)[target=_blank] .cpc-ds-link__external::after,
.cpc-ds-link.secondary:not(.microaction)[target=_blank] .cpc-ds-link__external::after {
  content: url("/cpc/assets/cpc/img/icons/external-link-default.svg");
  padding: 2px 0 0 4px;
}
a:not(.microaction):not(.button)[target=_blank]:hover .cpc-ds-link__external::after, a.secondary:not(.microaction)[target=_blank]:hover .cpc-ds-link__external::after,
a[role=button]:not(.microaction):not(.button)[target=_blank]:hover .cpc-ds-link__external::after,
a[role=button].secondary:not(.microaction)[target=_blank]:hover .cpc-ds-link__external::after,
a[role=link]:not(.microaction):not(.button)[target=_blank]:hover .cpc-ds-link__external::after,
a[role=link].secondary:not(.microaction)[target=_blank]:hover .cpc-ds-link__external::after,
.cpc-ds-link:not(.microaction):not(.button)[target=_blank]:hover .cpc-ds-link__external::after,
.cpc-ds-link.secondary:not(.microaction)[target=_blank]:hover .cpc-ds-link__external::after {
  content: url("/cpc/assets/cpc/img/icons/external-link-hover.svg");
}
a.back-to-top::before,
a[role=button].back-to-top::before,
a[role=link].back-to-top::before,
.cpc-ds-link.back-to-top::before {
  content: "";
  background-image: url("/cpc/assets/cpc/img/icons/back-to-top-link-icon.svg");
  background-size: 1rem 1rem;
  width: 1rem;
  height: 1rem;
  margin: 0 0.25rem 0.25rem 0;
  display: inline-block;
  vertical-align: middle;
}
a .cpc-ds-link__pdf,
a[role=button] .cpc-ds-link__pdf,
a[role=link] .cpc-ds-link__pdf,
.cpc-ds-link .cpc-ds-link__pdf {
  display: inline-flex;
  white-space: nowrap;
  text-decoration: inherit;
  line-height: inherit;
  max-height: 1.5rem;
  font-size: inherit;
  align-items: center;
}
a .cpc-ds-link__pdf::after,
a[role=button] .cpc-ds-link__pdf::after,
a[role=link] .cpc-ds-link__pdf::after,
.cpc-ds-link .cpc-ds-link__pdf::after {
  content: url("/cpc/assets/cpc/img/icons/pdf-link-icon.svg");
  width: 1rem;
  height: 1rem;
  margin: 0 0.25rem 0.25rem 0.25rem;
  display: inline-block;
  vertical-align: middle;
}
a.cpc-ds-details,
a[role=button].cpc-ds-details,
a[role=link].cpc-ds-details,
.cpc-ds-link.cpc-ds-details {
  text-decoration: none;
}

a.button .cpc-ds-link__external,
a[role=link].button .cpc-ds-link__external,
a[role=button].button .cpc-ds-link__external {
  display: inline-flex;
  white-space: nowrap;
  text-decoration: inherit;
  line-height: inherit;
  font-size: inherit;
}
a.button .cpc-ds-link__external::after,
a[role=link].button .cpc-ds-link__external::after,
a[role=button].button .cpc-ds-link__external::after {
  content: url("/cpc/assets/cpc/img/icons/external-link-white.svg");
  padding: 2px 0 0 4px;
}

.link-group + .link-group {
  margin-top: 0.5rem;
}

/* 
Do not delete the following comment. It is essential for tracking purposes.
#Merc2021DoNotDelete 
*/
.cpc-control-select,
.ds-cpc-control-select__tpl {
  position: relative;
  margin-bottom: 1.5rem;
  width: 100%;
  max-width: 468px;
  margin-top: 4px;
}
@media only screen and (max-width: 40em) {
  .cpc-control-select,
.ds-cpc-control-select__tpl {
    width: 100%;
    max-width: 100%;
    min-width: 100%;
    color: #434343;
  }
}

.input-error-dropdown {
  max-width: 468px !important;
  margin-top: -1rem;
}
.input-error-dropdown.input-error {
  padding-left: 40px;
  height: unset;
  margin-bottom: 1rem;
}

.ds-cpc-control-select__tpl {
  border-radius: 4px;
  background: url("../img/icons/dropdown-chevron.svg") right 50% no-repeat;
  background-position-x: 97%;
  background-color: #ffffff;
  border: 1px solid #757575;
  display: none;
}
.ds-cpc-control-select__tpl.error {
  background-color: white;
}

.cpc-control-select {
  display: block;
}

/* smartphones, touchscreens */
@media (hover: none) and (pointer: coarse) {
  .cpc-control-select {
    display: none;
  }
  .ds-cpc-control-select__tpl {
    display: block;
  }
}
.cpc-control-select.disabled .cpc-control-select__toggle {
  border: solid 1px #757575;
  background-color: #f2f2f2;
  color: #434343;
}

.cpc-control-select.disabled .cpc-control-select__toggle:hover,
.cpc-control-select.disabled .cpc-control-select__toggle:focus {
  outline: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  border: solid 1px #757575;
}

.cpc-control-select.disabled .cpc-control-select__toggle .cpc-control-select__toggle-indicator {
  border-top-color: #949595;
}

.cpc-control-select button.cpc-control-select__toggle {
  font-size: 16px;
  font-weight: 400;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: unset;
  color: #434343;
  position: relative;
  height: 100%;
  max-height: 44px;
  width: 100%;
  border-radius: 4px;
  border: solid 1px #757575;
  background-color: #fff;
  padding: 10px 16px !important;
  max-width: 468px;
  text-align: left;
  margin-bottom: 0px;
}
@media only screen and (max-width: 40em) {
  .cpc-control-select button.cpc-control-select__toggle {
    max-width: unset;
  }
}

.cpc-control-select button.cpc-control-select__toggle:focus {
  outline: none;
  border: 2px solid #2c73ca;
  box-shadow: none;
}

.cpc-control-select button.cpc-control-select__toggle.error,
.ds-cpc-control-select__tpl.error {
  border: 1px solid #e4002b;
  color: #757575;
}

.cpc-control-select button.cpc-control-select__toggle.error:focus,
.ds-cpc-control-select__tpl.error:focus {
  outline: none;
  border: 2px solid #e4002b;
}

.cpc-control-select button.cpc-control-select__toggle > span:first-child {
  white-space: nowrap;
  width: 100%;
  display: inline-block;
  overflow: hidden;
  text-align: left;
}

.cpc-control-select button.cpc-control-select__toggle .cpc-control-select__toggle-indicator {
  position: absolute;
  right: 0;
  top: 0;
  background: url("../img/icons/dropdown-chevron.svg") center 50% no-repeat;
  width: 44px;
  height: 44px;
  transition: transform 0.4s;
  border: none;
}

.cpc-control-select .cpc-control-select__combo::-webkit-scrollbar {
  width: 20px;
}

.cpc-control-select .cpc-control-select__combo {
  --scrollbarBG: #fff;
  --thumbBG: $cpc-grey-60;
  scrollbar-width: thin;
  scrollbar-color: var(--thumbBG) var(--scrollbarBG);
}

.cpc-control-select .cpc-control-select__combo::-webkit-scrollbar-track {
  border: 5px solid white;
  background-color: white;
}

.cpc-control-select .cpc-control-select__combo::-webkit-scrollbar-thumb {
  background-color: #949595;
  border: 5px solid white;
  border-radius: 100px;
}

.cpc-control-select .cpc-control-select__combo {
  display: none;
  z-index: 999999;
  position: absolute;
  left: 0;
  right: 0;
  background-color: white;
  overflow: auto;
  height: auto;
  text-align: left;
  border-radius: 4px;
  -webkit-box-shadow: 0 3px 8px 0 rgba(17, 17, 17, 0.13);
  -moz-box-shadow: 0 3px 8px 0 rgba(17, 17, 17, 0.13);
  box-shadow: 0 3px 8px 0 rgba(17, 17, 17, 0.13);
}
.cpc-control-select .cpc-control-select__combo.openBelow, .cpc-control-select .cpc-control-select__combo.openUp {
  border: 1px solid #757575;
}
.cpc-control-select .cpc-control-select__combo ul {
  margin-bottom: 0;
}

@media only screen and (max-width: 40em) {
  .cpc-control-select .cpc-control-select__combo {
    width: 100%;
    max-width: 100%;
    min-width: 100%;
  }
}
.cpc-control-select.cpc-control-select--open .cpc-control-select__toggle:focus {
  outline: none;
  border: 1px solid #757575;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}

.cpc-control-select.cpc-control-select--open .cpc-control-select__toggle.error:focus,
.ds-cpc-control-select__tpl.cpc-control-select--open .ds-cpc-control-select__tpl__toggle.error:focus {
  outline: none;
  border: 2px solid #e4002b;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}

.cpc-control-select.cpc-control-select--open .cpc-control-select__combo {
  display: inherit;
  max-width: 468px;
  width: 100%;
}

.cpc-control-select.cpc-control-select--open .cpc-control-select__combo.openBelow {
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
  border-top: 0px;
}

.cpc-control-select.cpc-control-select--open .cpc-control-select__combo.openUp {
  border-bottom-left-radius: 0px;
  border-bottom-right-radius: 0px;
  border-bottom: 0px;
}

.cpc-control-select.cpc-control-select--open button.cpc-control-select__toggle.openBelow {
  border-bottom-left-radius: 0px;
  border-bottom-right-radius: 0px;
  margin-bottom: 0px;
}

.cpc-control-select.cpc-control-select--open button.cpc-control-select__toggle.openUp {
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
}

.cpc-control-select.cpc-control-select--open button.cpc-control-select__toggle.error.openBelow {
  border-bottom-left-radius: 0px;
  border-bottom-right-radius: 0px;
  border-bottom: 1px solid #757575;
}

.cpc-control-select.cpc-control-select--open button.cpc-control-select__toggle.error.openUp {
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
  border-top: 1px solid #757575;
}

.cpc-control-select.cpc-control-select--open .cpc-control-select__toggle-indicator {
  transform: rotate(180deg);
}

.cpc-control-select ul {
  list-style: none;
  margin: 0;
  padding-left: 0;
}

.cpc-control-select ul li {
  padding: 8px 10px 8px 16px;
  margin-bottom: 0;
  color: #434343;
  font-weight: 400;
}

.cpc-control-select ul li span {
  overflow: hidden;
  width: 100%;
  display: inline-block;
}

.cpc-control-select ul li.selected, .cpc-control-select ul li:focus, .cpc-control-select ul li:hover, .cpc-control-select ul li.selected span, .cpc-control-select ul li:focus span, .cpc-control-select ul li:hover span {
  background-color: #dae9fd;
  color: #2a2a2a;
  outline: none;
  font-weight: 400;
}
.cpc-control-select:hover ul li.selected {
  background: transparent;
  color: #434343;
}
.cpc-control-select:hover ul li.selected:hover {
  background-color: #dae9fd;
  color: #2a2a2a;
}

select.cpc-control-select__tpl {
  display: none;
}

.input-heading {
  padding-top: 0.5rem;
}

/* CPC DS Modal */
/* 
Do not delete the following comment. It is essential for tracking purposes.
#Merc2021DoNotDelete 
*/
.hidden {
  display: none;
}

.no-scroll {
  overflow-y: auto !important;
}

/* this is added to the body when a dialog is open */
.has-dialog {
  overflow: hidden;
}

/* native <dialog> element uses the ::backdrop pseudo-element */
/* dialog::backdrop, */
.dialog-backdrop {
  display: none;
  position: fixed;
  overflow-y: auto;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
@media screen and (min-width: 640px) {
  .dialog-backdrop {
    background: rgba(17, 17, 17, 0.75);
    z-index: 2;
  }
}
.dialog-backdrop.active {
  display: block;
}

/* Dialog */
.default_dialog {
  position: relative;
  width: auto;
  pointer-events: none;
  transform: translate(0, 0);
}

.modal-content {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 100%;
  pointer-events: auto;
  padding: 40px;
  background-color: #fff;
  box-shadow: 0 3px 8px 0 rgba(17, 17, 17, 0.13);
}
@media only screen and (max-width: 640px) {
  .modal-content {
    padding: 16px;
  }
  .modal-content .closebtn {
    min-width: 16px !important;
    max-width: 16px !important;
  }
}

.modal-dialog-centered {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: calc(100% - 128px);
}
@media only screen and (max-width: 640px) {
  .modal-dialog-centered {
    align-items: unset;
    min-height: 100%;
  }
}
.modal-dialog-centered.large {
  width: 80%;
  max-width: 768px;
  margin: 64px auto;
}
.modal-dialog-centered.medium {
  width: 80%;
  max-width: 568px;
  margin: 64px auto;
}
.modal-dialog-centered.small {
  width: 80%;
  max-width: 368px;
  margin: 64px auto;
}
@media only screen and (max-width: 640px) {
  .modal-dialog-centered.small, .modal-dialog-centered.medium, .modal-dialog-centered.large {
    width: 100%;
    max-width: 100%;
    margin: 0;
  }
}

.dialog_label {
  font-family: Roboto;
  font-size: 24px;
  font-weight: 300;
  font-stretch: normal;
  font-style: normal;
  line-height: 32px;
  letter-spacing: 0.2px;
  color: #111111;
  text-align: left;
  outline: none;
  padding: 0;
  margin: 0;
  margin-right: 24px;
}
@media only screen and (max-width: 640px) {
  .dialog_label {
    margin-right: 48px;
    font-size: 20px;
    line-height: 28px;
    letter-spacing: 0.4px;
  }
}

.dialog_form_actions {
  text-align: left;
}

.dialog_desc {
  padding: 24px 0px;
  font-family: Roboto;
  font-size: 1rem;
  font-weight: 300;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: 0.5px;
  color: #333333;
}
.dialog_desc p:first-of-type {
  margin-top: 0;
}
.dialog_desc p:last-of-type {
  margin-bottom: 0;
}

/**
CPC DS notification
**/
.cpc-ds-notification {
  width: 50%;
  display: block;
  border-width: 1px 1px 1px 0.25rem;
  border-style: solid;
  position: relative;
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
}
@media print, screen and (min-width: 40.0625em) and (max-width: 64.06125em) {
  .cpc-ds-notification {
    width: 75%;
  }
}
@media print, screen and (max-width: 40.06125em) {
  .cpc-ds-notification {
    width: 100%;
    padding: 2.9375rem 0.9375rem 0.9375rem 1rem;
  }
}
.cpc-ds-notification:last-of-type {
  margin-bottom: 0;
}
.cpc-ds-notification:not(:last-of-type) {
  margin-bottom: 1.5rem;
}
@media print, screen and (min-width: 40.0625em) {
  .cpc-ds-notification.dismissible {
    padding: 0.9375rem 3.4375rem 0.9375rem 3.5rem;
  }
}
@media print, screen and (min-width: 40.0625em) {
  .cpc-ds-notification:not(.dismissible) {
    padding: 0.9375rem 0.9375rem 0.9375rem 3.5rem;
  }
}
.cpc-ds-notification > div > *:last-child, .cpc-ds-notification > *:last-child {
  margin-bottom: 0;
}
.cpc-ds-notification > div > *:not(:last-child), .cpc-ds-notification > *:not(:last-child):not(.cpc-ds-notification__close-button):not(.cpc-ds-notification__icon) {
  margin-bottom: 1rem;
}
.cpc-ds-notification.info {
  border-color: #2c73ca;
}
.cpc-ds-notification.info.standard {
  background-color: #f2f9ff;
}
.cpc-ds-notification.info .cpc-ds-notification__icon {
  background-image: url("/cpc/assets/cpc/img/icons/notification-info-icon.svg");
}
.cpc-ds-notification.success {
  border-color: #00a907;
}
.cpc-ds-notification.success.standard {
  background-color: #f0ffee;
}
.cpc-ds-notification.success .cpc-ds-notification__icon {
  background-image: url("/cpc/assets/cpc/img/icons/notification-success-icon.svg");
}
.cpc-ds-notification.warning {
  border-color: #e36d00;
}
.cpc-ds-notification.warning.standard {
  background-color: #fff5eb;
}
.cpc-ds-notification.warning .cpc-ds-notification__icon {
  background-image: url("/cpc/assets/cpc/img/icons/notification-warning-icon.svg");
}
.cpc-ds-notification.error {
  border-color: #e4002b;
}
.cpc-ds-notification.error.standard {
  background-color: #fff2f2;
}
.cpc-ds-notification.error .cpc-ds-notification__icon {
  background-image: url("/cpc/assets/cpc/img/icons/notification-error-icon.svg");
}
.cpc-ds-notification.alternate {
  background-color: #ffffff;
}
.cpc-ds-notification.alternate.personal {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.12);
}
.cpc-ds-notification.alternate:not(.personal) {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 48, 135, 0.12);
}
.cpc-ds-notification__icon {
  position: absolute;
  top: 0.9375rem;
  left: 1rem;
  width: 1.5rem;
  height: 1.5rem;
  background-size: 100% 100%;
  margin-bottom: 0;
}
@media print, screen and (max-width: 40.06125em) {
  .cpc-ds-notification__icon {
    left: 1rem;
  }
}
.cpc-ds-notification__close-button {
  position: absolute;
  top: 0;
  right: 0;
  width: 2.75rem;
  height: 2.75rem;
  margin-bottom: 0;
  cursor: pointer;
}
.cpc-ds-notification__close-button::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1rem;
  height: 1rem;
  background-size: 1rem 1rem;
  background-image: url("/cpc/assets/cpc/img/icons/notification-close-icon.svg");
  background-repeat: no-repeat;
  cursor: pointer;
}
.cpc-ds-notification__close-button:focus {
  outline: none;
  border: none;
}
.cpc-ds-notification__close-button:focus::after {
  box-shadow: 0 0 0 0.125rem #2c73ca;
  outline: none;
  border: none;
}
.cpc-ds-notification a {
  text-decoration: underline;
}
.cpc-ds-notification ul {
  list-style-type: none;
  padding: 0;
}
.cpc-ds-notification ul:last-child {
  margin: 0;
}
.cpc-ds-notification ul li {
  color: #434343;
}
.cpc-ds-notification ul li:last-child {
  padding: 0 0 0 0;
}
.cpc-ds-notification ul li:not(:last-child) {
  padding: 0 0 1rem 0;
}

/** 
CPC DS Pagination 
**/
.show-for-sr {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

.pagination-block {
  display: inline-block;
  position: relative;
  height: 44px;
  text-align: right;
  /* @media only screen and (max-width: 730px) {
    position: relative;
  } */
}
@media only screen and (max-width: 40em) {
  .pagination-block {
    width: 100%;
    text-align: center;
  }
}

#pagination {
  display: inline-block;
  height: 44px;
  /* vertical-align: middle;
  height: auto; */
}
#pagination i {
  width: 44px;
  height: 44px;
  margin-left: 8px;
  text-align: center;
  pointer-events: none;
  background: url(../assets/imgs/icons/ellipsis.svg) 50% center no-repeat;
  display: inline-block;
  vertical-align: middle;
}
#pagination a {
  display: inline-block;
  vertical-align: middle;
}
#pagination .prev-button {
  margin-right: 8px;
  margin-bottom: 0;
}
#pagination button {
  width: 44px;
  height: 44px;
  min-width: 44px !important;
  max-height: 44px;
  padding: 10px 0 !important;
  border: none !important;
  border-radius: 2px;
  text-align: center;
  /* margin-right: 8px; */
  background-color: transparent !important;
  font-family: Roboto;
  font-size: 1rem;
  font-weight: 300 !important;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: 0.5px;
  text-align: center;
  color: #333;
  /* Disabled */
}
#pagination button:hover {
  box-shadow: inset 0 0 0 2px #004990;
  border: none;
  cursor: pointer;
}
#pagination button:focus {
  box-shadow: inset 0 0 0 2px #004990, 0 0 0 2px #fff, 0 0 0 4px #0467c6;
  outline: none;
}
#pagination button.by-keyboard:focus {
  box-shadow: inset 0 0 0 2px #004990 !important;
  border: none;
}
#pagination button.current {
  background-color: #0467c6 !important;
  color: #fff;
  pointer-events: none;
  border: none;
  outline: none;
  box-shadow: none;
  font-weight: 400 !important;
}
#pagination button.current.by-keyboard:focus {
  box-shadow: inset 0 0 0 0px #004990 !important;
  border: none;
}
#pagination button:disabled {
  background-color: #eee;
  pointer-events: none;
}
#pagination button:disabled:hover {
  outline: none;
  box-shadow: none;
}
#pagination button + button {
  margin-left: 8px;
}
#pagination button:last-of-type {
  margin-left: 8px;
}

.pageinationText {
  font-family: Roboto;
  font-size: 1rem;
  font-weight: 300;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: 0.5px;
  color: #333;
  margin-bottom: 32px;
  text-align: left;
}
@media only screen and (max-width: 40em) {
  .pageinationText {
    text-align: center;
  }
}

/* Mobile */
.mobileText {
  font-family: Roboto;
  font-size: 1rem;
  font-weight: 300;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: 0.5px;
  color: #333;
  margin-right: 8px;
  display: none;
}
@media only screen and (max-width: 40em) {
  .mobileText {
    display: inline-block;
  }
}

.paginationTextField {
  width: 61px;
  height: 44px;
  margin: 0 12px 0 0;
  padding: 10px 16px;
  border-radius: 2px;
  border: solid 1px #666;
  background-color: #fff;
  font-family: Roboto;
  font-size: 1rem;
  font-weight: 300;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: 0.5px;
  color: #333;
  display: none;
}
@media only screen and (max-width: 40em) {
  .paginationTextField {
    display: inline-block;
  }
}

/* Hide the number field arrow controls */
/* Chrome, Safari, Edge, Opera */
input.paginationTextField::-webkit-outer-spin-button,
input.paginationTextField::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input.paginationTextField[type=number] {
  -moz-appearance: textfield;
}

.resultsPerPage {
  font-family: Roboto;
  font-size: 1rem;
  font-weight: 300;
  font-stretch: normal;
  font-style: normal;
  line-height: 24px;
  letter-spacing: 0.5px;
  color: #333;
  margin-right: 0px;
  margin-left: 32px;
  margin-top: 24px;
  display: inline-block;
  /* @media only screen and (max-width: 730px) {
    display: block;
    text-align: right;
    margin-top: 24px;
    margin-left: 0;
    &.marginRight{
      position: absolute;
      top: 44px;
      margin-right: 0;
      right: 0;
    }
  } */
}
@media only screen and (max-width: 40em) {
  .resultsPerPage {
    display: block;
    text-align: center;
    margin-top: 24px;
    margin-left: 0;
    left: 0;
  }
}
.resultsPerPage label {
  display: inline-block;
  font-family: Roboto;
  font-size: 1rem;
  font-weight: 300;
  font-stretch: normal;
  font-style: normal;
  line-height: 24px;
  letter-spacing: 0.5px;
  color: #333;
  margin-right: 0px;
}
.resultsPerPage .cpc-control-select {
  position: relative;
  margin-bottom: 0;
  width: 100%;
  max-width: 368px;
  display: inline;
  margin-left: 12px;
  line-height: 24px;
  padding: 11px 0px;
}
.resultsPerPage .cpc-control-select__combo {
  width: 79px;
  min-width: 79px;
  margin: 0 auto;
}
.resultsPerPage label + .cpc-control-select {
  margin-top: 0 !important;
}

.desktop {
  display: inline-block;
  height: 44px;
}
@media only screen and (max-width: 40em) {
  .desktop {
    display: none;
  }
}

/* Input focus */
input[type=number]:focus {
  outline: 0;
  border: solid 1px #0467c6;
  border-radius: 2px;
  -webkit-box-shadow: inset 1px 1px 0px 0px #0467c6, inset -1px -1px 0px 0px #0467c6;
  -moz-box-shadow: inset 1px 1px 0px 0px #0467c6, inset -1px -1px 0px 0px #0467c6;
  box-shadow: inset 1px 1px 0px 0px #0467c6, inset -1px -1px 0px 0px #0467c6;
}

.marginRight {
  margin-right: 28px;
}

/**
/* CPC DS toggle
/**

/* 
Do not delete the following comment. It is essential for tracking purposes.
#Merc2021DoNotDelete 
*/
/* containing label */
.toggleText {
  margin-left: 0px !important;
  min-height: 32px;
  height: auto;
  line-height: 24px;
  padding-top: 4px;
}

button.switch-toggle {
  background: none;
  border: none;
  height: auto;
  padding: 0 !important;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: Roboto;
  font-size: 1rem;
  font-weight: 500;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: 0.5px;
  color: #333333;
  cursor: pointer;
  text-align: left;
  white-space: unset;
  /* negate 'flash' of text color when pressing a button in some browsers */
}
button.switch-toggle:hover {
  box-shadow: none;
}
button.switch-toggle:focus {
  outline: none;
}
button.switch-toggle:active {
  color: inherit;
}
button.switch-toggle span {
  pointer-events: none;
  margin-left: 80px;
}

/* using the before/after pseudo elements of the span to create the "switch" */
.switch-toggle__ui:before,
.switch-toggle__ui:after {
  content: "";
  position: absolute;
  /* top: 50%;
  transform: translateY(-50%); */
  top: 0%;
  transform: translateY(0%);
}

/* styling specific to the knob of the switch */
.switch-toggle__ui:after {
  background: #fff;
  border-radius: 100%;
  right: 4px;
  top: 4px;
  transition: right 0.1825s ease-in-out;
  width: 24px;
  height: 24px;
  /* top: 50%;
  transform: translateY(-50%); */
}

/* styling specific to the knob "container" */
.switch-toggle__ui:before {
  background: #888888;
  border-radius: 1.75em;
  right: 0px;
  transition: background 0.2s ease-in-out;
  width: 56px;
  height: 32px;
}

.switch-toggle:hover .switch-toggle__ui:before {
  background: #666666;
}

/* Focus State */
.switch-toggle--labels[aria-pressed=false]:focus .switch-toggle__ui:after,
.switch-toggle.by-keyboard:focus .switch-toggle__ui:before {
  box-shadow: 0 0 0 0px #fff, 0 0 0 0px #0467c6 !important;
}

.switch-toggle[aria-pressed=true]:focus .switch-toggle__ui:before {
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px #0467c6;
  background: #004990;
}

.switch-toggle:focus .switch-toggle__ui:before {
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px #0467c6;
  background: #666666;
}

/* END Focus State */
/* change the position of the knob to indicate it has been checked*/
.switch-toggle[aria-pressed=true] .switch-toggle__ui:after {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="10" viewBox="0 0 12 10"> <g fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"> <g stroke="%230467C6" stroke-width="2"> <g> <g> <g> <path d="M7.5 13.283L10.711 16 16.5 8" transform="translate(-928.000000, -1153.000000) translate(777.000000, 1142.000000) translate(117.000000, 0.000000) translate(28.000000, 4.000000)"/> </g> </g> </g> </g> </g> </svg>');
  background-repeat: no-repeat;
  background-position: center;
}

.switch-toggle[aria-pressed=true]:focus .switch-toggle__ui:after,
.switch-toggle[aria-pressed=true]:hover .switch-toggle__ui:after {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="10" viewBox="0 0 12 10"> <g fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"> <g stroke="%23004990" stroke-width="2"> <g> <g> <g> <path d="M7.5 13.283L10.711 16 16.5 8" transform="translate(-928.000000, -1153.000000) translate(777.000000, 1142.000000) translate(117.000000, 0.000000) translate(28.000000, 4.000000)"/> </g> </g> </g> </g> </g> </svg>');
}

.switch-toggle[aria-pressed=true].by-keyboard .switch-toggle__ui:after {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="10" viewBox="0 0 12 10"> <g fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"> <g stroke="%230467C6" stroke-width="2"> <g> <g> <g> <path d="M7.5 13.283L10.711 16 16.5 8" transform="translate(-928.000000, -1153.000000) translate(777.000000, 1142.000000) translate(117.000000, 0.000000) translate(28.000000, 4.000000)"/> </g> </g> </g> </g> </g> </svg>');
  background-repeat: no-repeat;
  background-position: center;
}

.switch-toggle[aria-pressed=true].by-keyboard:hover .switch-toggle__ui:after {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="10" viewBox="0 0 12 10"> <g fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"> <g stroke="%23004990" stroke-width="2"> <g> <g> <g> <path d="M7.5 13.283L10.711 16 16.5 8" transform="translate(-928.000000, -1153.000000) translate(777.000000, 1142.000000) translate(117.000000, 0.000000) translate(28.000000, 4.000000)"/> </g> </g> </g> </g> </g> </svg>');
}

/* update the color of the "container" to further visually indicate state */
.switch-toggle[aria-pressed=true].by-keyboard .switch-toggle__ui:before {
  background: #0467c6;
}

.switch-toggle[aria-pressed=true].by-keyboard:hover .switch-toggle__ui:before {
  background: #004990;
}

.switch-toggle[aria-pressed=false].by-keyboard .switch-toggle__ui:before {
  background: #888888;
}

.switch-toggle[aria-pressed=false].by-keyboard:hover .switch-toggle__ui:before {
  background: #666666;
}

/**
 * Toggle switch modifications for displaying On/Off labels
 */
.switch-toggle--labels span:before {
  content: "";
}

.switch-toggle--labels[aria-pressed=false] span:after {
  right: 28px;
}

.switch-toggle--labels[aria-pressed=true] span:before {
  content: "";
}

@media screen and (-ms-high-contrast: active) {
  .switch-toggle__ui:after {
    background-color: windowText;
  }
}
/**
 * CPC customized checkbox and radio button inputs
 */
fieldset {
  margin-bottom: 1rem;
  max-width: 271px;
  width: 100%;
}
fieldset div {
  display: block;
  position: relative;
  padding-left: 0;
  line-height: 1.5rem;
  font-weight: 300;
  font-stretch: normal;
  font-style: normal;
  text-align: left;
  cursor: pointer;
  user-select: none;
  margin-bottom: 1rem;
}

[type=checkbox]:checked:focus + label:before,
[type=checkbox]:not(:checked):focus + label:before,
[type=radio]:not(:checked):focus + label:before {
  box-shadow: 0 0 0 0.125rem #ffffff, 0 0 0 0.25rem #0467c6;
}

/* Hide the browser's default checkbox */
[type=checkbox],
[type=radio] {
  position: absolute;
  opacity: 0;
  left: 0;
  z-index: 1;
  padding: 0;
  margin: 0;
}
[type=checkbox][data-activated-via=keyboard]:focus + label::before,
[type=radio][data-activated-via=keyboard]:focus + label::before {
  box-shadow: 0 0 0 0.125rem #ffffff, 0 0 0 0.25rem #2c73ca;
}

[type=checkbox]:checked + label,
[type=checkbox]:not(:checked) + label,
[type=radio]:checked + label,
[type=radio]:not(:checked) + label {
  padding-left: 1.75rem;
  display: flex;
  cursor: pointer;
  color: #434343;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0;
  margin: 0 !important;
}

[type=checkbox] + label::before,
[type=radio] + label::before {
  height: 1rem;
  width: 1rem;
  content: "";
  position: absolute;
  top: 0.25rem;
  left: 0;
  border: solid #757575 1px;
  border-radius: 6.25rem;
  background-color: #ffffff;
}

[type=checkbox]:checked + label,
[type=radio]:checked + label {
  display: flex;
  margin-bottom: 0;
}

[type=checkbox] + label::before {
  border-radius: 1px;
}

[type=radio] + label::before {
  border-radius: 50%;
  box-shadow: 0 0 0 0.125rem #ffffff, 0 0 0 0.25rem #ffffff;
  transition: box-shadow ease 0.5s;
}

[type=radio][disabled]:checked label::before {
  background: #d9d9d9;
  border: 1px solid #757575;
}

[type=radio]:checked + label::before {
  background: #003087;
  border: 1px solid #003087;
}

[type=checkbox]:checked + label::before {
  background: #2c73ca;
  border: 1px solid #2c73ca;
}

[type=checkbox]:checked + label::after {
  position: absolute;
  content: none;
  top: 0.375rem;
  left: 0.3125rem;
  width: 0.375rem;
  height: 0.5625rem;
  transform: rotate(44deg);
  border: solid #ffffff;
  border-width: 0 0.125rem 0.125rem 0;
}

[type=radio]:checked + label::after {
  content: none;
  position: absolute;
  top: 0.625rem;
  left: 0.375rem;
  width: 0.25rem;
  height: 0.25rem;
  border-radius: 40%;
  background: #ffffff;
}

[type=checkbox]:checked + label::after,
[type=radio]:checked + label::after {
  content: "";
}

[type=radio]:checked + label::after {
  transform: none !important;
  transition: none;
}

/* Checked state */
[type=checkbox]:checked + label::before {
  background: #2c73ca;
  border: none;
}
[type=checkbox]:checked + label::after {
  content: "";
}

/* Disabled state */
[type=checkbox]:disabled + label,
[type=radio]:disabled + label {
  color: #757575;
  cursor: default;
}
[type=checkbox]:disabled + label::before,
[type=radio]:disabled + label::before {
  pointer-events: none;
  border: 1px solid #d9d9d9;
  background: #ffffff;
}
[type=checkbox]:disabled:checked + label::before,
[type=radio]:disabled:checked + label::before {
  border: none;
  background: #d9d9d9;
  color: #757575;
}
[type=checkbox]:disabled:checked + label::after,
[type=radio]:disabled:checked + label::after {
  background-color: #757575;
  border-width: 0 0.125rem 0.125rem 0;
}

/**
  * CPC customized text, password, date, time and textarea input
  */
[type=color],
[type=date],
[type=datetime-local],
[type=datetime],
[type=email],
[type=month],
[type=number],
[type=password],
[type=search],
[type=tel],
[type=text],
[type=time],
[type=url],
[type=week] {
  width: 100%;
  max-width: 23rem;
  height: 2.75rem;
  outline: none;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5rem;
  border-radius: 0.25rem;
  border: 1px solid #757575;
  background-color: #ffffff;
  color: #434343;
  padding: 0.625rem 1rem;
  margin-bottom: 1.5rem; /* Change as per need */
  box-sizing: border-box;
  box-shadow: none;
}
@media only screen and (max-width: 40em) {
  [type=color],
[type=date],
[type=datetime-local],
[type=datetime],
[type=email],
[type=month],
[type=number],
[type=password],
[type=search],
[type=tel],
[type=text],
[type=time],
[type=url],
[type=week] {
    max-width: 100%;
  }
}
[type=color]::placeholder,
[type=date]::placeholder,
[type=datetime-local]::placeholder,
[type=datetime]::placeholder,
[type=email]::placeholder,
[type=month]::placeholder,
[type=number]::placeholder,
[type=password]::placeholder,
[type=search]::placeholder,
[type=tel]::placeholder,
[type=text]::placeholder,
[type=time]::placeholder,
[type=url]::placeholder,
[type=week]::placeholder {
  color: #434343;
  opacity: 1; /* Firefox */
}
[type=color]:read-only,
[type=date]:read-only,
[type=datetime-local]:read-only,
[type=datetime]:read-only,
[type=email]:read-only,
[type=month]:read-only,
[type=number]:read-only,
[type=password]:read-only,
[type=search]:read-only,
[type=tel]:read-only,
[type=text]:read-only,
[type=time]:read-only,
[type=url]:read-only,
[type=week]:read-only {
  border: 1px solid #757575;
  background-color: #f2f2f2;
}
[type=color]:hover,
[type=date]:hover,
[type=datetime-local]:hover,
[type=datetime]:hover,
[type=email]:hover,
[type=month]:hover,
[type=number]:hover,
[type=password]:hover,
[type=search]:hover,
[type=tel]:hover,
[type=text]:hover,
[type=time]:hover,
[type=url]:hover,
[type=week]:hover {
  border: 0.125rem solid #001266;
  background-color: #f2f9ff;
  box-shadow: none !important;
}
[type=color]:focus, [type=color][data-activated-via=keyboard],
[type=date]:focus,
[type=date][data-activated-via=keyboard],
[type=datetime-local]:focus,
[type=datetime-local][data-activated-via=keyboard],
[type=datetime]:focus,
[type=datetime][data-activated-via=keyboard],
[type=email]:focus,
[type=email][data-activated-via=keyboard],
[type=month]:focus,
[type=month][data-activated-via=keyboard],
[type=number]:focus,
[type=number][data-activated-via=keyboard],
[type=password]:focus,
[type=password][data-activated-via=keyboard],
[type=search]:focus,
[type=search][data-activated-via=keyboard],
[type=tel]:focus,
[type=tel][data-activated-via=keyboard],
[type=text]:focus,
[type=text][data-activated-via=keyboard],
[type=time]:focus,
[type=time][data-activated-via=keyboard],
[type=url]:focus,
[type=url][data-activated-via=keyboard],
[type=week]:focus,
[type=week][data-activated-via=keyboard] {
  box-shadow: 0 0 0 0.125rem #ffffff, 0 0 0 0.25rem #2c73ca !important;
}
[type=color]:disabled, [type=color].disabled,
[type=date]:disabled,
[type=date].disabled,
[type=datetime-local]:disabled,
[type=datetime-local].disabled,
[type=datetime]:disabled,
[type=datetime].disabled,
[type=email]:disabled,
[type=email].disabled,
[type=month]:disabled,
[type=month].disabled,
[type=number]:disabled,
[type=number].disabled,
[type=password]:disabled,
[type=password].disabled,
[type=search]:disabled,
[type=search].disabled,
[type=tel]:disabled,
[type=tel].disabled,
[type=text]:disabled,
[type=text].disabled,
[type=time]:disabled,
[type=time].disabled,
[type=url]:disabled,
[type=url].disabled,
[type=week]:disabled,
[type=week].disabled {
  border: 1px solid #757575;
  background-color: #f2f2f2;
  pointer-events: none;
}
[type=color].error,
[type=date].error,
[type=datetime-local].error,
[type=datetime].error,
[type=email].error,
[type=month].error,
[type=number].error,
[type=password].error,
[type=search].error,
[type=tel].error,
[type=text].error,
[type=time].error,
[type=url].error,
[type=week].error {
  border: 0.125rem solid #c60025;
}
[type=color].success,
[type=date].success,
[type=datetime-local].success,
[type=datetime].success,
[type=email].success,
[type=month].success,
[type=number].success,
[type=password].success,
[type=search].success,
[type=tel].success,
[type=text].success,
[type=time].success,
[type=url].success,
[type=week].success {
  border: 0.125rem solid #00a907;
}

textarea {
  border-radius: 0.25rem;
  border: 1px solid #949595;
  background: #ffffff;
  color: #434343;
  padding: 0.625rem 1rem;
  height: 12.8125rem;
  outline: none;
  max-width: 23.875rem;
  width: 100%;
  margin-bottom: 0.5rem;
  box-sizing: border-box;
  box-shadow: none;
  transition: none;
  resize: none;
  overflow-y: scroll;
  overflow: auto;
}
@media only screen and (max-width: 40em) {
  textarea {
    max-width: 100%;
  }
}
textarea::placeholder {
  color: #434343;
  opacity: 1; /* Firefox */
}
textarea:read-only {
  border-radius: 0.25rem;
  border: solid 1px #949595;
  background-color: #f2f2f2;
  color: #434343;
}
textarea:focus {
  outline: 0;
  border: solid 0.125rem #2c73ca;
  border-radius: 0.25rem;
  box-shadow: inset 1px 1px 0 0 #2c73ca, inset -1px -1px 0 0 #2c73ca;
  transition: none;
}
textarea:disabled, textarea.disabled {
  background-color: #f0f0f0;
  pointer-events: none;
}

textarea {
  height: 205px;
  max-width: 380.125rem;
  margin-bottom: 0.5rem;
  resize: none;
  overflow-y: scroll;
  overflow: auto;
}

label + input[type=text],
label + input[type=password],
label + input[type=date],
label + input[type=time],
label + textarea {
  margin-top: 0.25rem;
}

/* Read only text */
input[type=text]:read-only::selection {
  background: transparent;
}

input[type=text]:read-only::selection {
  background: transparent;
}

/* validation error */
input[type=text].error,
input[type=password].error,
input[type=date].error,
input[type=time].error {
  border: solid 2px #c60025;
  margin-bottom: 0.25rem;
}

input[type=text]:focus.error,
input[type=password]:focus.error,
input[type=date]:focus.error input[type=time]:focus.error {
  border: solid 0.125rem #c60025 !important;
  outline: none;
  box-shadow: inset 1px 1px 0 0 #c60025, inset -1px -1px 0 0 #c60025;
  margin-bottom: 0.25rem !important;
}

textarea.error {
  border: solid 1px #e4002b !important;
  background: #ffffff;
}

textarea:focus.error {
  border: solid 0.125rem #e4002b !important;
  outline: none;
  box-shadow: inset 1px 1px 0 0 #e4002b, inset -1px -1px 0 0 #e4002b;
}

.maxCharacter {
  margin-top: 0.5rem;
  margin-bottom: 0 !important;
  color: #757575;
}

.maxCharacter + .input-error {
  margin-top: 0.5rem !important;
}

/*error message*/
.input-error {
  max-width: 22.8125rem;
  width: 100%;
  height: auto;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 400;
  font-stretch: normal;
  font-style: normal;
  color: #c60025;
  text-align: left;
  display: block;
  background-image: url("../img/icons/red-alert.svg");
  background-repeat: no-repeat;
  padding-left: 2rem;
}
@media only screen and (max-width: 40em) {
  .input-error {
    max-width: 100%;
  }
}

.input-heading {
  color: #2a2a2a;
  font-family: "Canadiana", arial, sans-serif;
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0;
  margin: 0;
}

/*hint text message*/
.hintText {
  width: 23.875rem;
  height: 1.25rem;
  font-size: 10.25rem;
  line-height: 1.25rem;
  margin-bottom: 0.25rem;
}

.radioIcon {
  width: 30.125rem;
  height: 30.125rem;
  top: -0.25rem;
  position: relative;
}

.flexRadio {
  display: flex;
  gap: 10.125rem;
}

.cpc-ds-input__container {
  position: relative;
  width: 100%;
}
.cpc-ds-input__container input[type=color], .cpc-ds-input__container input[type=date], .cpc-ds-input__container input[type=datetime-local], .cpc-ds-input__container input[type=datetime], .cpc-ds-input__container input[type=email], .cpc-ds-input__container input[type=month], .cpc-ds-input__container input[type=number], .cpc-ds-input__container input[type=password], .cpc-ds-input__container input[type=search], .cpc-ds-input__container input[type=tel], .cpc-ds-input__container input[type=text], .cpc-ds-input__container input[type=time], .cpc-ds-input__container input[type=url], .cpc-ds-input__container input[type=week] {
  margin: 0;
  width: 100%;
  max-width: unset;
  min-width: unset;
  padding: 0.625rem 3rem 0.625rem 1rem;
}
.cpc-ds-input__container input[type=submit] {
  margin: 0;
  position: absolute;
  top: 1.375rem;
  transform: translateY(-50%);
  right: 1rem;
  min-width: unset;
  width: 1rem;
  height: 1rem;
  outline: none;
  background-color: transparent;
  background-size: 1rem 1rem;
  border: none;
  border-radius: unset;
  color: transparent;
  font-size: 0;
  padding: 0;
  cursor: pointer;
}
.cpc-ds-input__container input[type=submit]:focus, .cpc-ds-input__container input[type=submit][data-activated-via=keyboard] {
  box-shadow: 0 0 0 0.125rem #ffffff, 0 0 0 0.25rem #2c73ca;
}
.cpc-ds-input__container input[type=submit].search {
  background-image: url("/cpc/assets/cpc/uploads/kb/microicon-search.svg");
}

.cpc-ds-slider {
  max-width: 105rem;
  width: 100%;
  margin: 0 auto;
  padding-bottom: 5rem;
}
@media print, screen and (min-width: 40.0625em) and (max-width: 64.06125em) {
  .cpc-ds-slider {
    padding-bottom: 5.625rem;
  }
}
@media print, screen and (max-width: 40.06125em) {
  .cpc-ds-slider {
    padding-bottom: 3.625rem;
  }
}
.cpc-ds-slider.personal {
  background-color: #f2f2f2;
}
.cpc-ds-slider.personal .cpc-ds-slider__slides--slide {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.12);
}
.cpc-ds-slider.personal .cpc-ds-slider__slides--slide.hover, .cpc-ds-slider.personal .cpc-ds-slider__slides--slide:hover {
  box-shadow: 0 0.75rem 1rem -0.5rem rgba(0, 0, 0, 0.12), 0 0.25rem 0.25rem -0.125rem rgba(0, 0, 0, 0.06);
  transform: translateY(-0.25rem);
}
.cpc-ds-slider.personal .cpc-ds-slider__button {
  background-color: #d9d9d9;
  background-image: url("/cpc/assets/cpc/img/icons/blog-card-chevron-personal.svg");
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider.personal .cpc-ds-slider__button {
    background-color: transparent;
  }
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider.personal .cpc-ds-slider__button::after {
    background-color: #d9d9d9;
    background-image: url("/cpc/assets/cpc/img/icons/blog-card-chevron-personal-tab-mob.svg");
  }
}
.cpc-ds-slider.personal .cpc-ds-slider__button:hover {
  background-color: #c0c0c0;
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider.personal .cpc-ds-slider__button:hover {
    background-color: transparent;
  }
  .cpc-ds-slider.personal .cpc-ds-slider__button:hover::after {
    background-color: #d9d9d9;
  }
}
.cpc-ds-slider.personal .cpc-ds-slider__button:active {
  background-color: #c0c0c0;
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider.personal .cpc-ds-slider__button:active {
    background-color: transparent;
  }
  .cpc-ds-slider.personal .cpc-ds-slider__button:active::after {
    background-color: #c0c0c0;
  }
}
.cpc-ds-slider.personal .cpc-ds-slider__button:focus {
  background-color: #c0c0c0;
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider.personal .cpc-ds-slider__button:focus {
    background-color: transparent;
  }
  .cpc-ds-slider.personal .cpc-ds-slider__button:focus::after {
    background-color: #c0c0c0;
  }
}
.cpc-ds-slider.personal .cpc-ds-slider__button:focus:not(:focus-visible) {
  background-color: #c0c0c0;
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider.personal .cpc-ds-slider__button:focus:not(:focus-visible) {
    background-color: transparent;
  }
  .cpc-ds-slider.personal .cpc-ds-slider__button:focus:not(:focus-visible)::after {
    background-color: #c0c0c0;
  }
}
.cpc-ds-slider.personal .cpc-ds-slider__scrollbar {
  background-color: #d9d9d9;
}
.cpc-ds-slider.personal .cpc-ds-slider__scrollbar--drag {
  background-color: transparent;
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider.personal .cpc-ds-slider__scrollbar--drag {
    background-color: #434343;
  }
}
.cpc-ds-slider.personal .cpc-ds-slider__scrollbar--drag::after {
  background-color: #434343;
}
.cpc-ds-slider:not(.personal) .cpc-ds-slider__slides--slide {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 48, 135, 0.12);
}
.cpc-ds-slider:not(.personal) .cpc-ds-slider__slides--slide.hover, .cpc-ds-slider:not(.personal) .cpc-ds-slider__slides--slide:hover {
  box-shadow: 0 0.75rem 1rem -0.5rem rgba(0, 48, 135, 0.12), 0 0.25rem 0.25rem -0.125rem rgba(0, 48, 135, 0.06);
  transform: translateY(-0.25rem);
}
.cpc-ds-slider:not(.personal) .cpc-ds-slider__button {
  background-color: #d8dfeb;
  background-image: url("/cpc/assets/cpc/img/icons/blog-card-chevron-business-enterprise.svg");
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider:not(.personal) .cpc-ds-slider__button {
    background-color: transparent;
  }
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider:not(.personal) .cpc-ds-slider__button::after {
    background-color: #d8dfeb;
    background-image: url("/cpc/assets/cpc/img/icons/blog-card-chevron-business-enterprise-tab-mob.svg");
  }
}
.cpc-ds-slider:not(.personal) .cpc-ds-slider__button:hover {
  background-color: #b7bfcd;
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider:not(.personal) .cpc-ds-slider__button:hover {
    background-color: transparent;
  }
  .cpc-ds-slider:not(.personal) .cpc-ds-slider__button:hover::after {
    background-color: #d8dfeb;
  }
}
.cpc-ds-slider:not(.personal) .cpc-ds-slider__button:active {
  background-color: #b7bfcd;
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider:not(.personal) .cpc-ds-slider__button:active {
    background-color: transparent;
  }
  .cpc-ds-slider:not(.personal) .cpc-ds-slider__button:active::after {
    background-color: #b7bfcd;
  }
}
.cpc-ds-slider:not(.personal) .cpc-ds-slider__button:focus {
  background-color: #b7bfcd;
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider:not(.personal) .cpc-ds-slider__button:focus {
    background-color: transparent;
  }
  .cpc-ds-slider:not(.personal) .cpc-ds-slider__button:focus::after {
    background-color: #b7bfcd;
  }
}
.cpc-ds-slider:not(.personal) .cpc-ds-slider__button:focus:not(:focus-visible) {
  background-color: #b7bfcd;
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider:not(.personal) .cpc-ds-slider__button:focus:not(:focus-visible) {
    background-color: transparent;
  }
  .cpc-ds-slider:not(.personal) .cpc-ds-slider__button:focus:not(:focus-visible)::after {
    background-color: #b7bfcd;
  }
}
.cpc-ds-slider:not(.personal) .cpc-ds-slider__scrollbar {
  background-color: #d8dfeb;
}
.cpc-ds-slider:not(.personal) .cpc-ds-slider__scrollbar--drag {
  background-color: transparent;
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider:not(.personal) .cpc-ds-slider__scrollbar--drag {
    background-color: #363b45;
  }
}
.cpc-ds-slider:not(.personal) .cpc-ds-slider__scrollbar--drag::after {
  background-color: #363b45;
}
.cpc-ds-slider.business {
  background-color: #f2f9ff;
}
.cpc-ds-slider.enterprise {
  background-color: #eff6ff;
}
.cpc-ds-slider__main {
  width: 100%;
  max-width: 74rem;
  position: relative;
  margin: 0 auto;
}
@media screen and (min-width: 90em) and (max-width: 89.99875em) {
  .cpc-ds-slider__main {
    padding-left: 0;
    padding-right: 0;
    margin: 0 auto;
    max-width: 64rem;
  }
}
@media print, screen and (min-width: 64.0625em) and (max-width: 89.99875em) {
  .cpc-ds-slider__main {
    padding-left: 0;
    padding-right: 0;
    margin: 0 auto;
    max-width: unset;
  }
}
@media print, screen and (min-width: 40.0625em) and (max-width: 64.06125em) {
  .cpc-ds-slider__main {
    padding-left: 2rem;
    padding-right: 2rem;
    margin: 0;
    max-width: unset;
    overflow: visible;
  }
}
@media print, screen and (max-width: 40.06125em) {
  .cpc-ds-slider__main {
    padding-left: 1rem;
    padding-right: 1rem;
    margin: 0;
    max-width: unset;
    overflow: visible;
  }
}
.cpc-ds-slider__main.with-related-content {
  padding-top: 0;
}
.cpc-ds-slider__main:not(.with-related-content) {
  padding-top: 6rem;
}
.cpc-ds-slider__container {
  width: 100%;
  overflow: hidden;
  position: relative;
  padding: 0 0.125rem 3.75rem;
}
@media print, screen and (min-width: 64.0625em) {
  .cpc-ds-slider__container {
    position: static;
    padding: 0 0.125rem;
    margin: 0 auto;
    max-width: unset;
    width: 100%;
    min-width: 60.0625rem;
  }
}
@media only screen and (min-width: 64.0625em) and (max-width: 89.99875em) {
  .cpc-ds-slider__container {
    width: 85.333333%;
    min-width: 60.0625rem;
  }
}
@media print, screen and (min-width: 40.0625em) and (max-width: 64.06125em) {
  .cpc-ds-slider__container {
    padding: 0 0.125rem 4.25rem;
  }
}
@media print, screen and (min-width: 64.0625em) and (max-width: 89.99875em) {
  .cpc-ds-slider__heading {
    margin: 0 auto;
    max-width: unset;
    width: 85.333333%;
    min-width: 60.0625rem;
  }
}
.cpc-ds-slider__heading h2 {
  margin-bottom: 0;
}
.cpc-ds-slider__slides {
  height: auto;
  align-items: stretch;
  padding: 1.5rem 0 3rem;
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider__slides {
    padding: 1rem 0 0;
  }
}
.cpc-ds-slider__slides--slide {
  background-color: #ffffff;
  padding: 0;
  height: auto;
  transition: transform 0.3s;
  position: relative;
  border-radius: 0.25rem;
  overflow: hidden;
}
.cpc-ds-slider__slides--slide > div {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.cpc-ds-slider__slides--slide-image {
  width: 100%;
  aspect-ratio: 16/9;
  height: auto;
  object-fit: cover;
  object-position: center;
  flex: 1;
}
.cpc-ds-slider__slides--slide-content {
  padding: 2rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  row-gap: 1.5rem;
  flex: 1;
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider__slides--slide-content {
    padding: 1.5rem;
  }
}
.cpc-ds-slider__slides--slide-content:hover span {
  text-decoration: underline;
}
.cpc-ds-slider__slides--slide-content p {
  color: #434343;
  margin-bottom: 0;
}
.cpc-ds-slider__slides--slide-content span {
  color: #003087;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5rem;
  border-radius: 0.125rem;
  display: inline-block;
  background-color: #ffffff;
}
.cpc-ds-slider__slides--slide-content span::after {
  content: url("/cpc/assets/cpc/img/icons/link-chevron-default.svg");
  position: relative;
  padding-left: 0.25rem;
  display: inline-block;
  top: 0.1875rem;
  white-space: nowrap;
}
.cpc-ds-slider__slides--slide-content span:focus {
  outline: none;
  box-shadow: 0 0 0 0.125rem #ffffff, 0 0 0 0.25rem #2c73ca;
  border: none;
  background-color: #ffffff;
}
.cpc-ds-slider__slides--slide > a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  color: transparent;
  user-select: none;
}
.cpc-ds-slider__slides--slide > a:hover + div span {
  color: #001b76;
  outline: none;
  box-shadow: none;
  border: none;
  text-decoration: underline;
}
.cpc-ds-slider__slides--slide > a[data-activated-via=keyboard] {
  outline: none;
  box-shadow: none;
  border: none;
}
.cpc-ds-slider__slides--slide > a[data-activated-via=keyboard] + div span {
  outline: none;
  box-shadow: 0 0 0 0.125rem #ffffff, 0 0 0 0.25rem #2c73ca;
  border: none;
  text-decoration: underline;
}
.cpc-ds-slider__slides--slide > a[data-activated-via=keyboard]:hover {
  box-shadow: 0 0.75rem 1rem -0.5rem rgba(0, 0, 0, 0.12), 0 0.25rem 0.25rem -0.125rem rgba(0, 0, 0, 0.06);
  transform: translateY(-0.25rem);
}
.cpc-ds-slider__button {
  background-repeat: no-repeat;
  background-position: 0.75rem 0.8125rem;
  background-size: 1.125rem 1.125rem;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  padding: 0;
  margin: 0;
  border: none;
  box-shadow: none;
  min-width: unset;
  cursor: pointer;
  user-select: none;
  position: absolute;
  top: 50%;
  z-index: 2;
  -webkit-tap-highlight-color: transparent;
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider__button {
    background: none transparent no-repeat center center/0 0;
    top: unset;
    bottom: -1.375rem;
  }
}
.cpc-ds-slider__button.swiper-button-disabled {
  display: none;
}
.cpc-ds-slider__button:focus {
  outline: none;
  box-shadow: 0 0 0 0.125rem #ffffff, 0 0 0 0.25rem #2c73ca;
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider__button:focus {
    outline: none;
    box-shadow: none;
    background-color: transparent;
  }
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider__button:focus::after {
    outline: none;
    box-shadow: 0 0 0 0.125rem #ffffff, 0 0 0 0.25rem #2c73ca;
  }
}
.cpc-ds-slider__button:focus:not(:focus-visible) {
  outline: none;
  box-shadow: none;
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider__button:focus:not(:focus-visible) {
    outline: none;
    box-shadow: none;
    background-color: transparent;
  }
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider__button:focus:not(:focus-visible)::after {
    outline: none;
    box-shadow: none;
  }
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider__button::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    width: 2rem;
    height: 2rem;
    background-repeat: no-repeat;
    background-position: 0.5625rem 0.625rem;
    background-size: 0.75rem 0.75rem;
  }
}
.cpc-ds-slider__button--prev {
  left: -4.75rem;
  transform: translateY(-50%);
}
@media print, screen and (min-width: 75.063em) and (max-width: 89.99875em) {
  .cpc-ds-slider__button--prev {
    left: 1.875rem;
  }
}
@media print, screen and (min-width: 64.0625em) and (max-width: 75em) {
  .cpc-ds-slider__button--prev {
    left: 0.625rem;
  }
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider__button--prev {
    left: -0.125rem;
  }
}
.cpc-ds-slider__button--next {
  right: -4.75rem;
  transform: translateY(-50%) scaleX(-1);
}
@media print, screen and (min-width: 75.063em) and (max-width: 89.99875em) {
  .cpc-ds-slider__button--next {
    right: 1.875rem;
  }
}
@media print, screen and (min-width: 64.0625em) and (max-width: 75em) {
  .cpc-ds-slider__button--next {
    right: 0.625rem;
  }
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider__button--next {
    right: -0.125rem;
  }
}
.cpc-ds-slider__scrollbar {
  border-radius: 0.625rem;
  position: absolute;
  bottom: -0.125rem;
  z-index: 50;
  width: 100%;
  height: 0.125rem;
  cursor: pointer;
}
@media print, screen and (min-width: 64.0625em) and (max-width: 89.99875em) {
  .cpc-ds-slider__scrollbar {
    margin: 0 auto;
    width: 85.333333%;
    min-width: 60.0625rem;
  }
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider__scrollbar {
    bottom: 1.3125rem;
    width: calc(100% - 8.5rem);
    margin-left: 4.25rem;
  }
  .cpc-ds-slider__scrollbar.cpc-ds-slider__scrollbar--active {
    height: 0.25rem;
  }
}
.cpc-ds-slider__scrollbar:hover, .cpc-ds-slider__scrollbar:active, .cpc-ds-slider__scrollbar:focus {
  height: 0.25rem;
}
.cpc-ds-slider__scrollbar:hover .cpc-ds-slider__scrollbar--drag::after, .cpc-ds-slider__scrollbar:active .cpc-ds-slider__scrollbar--drag::after, .cpc-ds-slider__scrollbar:focus .cpc-ds-slider__scrollbar--drag::after {
  height: 0.25rem;
  transform: translateY(-50%);
}
@media print, screen and (max-width: 40.06125em) {
  .cpc-ds-slider__scrollbar::after {
    content: "";
    position: absolute;
    top: -1rem;
    left: 0;
    right: 0;
    width: 100%;
    height: 2rem;
  }
}
.cpc-ds-slider__scrollbar--drag {
  margin: 0;
  padding: 0;
  height: 1.5rem;
  position: absolute;
  left: 0;
  top: -0.625rem;
  cursor: pointer;
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider__scrollbar--drag {
    margin: 0;
    padding: 0;
    height: 100%;
    position: relative;
    border-radius: 0.625rem;
    left: 0;
    top: 0;
  }
  .cpc-ds-slider__scrollbar--drag:hover::after, .cpc-ds-slider__scrollbar--drag:active::after {
    height: 0.25rem;
    transform: translateY(-50%);
  }
}
.cpc-ds-slider__scrollbar--drag::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-100%);
  left: 0;
  width: 100%;
  height: 0.125rem;
  border-radius: 0.625rem;
}
@media print, screen and (max-width: 64.06125em) {
  .cpc-ds-slider__scrollbar--drag::after {
    transform: translateY(-50%);
  }
}
.cpc-ds-slider__scrollbar--drag:focus {
  outline: none;
  box-shadow: 0 0 0 0.125rem #ffffff, 0 0 0 0.25rem #2c73ca;
}
.cpc-ds-slider__notification {
  display: none;
  visibility: hidden;
}

/* FUNNEL BLOG CARDS  */
.funnel-prefooter-blog-post .cpc-ds-slider {
  padding: 0;
}
.funnel-prefooter-blog-post .cpc-ds-slider__main {
  display: flex;
  row-gap: 1.5rem;
  flex-direction: column;
  padding: 4rem 1rem 3.875rem;
}
@media print, screen and (min-width: 40.0625em) {
  .funnel-prefooter-blog-post .cpc-ds-slider__main {
    padding: 4rem 2rem 5.875rem;
  }
}
@media print, screen and (min-width: 64.0625em) {
  .funnel-prefooter-blog-post .cpc-ds-slider__main {
    flex-direction: row;
    column-gap: 2rem;
    padding: 6rem 0 5.875rem;
  }
}
@media only screen and (min-width: 64.0625em) and (max-width: 89.99875em) {
  .funnel-prefooter-blog-post .cpc-ds-slider__main {
    margin: 0 2rem;
    width: auto;
  }
}
.funnel-prefooter-blog-post .cpc-ds-slider__container {
  position: relative;
  min-width: 0;
  width: 100%;
  padding: 0;
  overflow: clip visible;
}
@media print, screen and (min-width: 64.0625em) {
  .funnel-prefooter-blog-post .cpc-ds-slider__container {
    width: 66.66%;
  }
}
.funnel-prefooter-blog-post .cpc-ds-slider__heading {
  width: 100%;
  min-width: 0;
  margin-bottom: 0;
}
@media print, screen and (min-width: 64.0625em) {
  .funnel-prefooter-blog-post .cpc-ds-slider__heading {
    width: calc(33.33% - 1rem);
  }
}
.funnel-prefooter-blog-post .cpc-ds-slider__heading img {
  margin-bottom: 1rem;
}
@media print, screen and (min-width: 64.0625em) {
  .funnel-prefooter-blog-post .cpc-ds-slider__heading img {
    margin-bottom: 1.5rem;
  }
}
.funnel-prefooter-blog-post .cpc-ds-slider__slides {
  padding-top: 0;
  padding-bottom: 3.75rem;
}
.funnel-prefooter-blog-post .cpc-ds-slider__scrollbar {
  position: absolute;
  left: -6px;
  bottom: 1rem;
  height: 0.125rem;
  width: calc(100% - 7.75rem);
  margin-top: 3rem;
  cursor: pointer;
}
.funnel-prefooter-blog-post .cpc-ds-slider__scrollbar.cpc-ds-slider__scrollbar--active {
  right: 8rem;
}
@media print, screen and (min-width: 64.0625em) {
  .funnel-prefooter-blog-post .cpc-ds-slider__scrollbar {
    left: 4.125rem;
    width: calc(100% - 8.25rem);
  }
}
@media print, screen and (min-width: 64.0625em) and (max-width: 89.99875em) {
  .funnel-prefooter-blog-post .cpc-ds-slider__scrollbar {
    min-width: unset;
  }
}
.funnel-prefooter-blog-post .cpc-ds-slider__button {
  position: relative;
  width: 2rem;
  height: 2rem;
  background-size: 0.4375rem;
  background-image: unset !important;
}
.funnel-prefooter-blog-post .cpc-ds-slider__button--prev {
  position: absolute;
  top: unset;
  bottom: 0.125rem;
  left: 0.25rem;
  border-radius: 50%;
  padding: 0;
  transform: unset;
}
.funnel-prefooter-blog-post .cpc-ds-slider__button--prev::before {
  content: " ";
  display: block;
  background-size: 0.4375rem;
  background-repeat: no-repeat;
  border-radius: 50%;
  width: 2rem;
  height: 2rem;
  padding: 0;
  margin: 0;
  border: none;
  box-shadow: none;
  min-width: unset;
  position: relative;
  background-image: url(/cpc/assets/cpc/img/icons/slider/chevron-left.svg);
  background-position: 50%;
  transform: translateY(0%);
}
.funnel-prefooter-blog-post .cpc-ds-slider__button--next {
  position: absolute;
  top: unset;
  bottom: -0.875rem;
  right: 0.25rem;
  border-radius: 50%;
  padding: 0;
}
.funnel-prefooter-blog-post .cpc-ds-slider__button--next::before {
  content: " ";
  display: block;
  background-size: 0.4375rem;
  background-repeat: no-repeat;
  border-radius: 50%;
  width: 2rem;
  height: 2rem;
  padding: 0;
  margin: 0;
  border: none;
  box-shadow: none;
  min-width: unset;
  position: relative;
  background-image: url(/cpc/assets/cpc/img/icons/slider/chevron-right.svg);
  background-position: 50%;
  transform: translateY(0%) scaleX(-1);
}
.funnel-prefooter-blog-post .cpc-ds-slider.personal .cpc-ds-slider__button--prev:hover::before, .funnel-prefooter-blog-post .cpc-ds-slider.personal .cpc-ds-slider__button--prev:hover::after {
  background-color: #c0c0c0;
}
.funnel-prefooter-blog-post .cpc-ds-slider.personal .cpc-ds-slider__button--next:hover::before, .funnel-prefooter-blog-post .cpc-ds-slider.personal .cpc-ds-slider__button--next:hover::after {
  background-color: #c0c0c0;
}
.funnel-prefooter-blog-post .cpc-ds-slider.business .cpc-ds-slider__button--prev::before, .funnel-prefooter-blog-post .cpc-ds-slider.enterprise .cpc-ds-slider__button--prev::before {
  background-color: #d8dfeb;
}
.funnel-prefooter-blog-post .cpc-ds-slider.business .cpc-ds-slider__button--prev:hover::before, .funnel-prefooter-blog-post .cpc-ds-slider.business .cpc-ds-slider__button--prev:hover::after, .funnel-prefooter-blog-post .cpc-ds-slider.enterprise .cpc-ds-slider__button--prev:hover::before, .funnel-prefooter-blog-post .cpc-ds-slider.enterprise .cpc-ds-slider__button--prev:hover::after {
  background-color: #b7bfcd;
}
.funnel-prefooter-blog-post .cpc-ds-slider.business .cpc-ds-slider__button--next::before, .funnel-prefooter-blog-post .cpc-ds-slider.enterprise .cpc-ds-slider__button--next::before {
  background-color: #d8dfeb;
}
.funnel-prefooter-blog-post .cpc-ds-slider.business .cpc-ds-slider__button--next:hover::before, .funnel-prefooter-blog-post .cpc-ds-slider.business .cpc-ds-slider__button--next:hover::after, .funnel-prefooter-blog-post .cpc-ds-slider.enterprise .cpc-ds-slider__button--next:hover::before, .funnel-prefooter-blog-post .cpc-ds-slider.enterprise .cpc-ds-slider__button--next:hover::after {
  background-color: #b7bfcd;
}

/* Its a common class, might be already included */
.ds-error {
  max-width: 365px;
  width: 100%;
  height: 24px;
  font-size: 16px;
  line-height: 24px;
  font-weight: 400;
  font-stretch: normal;
  font-style: normal;
  color: #e4002b;
  text-align: left;
  display: block;
  background-image: url("../img/icons/red-alert.svg");
  background-repeat: no-repeat;
  padding-left: 32px;
}

@media only screen and (max-width: 40em) {
  .ds-error {
    max-width: 100%;
  }
}
.cpc-ds-process-list-container {
  width: 100%;
  max-width: 578px;
}

ol.cpc-ds-process-list {
  list-style: none;
  counter-reset: item;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  margin-left: 0;
  margin-top: 1.5rem;
}
ol.cpc-ds-process-list .br8px {
  display: block;
  margin-bottom: 0.5rem;
}
ol.cpc-ds-process-list ul {
  margin-left: 1.5rem !important;
}
ol.cpc-ds-process-list ul li {
  counter-increment: none;
  margin-left: 0;
  margin-bottom: 0;
  position: relative;
  padding-top: 0.5rem;
}
ol.cpc-ds-process-list ul li::before {
  content: "";
  width: 0.25rem;
  height: 0.25rem;
  border-radius: 50%;
  background-color: #2a2a2a !important;
  position: absolute;
  left: -1.5rem;
  top: 1.25rem !important;
}
ol.cpc-ds-process-list li {
  display: flex !important;
  counter-increment: item;
  margin-bottom: 1.5rem;
  color: #434343;
  padding: 0;
}
ol.cpc-ds-process-list li:before {
  margin-right: 1rem;
  content: counter(item);
  background: #2c73ca;
  color: #ffffff;
  text-align: center;
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  flex-shrink: 0;
  border-radius: 0.875rem;
  font-weight: 700;
}

.cpc-fb__content .cpc-ds-process-list--check,
.cpc-ds-process-list--check {
  margin-top: 0;
  list-style: none;
  margin-left: 1.25rem;
}
.cpc-fb__content .cpc-ds-process-list--check .margin-top16,
.cpc-ds-process-list--check .margin-top16 {
  margin-top: 1rem;
}
.cpc-fb__content .cpc-ds-process-list--check li,
.cpc-ds-process-list--check li {
  position: relative;
  padding-top: 0;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
}
.cpc-fb__content .cpc-ds-process-list--check li:last-child,
.cpc-ds-process-list--check li:last-child {
  padding-bottom: 0;
}
.cpc-fb__content .cpc-ds-process-list--check li::marker,
.cpc-ds-process-list--check li::marker {
  display: none;
  content: "";
}
.cpc-fb__content .cpc-ds-process-list--check li:before,
.cpc-ds-process-list--check li:before {
  height: 1.25rem;
  width: 1.25rem;
  content: "";
  position: absolute;
  left: -1.2rem;
  background: url(/cpc/assets/cpc/uploads/icons/Icon_check.svg);
  background-repeat: no-repeat;
  top: 0.2rem;
  background-position-x: -0.14rem;
  background-position-y: -0.13rem;
}

.cpc-ds-complex-process-list-container {
  width: 100%;
  margin-top: -1rem;
  margin-bottom: 1.5rem;
}
@media print, screen and (min-width: 40.0625em) {
  .cpc-ds-complex-process-list-container {
    margin-bottom: 2rem;
  }
}
.cpc-ds-complex-process-list-container ol.cpc-ds-process-list li {
  display: grid !important;
  grid-template-columns: 25px calc(100% - 40px);
  column-gap: 15px;
}
.cpc-ds-complex-process-list-container ol.cpc-ds-process-list li:before {
  display: inline-block;
}
.cpc-ds-complex-process-list-container ol.cpc-ds-process-list p {
  margin-bottom: 0.5rem;
}
@media only screen and (max-width: 64em) {
  .cpc-ds-complex-process-list-container .image-wrap {
    background-color: #f2f2f2;
    text-align: center;
    padding: 32px 0;
    margin-top: 24px;
    grid-column: span 2;
    border-radius: 4px;
  }
}
@media only screen and (min-width: 1024.5px) {
  .cpc-ds-complex-process-list-container .hide-for-large-screen {
    display: none !important;
  }
  .cpc-ds-complex-process-list-container li:last-child {
    margin-bottom: 0;
  }
}

@media only screen and (max-width: 1024.5px) {
  .show-for-large-screen {
    display: none;
  }
}
@media only screen and (min-width: 1024.5px) {
  img.illustration-border {
    border-radius: 4px;
  }
}
.mb-24 {
  margin-bottom: 1.5rem !important;
}

.cpc-ds-details-wrap .cpc-ds-details::after {
  width: 1rem;
  height: 1rem;
  content: url(/cpc/assets/cpc/img/icons/accordion-chevron.svg);
  display: inline-block;
  position: absolute;
  transition: 0.4s;
  background-repeat: no-repeat;
  top: 1px;
  right: -2px;
}
.cpc-ds-details-wrap .cpc-ds-details:hover {
  text-decoration: underline;
}
@media (hover: none) and (pointer: coarse) {
  .cpc-ds-details-wrap .cpc-ds-details:not(:active) {
    text-decoration: none;
  }
}
.cpc-ds-details-wrap .cpc-ds-details[data-activated-via=keyboard]:focus {
  text-decoration: underline;
}
.cpc-ds-details-wrap .cpc-ds-accordion__button {
  display: unset;
  padding: 0 1.25rem 0 0;
  width: auto;
}
.cpc-ds-details-wrap.cpc-ds-accordions-expander--active .cpc-ds-details::after {
  transform: rotate(180deg);
  margin-top: 2px;
}
.cpc-ds-details-wrap .cpc-ds-accordion__content {
  padding: 0;
}
.cpc-ds-details-wrap .cpc-ds-accordion__content--inner {
  padding: 0;
}

.cpc-ds-list {
  list-style: none;
}
.cpc-ds-list li,
.cpc-ds-list div[role=listitem] {
  font-weight: 400;
  color: #434343;
  position: relative;
  padding-top: 0;
  padding-left: 0.5rem;
  margin-top: 0.5rem;
}
.cpc-ds-list li strong,
.cpc-ds-list li h3,
.cpc-ds-list li h4,
.cpc-ds-list li h5,
.cpc-ds-list li h6,
.cpc-ds-list div[role=listitem] strong,
.cpc-ds-list div[role=listitem] h3,
.cpc-ds-list div[role=listitem] h4,
.cpc-ds-list div[role=listitem] h5,
.cpc-ds-list div[role=listitem] h6 {
  display: inline-block;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.5rem;
  color: #2a2a2a;
}
.cpc-ds-list li p,
.cpc-ds-list li span:not(.cpc-ds-link__external):not(.cpc-ds-link__pdf):not(.standalone__external):not(.standalone__internal),
.cpc-ds-list div[role=listitem] p,
.cpc-ds-list div[role=listitem] span:not(.cpc-ds-link__external):not(.cpc-ds-link__pdf):not(.standalone__external):not(.standalone__internal) {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5rem;
  color: #434343;
  display: block;
  margin: 0;
}
.cpc-ds-list:not(.legal) {
  font-size: 1rem;
  line-height: 1.5rem;
}
.cpc-ds-list:not(.legal) li:not(.legal),
.cpc-ds-list:not(.legal) div[role=listitem]:not(.legal) {
  font-size: 1rem;
  line-height: 1.5rem;
}
.cpc-ds-list.legal {
  font-size: 0.75rem;
  line-height: 1rem;
}
.cpc-ds-list.legal li,
.cpc-ds-list.legal div[role=listitem] {
  font-size: 0.75rem;
  line-height: 1rem;
}
.cpc-ds-list li.legal,
.cpc-ds-list div[role=listitem].legal {
  font-size: 0.75rem;
  line-height: 1rem;
}
.cpc-ds-list.width-75 {
  width: 100%;
}
@media print, screen and (min-width: 40.0625em) {
  .cpc-ds-list.width-75 {
    width: 75%;
  }
}
.cpc-ds-list > li ul,
.cpc-ds-list > li ol,
.cpc-ds-list > div[role=listitem] ul,
.cpc-ds-list > div[role=listitem] ol {
  list-style-type: disc;
  padding: 0;
  margin: 0.75rem 0;
}
.cpc-ds-list > li ul li,
.cpc-ds-list > li ul div[role=listitem],
.cpc-ds-list > li ol li,
.cpc-ds-list > li ol div[role=listitem],
.cpc-ds-list > div[role=listitem] ul li,
.cpc-ds-list > div[role=listitem] ul div[role=listitem],
.cpc-ds-list > div[role=listitem] ol li,
.cpc-ds-list > div[role=listitem] ol div[role=listitem] {
  position: relative;
  padding-left: 0.75rem;
}
.cpc-ds-list > li ul li::before,
.cpc-ds-list > li ul div[role=listitem]::before,
.cpc-ds-list > li ol li::before,
.cpc-ds-list > li ol div[role=listitem]::before,
.cpc-ds-list > div[role=listitem] ul li::before,
.cpc-ds-list > div[role=listitem] ul div[role=listitem]::before,
.cpc-ds-list > div[role=listitem] ol li::before,
.cpc-ds-list > div[role=listitem] ol div[role=listitem]::before {
  content: "";
  width: 0.25rem;
  height: 0.25rem;
  position: absolute;
  left: 0;
  top: 0.625rem;
  background-repeat: no-repeat;
  background: url("/cpc/assets/cpc/uploads/icons/hollow-bullet.svg");
}

.list li {
  padding: 0 !important;
}

ul.cpc-ds-list,
div[role=list].cpc-ds-list {
  margin-left: 1rem !important;
}
ul.cpc-ds-list li::before,
ul.cpc-ds-list div[role=listitem]::before,
div[role=list].cpc-ds-list li::before,
div[role=list].cpc-ds-list div[role=listitem]::before {
  content: "";
  width: 0.25rem;
  height: 0.25rem;
  position: absolute;
  left: -1rem;
  background-repeat: no-repeat;
}
ul.cpc-ds-list > li::before,
ul.cpc-ds-list > div[role=listitem]::before,
div[role=list].cpc-ds-list > li::before,
div[role=list].cpc-ds-list > div[role=listitem]::before {
  background: url("/cpc/assets/cpc/uploads/icons/Bullet.svg");
}
ul.cpc-ds-list:not(.legal):not(.cpc-ds-list__checklist) li:not(.legal)::before, ul.cpc-ds-list:not(.legal):not(.cpc-ds-list__checklist) div[role=listitem]:not(.legal)::before,
div[role=list].cpc-ds-list:not(.legal):not(.cpc-ds-list__checklist) li:not(.legal)::before,
div[role=list].cpc-ds-list:not(.legal):not(.cpc-ds-list__checklist) div[role=listitem]:not(.legal)::before {
  top: 0.625rem;
}
ul.cpc-ds-list.legal li::before, ul.cpc-ds-list.legal div[role=listitem]::before,
ul.cpc-ds-list li.legal::before,
ul.cpc-ds-list div[role=listitem].legal::before,
div[role=list].cpc-ds-list.legal li::before,
div[role=list].cpc-ds-list.legal div[role=listitem]::before,
div[role=list].cpc-ds-list li.legal::before,
div[role=list].cpc-ds-list div[role=listitem].legal::before {
  top: 0.375rem;
}
ul.cpc-ds-list.cpc-ds-list__checklist > li,
ul.cpc-ds-list.cpc-ds-list__checklist div[role=listitem],
div[role=list].cpc-ds-list.cpc-ds-list__checklist > li,
div[role=list].cpc-ds-list.cpc-ds-list__checklist div[role=listitem] {
  padding: 0 0 0 1rem;
  position: relative;
}
ul.cpc-ds-list.cpc-ds-list__checklist > li:not(:last-child),
ul.cpc-ds-list.cpc-ds-list__checklist div[role=listitem]:not(:last-child),
div[role=list].cpc-ds-list.cpc-ds-list__checklist > li:not(:last-child),
div[role=list].cpc-ds-list.cpc-ds-list__checklist div[role=listitem]:not(:last-child) {
  margin: 0 0 1.5rem;
}
ul.cpc-ds-list.cpc-ds-list__checklist > li:last-child,
ul.cpc-ds-list.cpc-ds-list__checklist div[role=listitem]:last-child,
div[role=list].cpc-ds-list.cpc-ds-list__checklist > li:last-child,
div[role=list].cpc-ds-list.cpc-ds-list__checklist div[role=listitem]:last-child {
  margin: 0;
}
ul.cpc-ds-list.cpc-ds-list__checklist > li::before,
ul.cpc-ds-list.cpc-ds-list__checklist div[role=listitem]::before,
div[role=list].cpc-ds-list.cpc-ds-list__checklist > li::before,
div[role=list].cpc-ds-list.cpc-ds-list__checklist div[role=listitem]::before {
  background: url("/cpc/assets/cpc/uploads/kb/support-list-checkmark-icon.svg");
  width: 1.5rem;
  height: 1.5rem;
  margin-right: 0.5rem;
  top: 0;
}

ol.cpc-ds-list {
  counter-reset: ordered-list-counter;
  margin-left: 0;
}
ol.cpc-ds-list > li {
  counter-increment: ordered-list-counter;
  padding-left: 1.5rem;
}
ol.cpc-ds-list > li::before {
  content: counter(ordered-list-counter) ". ";
  width: 1rem;
  height: 1.5rem;
  display: inline-block;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5rem;
  color: #434343;
  margin-right: 0.5rem;
  position: absolute;
  left: 0;
}

.cpc-ds-tooltip {
  position: absolute;
  width: 100%;
  background-color: #ffffff;
  padding: 0.75rem;
  border-radius: 0.25rem;
  border: 0.125rem solid #757575;
  box-sizing: content-box;
  transition: all 0.2s;
}
@media print, screen and (min-width: 64.0625em) {
  .cpc-ds-tooltip {
    top: 50%;
    left: calc(100% + 1rem);
    transform: translateY(-50%);
  }
}
@media print, screen and (min-width: 40.0625em) and (max-width: 64.06125em) {
  .cpc-ds-tooltip {
    bottom: -3.89rem;
    right: 0;
  }
}
@media print, screen and (max-width: 40.06125em) {
  .cpc-ds-tooltip {
    bottom: -3.89rem;
    left: 0;
  }
}
.cpc-ds-tooltip.showing {
  visibility: visible;
  opacity: 1;
}
.cpc-ds-tooltip:not(.showing) {
  visibility: hidden;
  opacity: 0;
}
.cpc-ds-tooltip__arrow {
  position: absolute;
}
@media print, screen and (min-width: 64.0625em) {
  .cpc-ds-tooltip__arrow {
    left: -0.625rem;
    top: 50%;
    transform: translateY(-50%);
  }
}
@media print, screen and (min-width: 40.0625em) and (max-width: 64.06125em) {
  .cpc-ds-tooltip__arrow {
    right: 0.75rem;
    top: -0.75rem;
    transform: rotate(90deg);
  }
}
@media print, screen and (max-width: 40.06125em) {
  .cpc-ds-tooltip__arrow {
    left: 50%;
    top: -0.75rem;
    transform: translateX(-50%) rotate(90deg);
  }
}
.cpc-ds-tooltip__container {
  position: relative;
}
.cpc-ds-tooltip__button {
  position: inherit;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzL2NwYy1kcy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBRUE7RUFDRTtFQUNBO0VBRUE7RUFDQTtBQUZGO0FBS0E7RUFDRTtBQUhGOztBQUtBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUZGOztBQUlBO0VBQ0U7QUFERjs7QUFHQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBQUY7O0FBRUE7O0VBRUU7QUFDRjs7QUFDQTtFQUNFO0FBRUY7O0FBQUE7RUFDRTtFQUNBO0FBR0Y7O0FBREE7RUFDRTtFQUNBO0FBSUY7O0FBRkE7RUFDRTtBQUtGO0FBSkU7RUFDRTtBQU1KOztBQUhBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQU1GOztBQUpBO0VBQ0U7QUFPRjs7QUFMQTtBQUVFOztFQUVFO0FBT0o7QUFKRTtFQUNFO0VBQ0E7QUFNSjs7QUFGQTtBQUNBO0VBQ0U7QUFLRjtBQUpFOzs7Ozs7O0VBT0U7QUFNSjtBQUpFOzs7O0VBSUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFNSjtBQUpFO0VBQ0U7QUFNSjtBQUpFO0VBQ0U7QUFNSjtBQUpFO0VBQ0U7QUFNSjtBQUpFO0VBQ0U7QUFNSjs7QUFGQTtBQUVFO0VBQ0U7RUFDQTtFQUNBO0FBSUo7QUFISTtFQUNFO0FBS047QUFGRTtFQUNFO0FBSUo7O0FBQUU7RUFDRTtBQUdKOztBQUNFO0VBQ0U7QUFFSixDOzs7O0FDNUlBOzs7O0NBQUE7QUNNQTs7Ozs7RUFBQTtBQ05BOztDQUFBO0FDQUE7Ozs7RUFBQTtBQ0VBOztFQUFBO0FDNk5BO0FGdEtJO0VBSUkseUJFMkVDO0FML0dUO0FHZ0NJO0VBSUkseUJFMkVDO0FMNUdUO0FHNkJJO0VBSUkseUJFMkVDO0FMekdUO0FHMEJJO0VBSUkseUJFMkVDO0FMdEdUO0FHdUJJO0VBSUkseUJFMkVDO0FMbkdUO0FHb0JJO0VBSUkseUJFMkVDO0FMaEdUO0FHaUJJO0VBSUkseUJFMkVDO0FMN0ZUO0FHY0k7RUFJSSx5QkUyRUM7QUwxRlQ7QUdXSTtFQUlJLHlCRTJFQztBTHZGVDtBR1FJO0VBSUkseUJFMkVDO0FMcEZUO0FHS0k7RUFJSSx5QkUyRUM7QUxqRlQ7QUdFSTtFQUlJLHlCRTJFQztBTDlFVDtBR0RJO0VBSUkseUJFMkVDO0FMM0VUO0FHSkk7RUFJSSx5QkUyRUM7QUx4RVQ7QUdQSTtFQUlJLHlCRTJFQztBTHJFVDtBR1ZJO0VBSUkseUJFMkVDO0FMbEVUO0FHYkk7RUFJSSx5QkUyRUM7QUwvRFQ7QUdoQkk7RUFJSSx5QkUyRUM7QUw1RFQ7QUduQkk7RUFJSSx5QkUyRUM7QUx6RFQ7QUd0Qkk7RUFJSSx5QkUyRUM7QUx0RFQ7QUd6Qkk7RUFJSSx5QkUyRUM7QUxuRFQ7QUc1Qkk7RUFJSSx5QkUyRUM7QUxoRFQ7QUcvQkk7RUFJSSx5QkUyRUM7QUw3Q1Q7QUdsQ0k7RUFJSSx5QkUyRUM7QUwxQ1Q7QUdyQ0k7RUFJSSx5QkUyRUM7QUx2Q1Q7QUd4Q0k7RUFJSSx5QkUyRUM7QUxwQ1Q7QUczQ0k7RUFJSSx5QkUyRUM7QUxqQ1Q7QUc5Q0k7RUFJSSx5QkUyRUM7QUw5QlQ7QUdqREk7RUFJSSx5QkUyRUM7QUwzQlQ7QUdwREk7RUFJSSx5QkUyRUM7QUx4QlQ7QUd2REk7RUFJSSx5QkUyRUM7QUxyQlQ7QUcxREk7RUFJSSx5QkUyRUM7QUxsQlQ7QUc3REk7RUFJSSx5QkUyRUM7QUxmVDtBR2hFSTtFQUlJLHlCRTJFQztBTFpUO0FHbkVJO0VBSUkseUJFMkVDO0FMVFQ7QUd0RUk7RUFJSSx5QkUyRUM7QUxOVDtBR3pFSTtFQUlJLHlCRTJFQztBTEhUO0FHNUVJO0VBSUkseUJFMkVDO0FMQVQ7QUcvRUk7RUFJSSx5QkUyRUM7QUxHVDtBR2xGSTtFQUlJLHlCRTJFQztBTE1UO0FHckZJO0VBSUkseUJFMkVDO0FMU1Q7QUd4Rkk7RUFJSSx5QkUyRUM7QUxZVDtBRzNGSTtFQUlJLHlCRTJFQztBTGVUO0FHOUZJO0VBSUkseUJFMkVDO0FMa0JUO0FHakdJO0VBSUkseUJFMkVDO0FMcUJUO0FHcEdJO0VBSUkseUJFMkVDO0FMd0JUO0FHdkdJO0VBSUkseUJFMkVDO0FMMkJUO0FHMUdJO0VBSUkseUJFMkVDO0FMOEJUO0FHN0dJO0VBSUkseUJFMkVDO0FMaUNUO0FHaEhJO0VBSUkseUJFMkVDO0FMb0NUO0FHbkhJO0VBSUkseUJFMkVDO0FMdUNUO0FHdEhJO0VBSUkseUJFMkVDO0FMMENUO0FHekhJO0VBSUkseUJFMkVDO0FMNkNUO0FHNUhJO0VBSUkseUJFMkVDO0FMZ0RUO0FHL0hJO0VBSUkseUJFMkVDO0FMbURUO0FHbElJO0VBSUkseUJFMkVDO0FMc0RUO0FHcklJO0VBSUkseUJFMkVDO0FMeURUO0FHeElJO0VBSUkseUJFMkVDO0FMNERUO0FHM0lJO0VBSUkseUJFMkVDO0FMK0RUO0FHOUlJO0VBSUkseUJFMkVDO0FMa0VUO0FHakpJO0VBSUkseUJFMkVDO0FMcUVUO0FHcEpJO0VBSUkseUJFMkVDO0FMd0VUO0FHdkpJO0VBSUkseUJFMkVDO0FMMkVUO0FHMUpJO0VBSUkseUJFMkVDO0FMOEVUO0FHN0pJO0VBSUkseUJFMkVDO0FMaUZUO0FHaEtJO0VBSUkseUJFMkVDO0FMb0ZUO0FHbktJO0VBSUkseUJFMkVDO0FMdUZUO0FHdEtJO0VBSUkseUJFMkVDO0FMMEZUO0FHektJO0VBSUkseUJFMkVDO0FMNkZUO0FHNUtJO0VBSUkseUJFMkVDO0FMZ0dUOztBRy9LSTtFQUlJLGNFMkVDO0FMb0dUO0FHbkxJO0VBSUksY0UyRUM7QUx1R1Q7QUd0TEk7RUFJSSxjRTJFQztBTDBHVDtBR3pMSTtFQUlJLGNFMkVDO0FMNkdUO0FHNUxJO0VBSUksY0UyRUM7QUxnSFQ7QUcvTEk7RUFJSSxjRTJFQztBTG1IVDtBR2xNSTtFQUlJLGNFMkVDO0FMc0hUO0FHck1JO0VBSUksY0UyRUM7QUx5SFQ7QUd4TUk7RUFJSSxjRTJFQztBTDRIVDtBRzNNSTtFQUlJLGNFMkVDO0FMK0hUO0FHOU1JO0VBSUksY0UyRUM7QUxrSVQ7QUdqTkk7RUFJSSxjRTJFQztBTHFJVDtBR3BOSTtFQUlJLGNFMkVDO0FMd0lUO0FHdk5JO0VBSUksY0UyRUM7QUwySVQ7QUcxTkk7RUFJSSxjRTJFQztBTDhJVDtBRzdOSTtFQUlJLGNFMkVDO0FMaUpUO0FHaE9JO0VBSUksY0UyRUM7QUxvSlQ7QUduT0k7RUFJSSxjRTJFQztBTHVKVDtBR3RPSTtFQUlJLGNFMkVDO0FMMEpUO0FHek9JO0VBSUksY0UyRUM7QUw2SlQ7QUc1T0k7RUFJSSxjRTJFQztBTGdLVDtBRy9PSTtFQUlJLGNFMkVDO0FMbUtUO0FHbFBJO0VBSUksY0UyRUM7QUxzS1Q7QUdyUEk7RUFJSSxjRTJFQztBTHlLVDtBR3hQSTtFQUlJLGNFMkVDO0FMNEtUO0FHM1BJO0VBSUksY0UyRUM7QUwrS1Q7QUc5UEk7RUFJSSxjRTJFQztBTGtMVDtBR2pRSTtFQUlJLGNFMkVDO0FMcUxUO0FHcFFJO0VBSUksY0UyRUM7QUx3TFQ7QUd2UUk7RUFJSSxjRTJFQztBTDJMVDtBRzFRSTtFQUlJLGNFMkVDO0FMOExUO0FHN1FJO0VBSUksY0UyRUM7QUxpTVQ7QUdoUkk7RUFJSSxjRTJFQztBTG9NVDtBR25SSTtFQUlJLGNFMkVDO0FMdU1UO0FHdFJJO0VBSUksY0UyRUM7QUwwTVQ7QUd6Ukk7RUFJSSxjRTJFQztBTDZNVDtBRzVSSTtFQUlJLGNFMkVDO0FMZ05UO0FHL1JJO0VBSUksY0UyRUM7QUxtTlQ7QUdsU0k7RUFJSSxjRTJFQztBTHNOVDtBR3JTSTtFQUlJLGNFMkVDO0FMeU5UO0FHeFNJO0VBSUksY0UyRUM7QUw0TlQ7QUczU0k7RUFJSSxjRTJFQztBTCtOVDtBRzlTSTtFQUlJLGNFMkVDO0FMa09UO0FHalRJO0VBSUksY0UyRUM7QUxxT1Q7QUdwVEk7RUFJSSxjRTJFQztBTHdPVDtBR3ZUSTtFQUlJLGNFMkVDO0FMMk9UO0FHMVRJO0VBSUksY0UyRUM7QUw4T1Q7QUc3VEk7RUFJSSxjRTJFQztBTGlQVDtBR2hVSTtFQUlJLGNFMkVDO0FMb1BUO0FHblVJO0VBSUksY0UyRUM7QUx1UFQ7QUd0VUk7RUFJSSxjRTJFQztBTDBQVDtBR3pVSTtFQUlJLGNFMkVDO0FMNlBUO0FHNVVJO0VBSUksY0UyRUM7QUxnUVQ7QUcvVUk7RUFJSSxjRTJFQztBTG1RVDtBR2xWSTtFQUlJLGNFMkVDO0FMc1FUO0FHclZJO0VBSUksY0UyRUM7QUx5UVQ7QUd4Vkk7RUFJSSxjRTJFQztBTDRRVDtBRzNWSTtFQUlJLGNFMkVDO0FMK1FUO0FHOVZJO0VBSUksY0UyRUM7QUxrUlQ7QUdqV0k7RUFJSSxjRTJFQztBTHFSVDtBR3BXSTtFQUlJLGNFMkVDO0FMd1JUO0FHdldJO0VBSUksY0UyRUM7QUwyUlQ7QUcxV0k7RUFJSSxjRTJFQztBTDhSVDtBRzdXSTtFQUlJLGNFMkVDO0FMaVNUO0FHaFhJO0VBSUksY0UyRUM7QUxvU1Q7QUduWEk7RUFJSSxjRTJFQztBTHVTVDtBR3RYSTtFQUlJLGNFMkVDO0FMMFNUO0FHelhJO0VBSUksY0UyRUM7QUw2U1Q7QUc1WEk7RUFJSSxjRTJFQztBTGdUVDtBRy9YSTtFQUlJLGNFMkVDO0FMbVRUOztBTXpiQTtFQUNFO0FONGJGO0FNMWJFO0VBQ0UseUJEaUZJO0VDaEZKLDhDQVBlO0FObWNuQjs7QU9uY0E7QUFFQTtFQUNFO0VBQ0E7QVBxY0Y7O0FPbGNBO0VBQ0U7QVBxY0Y7QU9uY0U7RUFDRTtFQUNBO0FQcWNKOztBT2pjQTtFQUNFO0VBQ0E7RUFDQTtBUG9jRjs7QU9qY0E7RUNZRTtFQUNBO0VEVkE7RUFDQTtBUG9jRjtBUzNTUTtFQ25KTjtJQ2tHQTtJQTJDRSxpQ0FUTTtJQzNISjtJQUFBO0lBQUE7RVo2Yko7QUFDRjtBU3BUUTtFQ25KTjtJQ2tHQTtJQTJDRSx5QkFUTTtJQzNISjtJQUFBO0lBQUE7RVpzY0o7QUFDRjtBUzdUUTtFQ25KTjtJQ2tHQTtJQTJDRSx1QkFUTTtJQzNISjtJQUFBO0lBQUE7RVorY0o7QUFDRjs7QWE3ZUE7RUFDRTtFQUNBO0VBRUE7RUFFQTtFQUVBO0VBRUE7RUFDQTtBYjRlRjtBYXplQTtFQUNFO0VBQ0E7RUFFQTtFQUVBO0VBRUE7RUFFQTtFQUNBO0FidWVGO0FhcGVBO0VBQ0U7RUFDQTtFQUVBO0VBRUE7RUFFQTtFQUVBO0VBQ0E7QWJrZUY7QWEvZEE7RUFDRTtFQUNBO0VBRUE7RUFFQTtFQUVBO0VBRUE7RUFDQTtBYjZkRjtBYTFkQTtFQUNFO0VBQ0E7RUFFQTtFQUVBO0VBRUE7RUFFQTtFQUNBO0Fid2RGO0FhcmRBO0VBQ0U7RUFDQTtFQUVBO0VBRUE7RUFFQTtFQUVBO0VBQ0E7QWJtZEY7QWFoZEE7RUFDRTtFQUNBO0VBRUE7RUFFQTtFQUVBO0VBRUE7RUFDQTtBYjhjRjtBYTNjQTtFQUNFO0VBQ0E7RUFFQTtFQUVBO0VBRUE7RUFFQTtFQUNBO0FieWNGO0FhbmNBOztFQUVFLDJDQXhIdUI7QWI2akJ6Qjs7QWFsY0E7O0VBRUUsY1IxR1k7QUwraUJkOztBYWxjQTtFQUNFLGNSOUdZO0VRK0daO0VBQ0E7RUFDQSxtQkFuSWE7QWJ3a0JmOztBYWxjQTtFQUNFLG1CQXZJYTtBYjRrQmY7O0FhbGNBOztFQUVFO0VBQ0E7QWJxY0Y7O0FhbGNBOztFQUVFO0VBQ0E7QWJxY0Y7O0FhbGNBOztFQUVFLGNSdElZO0VRdUlaO0FicWNGOztBYWxjQTtFQUNFO0FicWNGOztBYWxjQTtFQUNFO0VBQ0E7RUFDQTtBYnFjRjs7QWFsY0E7OztFQUdFLG1CQXpLYTtFQTBLYjtBYnFjRjs7QWFsY0E7RUFDRTtBYnFjRjs7QWFsY0E7RUFDRSxjUmhLWTtBTHFtQmQ7O0FhaGNFOztFQUNFO0VBQ0E7QWJvY0o7QWFqY0U7O0VBQ0U7QWJvY0o7QWFqY0U7Ozs7RUFFRTtFQUNBO0FicWNKOztBYWpjQTs7RUFFRTtBYm9jRjs7QWFqY0E7RUFDRSxjUjNMWTtFUTRMWjtFQUNBO0VBQ0E7QWJvY0Y7QWFsY0U7RUFDRSxjUnJOVTtFUXNOVjtBYm9jSjtBYWxjSTtFQUNFO0Fib2NOO0FhaGNFOztFQUVFLGNSek1VO0VRME1WO0VBQ0E7RUFDQTtBYmtjSjs7QWE5YkE7RUFDRTtFQUNBLGNSM0pTO0FMNGxCWDtBYS9iRTtFQUVFO0FiZ2NKOztBYTViQTtFQUNFO0FiK2JGOztBYTViQTtFQUNFO0VBQ0E7QWIrYkY7O0FhemJBOzs7Ozs7Ozs7Ozs7RUFZRSxjUnJQWTtFUXNQWiwyQ0F4UXVCO0VBeVF2QjtBYjRiRjs7QWF6YkE7RUFDRTtFQUNBO0FiNGJGO0FhMWJFO0VBQ0U7RUFDQTtBYjRiSjs7QWF4YkE7RUFDRTtFQUNBO0FiMmJGOztBYXhiQTtFQUNFO0VBQ0E7QWIyYkY7O0FheGJBO0VBQ0U7RUFDQTtBYjJiRjs7QWF4YkE7RUFDRTtFQUNBO0FiMmJGOztBYXhiQTtFQUNFO0VBQ0E7QWIyYkY7O0FheGJBO0VBQ0U7RUFDQTtBYjJiRjs7QWF4YkE7RUFDRTtFQUNBO0FiMmJGOztBYXhiQTtFQUNFO0VBQ0E7QWIyYkY7O0FheGJBO0VBQ0U7RUFDQTtBYjJiRjs7QWF4YkE7RUFDRTtFQUNBO0FiMmJGOztBYXhiQTtFQUNFO0VBQ0E7QWIyYkY7O0FTM2xCUTtFSW9LTjs7SUFFRTtJQUNBO0ViMmJGO0VheGJBO0lBQ0U7SUFDQTtFYjBiRjtFYXZiQTtJQUNFO0lBQ0E7RWJ5YkY7RWF0YkE7SUFDRTtJQUNBO0Vid2JGO0VhcmJBO0lBQ0U7SUFDQTtFYnViRjtFYXBiQTtJQUNFO0lBQ0E7RWJzYkY7RWFuYkE7SUFDRTtJQUNBO0VicWJGO0VhbGJBO0lBQ0U7SUFDQTtFYm9iRjtFYWpiQTtJQUNFO0lBQ0E7RWJtYkY7RWFoYkE7SUFDRTtJQUNBO0Via2JGO0VhL2FBO0lBQ0U7SUFDQTtFYmliRjtFYTlhQTtJQUNFO0lBQ0E7RWJnYkY7RWE3YUE7O0lBRUU7SUFDQTtFYithRjtFYTVhQTs7SUFFRTtJQUNBO0ViOGFGO0FBQ0Y7QWN0MEJBOzs7O0VBSUU7QWR3MEJGOztBY3IwQkE7Ozs7Ozs7O0VBUUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FkdzBCRjs7QWNyMEJBO0VBQ0U7RUFDQTtFQUNBO0FkdzBCRjs7QWNyMEJBO0VBQ0U7RUFDQTtFQUNBO0FkdzBCRjs7QWNyMEJBO0VBQ0U7RUFDQTtFQUNBO0FkdzBCRjs7QWNyMEJBO0VBQ0U7RUFDQTtFQUNBO0FkdzBCRjs7QWNyMEJBO0VBQ0U7RUFDQTtFQUNBO0FkdzBCRjs7QWNyMEJBO0VBQ0U7RUFDQTtFQUNBO0FkdzBCRjs7QWVwNEJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FmdTRCRjs7QWU5M0JBO0FBQ0E7RUFDRTtBZmk0QkY7O0FnQmw1QkE7OztFQUdFO0FoQnE1QkY7O0FnQmw1QkE7RUF5QkU7QWhCNjNCRjtBUzl1QlE7RU94S1I7SUFNSTtFaEJvNUJGO0FBQ0Y7O0FnQnozQkE7RUFDRTtFQU9BO0FoQnMzQkY7O0FnQjcyQkE7RUFDRSx5Qlh3Qk07RVd2Qk47QWhCZzNCRjtBZ0I5MkJFO0VBQ0U7QWhCZzNCSjtBZ0I3MkJFOztFQUVFLHlCWGVJO0FMZzJCUjs7QWlCcjdCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpCdzdCRjs7QWlCcjdCQTtFQUNFO0VBQ0E7QWpCdzdCRjs7QWlCcjdCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpCdzdCRjtBaUJ0N0JFO0VBQ0U7QWpCdzdCSjtBaUJyN0JFO0VBQ0U7QWpCdTdCSjtBaUJuN0JFO0VBQ0U7QWpCcTdCSjtBaUJqN0JFO0VBQ0U7QWpCbTdCSjtBaUIvNkJFO0VBQ0U7QWpCaTdCSjtBaUI5NkJFO0VBQ0U7QWpCZzdCSjtBaUI3NkJFO0VBQ0U7QWpCKzZCSjtBaUIzNkJFO0VBQ0U7QWpCNjZCSjtBaUJ6NkJFO0VBQ0U7QWpCMjZCSjtBaUJ2NkJFO0VBQ0U7QWpCeTZCSjs7QWlCcjZCQTtFQUNFO0VBQ0E7RUFDQTtBakJ3NkJGOztBa0JoL0JBOztFQUFBO0FDQUE7O0VBQUE7QUFJQTs7c0JBQUE7QUFHQTtFQUNFO0FuQnEvQkY7O0FtQmwvQkE7RUFDRTtFQUNBO0FuQnEvQkY7QW1Cbi9CRTtFQUNFO0FuQnEvQko7QW1CbC9CRTtFQUNFO0VBQ0E7QW5Cby9CSjtBU3QxQlE7RVVoS047SUFLSTtJQUNBO0VuQnEvQko7QUFDRjtBbUJsL0JFO0VBQ0U7QW5Cby9CSjtBUy8xQlE7RVV0Sk47SUFJSTtFbkJxL0JKO0VtQm4vQkk7SUFDRTtFbkJxL0JOO0FBQ0Y7QW1Cai9CRTtFQUNFO0FuQm0vQko7QW1CLytCSTtFQUNFO0FuQmkvQk47QW1CLytCTTtFQUNFO0FuQmkvQlI7QW1COStCTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FuQmcvQlI7QVN0M0JRO0VVOUhGO0lBT0k7SUFDQTtJQUNBO0VuQmkvQlI7QUFDRjtBbUIvK0JRO0VBRUU7RUFDQTtFQUNBO0FuQmcvQlY7QW1CNytCUTtFQUNFO0VBQ0E7RUFDQSx5QmRZRjtBTG0rQlI7QW1CNytCVTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5CKytCWjtBbUIzK0JZO0VBQ0U7QW5CNitCZDtBbUJ6K0JVO0VBQ0U7QW5CMitCWjtBbUJ6K0JZO0VBQ0U7RUFDQTtBbkIyK0JkO0FtQngrQmdCO0VBQ0U7QW5CMCtCbEI7QW1CditCZ0I7RUFDRTtBbkJ5K0JsQjtBbUJqK0JNO0VBQ0U7RUFDQTtFQUNBO0FuQm0rQlI7QVN0NkJRO0VVaEVGO0lBTUk7RW5CbytCUjtBQUNGO0FtQmwrQlE7RUFDRTtBbkJvK0JWO0FtQmorQlE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbkJtK0JWO0FTcDdCUTtFVW5EQTtJQU9JO0VuQm8rQlY7QUFDRjtBbUJoK0JNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QW5CaytCUjtBUy83QlE7RVV2Q0Y7SUFPSTtJQUNBO0VuQm0rQlI7QUFDRjtBbUJoK0JNO0VBQ0U7RUFDQTtFQUNBO0FuQmsrQlI7QVMxOEJRO0VVM0JGO0lBTUk7RW5CbStCUjtBQUNGO0FtQi85QlE7RUFDRTtBbkJpK0JWO0FtQjc5Qk07RUFDRTtBbkIrOUJSOztBU3I5QlE7RVVDQTtJQUNFO0VuQnc5QlI7QUFDRjs7QW1CbDlCQTs7c0JBQUE7QUFJQTtFQUNFO0VBQ0E7RUFDQTtBbkJvOUJGO0FtQmw5QkU7RUFDRTtFQUNBO0FuQm85Qko7O0FtQmg5QkE7RUFDRTtBbkJtOUJGOztBbUIvOEJFO0VBQ0U7QW5CazlCSjtBbUIvOEJFO0VBQ0U7QW5CaTlCSjs7QW1CNzhCQTs7c0JBQUE7QUFJQTtFQUNFO0VBQ0E7QW5CKzhCRjtBbUI3OEJFO0VBQ0U7QW5CKzhCSjtBbUI1OEJFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY2RqTlU7RWNrTlY7RUFDQTtBbkI4OEJKO0FtQjM4QkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkI2OEJKO0FtQjM4Qkk7RUFDRTtBbkI2OEJOO0FtQjE4Qkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjZGhRUTtFY2lRUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuQjQ4Qk47QW1CMThCTTtFQUNFO0FuQjQ4QlI7QW1CejhCTTtFQWxCRjtJQW1CSTtFbkI0OEJOO0FBQ0Y7QW1CMThCTTtFQUNFO0VBQ0E7QW5CNDhCUjtBbUJ2OEJFO0VBQ0U7RUFDQTtBbkJ5OEJKO0FtQnY4Qkk7RUFDRTtBbkJ5OEJOO0FtQnQ4QlE7RUFDRTtBbkJ3OEJWO0FtQm44QlE7RUFDRTtBbkJxOEJWO0FtQmg4QlE7Ozs7RUFJRSxjZDFSSTtBTDR0Q2Q7QW1CNzdCUTtFQUNFO0FuQis3QlY7QW1CejdCRTtFQUNFO0VBQ0E7RUFDQTtBbkIyN0JKO0FtQno3Qkk7RUFDRTtBbkIyN0JOO0FtQng3Qkk7RUFDRTtFQUNBLGNkalRRO0FMMnVDZDtBbUJ4N0JNO0VBQ0U7QW5CMDdCUjtBbUJ2N0JNO0VBQ0U7QW5CeTdCUjs7QW1CbDdCRTtFQUNFO0FuQnE3Qko7QW1CbDdCRTtFQUNFO0FuQm83Qko7O0FtQmg3QkE7O3NCQUFBO0FBR0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuQm03QkY7O0FtQmg3QkE7RUFDRTtFQUNBO0FuQm03QkY7QVNwbkNRO0VVK0xSO0lBS0k7SUFDQTtFbkJvN0JGO0FBQ0Y7O0FvQjd5Q0E7O0VBQUE7QUFNSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEI2eUNOO0FvQjV5Q007RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBCOHlDUjtBb0I3eUNRO0VBQ0U7QXBCK3lDVjtBb0I3eUNRO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEIreUNWO0FvQjl5Q1U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBCZ3pDWjtBb0I5eUNVO0VBRUU7QXBCK3lDWjtBb0I3eUNVO0VBQ0U7RUFFQTtFQUNBO0VBQ0E7QXBCOHlDWjtBb0I3eUNZO0VBQ0U7RUFDQTtBcEIreUNkO0FvQnp5Q0k7RUFuREY7SUFvREk7RXBCNHlDSjtBQUNGO0FvQnp5Q0k7RUFDRSxjZnJEUTtBTGcyQ2Q7QW9CMXlDTTtFQUNFLGNmdkRNO0FMbTJDZDtBb0IzeUNRO0VBQ0U7QXBCNnlDVjtBb0IxeUNRO0VBQ0UsY2YvREk7QUwyMkNkO0FvQjN5Q1U7RUFDRTtBcEI2eUNaO0FvQnJ5Q0k7RUFDRSxjZk9FO0FMZ3lDUjtBb0J0eUNNO0VBQ0UsY2ZLQTtBTG15Q1I7QW9CdnlDUTtFQUNFO0FwQnl5Q1Y7O0FxQjczQ0E7O0VBQUE7QUFNQTs7Ozs7Ozs7RUFRRTtFQUNBO0VBQ0EsMkNSUHVCO0VRUXZCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJCNjNDRjtBcUIzM0NFOzs7Ozs7OztFQUNFO0VBQ0E7QXJCbzRDSjtBcUJqNENFOzs7Ozs7OztFQUNFO0VBQ0E7QXJCMDRDSjtBU3J2Q1E7RVk3S1I7Ozs7Ozs7O0lBNEJJO0lBQ0E7RXJCaTVDRjtBQUNGO0FxQnYxQ0U7Ozs7Ozs7O0VBQ0UseUJoQk1VO0FMMDFDZDtBcUI3MUNFOzs7Ozs7OztFQUNFLHlCaEJLVztBTGkyQ2Y7QXFCbjJDRTs7Ozs7Ozs7RUFDRSx5QmhCcEZTO0FMZzhDYjtBcUJ0MkNFOzs7Ozs7Ozs7Ozs7Ozs7RUFFRTtFQUNBO0VBQ0EsY2hCNUJPO0VnQjZCUDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJCcTNDSjtBcUJuM0NJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUVFO0VBQ0EsY2hCdkNLO0VnQndDTDtBckJnNUNOOztBcUJ0NENFOzs7OztFQUNFO0FyQjY0Q0o7QXFCMTRDRTs7Ozs7RUFDRTtBckJnNUNKO0FxQjc0Q0U7Ozs7O0VBQ0U7QXJCbTVDSjtBcUJoNUNFOzs7OztFQUNFO0FyQnM1Q0o7QXFCbjVDRTs7Ozs7Ozs7O0VBRUU7RUFDQSx5QmhCbEpVO0VnQm1KVixjaEJwRUk7QUxnK0NSO0FxQjE1Q0k7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBRUUseUJoQjFKUTtFZ0IySlI7QXJCMjZDTjtBcUJ4NkNJOzs7Ozs7Ozs7RUFDRTtFQUNBLHlCaEI3SlE7RWdCOEpSO0FyQms3Q047QXFCOTZDRTs7Ozs7RUFDRTtFQUNBLHlCaEJyRkk7RWdCc0ZKLGNoQnhLVTtBTDRsRGQ7QXFCbDdDSTs7Ozs7Ozs7O0VBRUU7RUFDQTtFQUNBO0FyQjI3Q047QXFCeDdDSTs7Ozs7RUFDRSx5QmhCaEdFO0VnQmlHRjtFQUNBO0FyQjg3Q047QXFCeDdDRTs7Ozs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBckI4N0NKO0FxQjU3Q0k7Ozs7O0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckJrOENOO0FxQjU3Q0k7Ozs7Ozs7OztFQUNFO0VBQ0E7RUFDQSxjaEJwTlE7QUwwcERkO0FxQnA4Q007Ozs7Ozs7Ozs7Ozs7Ozs7O0VBRUUseUJoQjdLZTtFZ0I4S2Y7RUFDQSxjaEIxTk07QUwrcURkO0FxQmw5Q007Ozs7Ozs7OztFQUNFO0VBQ0E7RUFDQTtBckI0OUNSO0FxQng5Q0k7Ozs7Ozs7OztFQUNFO0VBQ0E7RUFDQSxjaEJySkU7QUx1bkRSO0FxQmgrQ007Ozs7Ozs7Ozs7Ozs7Ozs7O0VBRUU7RUFDQTtBckJpL0NSO0FxQjkrQ007Ozs7Ozs7OztFQUNFO0VBQ0E7RUFDQTtBckJ3L0NSO0FxQmovQ0k7Ozs7Ozs7OztFQUNFO0VBQ0E7RUFDQSxjaEI1UFE7QUx1dkRkO0FxQnovQ007Ozs7Ozs7Ozs7Ozs7Ozs7O0VBRUUseUJoQnJOZTtFZ0JzTmY7QXJCMGdEUjtBcUJ2Z0RNOzs7Ozs7Ozs7RUFDRTtFQUNBLHlCaEJwTEE7RWdCcUxBO0FyQmloRFI7QXFCN2dESTs7Ozs7Ozs7O0VBQ0U7RUFDQTtFQUNBLGNoQjVMRTtBTG10RFI7QXFCcmhETTs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFFRTtFQUNBO0FyQnNpRFI7QXFCbmlETTs7Ozs7Ozs7O0VBQ0U7RUFDQTtFQUNBO0FyQjZpRFI7O0FxQnJpREE7RUFDRSxjaEIvUlk7RWdCZ1NaO0FyQndpREY7QXFCdGlERTtFQUVFLGNoQnBTVTtFZ0JxU1Y7QXJCdWlESjtBcUJwaURFO0VBQ0UsY2hCelNVO0VnQjBTVjtBckJzaURKO0FxQmxpREk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyQm9pRE47QXFCamlESTtFQUNFO0FyQm1pRE47QXFCaGlESTtFQUNFO0FyQmtpRE47O0FxQjNoREU7RUFDRTtBckI4aERKO0FxQjVoREk7RUFDRTtBckI4aEROO0FTenJEUTtFWTBKSjtJQUlJO0VyQitoRE47QUFDRjs7QXNCajNEQTs7RUFBQTtBQUlBOzs7O0VBSUU7RUFDQTtFQUNBO0VBQ0E7QXRCbTNERjtBc0JqM0RFOzs7O0VBQ0U7QXRCczNESjtBc0JuM0RFOzs7Ozs7O0VBRUU7RUFDQTtBdEIwM0RKO0FzQnYzREU7Ozs7RUFDRTtBdEI0M0RKO0FzQjEzREk7Ozs7Ozs7Ozs7RUFHRTtBdEJtNEROO0FzQi8zREU7Ozs7RUFDRTtBdEJvNERKO0FzQmw0REk7Ozs7RUFDRTtBdEJ1NEROO0FzQm40REU7Ozs7RUFDRTtFQUNBO0F0Qnc0REo7QXNCcjRERTs7OztFQUNFO0F0QjA0REo7QXNCcDRESTs7OztFQUNFO0F0Qnk0RE47QXNCdDRESTs7OztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEIyNEROO0FzQno0RE07Ozs7RUFDRTtBdEI4NERSO0FzQjM0RE07Ozs7RUFDRTtFQUNBO0F0Qmc1RFI7QXNCNTRESTs7OztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0Qmk1RE47QXNCLzRETTs7OztFQUNFO0VBQ0E7QXRCbzVEUjtBc0IvNERNOzs7O0VBQ0U7QXRCbzVEUjtBc0JsNURROzs7O0VBQ0U7QXRCdTVEVjtBc0JuNURNOzs7O0VBQ0U7QXRCdzVEUjtBc0J0NURROzs7O0VBQ0U7QXRCMjVEVjtBc0JyNURFOzs7O0VBQ0U7QXRCMDVESjtBc0JuNURJOzs7Ozs7O0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0QjI1RE47QXNCejVETTs7Ozs7OztFQUNFO0VBQ0E7QXRCaTZEUjtBc0I3NURJOzs7Ozs7O0VBQ0U7QXRCcTZETjtBc0I5NURJOzs7O0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEJtNkROO0FzQjc1REU7Ozs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEJrNkRKO0FzQmg2REk7Ozs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRCcTZETjtBc0JqNkRFOzs7O0VBQ0U7QXRCczZESjs7QXNCLzVERTs7O0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEJvNkRKO0FzQmw2REk7OztFQUNFO0VBQ0E7QXRCczZETjs7QXNCaDZEQTtFQUNFO0F0Qm02REY7O0F1QnZtRUE7OztDQUFBO0FBS0E7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkJ5bUVGO0F1QnZtRUU7RUFSRjs7SUFTSTtJQUNBO0lBQ0E7SUFDQSxjbEJXVTtFTGdtRVo7QUFDRjs7QXVCeG1FQTtFQUNFO0VBQ0E7QXZCMm1FRjtBdUJ6bUVFO0VBQ0U7RUFDQTtFQUNBO0F2QjJtRUo7O0F1QnZtRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQSx5QmxCbURNO0VrQmxETjtFQUNBO0F2QjBtRUY7QXVCeG1FRTtFQUNFO0F2QjBtRUo7O0F1QnRtRUE7RUFDRTtBdkJ5bUVGOztBdUJ0bUVBO0FBQ0E7RUFDRTtJQUNFO0V2QnltRUY7RXVCdG1FQTtJQUNFO0V2QndtRUY7QUFDRjtBdUJybUVBO0VBQ0U7RUFDQSx5QmxCM0JhO0VrQjRCYixjbEJuQ1k7QUwwb0VkOztBdUJwbUVBOztFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZCdW1FRjs7QXVCcG1FQTtFQUdFLHlCbEIvQ1k7QUxvcEVkOztBdUJsbUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY2xCNURZO0VrQjZEWjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2QnFtRUY7QXVCbm1FRTtFQXBCRjtJQXFCSTtFdkJzbUVGO0FBQ0Y7O0F1Qm5tRUE7RUFDRTtFQUNBO0VBQ0E7QXZCc21FRjs7QXVCbm1FQTs7RUFFRTtFQUNBLGNsQnJGWTtBTDJyRWQ7O0F1Qm5tRUE7O0VBRUU7RUFDQTtBdkJzbUVGOztBdUJubUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkJzbUVGOztBdUJubUVBO0VBR0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkJvbUVGOztBdUJqbUVBO0VBQ0U7QXZCb21FRjs7QXVCam1FQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F2Qm9tRUY7O0F1QmptRUE7RUFDRTtFQUNBO0F2Qm9tRUY7O0F1QmptRUE7RUFDRSx5QmxCbklZO0VrQm9JWjtFQUNBO0F2Qm9tRUY7O0F1QmptRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkJvbUVGO0F1QmxtRUU7RUFFRTtBdkJtbUVKO0F1QmptRUU7RUFDRTtBdkJtbUVKOztBdUIvbEVBO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7RXZCa21FRjtBQUNGO0F1Qi9sRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2QmltRUY7O0F1QjlsRUE7O0VBSUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkIrbEVGOztBdUI1bEVBO0VBQ0U7RUFDQTtFQUNBO0F2QitsRUY7O0F1QjVsRUE7RUFFRTtFQUNBO0VBQ0E7QXZCOGxFRjs7QXVCM2xFQTtFQUNFO0VBQ0E7RUFDQTtBdkI4bEVGOztBdUIzbEVBO0VBRUU7RUFDQTtFQUNBO0F2QjZsRUY7O0F1QjFsRUE7RUFFRTtFQUNBO0F2QjRsRUY7O0F1QnpsRUE7RUFFRTtFQUNBO0VBQ0E7QXZCMmxFRjs7QXVCeGxFQTtFQUVFO0VBQ0E7RUFDQTtBdkIwbEVGOztBdUJ2bEVBO0VBRUU7QXZCeWxFRjs7QXVCdGxFQTtFQUNFO0VBQ0E7RUFDQTtBdkJ5bEVGOztBdUJ0bEVBO0VBQ0U7RUFDQTtFQUNBLGNsQjFQWTtFa0IyUFo7QXZCeWxFRjs7QXVCdGxFQTtFQUNFO0VBQ0E7RUFDQTtBdkJ5bEVGOztBdUJwbEVJO0VBTUUseUJsQjVSUTtFa0I2UlIsY2xCOVFRO0VrQitRUjtFQUNBO0F2QmtsRU47QXVCL2tFRTtFQUNFO0VBQ0EsY2xCcFJVO0FMcTJFZDtBdUJobEVJO0VBQ0UseUJsQnRTUTtFa0J1U1IsY2xCeFJRO0FMMDJFZDs7QXVCN2tFQTtFQUNFO0F2QmdsRUY7O0F1QjdrRUE7RUFDRTtBdkJnbEVGOztBd0I3NEVBO0FBQ0E7OztDQUFBO0FBS0E7RUFDRTtBeEIrNEVGOztBd0I3NEVBO0VBQ0U7QXhCZzVFRjs7QXdCNzRFQTtBQUNBO0VBQ0U7QXhCZzVFRjs7QXdCNzRFQTtBQUNBO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEJnNUVGO0F3Qi80RUU7RUFSRjtJQVNJO0lBQ0E7RXhCazVFRjtBQUNGO0F3Qmg1RUU7RUFDRTtBeEJrNUVKOztBd0I5NEVBO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBeEJpNUVGOztBd0IvNEVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhCazVFRjtBd0JqNUVFO0VBZEY7SUFlSTtFeEJvNUVGO0V3Qm41RUU7SUFDRTtJQUNBO0V4QnE1RUo7QUFDRjs7QXdCajVFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4Qm81RUY7QXdCbjVFRTtFQVJGO0lBU0k7SUFDQTtFeEJzNUVGO0FBQ0Y7QXdCcjVFRTtFQUNFO0VBQ0E7RUFDQTtBeEJ1NUVKO0F3QnI1RUU7RUFDRTtFQUNBO0VBQ0E7QXhCdTVFSjtBd0JyNUVFO0VBQ0U7RUFDQTtFQUNBO0F4QnU1RUo7QXdCcDVFRTtFQUNFO0lBR0U7SUFDQTtJQUNBO0V4Qm81RUo7QUFDRjs7QXdCaDVFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBRUE7RUFDQTtFQUNBO0F4Qmk1RUY7QXdCLzRFRTtFQWpCRjtJQWtCSTtJQUNBO0lBQ0E7SUFDQTtFeEJrNUVGO0FBQ0Y7O0F3Qi80RUE7RUFDRTtBeEJrNUVGOztBd0IvNEVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4Qms1RUY7QXdCajVFRTtFQUNFO0F4Qm01RUo7QXdCajVFRTtFQUNFO0F4Qm01RUo7O0F5QnppRkE7O0VBQUE7QUFJQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6QjJpRkY7QVNuNEVRO0VnQi9LUjtJQVNJO0V6QjZpRkY7QUFDRjtBU3g0RVE7RWdCL0tSO0lBWUk7SUFDQTtFekIraUZGO0FBQ0Y7QXlCOWlGRTtFQUNFO0F6QmdqRko7QXlCOWlGRTtFQUNFO0F6QmdqRko7QVNwNUVRO0VnQnpKTjtJQUVJO0V6QitpRko7QUFDRjtBU3o1RVE7RWdCcEpOO0lBRUk7RXpCK2lGSjtBQUNGO0F5QjdpRkU7RUFFRTtBekI4aUZKO0F5QjVpRkU7RUFHRTtBekI0aUZKO0F5QjFpRkU7RUFDRSxxQnBCSGtCO0FMK2lGdEI7QXlCM2lGSTtFQUNFO0F6QjZpRk47QXlCM2lGSTtFQUNFO0F6QjZpRk47QXlCMWlGRTtFQUNFLHFCcEIrQ1k7QUw2L0VoQjtBeUIzaUZJO0VBQ0U7QXpCNmlGTjtBeUIzaUZJO0VBQ0U7QXpCNmlGTjtBeUIxaUZFO0VBQ0UscUJwQnVDYTtBTHFnRmpCO0F5QjNpRkk7RUFDRTtBekI2aUZOO0F5QjNpRkk7RUFDRTtBekI2aUZOO0F5QjFpRkU7RUFDRSxxQnBCdERTO0FMa21GYjtBeUIzaUZJO0VBQ0U7QXpCNmlGTjtBeUIzaUZJO0VBQ0U7QXpCNmlGTjtBeUJ6aUZFO0VBQ0U7QXpCMmlGSjtBeUIxaUZJO0VBQ0U7QXpCNGlGTjtBeUIxaUZJO0VBQ0U7QXpCNGlGTjtBeUJ4aUZFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpCMGlGSjtBUzE5RVE7RWdCdkZOO0lBU0k7RXpCNGlGSjtBQUNGO0F5QnppRkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekIyaUZKO0F5QjFpRkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6QjRpRk47QXlCMWlGSTtFQUNFO0VBQ0E7QXpCNGlGTjtBeUIzaUZNO0VBQ0U7RUFDQTtFQUNBO0F6QjZpRlI7QXlCemlGRTtFQUNFO0F6QjJpRko7QXlCemlGRTtFQUNFO0VBQ0E7QXpCMmlGSjtBeUIxaUZJO0VBQ0U7QXpCNGlGTjtBeUIxaUZJO0VBQ0U7QXpCNGlGTjtBeUIzaUZNO0VBQ0U7QXpCNmlGUjtBeUIzaUZNO0VBQ0U7QXpCNmlGUjs7QTBCcHNGQTs7RUFBQTtBQUlBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBMUJzc0ZGOztBMEJuc0ZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7S0FBQTtBMUJ3c0ZGO0EwQnJzRkU7RUFSRjtJQVNJO0lBQ0E7RTFCd3NGRjtBQUNGOztBMEJyc0ZBO0VBQ0U7RUFDQTtFQUNBO2lCQUFBO0ExQnlzRkY7QTBCdnNGRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFCeXNGSjtBMEJ2c0ZFO0VBQ0U7RUFDQTtBMUJ5c0ZKO0EwQnZzRkU7RUFDRTtFQUNBO0ExQnlzRko7QTBCdHNGRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBOEJBO0ExQnlxRko7QTBCdHNGSTtFQUNFO0VBQ0E7RUFDQTtBMUJ3c0ZOO0EwQnRzRkk7RUFDRTtFQUNBO0ExQndzRk47QTBCcnNGSTtFQUNFO0VBQ0E7QTFCdXNGTjtBMEJwc0ZJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFCc3NGTjtBMEJyc0ZNO0VBQ0U7RUFDQTtBMUJ1c0ZSO0EwQmxzRkk7RUFDRTtFQUNBO0ExQm9zRk47QTBCbnNGTTtFQUNFO0VBQ0E7QTFCcXNGUjtBMEJsc0ZJO0VBQ0U7QTFCb3NGTjtBMEJsc0ZJO0VBQ0U7QTFCb3NGTjs7QTBCL3JGQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0ExQmlzRkY7QTBCL3JGRTtFQWJGO0lBY0k7RTFCa3NGRjtBQUNGOztBMEIvckZBO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtBMUJpc0ZGO0EwQmhzRkU7RUFaRjtJQWFJO0UxQm1zRkY7QUFDRjs7QTBCaHNGQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0ExQmlzRkY7QTBCaHNGRTtFQW5CRjtJQW9CSTtFMUJtc0ZGO0FBQ0Y7O0EwQmhzRkE7QUFDQTtBQUNBOztFQUVFO0VBQ0E7QTFCbXNGRjs7QTBCanNGQTtBQUNBO0VBQ0U7QTFCb3NGRjs7QTBCanNGQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7Ozs7Ozs7OztLQUFBO0ExQitzRkY7QTBCbnNGRTtFQXpCRjtJQTBCSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0UxQnNzRkY7QUFDRjtBMEJyc0ZFO0VBQ0U7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFCc3NGSjtBMEJwc0ZFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBMUJzc0ZKO0EwQnBzRkU7RUFDRTtFQUNBO0VBQ0E7QTFCc3NGSjtBMEJwc0ZFO0VBQ0U7QTFCc3NGSjs7QTBCbHNGQTtFQUNFO0VBQ0E7QTFCcXNGRjtBMEJwc0ZFO0VBSEY7SUFJSTtFMUJ1c0ZGO0FBQ0Y7O0EwQnBzRkE7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUVBO0VBRUE7RUFDQTtBMUJxc0ZGOztBMEJsc0ZBO0VBQ0U7QTFCcXNGRjs7QTJCMTlGQTs7Ozs7OztDQUFBO0FBU0E7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7QTNCMjlGRjs7QTJCeDlGQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBVUE7QTNCKzhGRjtBMkJ2OUZFO0VBQ0U7QTNCeTlGSjtBMkJ0OUZFO0VBQ0U7QTNCdzlGSjtBMkJwOUZFO0VBQ0U7QTNCczlGSjtBMkJuOUZFO0VBQ0U7RUFDQTtBM0JxOUZKOztBMkJqOUZBO0FBQ0E7O0VBRUU7RUFDQTtFQUNBO2dDQUFBO0VBRUE7RUFDQTtBM0JvOUZGOztBMkJqOUZBO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO2dDQUFBO0EzQm85RkY7O0EyQmg5RkE7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBM0JrOUZGOztBMkIvOEZBO0VBQ0U7QTNCazlGRjs7QTJCLzhGQTtBQUNBOztFQUVFO0EzQms5RkY7O0EyQmg5RkE7RUFDRTtFQUNBO0EzQm05RkY7O0EyQmo5RkE7RUFDRTtFQUNBO0EzQm85RkY7O0EyQmw5RkE7QUFFQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0EzQm85RkY7O0EyQmo5RkE7O0VBRUU7QTNCbzlGRjs7QTJCajlGQTtFQUNFO0VBQ0E7RUFDQTtBM0JvOUZGOztBMkJqOUZBO0VBQ0U7QTNCbzlGRjs7QTJCajlGQTtBQUNBO0VBQ0U7QTNCbzlGRjs7QTJCbDlGQTtFQUVFO0EzQm85RkY7O0EyQmw5RkE7RUFDRTtBM0JxOUZGOztBMkJuOUZBO0VBRUU7QTNCcTlGRjs7QTJCbDlGQTs7RUFBQTtBQUdBO0VBQ0U7QTNCcTlGRjs7QTJCbDlGQTtFQUNFO0EzQnE5RkY7O0EyQmw5RkE7RUFDRTtBM0JxOUZGOztBMkJsOUZBO0VBQ0U7SUFDRTtFM0JxOUZGO0FBQ0Y7QTRCbG9HQTs7RUFBQTtBQUlBO0VBQ0U7RUFDQTtFQUNBO0E1Qm1vR0Y7QTRCam9HRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVCbW9HSjs7QTRCL25HQTs7O0VBR0U7QTVCa29HRjs7QTRCL25HQTtBQUVBOztFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUJpb0dGO0E0Qi9uR0U7O0VBQ0U7QTVCa29HSjs7QTRCOW5HQTs7OztFQUlFO0VBQ0E7RUFDQTtFQUNBLGN2QnpCWTtFdUIwQlo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUJpb0dGOztBNEI1bkdFOztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QnZCZUk7QUxpbkdSOztBNEI1bkdBOztFQUVFO0VBQ0E7QTVCK25HRjs7QTRCNW5HQTtFQUNFO0E1QituR0Y7O0E0QjVuR0E7RUFDRTtFQUNBO0VBQ0E7QTVCK25HRjs7QTRCNW5HQTtFQUNFLG1CdkIzRFk7RXVCNERaO0E1QituR0Y7O0E0QjVuR0E7RUFDRSxtQnZCMUZZO0V1QjJGWjtBNUIrbkdGOztBNEI1bkdBO0VBQ0UsbUJ2QjVEb0I7RXVCNkRwQjtBNUIrbkdGOztBNEI1bkdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1QituR0Y7O0E0QjVuR0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLG1CdkJ4Q007QUx1cUdSOztBNEI1bkdBOztFQUVFO0E1QituR0Y7O0E0QjVuR0E7RUFDRTtFQUNBO0E1QituR0Y7O0E0QjVuR0E7QUFFRTtFQUNFLG1CdkJwR2tCO0V1QnFHbEI7QTVCOG5HSjtBNEIzbkdFO0VBQ0U7QTVCNm5HSjs7QTRCem5HQTtBQUdFOztFQUNFLGN2QjlIVTtFdUIrSFY7QTVCMm5HSjtBNEJ6bkdJOztFQUNFO0VBQ0E7RUFDQSxtQnZCM0VFO0FMdXNHUjtBNEJ0bkdNOztFQUNFO0VBQ0EsbUJ2QnhJTTtFdUJ5SU4sY3ZCN0lNO0FMc3dHZDtBNEJ0bkdNOztFQUNFLHlCdkJqSk07RXVCa0pOO0E1QnluR1I7O0E0Qm5uR0E7O0dBQUE7QUFJQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCdkIzSE07RXVCNEhOLGN2QnZMWTtFdUJ3TFo7RUFDQTtFQUNBO0VBQ0E7QTVCcW5HRjtBNEJubkdFO0VBL0JGOzs7Ozs7Ozs7Ozs7OztJQWdDSTtFNUJtb0dGO0FBQ0Y7QTRCam9HRTs7Ozs7Ozs7Ozs7Ozs7RUFDRSxjdkJsTVU7RXVCbU1WO0E1QmdwR0o7QTRCN29HRTs7Ozs7Ozs7Ozs7Ozs7RUFDRTtFQUNBLHlCdkJqTVc7QUw2MUdmO0E0QnpwR0U7Ozs7Ozs7Ozs7Ozs7O0VBQ0U7RUFDQSx5QnZCekxtQjtFdUIwTG5CO0E1QndxR0o7QTRCcnFHRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBRUU7QTVCZ3NHSjtBNEI3ckdFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFFRTtFQUNBLHlCdkJsTlc7RXVCbU5YO0E1Qnd0R0o7QTRCcnRHRTs7Ozs7Ozs7Ozs7Ozs7RUFDRTtBNUJvdUdKO0E0Qmx1R0U7Ozs7Ozs7Ozs7Ozs7O0VBQ0U7QTVCaXZHSjs7QTRCN3VHQTtFQUNFO0VBQ0E7RUFDQSxtQnZCN0tNO0V1QjhLTixjdkJ6T1k7RXVCME9aO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUJndkdGO0E0Qjl1R0U7RUFsQkY7SUFtQkk7RTVCaXZHRjtBQUNGO0E0Qi91R0U7RUFDRSxjdkI1UFU7RXVCNlBWO0E1Qml2R0o7QTRCOXVHRTtFQUNFO0VBQ0E7RUFDQSx5QnZCNVBXO0V1QjZQWCxjdkJwUVU7QUxvL0dkO0E0Qjd1R0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0E1Qjh1R0o7QTRCM3VHRTtFQUVFLHlCdkJoTlM7RXVCaU5UO0E1QjR1R0o7O0E0Qnh1R0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVCMnVHRjs7QTRCeHVHQTs7Ozs7RUFLRTtBNUIydUdGOztBNEJ4dUdBO0FBRUE7RUFDRTtBNUIwdUdGOztBNEJ2dUdBO0VBQ0U7QTVCMHVHRjs7QTRCdnVHQTtBQUVBOzs7O0VBSUU7RUFDQTtBNUJ5dUdGOztBNEJ0dUdBOzs7RUFHRTtFQUNBO0VBQ0E7RUFDQTtBNUJ5dUdGOztBNEJ0dUdBO0VBQ0U7RUFDQSxtQnZCNVFNO0FMcS9HUjs7QTRCdHVHQTtFQUNFO0VBQ0E7RUFDQTtBNUJ5dUdGOztBNEJ0dUdBO0VBQ0U7RUFDQTtFQUNBLGN2QmpWWTtBTDBqSGQ7O0E0QnZ1R0E7RUFDRTtBNUIwdUdGOztBNEJ2dUdBO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY3ZCN1dXO0V1QjhXWDtFQUNBO0VBRUE7RUFDQTtFQUNBO0E1Qnl1R0Y7QTRCdnVHRTtFQWpCRjtJQWtCSTtFNUIwdUdGO0FBQ0Y7O0E0QnZ1R0E7RUFDRSxjdkJsWFk7RXVCbVhaLDJDZnJZdUI7RWVzWXZCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVCMHVHRjs7QTRCdnVHQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUIwdUdGOztBNEJ2dUdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTVCMHVHRjs7QTRCdnVHQTtFQUNFO0VBQ0E7QTVCMHVHRjs7QTRCcnVHRTtFQUNFO0VBQ0E7QTVCd3VHSjtBNEJ0dUdNO0VBY0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUIydEdSO0E0Qnp0R007RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1QjJ0R1I7QTRCenRHUTtFQUVFO0E1QjB0R1Y7QTRCeHRHUTtFQUNFO0E1QjB0R1Y7O0E2QnZySEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBN0IwckhGO0FTM2dIUTtFb0JuTFI7SUFPSTtFN0IyckhGO0FBQ0Y7QVNoaEhRO0VvQm5MUjtJQVdJO0U3QjRySEY7QUFDRjtBNkIxckhFO0VBQ0UseUJ4Qm9CVztBTHdxSGY7QTZCM3JISTtFQUNFO0E3QjZySE47QTZCNXJITTtFQUVFO0VBRUE7QTdCNHJIUjtBNkJ4ckhJO0VBQ0UseUJ4Qk9RO0V3Qk5SO0E3QjBySE47QVNuaUhRO0VvQnpKSjtJQUtJO0U3QjJySE47QUFDRjtBU3hpSFE7RW9CakpGO0lBRUkseUJ4QkZJO0l3QkdKO0U3QjJySFI7QUFDRjtBNkJ4ckhNO0VBQ0UseUJ4QlRNO0FMbXNIZDtBU2pqSFE7RW9CMUlGO0lBSUk7RTdCMnJIUjtFNkJ6ckhRO0lBQ0UseUJ4QmRFO0VMeXNIWjtBQUNGO0E2QnZySE07RUFDRSx5QnhCckJNO0FMOHNIZDtBUzVqSFE7RW9COUhGO0lBSUk7RTdCMHJIUjtFNkJ4ckhRO0lBQ0UseUJ4QjNCRTtFTHF0SFo7QUFDRjtBNkJ0ckhNO0VBQ0UseUJ4QmpDTTtBTHl0SGQ7QVN2a0hRO0VvQmxIRjtJQUlJO0U3QnlySFI7RTZCdnJIUTtJQUNFLHlCeEJ2Q0U7RUxndUhaO0FBQ0Y7QTZCdHJIUTtFQUNFLHlCeEI1Q0k7QUxvdUhkO0FTbGxIUTtFb0J2R0E7SUFJSTtFN0J5ckhWO0U2QnZySFU7SUFDRSx5QnhCbERBO0VMMnVIWjtBQUNGO0E2Qm5ySEk7RUFDRSx5QnhCekRRO0FMOHVIZDtBNkJuckhNO0VBQ0U7QTdCcXJIUjtBU2htSFE7RW9CdEZGO0lBSUkseUJ4QnJFSTtFTDJ2SFo7QUFDRjtBNkJwckhRO0VBQ0UseUJ4QnpFSTtBTCt2SGQ7QTZCL3FISTtFQUNFO0E3QmlySE47QTZCL3FITTtFQUVFO0VBRUE7QTdCK3FIUjtBNkIzcUhJO0VBQ0U7RUFDQTtBN0I2cUhOO0FTbm5IUTtFb0I1REo7SUFLSTtFN0I4cUhOO0FBQ0Y7QVN4bkhRO0VvQnBERjtJQUVJO0lBQ0E7RTdCOHFIUjtBQUNGO0E2QjNxSE07RUFDRTtBN0I2cUhSO0FTam9IUTtFb0I3Q0Y7SUFJSTtFN0I4cUhSO0U2QjVxSFE7SUFDRTtFN0I4cUhWO0FBQ0Y7QTZCMXFITTtFQUNFO0E3QjRxSFI7QVM1b0hRO0VvQmpDRjtJQUlJO0U3QjZxSFI7RTZCM3FIUTtJQUNFO0U3QjZxSFY7QUFDRjtBNkJ6cUhNO0VBQ0U7QTdCMnFIUjtBU3ZwSFE7RW9CckJGO0lBSUk7RTdCNHFIUjtFNkIxcUhRO0lBQ0U7RTdCNHFIVjtBQUNGO0E2QnpxSFE7RUFDRTtBN0IycUhWO0FTbHFIUTtFb0JWQTtJQUlJO0U3QjRxSFY7RTZCMXFIVTtJQUNFO0U3QjRxSFo7QUFDRjtBNkJ0cUhJO0VBQ0U7QTdCd3FITjtBNkJ0cUhNO0VBQ0U7QTdCd3FIUjtBU2hySFE7RW9CT0Y7SUFJSTtFN0J5cUhSO0FBQ0Y7QTZCdnFIUTtFQUNFO0E3QnlxSFY7QTZCbnFIRTtFQUNFLHlCeEJ6Sm1CO0FMOHpIdkI7QTZCbHFIRTtFQUNFLHlCeEJoTVc7QUxvMkhmO0E2QmpxSEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBN0JtcUhKO0FTL3JIUTtFb0J3Qk47SUFPSTtJQUNBO0lBQ0E7SUFDQTtFN0JvcUhKO0FBQ0Y7QVM1c0hRO0VvQjZCTjtJQWNJO0lBQ0E7SUFDQTtJQUNBO0U3QnFxSEo7QUFDRjtBU3B0SFE7RW9CNkJOO0lBcUJJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTdCc3FISjtBQUNGO0FTN3RIUTtFb0I2Qk47SUE2Qkk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFN0J1cUhKO0FBQ0Y7QTZCcnFISTtFQUNFO0E3QnVxSE47QTZCcHFISTtFQUNFO0E3QnNxSE47QTZCbHFIRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0E3Qm9xSEo7QVNsdkhRO0VvQjBFTjtJQU9JO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFN0JxcUhKO0FBQ0Y7QTZCbnFISTtFQWZGO0lBZ0JJO0lBQ0E7RTdCc3FISjtBQUNGO0FTbHdIUTtFb0IwRU47SUFxQkk7RTdCdXFISjtBQUNGO0FTdndIUTtFb0JtR047SUFFSTtJQUNBO0lBQ0E7SUFDQTtFN0JzcUhKO0FBQ0Y7QTZCcHFISTtFQUNFO0E3QnNxSE47QTZCbHFIRTtFQUNFO0VBQ0E7RUFDQTtBN0JvcUhKO0FTdnhIUTtFb0JnSE47SUFNSTtFN0JxcUhKO0FBQ0Y7QTZCbnFISTtFQUNFLHlCeEJ0TkU7RXdCdU5GO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0JxcUhOO0E2Qm5xSE07RUFDRTtFQUNBO0VBQ0E7QTdCcXFIUjtBNkJscUhNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3Qm9xSFI7QTZCanFITTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3Qm1xSFI7QVMzekhRO0VvQmlKRjtJQVVJO0U3Qm9xSFI7QUFDRjtBNkJscUhRO0VBQ0U7QTdCb3FIVjtBNkJqcUhRO0VBQ0UsY3hCMVRJO0V3QjJUSjtBN0JtcUhWO0E2QmhxSFE7RUFDRSxjeEJuVkk7RXdCb1ZKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QnhCMVFGO0FMNDZIUjtBNkJocUhVO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3QmtxSFo7QTZCL3BIVTtFQUNFO0VBQ0E7RUFFQTtFQUNBLHlCeEIxUko7QUwwN0hSO0E2QjNwSE07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3QjZwSFI7QTZCM3BIUTtFQUNFLGN4QjNYSTtFd0I0WEo7RUFDQTtFQUNBO0VBQ0E7QTdCNnBIVjtBNkIxcEhRO0VBQ0U7RUFDQTtFQUNBO0E3QjRwSFY7QTZCMXBIVTtFQUNFO0VBQ0E7RUFFQTtFQUNBO0E3QjJwSFo7QTZCeHBIVTtFQUNFO0VBRUE7QTdCeXBIWjtBNkJscEhFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0JvcEhKO0FTajVIUTtFb0I0T047SUFvQkk7SUFDQTtJQUNBO0U3QnFwSEo7QUFDRjtBNkJucEhJO0VBQ0U7QTdCcXBITjtBNkJscEhJO0VBQ0U7RUFDQTtBN0JvcEhOO0FTLzVIUTtFb0J5UUo7SUFLSTtJQUNBO0lBQ0E7RTdCcXBITjtBQUNGO0FTdDZIUTtFb0JtUkY7SUFFSTtJQUNBO0U3QnFwSFI7QUFDRjtBNkJscEhNO0VBQ0U7RUFDQTtBN0JvcEhSO0FTaDdIUTtFb0IwUkY7SUFLSTtJQUNBO0lBQ0E7RTdCcXBIUjtBQUNGO0FTdjdIUTtFb0JvU0E7SUFFSTtJQUNBO0U3QnFwSFY7QUFDRjtBUzc3SFE7RW9CNlNKO0lBRUk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFN0JrcEhOO0FBQ0Y7QTZCL29ISTtFQUNFO0VBQ0E7QTdCaXBITjtBNkIvb0hNO0VBSkY7SUFNSTtFN0JpcEhOO0FBQ0Y7QTZCL29ITTtFQVRGO0lBVUk7RTdCa3BITjtBQUNGO0FTMTlIUTtFb0I2VEo7SUFjSTtFN0JtcEhOO0FBQ0Y7QTZCaHBISTtFQUNFO0VBQ0E7QTdCa3BITjtBNkJocEhNO0VBSkY7SUFNSTtFN0JrcEhOO0FBQ0Y7QTZCaHBITTtFQVRGO0lBVUk7RTdCbXBITjtBQUNGO0FTNytIUTtFb0IrVUo7SUFjSTtFN0JvcEhOO0FBQ0Y7QTZCaHBIRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3QmtwSEo7QVMzL0hRO0VvQmtXTjtJQVVJO0lBQ0E7SUFDQTtFN0JtcEhKO0FBQ0Y7QVNsZ0lRO0VvQmtXTjtJQWdCSTtJQUNBO0lBQ0E7RTdCb3BISjtFNkJscEhJO0lBQ0U7RTdCb3BITjtBQUNGO0E2QmpwSEk7RUFHRTtBN0JpcEhOO0E2QjlvSEk7RUFHRTtFQUNBO0E3QjhvSE47QVNuaElRO0VvQndZSjtJQUVJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U3QjZvSE47QUFDRjtBNkIxb0hJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdCNG9ITjtBU3ZpSVE7RW9Cb1pKO0lBVUk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTdCNm9ITjtFNkJ6b0hRO0lBQ0U7SUFDQTtFN0Iyb0hWO0FBQ0Y7QTZCdm9ITTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdCeW9IUjtBU2hrSVE7RW9CK2FGO0lBV0k7RTdCMG9IUjtBQUNGO0E2QnZvSE07RUFDRTtFQUNBO0E3QnlvSFI7QTZCcG9IRTtFQUNFO0VBQ0E7QTdCc29ISjs7QTZCbG9IQTtBQUVFO0VBQ0U7QTdCb29ISjtBNkJsb0hJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTdCb29ITjtBU3hsSVE7RW9CZ2RKO0lBT0k7RTdCcW9ITjtBQUNGO0FTN2xJUTtFb0JnZEo7SUFXSTtJQUNBO0lBQ0E7RTdCc29ITjtBQUNGO0E2QnBvSE07RUFoQkY7SUFpQkk7SUFDQTtFN0J1b0hOO0FBQ0Y7QTZCcG9ISTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdCc29ITjtBU2puSVE7RW9Cc2VKO0lBUUk7RTdCdW9ITjtBQUNGO0E2QnBvSEk7RUFDRTtFQUNBO0VBQ0E7QTdCc29ITjtBUzNuSVE7RW9Ca2ZKO0lBTUk7RTdCdW9ITjtBQUNGO0E2QnJvSE07RUFDRTtBN0J1b0hSO0FTbm9JUTtFb0IyZkY7SUFJSTtFN0J3b0hSO0FBQ0Y7QTZCcG9ISTtFQUNFO0VBQ0E7QTdCc29ITjtBNkJub0hJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdCcW9ITjtBNkJub0hNO0VBQ0U7QTdCcW9IUjtBU3hwSVE7RW9CeWdCSjtJQWNJO0lBQ0E7RTdCcW9ITjtBQUNGO0FTOXBJUTtFb0J5Z0JKO0lBbUJJO0U3QnNvSE47QUFDRjtBNkJub0hJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0Jxb0hOO0E2Qm5vSE07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0Jxb0hSO0E2Qm5vSFE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0Jxb0hWO0E2QmpvSE07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdCbW9IUjtBNkJqb0hRO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdCbW9IVjtBNkIxbkhZO0VBRUUseUJ4Qnp2QkE7QUxvM0lkO0E2QnBuSFk7RUFFRSx5QnhCbHdCQTtBTHUzSWQ7QTZCMW1IVTtFQUNFO0E3QjRtSFo7QTZCeG1IWTtFQUVFO0E3QnltSGQ7QTZCbm1IVTtFQUNFO0E3QnFtSFo7QTZCam1IWTtFQUVFO0E3QmttSGQ7O0E4QjE1SUE7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlCNjVJRjs7QThCMzVJQTtFQUNFO0lBQ0U7RTlCODVJRjtBQUNGO0ErQjU3SUE7RUFDRTtFQUNBO0EvQjg3SUY7O0ErQjM3SUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0I4N0lGO0ErQjU3SUU7RUFDRTtFQUNBO0EvQjg3SUo7QStCMzdJRTtFQUNFO0EvQjY3SUo7QStCNTdJSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9CODdJTjtBK0I3N0lNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0IrN0lSO0ErQjE3SUU7RUFDRTtFQUNBO0VBQ0E7RUFDQSxjMUJoQlU7RTBCaUJWO0EvQjQ3SUo7QStCMzdJSTtFQUNFO0VBQ0E7RUFDQSxtQjFCTmdCO0UwQk9oQixjMUJxQ0U7RTBCcENGO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvQjY3SU47O0ErQng3SUE7O0VBRUU7RUFDQTtFQUNBO0EvQjI3SUY7QStCMTdJRTs7RUFDRTtBL0I2N0lKO0ErQjE3SUU7O0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QS9CNjdJSjtBK0I1N0lJOztFQUNFO0EvQis3SU47QStCNzdJSTs7RUFDRTtFQUNBO0EvQmc4SU47QStCNzdJSTs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0JnOElOOztBZ0M5aEpBO0VBQ0U7RUFDQTtFQUNBO0FoQ2lpSkY7QVNqM0lRO0V1Qm5MUjtJQUtJO0VoQ21pSkY7QUFDRjtBZ0NoaUpJO0VBQ0U7RUFDQTtFQUNBO0FoQ2tpSk47QWdDL2hKSTtFQUNFO0FoQ2lpSk47QWdDN2hKRTtFQUNFO0FoQytoSko7QWdDNWhKRTtFQUNFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VoQzhoSko7QUFDRjtBZ0MzaEpFO0VBQ0U7SUFDRTtFaEM2aEpKO0VnQzFoSkU7SUFDRTtFaEM0aEpKO0FBQ0Y7O0FnQ3hoSkE7RUFDRTtJQUNFO0VoQzJoSkY7QUFDRjtBZ0N4aEpBO0VBRUk7SUFDRTtFaEN5aEpKO0FBQ0Y7QWdDcmhKQTtFQUNFO0FoQ3VoSkY7O0FpQ2xsSkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpDcWxKTjtBaUNsbEpJO0VBQ0U7QWpDb2xKTjtBaUNqbEpJO0VBQ0U7SUFDRTtFakNtbEpOO0FBQ0Y7QWlDaGxKSTtFQUNFO0FqQ2tsSk47QWlDOWtKRTtFQUNFO0VBQ0E7RUFDQTtBakNnbEpKO0FpQzVrSkk7RUFDRTtFQUNBO0FqQzhrSk47QWlDMWtKRTtFQUNFO0FqQzRrSko7QWlDemtKRTtFQUNFO0FqQzJrSko7O0FrQzFuSkE7RUFDRTtBbEM2bkpGO0FrQzVuSkU7O0VBRUU7RUFDQSxjN0J1QlU7RTZCdEJWO0VBQ0E7RUFDQTtFQUNBO0FsQzhuSko7QWtDN25KSTs7Ozs7Ozs7OztFQUtFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYzdCUVE7QUw0bkpkO0FrQ2xvSkk7Ozs7RUFFRTtFQUNBO0VBQ0E7RUFDQSxjN0JFUTtFNkJEUjtFQUNBO0FsQ3NvSk47QWtDbG9KRTtFQUNFO0VBQ0E7QWxDb29KSjtBa0Nub0pJOztFQUVFO0VBQ0E7QWxDcW9KTjtBa0Nsb0pFO0VBQ0U7RUFDQTtBbENvb0pKO0FrQ25vSkk7O0VBRUU7RUFDQTtBbENxb0pOO0FrQ2xvSkU7O0VBRUU7RUFDQTtBbENvb0pKO0FrQ2pvSkU7RUFDRTtBbENtb0pKO0FTemdKUTtFeUIzSE47SUFHSTtFbENxb0pKO0FBQ0Y7QWtDaG9KSTs7OztFQUVFO0VBQ0E7RUFDQTtBbENvb0pOO0FrQ25vSk07Ozs7Ozs7O0VBRUU7RUFDQTtBbEMyb0pSO0FrQzFvSlE7Ozs7Ozs7O0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbENtcEpWOztBa0M1b0pFO0VBQ0U7QWxDK29KSjs7QWtDNW9KQTs7RUFFRTtBbEMrb0pGO0FrQzVvSkk7Ozs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxDaXBKTjtBa0Mzb0pJOzs7O0VBQ0U7QWxDZ3BKTjtBa0Mxb0pJOzs7RUFDRTtBbEM4b0pOO0FrQ3RvSkk7Ozs7Ozs7RUFDRTtBbEM4b0pOO0FrQ3pvSkk7Ozs7RUFFRTtFQU9BO0FsQ3VvSk47QWtDN29KTTs7OztFQUNFO0FsQ2twSlI7QWtDaHBKTTs7OztFQUNFO0FsQ3FwSlI7QWtDbHBKTTs7OztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxDdXBKUjs7QWtDanBKQTtFQUNFO0VBQ0E7QWxDb3BKRjtBa0NucEpFO0VBQ0U7RUFDQTtBbENxcEpKO0FrQ3BwSkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGM3QjNJUTtFNkI0SVI7RUFDQTtFQUNBO0FsQ3NwSk47O0FtQ2gwSkE7RUFDRTtFQUNBO0VBQ0EseUI5Qm9GTTtFOEJuRk47RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkNtMEpGO0FTeHBKUTtFMEJuTFI7SUFVSTtJQUNBO0lBQ0E7RW5DcTBKRjtBQUNGO0FTL3BKUTtFMEJuTFI7SUFlSTtJQUNBO0VuQ3UwSkY7QUFDRjtBU3JxSlE7RTBCbkxSO0lBbUJJO0lBQ0E7RW5DeTBKRjtBQUNGO0FtQ3gwSkU7RUFDRTtFQUNBO0FuQzAwSko7QW1DeDBKRTtFQUNFO0VBQ0E7QW5DMDBKSjtBbUNsekpFO0VBQ0U7QW5Db3pKSjtBU3RySlE7RTBCL0hOO0lBR0k7SUFDQTtJQUNBO0VuQ3N6Sko7QUFDRjtBUzdySlE7RTBCL0hOO0lBUUk7SUFDQTtJQUNBO0VuQ3d6Sko7QUFDRjtBU3BzSlE7RTBCL0hOO0lBYUk7SUFDQTtJQUNBO0VuQzB6Sko7QUFDRjtBbUN4ekpFO0VBQ0U7QW5DMHpKSjtBbUN4ekpFO0VBQ0U7QW5DMHpKSixDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZHMtY3BjLWxpYnJhcnkvLi9ub2RlX21vZHVsZXMvLnBucG0vc3dpcGVyQDYuOC40L25vZGVfbW9kdWxlcy9zd2lwZXIvc3dpcGVyLnNjc3MiLCJ3ZWJwYWNrOi8vZHMtY3BjLWxpYnJhcnkvLi9zcmMvc3R5bGVzL2NwYy1kcy5zY3NzIiwid2VicGFjazovL2RzLWNwYy1saWJyYXJ5Ly4vc3JjL3N0eWxlcy9mb3VuZGF0aW9uL2ZvdW5kYXRpb24uc2NzcyIsIndlYnBhY2s6Ly9kcy1jcGMtbGlicmFyeS8uL3NyYy9zdHlsZXMvZm91bmRhdGlvbi9fY3BjLWZvdW5kYXRpb24tc2V0dGluZ3Muc2NzcyIsIndlYnBhY2s6Ly9kcy1jcGMtbGlicmFyeS8uL3NyYy9zdHlsZXMvdXRpbHMvX21peGlucy5zY3NzIiwid2VicGFjazovL2RzLWNwYy1saWJyYXJ5Ly4vc3JjL3N0eWxlcy91dGlscy9fZnVuY3Rpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vZHMtY3BjLWxpYnJhcnkvLi9zcmMvc3R5bGVzL2Jhc2UvX2NvbG91cnMuc2NzcyIsIndlYnBhY2s6Ly9kcy1jcGMtbGlicmFyeS8uL3NyYy9zdHlsZXMvYmFzZS9fZm9ybXMuc2NzcyIsIndlYnBhY2s6Ly9kcy1jcGMtbGlicmFyeS8uL3NyYy9zdHlsZXMvYmFzZS9fZ3JpZC5zY3NzIiwid2VicGFjazovL2RzLWNwYy1saWJyYXJ5Ly4vbm9kZV9tb2R1bGVzLy5wbnBtL2ZvdW5kYXRpb24tc2l0ZXNANi43LjVfd2w1eHA0YW1sdzQ1MnlsN2ljdmhxc3EyazQvbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vZHMtY3BjLWxpYnJhcnkvLi9ub2RlX21vZHVsZXMvLnBucG0vZm91bmRhdGlvbi1zaXRlc0A2LjcuNV93bDV4cDRhbWx3NDUyeWw3aWN2aHFzcTJrNC9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2JyZWFrcG9pbnQuc2NzcyIsIndlYnBhY2s6Ly9kcy1jcGMtbGlicmFyeS8uL25vZGVfbW9kdWxlcy8ucG5wbS9mb3VuZGF0aW9uLXNpdGVzQDYuNy41X3dsNXhwNGFtbHc0NTJ5bDdpY3ZocXNxMms0L25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vZHMtY3BjLWxpYnJhcnkvLi9ub2RlX21vZHVsZXMvLnBucG0vZm91bmRhdGlvbi1zaXRlc0A2LjcuNV93bDV4cDRhbWx3NDUyeWw3aWN2aHFzcTJrNC9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NlbGwuc2NzcyIsIndlYnBhY2s6Ly9kcy1jcGMtbGlicmFyeS8uL25vZGVfbW9kdWxlcy8ucG5wbS9mb3VuZGF0aW9uLXNpdGVzQDYuNy41X3dsNXhwNGFtbHc0NTJ5bDdpY3ZocXNxMms0L25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3V0dGVycy5zY3NzIiwid2VicGFjazovL2RzLWNwYy1saWJyYXJ5Ly4vc3JjL3N0eWxlcy9iYXNlL190eXBvZ3JhcGh5LnNjc3MiLCJ3ZWJwYWNrOi8vZHMtY3BjLWxpYnJhcnkvLi9zcmMvc3R5bGVzL2Jhc2UvX2ljb25vZ3JhcGh5LnNjc3MiLCJ3ZWJwYWNrOi8vZHMtY3BjLWxpYnJhcnkvLi9zcmMvc3R5bGVzL2Jhc2UvX2FjY2Vzc2liaWxpdHkuc2NzcyIsIndlYnBhY2s6Ly9kcy1jcGMtbGlicmFyeS8uL3NyYy9zdHlsZXMvYmFzZS9fYmFzZS5zY3NzIiwid2VicGFjazovL2RzLWNwYy1saWJyYXJ5Ly4vc3JjL3N0eWxlcy9iYXNlL19lbGV2YXRpb24uc2NzcyIsIndlYnBhY2s6Ly9kcy1jcGMtbGlicmFyeS8uL3NyYy9jb21wb25lbnRzL2NvbXBvbmVudHMuc2NzcyIsIndlYnBhY2s6Ly9kcy1jcGMtbGlicmFyeS8uL3NyYy9jb21wb25lbnRzL2NwYy1kcy1hY2NvcmRpb24vY3BjLWRzLWFjY29yZGlvbi5zY3NzIiwid2VicGFjazovL2RzLWNwYy1saWJyYXJ5Ly4vc3JjL2NvbXBvbmVudHMvY3BjLWRzLWJyZWFkY3J1bWJzL2NwYy1kcy1icmVhZGNydW1iLnNjc3MiLCJ3ZWJwYWNrOi8vZHMtY3BjLWxpYnJhcnkvLi9zcmMvY29tcG9uZW50cy9jcGMtZHMtYnV0dG9ucy9jcGMtZHMtYnV0dG9ucy5zY3NzIiwid2VicGFjazovL2RzLWNwYy1saWJyYXJ5Ly4vc3JjL2NvbXBvbmVudHMvY3BjLWRzLWxpbmtzL2NwYy1kcy1saW5rcy5zY3NzIiwid2VicGFjazovL2RzLWNwYy1saWJyYXJ5Ly4vc3JjL2NvbXBvbmVudHMvY3BjLWRzLWRyb3Bkb3duL2NwYy1kcy1kcm9wZG93bi5zY3NzIiwid2VicGFjazovL2RzLWNwYy1saWJyYXJ5Ly4vc3JjL2NvbXBvbmVudHMvY3BjLWRzLW1vZGFscy9jcGMtZHMtbW9kYWxzLnNjc3MiLCJ3ZWJwYWNrOi8vZHMtY3BjLWxpYnJhcnkvLi9zcmMvY29tcG9uZW50cy9jcGMtZHMtbm90aWZpY2F0aW9ucy9jcGMtZHMtbm90aWZpY2F0aW9ucy5zY3NzIiwid2VicGFjazovL2RzLWNwYy1saWJyYXJ5Ly4vc3JjL2NvbXBvbmVudHMvY3BjLWRzLXBhZ2luYXRpb24vY3BjLWRzLXBhZ2luYXRpb24uc2NzcyIsIndlYnBhY2s6Ly9kcy1jcGMtbGlicmFyeS8uL3NyYy9jb21wb25lbnRzL2NwYy1kcy10b2dnbGUvY3BjLWRzLXRvZ2dsZS5zY3NzIiwid2VicGFjazovL2RzLWNwYy1saWJyYXJ5Ly4vc3JjL2NvbXBvbmVudHMvY3BjLWRzLWlucHV0cy9jcGMtZHMtaW5wdXRzLnNjc3MiLCJ3ZWJwYWNrOi8vZHMtY3BjLWxpYnJhcnkvLi9zcmMvY29tcG9uZW50cy9jcGMtZHMtc2xpZGVyL2NwYy1kcy1zbGlkZXIuc2NzcyIsIndlYnBhY2s6Ly9kcy1jcGMtbGlicmFyeS8uL3NyYy9jb21wb25lbnRzL2NwYy1kcy1yYWRpby1idXR0b24vY3BjLWRzLXJhZGlvLWJ1dHRvbi5zY3NzIiwid2VicGFjazovL2RzLWNwYy1saWJyYXJ5Ly4vc3JjL2NvbXBvbmVudHMvY3BjLWRzLXByb2Nlc3MtbGlzdC9jcGMtZHMtcHJvY2Vzcy1saXN0LnNjc3MiLCJ3ZWJwYWNrOi8vZHMtY3BjLWxpYnJhcnkvLi9zcmMvY29tcG9uZW50cy9jcGMtZHMtcHJvY2Vzcy1saXN0L2NwYy1kcy1jb21wbGV4LXByb2Nlc3MtbGlzdC5zY3NzIiwid2VicGFjazovL2RzLWNwYy1saWJyYXJ5Ly4vc3JjL2NvbXBvbmVudHMvY3BjLWRzLWRldGFpbHMvY3BjLWRzLWRldGFpbHMuc2NzcyIsIndlYnBhY2s6Ly9kcy1jcGMtbGlicmFyeS8uL3NyYy9jb21wb25lbnRzL2NwYy1kcy1saXN0L2NwYy1kcy1saXN0LnNjc3MiLCJ3ZWJwYWNrOi8vZHMtY3BjLWxpYnJhcnkvLi9zcmMvY29tcG9uZW50cy9jcGMtZHMtdG9vbHRpcC9jcGMtZHMtdG9vbHRpcC5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgJ3N3aXBlci12YXJzLnNjc3MnO1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdzd2lwZXItaWNvbnMnO1xuICBzcmM6IHVybCgnZGF0YTphcHBsaWNhdGlvbi9mb250LXdvZmY7Y2hhcnNldD11dGYtODtiYXNlNjQsIGQwOUdSZ0FCQUFBQUFBWmdBQkFBQUFBQURBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCR1JsUk5BQUFHUkFBQUFCb0FBQUFjaTZxSGtVZEVSVVlBQUFXZ0FBQUFJd0FBQUNRQVlBQlhSMUJQVXdBQUJoUUFBQUF1QUFBQU51QVk3K3hIVTFWQ0FBQUZ4QUFBQUZBQUFBQm0yZlBjelU5VEx6SUFBQUhjQUFBQVNnQUFBR0JQOVY1UlkyMWhjQUFBQWtRQUFBQ0lBQUFCWXQ2RjBjQmpkblFnQUFBQ3pBQUFBQVFBQUFBRUFCRUJSR2RoYzNBQUFBV1lBQUFBQ0FBQUFBai8vd0FEWjJ4NVpnQUFBeXdBQUFETUFBQUQyTUh0cnlWb1pXRmtBQUFCYkFBQUFEQUFBQUEyRTIrZW9XaG9aV0VBQUFHY0FBQUFId0FBQUNRQzlnRHphRzEwZUFBQUFpZ0FBQUFaQUFBQXJnSmtBQkZzYjJOaEFBQUMwQUFBQUZvQUFBQmFGUUFVR0cxaGVIQUFBQUc4QUFBQUh3QUFBQ0FBY0FCQWJtRnRaUUFBQS9nQUFBRTVBQUFDWHZGZEJ3bHdiM04wQUFBRk5BQUFBR0lBQUFDRTVzNzRoWGphWTJCa1lHQUFZcGY1SHUvaitXMitNbkF6TVlEQXphWDZRakQ2LzQvL0J4ajVHQThBdVJ3TVlHa0FQeXdMMTNqYVkyQmtZR0E4OFA4QWd4NGorLzhmUURZZkExQUVCV2dEQUlCMkJPb0FlTnBqWUdSZ1lOQmg0R2RnWWdBQkVNbklBQkp6WU5BRENRQUFDV2dBc1FCNDJtTmdZZnpDT0lHQmxZR0IwWWN4allHQndSMUtmMldRWkdoaFlHQmlZR1ZtZ0FGR0JpUVFrT2Fhd3REQW9NQlF4WGpnL3dFR1BjWUREQTR3TlVBMkNDZ3dzQUFBTzRFTDZnQUFlTnBqMk0wZ3lBQUNxeGdHTldCa1oyRDQvd01BK3hrRGRnQUFBSGphWTJCZ1lHYUFZQmtHUmdZUWlBSHlHTUY4RmdZSElNM0R3TUhBQkdRck1PZ3lXRExFTTFUOS93OFVCZkVNZ0x6RS8vLy9QLzUvL2YvVi94dityNGVhQUFlTWJBeHdJVVltSU1IRWdLWUFZalVjc0RBd3NMS3hjM0J5Y2ZQdzhqRVFBL2daQkFTRmhFVkV4Y1FsSktXa1pXVGw1QlVVbFpSVlZOWFVOVFFaQmdNQUFNUitFK2dBRVFGRUFBQUFLZ0FxQUNvQU5BQStBRWdBVWdCY0FHWUFjQUI2QUlRQWpnQ1lBS0lBckFDMkFNQUF5Z0RVQU40QTZBRHlBUHdCQmdFUUFSb0JKQUV1QVRnQlFnRk1BVllCWUFGcUFYUUJmZ0dJQVpJQm5BR21BYklCemdIc0FBQjQydTJOTVE2Q1VBeUdXNTY4eDlBbmVZWWdtNE1KYmhLRmFFeElPQVZYOEFwZXdTdDRCaWM0QWZlQWlkM1ZPQml4RHhmUFlFemE1TytYZmkwNFlBRGdnaVVJVUxDdUVKSzhWaE80YlN2cGRua3RISTVRQ1l0ZGkyc2w4Wm5YYUhscVVyTkt6ZEtjVDhjamxxK3J3WlN2SVZjek5pZXpzZm5QL3V6bm1mUEZCTk9ETTJLN01UUTQ1WUVBWnFHUDgxQW1HR2NGM2lQcU9vcDByMVNQVGFUYlZrZlVlNEhYajk3d1lFK3lOd1dZeHdXdTR2MXVnV0hnbzNTMVhkWkVWcVdNN0VUMGNmbkxHeFdma2dSNDJvMlB2V3JETUJTRmovSUhMYUYwektqUmdkaVZNd1NjTlJBb1dVb0g3OFkyaWNCL3lJWTA5QW42QUgyQmR1L1VCK3l4b3BZc2hRaUV2bnZ1MGRVUmdEdDhRZUM4UER3N0ZwamkzZkVBNHovUEVKNllPQjVoS2g0ZGozRXZYaHhQcUgvU0tVWTNySjdzclo0RlpuaDFQTUF0UGh3UDZmbDJQTUpNUERnZVE0clk4WVQ2R3phbzBlQUVBNDA5RHVnZ21UbkZuT2NTQ2lFaUxNZ3hDaVRJNkNxNURaVWQzUW1wMTB2TzBMYUxUZDJjak40Zk91bWxjN2xVWWJTUWNaRmt1dFJHN2c2SktaS3kwUm1kTFk2ODBDRG5FSitVTWtwRkZlMVJON254ZFZwWHJDNGFUdG5hdXJPblllcmNaZzJZVm1MTi9kL2djemZFaW1yRS9mcy9iT3VxMjlabW44dGxvT1JhWGdaZ0dhNzh5TzkvY25YbTJCcGFHdnEyNUR2OVM0RTkrNVNJYzlQcXVwSktoWUZTU2w0NytRY3IxbVlOQUFBQWVOcHR3MGNLd2tBQUFNRFpKQThRN09VSnZrTHNQZlo2ekZWRVJQeThxSGgyWUVSKzNpL0JQODN2SUJMTHlTc29LaW1ycUtxcGEyaHA2K2pxNlJzWUdobWJtSnFaU3kwc3JheHRiTzNzSFJ5ZG5FTVU0dVI2eXg3SkpYdmVQN1dyRHljQUFBQUFBQUgvL3dBQ2VOcGpZR1JnWU9BQlloa2daZ0pDWmdaTkJrWUdMUVp0SUpzRkxNWUFBQXczQUxnQWVOb2xpekVLZ0RBUUJDY2hSYkMyc0ZFUjBZRDZxVlFpQkN2L0g5ZXpHSTZaNVhCQXc4Q0JLL201aVFRVmF1VmJYTG5Pck1adjJvTGRLRmE4UGp1cnUyaEp6R2FibU9TTHpOTXp2dXRwQjNONDJtTmdaR0JnNEdLUVl6QmhZTXhKTE1sajRHQmdBWW93L1AvUEFKSmhMTTZzU29XS2ZXQ0FBd0RBamdiUkFBQjQybU5nWUdCa0FJSWJDWm81SVBybVVuMGhHQTBBTzhFRlRRQUEnKVxuICAgIGZvcm1hdCgnd29mZicpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbjpyb290IHtcbiAgLS1zd2lwZXItdGhlbWUtY29sb3I6ICN7JHRoZW1lQ29sb3J9O1xufVxuLnN3aXBlci1jb250YWluZXIge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIC8qIEZpeCBvZiBXZWJraXQgZmxpY2tlcmluZyAqL1xuICB6LWluZGV4OiAxO1xufVxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLnN3aXBlci13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuLnN3aXBlci1jb250YWluZXItYW5kcm9pZCAuc3dpcGVyLXNsaWRlLFxuLnN3aXBlci13cmFwcGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApO1xufVxuLnN3aXBlci1jb250YWluZXItbXVsdGlyb3cgPiAuc3dpcGVyLXdyYXBwZXIge1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1tdWx0aXJvdy1jb2x1bW4gPiAuc3dpcGVyLXdyYXBwZXIge1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXIge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuLnN3aXBlci1jb250YWluZXItcG9pbnRlci1ldmVudHMge1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAmLnN3aXBlci1jb250YWluZXItdmVydGljYWwge1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXg7XG4gIH1cbn1cbi5zd2lwZXItc2xpZGUge1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG59XG4uc3dpcGVyLXNsaWRlLWludmlzaWJsZS1ibGFuayB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi8qIEF1dG8gSGVpZ2h0ICovXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IHtcbiAgJixcbiAgLnN3aXBlci1zbGlkZSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLnN3aXBlci13cmFwcGVyIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodDtcbiAgfVxufVxuXG4vKiAzRCBFZmZlY3RzICovXG4uc3dpcGVyLWNvbnRhaW5lci0zZCB7XG4gIHBlcnNwZWN0aXZlOiAxMjAwcHg7XG4gIC5zd2lwZXItd3JhcHBlcixcbiAgLnN3aXBlci1zbGlkZSxcbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuICAuc3dpcGVyLWN1YmUtc2hhZG93IHtcbiAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICB9XG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB6LWluZGV4OiAxMDtcbiAgfVxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgfVxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICB9XG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgfVxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIH1cbn1cblxuLyogQ1NTIE1vZGUgKi9cbi5zd2lwZXItY29udGFpbmVyLWNzcy1tb2RlIHtcbiAgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTsgLyogRm9yIEZpcmVmb3ggKi9cbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7IC8qIEZvciBJbnRlcm5ldCBFeHBsb3JlciBhbmQgRWRnZSAqL1xuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gID4gLnN3aXBlci13cmFwcGVyID4gLnN3aXBlci1zbGlkZSB7XG4gICAgc2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0IHN0YXJ0O1xuICB9XG59XG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsLnN3aXBlci1jb250YWluZXItY3NzLW1vZGUge1xuICA+IC5zd2lwZXItd3JhcHBlciB7XG4gICAgc2Nyb2xsLXNuYXAtdHlwZTogeCBtYW5kYXRvcnk7XG4gIH1cbn1cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsLnN3aXBlci1jb250YWluZXItY3NzLW1vZGUge1xuICA+IC5zd2lwZXItd3JhcHBlciB7XG4gICAgc2Nyb2xsLXNuYXAtdHlwZTogeSBtYW5kYXRvcnk7XG4gIH1cbn1cblxuXG5cbiIsIi8qIEZvdW5kYXRpb24gNiB1dGlscyBhbmQgZ3JpZCAqL1xuQGltcG9ydCAnZm91bmRhdGlvbi9mb3VuZGF0aW9uJztcblxuQGltcG9ydCAnLi91dGlscy91dGlscyc7XG5AaW1wb3J0ICcuL2Jhc2UvY29tbW9uJztcbkBpbXBvcnQgJy4uL2NvbXBvbmVudHMvY29tcG9uZW50cyc7XG4iLCIvKipcbiogQ3VzdG9tIEZvdW5kYXRpb24gc2V0dXAgZm9yIERTXG4qIFVwZGF0ZXMgdG8gYmUgZG9uZSB3aXRoIG5wbSBGb3VuZGF0aW9uLVNpdGUgdXBkYXRlXG4qIHd3ZWJwYWNrIGlzIGV4dGVybmFsaXppbmcgdGhpcyBzbyBpdCBleGNsdWRlcyBpdCBmcm9tIHRoZSBidW5kbGVcbiovXG5cbi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXNcbiAqIFZlcnNpb24gNi43LjRcbiAqIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIC0tLSBEZXBlbmRlbmNpZXMgLS0tXG5cbkBpbXBvcnQgJ35mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdmVuZG9yL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICd+Zm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvbWlzc2luZy1kZXBlbmRlbmNpZXMnO1xuQGltcG9ydCAnfmZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL3RydWUnO1xuQGltcG9ydCAnfmZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvY29udGFpbic7XG5AaW1wb3J0ICd+Zm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9wdXJnZSc7XG5AaW1wb3J0ICd+Zm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAnfmZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVwbGFjZSc7XG5AaW1wb3J0ICd+Zm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy90by1saXN0JztcblxuLy8gLS0tIENvbXBvbmVudHMgLS0tXG4vLyBVdGlsaXRpZXNcblxuQGltcG9ydCAnfmZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL3V0aWwnO1xuXG4vLyBHbG9iYWwgc3R5bGVzXG5AaW1wb3J0ICd+Zm91bmRhdGlvbi1zaXRlcy9zY3NzL2dsb2JhbCc7XG4vLyBAaW1wb3J0ICd+Zm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL2Zvcm1zJztcbi8vIEBpbXBvcnQgJ35mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcblxuLy8gR3JpZHNcbkBpbXBvcnQgJ35mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ35mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC94eS1ncmlkJztcblxuLy8gLS0tIFNldHRpbmdzIC0tLVxuLy8gaW1wb3J0IHlvdXIgb3duIGBzZXR0aW5nc2AgaGVyZSBvclxuLy8gaW1wb3J0IGFuZCBtb2RpZnkgdGhlIGRlZmF1bHQgc2V0dGluZ3MgdGhyb3VnaFxuLy8gQGltcG9ydCAnc2V0dGluZ3Mvc2V0dGluZ3MnO1xuLy8gLS0tIENVU1RPTSBDUEMgU2V0dGluZ3MgLS0tXG5AaW1wb3J0ICdjcGMtZm91bmRhdGlvbi1zZXR0aW5ncyc7XG4iLCIvKipcbiogRm91bmRhdGlvbiBDUEMgLyBTQ1AgIFNldHRpbmdzIG92ZXJyaWRlc1xuKi9cblxuLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENhcmRcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAgMTYuIERyaWxsZG93blxuLy8gIDE3LiBEcm9wZG93blxuLy8gIDE4LiBEcm9wZG93biBNZW51XG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAgMjAuIEZvcm1zXG4vLyAgMjEuIExhYmVsXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxuLy8gIDIzLiBNZW51XG4vLyAgMjQuIE1ldGVyXG4vLyAgMjUuIE9mZi1jYW52YXNcbi8vICAyNi4gT3JiaXRcbi8vICAyNy4gUGFnaW5hdGlvblxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcbi8vICAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAgMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vICAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAgMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vICAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vICAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAgNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vICA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gIDQ3LiBSZXZlYWxcbi8vICA0OC4gU2xpZGVyXG4vLyAgNDkuIFN3aXRjaFxuLy8gIDUwLiBUYWJsZVxuLy8gIDUxLiBUYWJzXG4vLyAgNTIuIFRodW1ibmFpbFxuLy8gIDUzLiBUaXRsZSBCYXJcbi8vICA1NC4gVG9vbHRpcFxuLy8gIDU1LiBUb3AgQmFyXG4vLyAgNTYuIFh5IEdyaWRcbi8vICA1Ny4gQ1BDIGN1c3RvbSB2YXJpYWJsZXNcblxuLy8gMS4gR2xvYmFsXG4vLyAtLS0tLS0tLS1cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCU7XG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxNDQwKTsgLy9mb3VuZGF0aW9uIGRlZmF1bHQgd2FzIDEyMDBcbiRnbG9iYWwtbGluZWhlaWdodDogMS41O1xuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKTtcbiRsaWdodC1ncmF5OiAjZTZlNmU2O1xuJG1lZGl1bS1ncmF5OiAjY2FjYWNhO1xuJGRhcmstZ3JheTogIzhhOGE4YTtcbiRibGFjazogIzBhMGEwYTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRib2R5LWZvbnQtY29sb3I6ICMzMzMzMzM7XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgaGVsdmV0aWNhLCByb2JvdG8sIGFyaWFsLCBzYW5zLXNlcmlmO1xuJGJvZHktc2FmZS1wYWRkaW5nOiBmYWxzZTtcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xuJGdsb2JhbC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtO1xuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWw7XG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkO1xuJGdsb2JhbC1yYWRpdXM6IDNweDsgLy9mb3VuZGF0aW9uIGRlZmF1bHQgaXMgMFxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHI7XG4kZ2xvYmFsLWZsZXhib3g6IHRydWU7XG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2U7XG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG87XG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwO1xuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xuJHByaW50LWhyZWZzOiB0cnVlO1xuXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbi8vIDIuIEJyZWFrcG9pbnRzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQxcHgsXG4gIGxhcmdlOiAxMDI1cHgsXG4gIHhsYXJnZTogMTQ0MHB4LFxuICAvLyBmb3VuZGF0aW9uIGRlZmF1bHQgaXMgMTIwMHB4XG4gIHh4bGFyZ2U6IDE0NDBweCxcbik7XG4kYnJlYWtwb2ludHMtaGlkcGk6IChcbiAgaGlkcGktMTogMSxcbiAgaGlkcGktMS01OiAxLjUsXG4gIGhpZHBpLTI6IDIsXG4gIHJldGluYTogMixcbiAgaGlkcGktMzogMyxcbik7XG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2U7XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKTtcblxuLy8gMy4gVGhlIEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXG4gIHNtYWxsOiAxNnB4LFxuICAvLyBkZWZhdWx0IHdhcyAyMHB4XG4gIG1lZGl1bTogMTZweCxcbik7XG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcbiRncmlkLWNvbHVtbi1hbGlhczogJ2NvbHVtbnMnO1xuJGJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogY29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBjb3VyaWVyLCBtb25vc3BhY2U7XG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKFxuICAgICAgJ2ZvbnQtc2l6ZSc6IDI0LFxuICAgICksXG4gICAgJ2gyJzogKFxuICAgICAgJ2ZvbnQtc2l6ZSc6IDIwLFxuICAgICksXG4gICAgJ2gzJzogKFxuICAgICAgJ2ZvbnQtc2l6ZSc6IDE5LFxuICAgICksXG4gICAgJ2g0JzogKFxuICAgICAgJ2ZvbnQtc2l6ZSc6IDE4LFxuICAgICksXG4gICAgJ2g1JzogKFxuICAgICAgJ2ZvbnQtc2l6ZSc6IDE3LFxuICAgICksXG4gICAgJ2g2JzogKFxuICAgICAgJ2ZvbnQtc2l6ZSc6IDE2LFxuICAgICksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6IChcbiAgICAgICdmb250LXNpemUnOiA0OCxcbiAgICApLFxuICAgICdoMic6IChcbiAgICAgICdmb250LXNpemUnOiA0MCxcbiAgICApLFxuICAgICdoMyc6IChcbiAgICAgICdmb250LXNpemUnOiAzMSxcbiAgICApLFxuICAgICdoNCc6IChcbiAgICAgICdmb250LXNpemUnOiAyNSxcbiAgICApLFxuICAgICdoNSc6IChcbiAgICAgICdmb250LXNpemUnOiAyMCxcbiAgICApLFxuICAgICdoNic6IChcbiAgICAgICdmb250LXNpemUnOiAxNixcbiAgICApLFxuICApLFxuKTtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplbGVnaWJpbGl0eTtcbiRzbWFsbC1mb250LXNpemU6IDgwJTtcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjY7XG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDEuNXJlbTsgLy8gZGVmYXVsdCBpcyAxcmVtXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZWxlZ2liaWxpdHk7XG4kZW5hYmxlLWNvZGUtaW5saW5lOiB0cnVlO1xuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGVuYWJsZS1jaXRlLWJsb2NrOiB0cnVlO1xuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcblxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGxlYWQtZm9udC1zaXplOiAxLjI1cmVtO1xuJGxlYWQtbGluZWhlaWdodDogMS42O1xuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7XG4kY29kZS1jb2xvcjogJGJsYWNrO1xuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XG4kY29kZS1ibG9jay1wYWRkaW5nOiAxcmVtO1xuJGNvZGUtYmxvY2stbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXG4vLyA2LiBBYmlkZVxuLy8gLS0tLS0tLS1cblxuJGFiaWRlLWlucHV0czogdHJ1ZTtcbiRhYmlkZS1sYWJlbHM6IHRydWU7XG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gNy4gQWNjb3JkaW9uXG4vLyAtLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcbiRhY2NvcmRpb24tcGx1cy1jb250ZW50OiAnXFwwMDJCJztcbiRhY2NvcmRpb24tbWludXMtY29udGVudDogJ1xcMjAxMyc7XG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDguIEFjY29yZGlvbiBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDkuIEJhZGdlXG4vLyAtLS0tLS0tLVxuXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjaztcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcblxuLy8gMTAuIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMTEuIEJ1dHRvblxuLy8gLS0tLS0tLS0tLVxuXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGJ1dHRvbi1mb250LXdlaWdodDogbnVsbDtcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbTtcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRidXR0b24tZmlsbDogc29saWQ7XG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuJGJ1dHRvbi1jb2xvcjogJHdoaXRlO1xuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjaztcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRidXR0b24tYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweDtcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbik7XG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlO1xuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlO1xuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZDogZmFsc2U7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlO1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1zaXplczogKFxuICBzbWFsbDogMC41cmVtLFxuICBkZWZhdWx0OiAxcmVtLFxuICBsYXJnZTogM3JlbSxcbik7XG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhbGxvdXQtbGluay10aW50OiAzMCU7XG5cbi8vIDE0LiBDYXJkXG4vLyAtLS0tLS0tLVxuXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGNhcmQtc2hhZG93OiBub25lO1xuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gMTUuIENsb3NlIEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcbiRjbG9zZWJ1dHRvbi16LWluZGV4OiAxMDtcbiRjbG9zZWJ1dHRvbi1kZWZhdWx0LXNpemU6IG1lZGl1bTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbik7XG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xuXG4vLyAxNi4gRHJpbGxkb3duXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMDtcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyAxNy4gRHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XG4kZHJvcGRvd24td2lkdGg6IDMwMHB4O1xuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKTtcblxuLy8gMTguIERyb3Bkb3duIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW07XG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6IG51bGw7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMDtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudDtcblxuLy8gMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2O1xuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZTtcblxuLy8gMjAuIEZvcm1zXG4vLyAtLS0tLS0tLS1cblxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2s7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44O1xuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5O1xuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGlucHV0LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdDtcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nICogMC41O1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpO1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMS4gTGFiZWxcbi8vIC0tLS0tLS0tLVxuXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kbGFiZWwtY29sb3I6ICR3aGl0ZTtcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjaztcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xuJGxhYmVsLXBhZGRpbmc6IDAuMzMzcmVtIDAuNXJlbTtcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMi4gTWVkaWEgT2JqZWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xuXG4vLyAyMy4gTWVudVxuLy8gLS0tLS0tLS1cblxuJG1lbnUtbWFyZ2luOiAwO1xuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW07XG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlO1xuJG1lbnUtaXRlbS1jb2xvci1hbHQtYWN0aXZlOiAkYmxhY2s7XG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWU7XG5cbi8vIDI0LiBNZXRlclxuLy8gLS0tLS0tLS0tXG5cbiRtZXRlci1oZWlnaHQ6IDFyZW07XG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcblxuLy8gMjUuIE9mZi1jYW52YXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKTtcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKTtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNyk7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4O1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExO1xuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMztcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KTtcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XG5cbi8vIDI2LiBPcmJpdFxuLy8gLS0tLS0tLS0tXG5cbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcblxuLy8gMjcuIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGU7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlO1xuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xuJHBhZ2luYXRpb24tYXJyb3ctcHJldmlvdXM6ICdcXDAwQUInO1xuJHBhZ2luYXRpb24tYXJyb3ctbmV4dDogJ1xcMDBCQic7XG5cbi8vIDI4LiBQcm9ncmVzcyBCYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnM6IChkb3duLCB1cCwgcmlnaHQsIGxlZnQpO1xuJHByb3RvdHlwZS1hcnJvdy1zaXplOiAwLjQzNzVyZW07XG4kcHJvdG90eXBlLWFycm93LWNvbG9yOiAkYmxhY2s7XG5cbi8vIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci13aWR0aDogcmVtLWNhbGMoMSk7XG4kcHJvdG90eXBlLWJvcmRlci10eXBlOiBzb2xpZDtcbiRwcm90b3R5cGUtYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbi8vIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWRpc3BsYXk6IChpbmxpbmUsIGlubGluZS1ibG9jaywgYmxvY2ssIHRhYmxlLCB0YWJsZS1jZWxsKTtcblxuLy8gMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZm9udC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpO1xuJHByb3RvdHlwZS1mb250LW5vcm1hbDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKGRpc2MsIGNpcmNsZSwgc3F1YXJlKTtcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkOiAoXG4gIGRlY2ltYWwsXG4gIGxvd2VyLWFscGhhLFxuICBsb3dlci1sYXRpbixcbiAgbG93ZXItcm9tYW4sXG4gIHVwcGVyLWFscGhhLFxuICB1cHBlci1sYXRpbixcbiAgdXBwZXItcm9tYW5cbik7XG5cbi8vIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLW92ZXJmbG93OiAodmlzaWJsZSwgaGlkZGVuLCBzY3JvbGwpO1xuXG4vLyAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1wb3NpdGlvbjogKHN0YXRpYywgcmVsYXRpdmUsIGFic29sdXRlLCBmaXhlZCk7XG4kcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXg6IDk3NTtcblxuLy8gMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG5cbi8vIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbjogY2VudGVyO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0OiByZW0tY2FsYygyKTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vICRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbi8vICRwcm90b3R5cGUtYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdhKDAsIDAsIDAsIDAuMTYpLCAwIDJweCAxMHB4IDAgcmdiKDAgMCAwIC8gMTIlKTtcblxuLy8gNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2l6aW5nOiAod2lkdGgsIGhlaWdodCk7XG4kcHJvdG90eXBlLXNpemVzOiAoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJSxcbik7XG5cbi8vIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNwYWNlcnMtY291bnQ6IDM7XG5cbi8vIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb246IChvdmVybGluZSwgdW5kZXJsaW5lLCBsaW5lLXRocm91Z2gpO1xuXG4vLyA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKGxvd2VyY2FzZSwgdXBwZXJjYXNlLCBjYXBpdGFsaXplKTtcblxuLy8gNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4vLyA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbik7XG5cbi8vIDQ3LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cblxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcblxuLy8gNDguIFNsaWRlclxuLy8gLS0tLS0tLS0tLVxuXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDQ5LiBTd2l0Y2hcbi8vIC0tLS0tLS0tLS1cblxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiRzd2l0Y2gtb3BhY2l0eS1kaXNhYmxlZDogMC41O1xuJHN3aXRjaC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xuXG4vLyA1MC4gVGFibGVcbi8vIC0tLS0tLS0tLVxuXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKFxuICAkdGFibGUtYmFja2dyb3VuZCxcbiAgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlXG4pO1xuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWU7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZShcbiAgJHRhYmxlLWJhY2tncm91bmQsXG4gICR0YWJsZS1jb2xvci1zY2FsZSAqIDAuNVxuKTtcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1MS4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDUyLiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IDRweCBzb2xpZCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1My4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gNTQuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWN1cnNvcjogaGVscDtcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1NS4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDU2LiBYeSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4keHktZ3JpZDogdHJ1ZTtcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbnM6IDEyO1xuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcbiAgc21hbGw6IDE2cHgsXG4gIC8vIGZvdW5kYXRpb24gZGVmYXVsdCB3YXMgMjBweFxuICBtZWRpdW06IDE2cHgsXG4gIC8vIGZvdW5kYXRpb24gZGVmYXVsdCB3YXMgMzBweFxuICBsYXJnZTogMTZweCxcbiAgeGxhcmdlOiAxNnB4LFxuKTtcbiRncmlkLXBhZGRpbmctZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogJGdyaWQtcGFkZGluZy1ndXR0ZXJzO1xuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aDtcbiR4eS1ibG9jay1ncmlkLW1heDogODtcblxuLy8gNTcuIEN1c3RvbSBDUEMgdmFyaWFibGVzXG5cbi8vIEY1IE1lZGlhIFF1ZXJ5IFJhbmdlc1xuJHNtYWxsLXJhbmdlOiAoMCwgNDBlbSkgIWRlZmF1bHQ7XG4kbWVkaXVtLXJhbmdlOiAoNDAuMDYzZW0sIDY0ZW0pICFkZWZhdWx0O1xuJGxhcmdlLXJhbmdlOiAoNjQuMDYzZW0sIDkwZW0pICFkZWZhdWx0O1xuJHhsYXJnZS1yYW5nZTogKDkwLjA2M2VtLCAxMjBlbSkgIWRlZmF1bHQ7XG4keHhsYXJnZS1yYW5nZTogKDEyMC4wNjNlbSwgOTk5OTk5OTllbSkgIWRlZmF1bHQ7XG4kc2NyZWVuOiAnb25seSBzY3JlZW4nICFkZWZhdWx0O1xuXG4kcm93LXdpZHRoOiByZW0tY2FsYygxNDQwKTtcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAnQ2FuYWRpYW5hJywgJ1JvYm90bycsIHNhbnMtc2VyaWY7XG4kZm9udC1mYW1pbHktc2VyaWY6ICdDYW5hZGlhbmEnLCAnUm9ib3RvIHNsYWInLCBzZXJpZjtcbiRib2R5LWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zZXJpZjtcbiRwYXJhZ3JhcGgtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kbGlzdC1mb250LWZhbWlseTogJHBhcmFncmFwaC1mb250LWZhbWlseTtcbiRidXR0b24tZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuXG4vLyBQYWdlIE9mZnNldHMgLSBEZWZhdWx0ICsgUmVzcG9uc2l2ZSBTaXplc1xuJGdsb2JhbC1vZmZzZXQ6IHJlbS1jYWxjKDEyOCk7XG4kZ2xvYmFsLXNtYWxsLW9mZnNldDogcmVtLWNhbGMoMTYpO1xuJGdsb2JhbC1tZWRpdW0tb2Zmc2V0OiByZW0tY2FsYygzMik7XG4kZ2xvYmFsLWxhcmdlLW9mZnNldDogcmVtLWNhbGMoMTI4KTtcbiRnbG9iYWwteGxhcmdlLW9mZnNldDogcmVtLWNhbGMoMTI4KTtcbiIsIi8qXG4gKlxuICogSGFuZHkgbWl4aW5zIFxuICpcbiAqL1xuXG4kY3BjLWVudmlyb25tZW50czogZGV2MTAsIGRldjExLCBkZXYxMiwgZGV2MTMsIHN0ZzEwLCBzdGcxMSwgc3RnMTIsIHN0ZzEzLCBzdGcxNCxcbiAgcHJkMTAsIHByZDExLCB3d3c7XG5cbi8vIEFkZHMgQ1BDIGVudmlyb25tZW50IHNwZWNpZmljIHByb3BlcnRpZXMgdG8gY3VycmVudCBzY29wZS5cbi8vIFRoaXMgZ2VuZXJhdGVzIGEgbG90IG9mIGJvaWxlciBDU1MuIEl0IHdvdWxkIGJlIG5pY2UgdG8gYmUgYWJsZSB0b1xuLy8gaW52ZXN0aWdhdGUgcG9zc2libHkgY29tYmluaW5nIHRoaXMgbWl4aW4gd2l0aCBTQVNTIHBsYWNlaG9sZGVycyB0b1xuLy8gcmVkdWNlIGdlbmVyYXRlZCBjb2RlIChzZWUgaHR0cHM6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTQvMDMvMzEvZ2V0dGluZy10aGUtbW9zdC1vdXQtb2Ytc2Fzcy1wbGFjZWhvbGRlcnMvKSxcbi8vIGJ1dCBub3RlIHRoYXQgdGhlIGFwcHJvYWNoIGRvZXNuJ3Qgc2VlbSB0byB3b3JrIHdpdGggcGFyYW1ldGVyc1xuQG1peGluIGVudmlyb25tZW50cy1wcm9wZXJ0eSgka2V5LCAkdmFsdWUpIHtcbiAgQGlmIGlzLWN3YygpIHtcbiAgICBAZm9yICRlbnYgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCRjcGMtZW52aXJvbm1lbnRzKSB7XG4gICAgICAuI3tudGgoJGNwYy1lbnZpcm9ubWVudHMsICRlbnYpfSAmIHtcbiAgICAgICAgI3ska2V5fTogI3tzdHItcmVwbGFjZShcbiAgICAgICAgICAgICR2YWx1ZSxcbiAgICAgICAgICAgICckRE9NQUlOJCcsXG4gICAgICAgICAgICAnaHR0cHM6Ly8nICsgbnRoKCRjcGMtZW52aXJvbm1lbnRzLCAkZW52KSArICcuY2FuYWRhcG9zdC5jYSdcbiAgICAgICAgICApfTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBhY2Nlc3NpYmxlLlxuLy8gQHNlZSBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbn1cblxuLy8gVHVybnMgb2ZmIHRoZSBlbGVtZW50LWludmlzaWJsZSBlZmZlY3QuXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgY2xpcDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbn1cblxuLy8gY3JlYXRlIGEgY2xhc3MgbW9kaWZpZXIgbmFtZSBmb3IgZXZlcnkgbWFwIHZhbHVlc1xuLy9yZWY6IGh0dHBzOi8vZnJvbnRzdHVmZi5pby9nZW5lcmF0ZS1hbGwteW91ci11dGlsaXR5LWNsYXNzZXMtd2l0aC1zYXNzLW1hcHNcbkBtaXhpbiBtb2RpZmllcnMoXG4gICRtYXAsXG4gICRhdHRyaWJ1dGUsXG4gICRwcmVmaXg6ICctJyxcbiAgJHNlcGFyYXRvcjogJy0nLFxuICAkYmFzZTogJ2Jhc2UnXG4pIHtcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICYje2lmKCRrZXkgIT0gJGJhc2UsICN7JHByZWZpeH0jeyRrZXl9LCAnJyl9IHtcbiAgICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ21hcCcge1xuICAgICAgICBAaW5jbHVkZSBtb2RpZmllcnMoJHZhbHVlLCAkYXR0cmlidXRlLCAkc2VwYXJhdG9yKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAjeyRhdHRyaWJ1dGV9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAdXNlICdzYXNzOm1hdGgnO1xuXG4vKipcbiAqIEhhbmR5IGZ1bmN0aW9ucyBcbiAqL1xuXG4vLy8gUmVwbGFjZSBgJHNlYXJjaGAgd2l0aCBgJHJlcGxhY2VgIGluIGAkc3RyaW5nYFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBJbml0aWFsIHN0cmluZ1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VhcmNoIC0gU3Vic3RyaW5nIHRvIHJlcGxhY2Vcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHJlcGxhY2UgKCcnKSAtIE5ldyB2YWx1ZVxuXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6ICcnKSB7XG4gIC8vIEBkZWJ1ZyAkc3RyaW5nO1xuICAkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcblxuICBAaWYgJGluZGV4IHtcbiAgICBAcmV0dXJuIHN0ci1zbGljZSgkc3RyaW5nLCAxLCAkaW5kZXggLSAxKSArICRyZXBsYWNlICtcbiAgICAgIHN0ci1yZXBsYWNlKFxuICAgICAgICBzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksXG4gICAgICAgICRzZWFyY2gsXG4gICAgICAgICRyZXBsYWNlXG4gICAgICApO1xuICB9XG5cbiAgQHJldHVybiAkc3RyaW5nO1xufVxuXG4vLy8gIEdpdmVuIGEgbWFwIGFuZCBhIGxpc3Qgb2Yga2V5cywgZmluZCB0aGUgdmFsdWUgYXQgdGhlIGdpdmVuIGtleVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtYXBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleXMuLi5cbi8vLyBAcmV0dXJucyB7U3RyaW5nfVxuXG5AZnVuY3Rpb24gbWFwLWdldC1kZWVwKCRtYXAsICRrZXlzLi4uKSB7XG4gIEBpZiBsZW5ndGgoJGtleXMpID09IDEge1xuICAgICRrZXlzOiBudGgoJGtleXMsIDEpO1xuICB9XG4gICR3YXJuOiAnI3tudGgoJGtleXMsIDEpfSc7XG4gICRsZW5ndGg6IGxlbmd0aCgka2V5cyk7XG4gICRnZXQ6IG1hcC1nZXQoJG1hcCwgbnRoKCRrZXlzLCAxKSk7XG5cbiAgQGlmICRsZW5ndGggPiAxIHtcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRsZW5ndGgge1xuICAgICAgQGlmICRnZXQgIT0gbnVsbCBhbmQgdHlwZS1vZigkZ2V0KSA9PSAnbWFwJyB7XG4gICAgICAgICR3YXJuOiAkd2FybiArICctPiN7bnRoKCRrZXlzLCAkaSl9JztcbiAgICAgICAgJGdldDogbWFwLWdldCgkZ2V0LCBudGgoJGtleXMsICRpKSk7XG5cbiAgICAgICAgQGlmICRnZXQgPT0gbnVsbCB7XG4gICAgICAgICAgQHJldHVybiBtYXAtZ2V0LWRlZXAtd2FybmluZygkd2FybiwgJGdldCwgbnRoKCRrZXlzLCAkaSkpO1xuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgQHJldHVybiBtYXAtZ2V0LWRlZXAtd2FybmluZygkd2FybiwgJGdldCwgbnRoKCRrZXlzLCAkaSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGdldDtcbn1cblxuLy8vIERpc3BsYXlzIGEgd2FybmluZyBpZiB0aGUgcmV0cmlldmVkIHZhbHVlIGlzIGBudWxsYFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR3YXJuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRnZXRcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleVxuLy8vIEByZXR1cm5zIHtTdHJpbmd9XG5cbkBmdW5jdGlvbiBtYXAtZ2V0LWRlZXAtd2FybmluZygkd2FybiwgJGdldCwgJGtleSkge1xuICBAaWYgbm90ICRwcml2YXRlLXNhc3N5LW1hcHMtc3VwcHJlc3Mtd2FybmluZ3Mge1xuICAgIEBpZiAkZ2V0ID09IG51bGwge1xuICAgICAgQHdhcm4gJ01hcCBoYXMgbm8gdmFsdWUgZm9yIGtleSBzZWFyY2ggYCN7JHdhcm59YCc7XG4gICAgfSBAZWxzZSBpZiB0eXBlLW9mKCRnZXQpICE9ICdtYXAnIHtcbiAgICAgIEB3YXJuICdOb24tbWFwIHZhbHVlIGZvdW5kIGZvciBrZXkgc2VhcmNoIGAjeyR3YXJufWAsIGNhbm5vdCBzZWFyY2ggZm9yIGtleSBgI3ska2V5fWAnO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuIG51bGw7XG59XG4iLCIvLyBDUEMgQnJhbmRlZCBDb2xvdXJzXHJcblxyXG4vLyBQcmltYXJ5IENvbG91cnNcclxuXHJcbiRjcGMtYmx1ZS0xMDogIzAwMGI1MTtcclxuJGNwYy1ibHVlLTIwOiAjMDAxMjY2O1xyXG4kY3BjLWJsdWUtMzA6ICMwMDFiNzY7XHJcbiRjcGMtYmx1ZS00MDogIzAwMjU4MTtcclxuJGNwYy1ibHVlLTUwOiAjMDAzMDg3O1xyXG4kY3BjLWJsdWUtNjA6ICMzNzY2YmU7XHJcbiRjcGMtYmx1ZS03MDogIzdlOWVkNztcclxuJGNwYy1ibHVlLTgwOiAjYTdjMWU4O1xyXG4kY3BjLWJsdWUtOTA6ICNkYWU5ZmQ7XHJcbiRjcGMtYmx1ZS0xMDA6ICNlZmY2ZmY7XHJcblxyXG4kY3BjLXJlZC0xMDogIzUwMDAwZjtcclxuJGNwYy1yZWQtMjA6ICM4MjAwMTk7XHJcbiRjcGMtcmVkLTMwOiAjYTkwMDIwO1xyXG4kY3BjLXJlZC00MDogI2M2MDAyNTtcclxuJGNwYy1yZWQtNTA6ICNlNDAwMmI7XHJcbiRjcGMtcmVkLTYwOiAjZmI0OTVkO1xyXG4kY3BjLXJlZC03MDogI2ZmODc4NztcclxuJGNwYy1yZWQtODA6ICNmZmI0YjQ7XHJcbiRjcGMtcmVkLTkwOiAjZmZlMGUwO1xyXG4kY3BjLXJlZC0xMDA6ICNmZmYyZjI7XHJcblxyXG4kY3BjLWdyZXktMTA6ICMxMTExMTE7XHJcbiRjcGMtZ3JleS0yMDogIzJhMmEyYTtcclxuJGNwYy1ncmV5LTMwOiAjNDM0MzQzO1xyXG4kY3BjLWdyZXktNDA6ICM1YzVjNWM7XHJcbiRjcGMtZ3JleS01MDogIzc1NzU3NTtcclxuJGNwYy1ncmV5LTYwOiAjOTQ5NTk1O1xyXG4kY3BjLWdyZXktNzA6ICNhN2E3YTc7XHJcbiRjcGMtZ3JleS04MDogI2MwYzBjMDtcclxuJGNwYy1ncmV5LTkwOiAjZDlkOWQ5O1xyXG4kY3BjLWdyZXktMTAwOiAjZjJmMmYyO1xyXG5cclxuLy8gU2Vjb25kYXJ5IENvbG91cnNcclxuXHJcbiRjcGMtZ2xhY2llci1ibHVlLTEwOiAjMDAyYjY2O1xyXG4kY3BjLWdsYWNpZXItYmx1ZS0yMDogIzAwM2M4YztcclxuJGNwYy1nbGFjaWVyLWJsdWUtMzA6ICMwMzRlYTk7XHJcbiRjcGMtZ2xhY2llci1ibHVlLTQwOiAjMTU2MGJkO1xyXG4kY3BjLWdsYWNpZXItYmx1ZS01MDogIzJjNzNjYTtcclxuJGNwYy1nbGFjaWVyLWJsdWUtNjA6ICM2MmExZWI7XHJcbiRjcGMtZ2xhY2llci1ibHVlLTcwOiAjOGJjNGZkO1xyXG4kY3BjLWdsYWNpZXItYmx1ZS04MDogI2JhZGRmZjtcclxuJGNwYy1nbGFjaWVyLWJsdWUtOTA6ICNlMWYyZmY7XHJcbiRjcGMtZ2xhY2llci1ibHVlLTEwMDogI2YyZjlmZjtcclxuXHJcbiRjcGMtcGluZS1ncmVlbi0xMDogIzAwMTcxNztcclxuJGNwYy1waW5lLWdyZWVuLTIwOiAjMDAyNTIzO1xyXG4kY3BjLXBpbmUtZ3JlZW4tMzA6ICMwMDMyMmU7XHJcbiRjcGMtcGluZS1ncmVlbi00MDogIzAwM2YzYTtcclxuJGNwYy1waW5lLWdyZWVuLTUwOiAjMDA0NDNkO1xyXG4kY3BjLXBpbmUtZ3JlZW4tNjA6ICMzYjc5NmM7XHJcbiRjcGMtcGluZS1ncmVlbi03MDogIzgxYWU5OTtcclxuJGNwYy1waW5lLWdyZWVuLTgwOiAjYjJjZWJkO1xyXG4kY3BjLXBpbmUtZ3JlZW4tOTA6ICNkNWU5ZGE7XHJcbiRjcGMtcGluZS1ncmVlbi0xMDA6ICNlZWY4ZjA7XHJcblxyXG4kY3BjLXByYWlyaWUtZ29sZC0xMDogIzQ4MmExMDtcclxuJGNwYy1wcmFpcmllLWdvbGQtMjA6ICM3NDQ1MWE7XHJcbiRjcGMtcHJhaXJpZS1nb2xkLTMwOiAjODc1ODMwO1xyXG4kY3BjLXByYWlyaWUtZ29sZC00MDogI2EwNmY0NTtcclxuJGNwYy1wcmFpcmllLWdvbGQtNTA6ICNiNjg3NWU7XHJcbiRjcGMtcHJhaXJpZS1nb2xkLTYwOiAjZDNhODgxO1xyXG4kY3BjLXByYWlyaWUtZ29sZC03MDogI2U3YzE5ZjtcclxuJGNwYy1wcmFpcmllLWdvbGQtODA6ICNmNGRiYzM7XHJcbiRjcGMtcHJhaXJpZS1nb2xkLTkwOiAjZmJmMGU0O1xyXG4kY3BjLXByYWlyaWUtZ29sZC0xMDA6ICNmZmY5ZjI7XHJcblxyXG4kY3BjLXdpbGQtc2FsbW9uLTEwOiAjNTExOTFjO1xyXG4kY3BjLXdpbGQtc2FsbW9uLTIwOiAjNzcyYjJmO1xyXG4kY3BjLXdpbGQtc2FsbW9uLTMwOiAjOTk0MTQ2O1xyXG4kY3BjLXdpbGQtc2FsbW9uLTQwOiAjYjg1YjYwO1xyXG4kY3BjLXdpbGQtc2FsbW9uLTUwOiAjZDI3OTdlO1xyXG4kY3BjLXdpbGQtc2FsbW9uLTYwOiAjZWQ5ZGExO1xyXG4kY3BjLXdpbGQtc2FsbW9uLTcwOiAjZjZiM2I2O1xyXG4kY3BjLXdpbGQtc2FsbW9uLTgwOiAjZmNjZGNmO1xyXG4kY3BjLXdpbGQtc2FsbW9uLTkwOiAjZmZlYWVhO1xyXG4kY3BjLXdpbGQtc2FsbW9uLTEwMDogI2ZmZjZmNjtcclxuXHJcbi8vIEJhY2tncm91bmQgQ29sb3Vyc1xyXG4kY3AtcmVkOiAjY2EyNjFhO1xyXG4kbWlkLWJsdWU6ICMwNDY3YzY7XHJcbiRjcC1ibHVlOiAjMDA0OTkwO1xyXG4kd2hpdGU6ICNmZmZmZmY7XHJcbiRibGFjazogIzAwMDAwMDtcclxuJG9mZi1ibGFjazogIzMzMzMzMztcclxuJGNoYXJjb2FsLWdyZXk6ICM2NjY2NjY7XHJcbiRtaWQtZ3JleTogI2NiY2JjYjtcclxuJGdyZXk6ICNkOWQ5ZDk7XHJcbiRtaWQtbGlnaHQtZ3JleTogI2U1ZTVlNTtcclxuJGxpZ2h0LWdyZXk6ICNmMGYwZjA7XHJcbiRncmV5LWdyYWRpYW50LXN0YXJ0OiAjZmFmYWZhO1xyXG4kZ3JleS1ncmFkaWFudC1lbmQ6ICNmMGYwZjA7XHJcblxyXG4vLyBTZWNvbmRhcnkgQ29sb3Vyc1xyXG5cclxuJG1vcm5pbmctYmx1ZTogI2RhZWFmNTtcclxuJGdyYXNzLWdyZWVuOiAjMDk4YTAwO1xyXG4kc3VjY2Vzcy1ncmVlbjogIzAwYTkwNztcclxuJHdhcm5pbmctb3JhbmdlOiAjZTM2ZDAwO1xyXG4kc3VubnkteWVsbG93OiAjZmZiZjA1O1xyXG5cclxuLy8gQmFja2dyb3VuZCBDb2xvdXJzXHJcblxyXG4kcmVkLWFsZXJ0OiAjZjllOWU4O1xyXG4kZ3JlZW4tc3VjY2VzczogI2VjZjZlYjtcclxuJGJsdWUtaW5mbzogI2RhZWFmNTtcclxuJHllbGxvdy1hbWJlcjogI2ZmYmYwNTtcclxuXHJcbi8vIE1vZGFsIGJhY2tkcm9wIGNvbG91cnNcclxuXHJcbiRiYWNrZHJvcC10cmFuc3BhcmVudDogcmdiKDUxIDUxIDUxIC8gODUlKTtcclxuJGJhY2tkcm9wLXNvbGlkOiAjNWM1YzVjO1xyXG5cclxuJGdob3N0OiAjZmFmYWZhO1xyXG4kc25vdzogI2Y5ZjlmOTtcclxuJHZhcG9yOiAjZjZmNmY2O1xyXG4kd2hpdGUtc21va2U6ICNmNWY1ZjU7XHJcbiRzaWx2ZXI6ICNlZmVmZWY7XHJcbiRzbW9rZTogI2VlZWVlZTtcclxuJGdhaW5zYm9ybzogI2RkZGRkZDtcclxuJGlyb246ICNjY2NjY2M7XHJcbiRiYXNlOiAjYWFhYWFhO1xyXG4kYWx1bWludW06ICM5OTk5OTk7XHJcbiRqdW1ibzogIzg4ODg4ODtcclxuJG1vbnNvb246ICM3Nzc3Nzc7XHJcbiRzdGVlbDogIzY2NjY2NjtcclxuJGNoYXJjb2FsOiAjNTU1NTU1O1xyXG4kdHVhdGFyYTogIzQ0NDQ0NDtcclxuJG9pbDogIzMzMzMzMztcclxuJGpldDogIzIyMjIyMjtcclxuXHJcbiRjb2xvcnM6IChcclxuICBibHVlOiAoXHJcbiAgICAxMDogJGNwYy1ibHVlLTEwLFxyXG4gICAgMjA6ICRjcGMtYmx1ZS0yMCxcclxuICAgIDMwOiAkY3BjLWJsdWUtMzAsXHJcbiAgICA0MDogJGNwYy1ibHVlLTQwLFxyXG4gICAgNTA6ICRjcGMtYmx1ZS01MCxcclxuICAgIDYwOiAkY3BjLWJsdWUtNjAsXHJcbiAgICA3MDogJGNwYy1ibHVlLTcwLFxyXG4gICAgODA6ICRjcGMtYmx1ZS04MCxcclxuICAgIDkwOiAkY3BjLWJsdWUtOTAsXHJcbiAgICAxMDA6ICRjcGMtYmx1ZS0xMDAsXHJcbiAgKSxcclxuICByZWQ6IChcclxuICAgIDEwOiAkY3BjLXJlZC0xMCxcclxuICAgIDIwOiAkY3BjLXJlZC0yMCxcclxuICAgIDMwOiAkY3BjLXJlZC0zMCxcclxuICAgIDQwOiAkY3BjLXJlZC00MCxcclxuICAgIDUwOiAkY3BjLXJlZC01MCxcclxuICAgIDYwOiAkY3BjLXJlZC02MCxcclxuICAgIDcwOiAkY3BjLXJlZC03MCxcclxuICAgIDgwOiAkY3BjLXJlZC04MCxcclxuICAgIDkwOiAkY3BjLXJlZC05MCxcclxuICAgIDEwMDogJGNwYy1yZWQtMTAwLFxyXG4gICksXHJcbiAgZ3JleTogKFxyXG4gICAgMTA6ICRjcGMtZ3JleS0xMCxcclxuICAgIDIwOiAkY3BjLWdyZXktMjAsXHJcbiAgICAzMDogJGNwYy1ncmV5LTMwLFxyXG4gICAgNDA6ICRjcGMtZ3JleS00MCxcclxuICAgIDUwOiAkY3BjLWdyZXktNTAsXHJcbiAgICA2MDogJGNwYy1ncmV5LTYwLFxyXG4gICAgNzA6ICRjcGMtZ3JleS03MCxcclxuICAgIDgwOiAkY3BjLWdyZXktODAsXHJcbiAgICA5MDogJGNwYy1ncmV5LTkwLFxyXG4gICAgMTAwOiAkY3BjLWdyZXktMTAwLFxyXG4gICksXHJcbiAgZ2xhY2llci1ibHVlOiAoXHJcbiAgICAxMDogJGNwYy1nbGFjaWVyLWJsdWUtMTAsXHJcbiAgICAyMDogJGNwYy1nbGFjaWVyLWJsdWUtMjAsXHJcbiAgICAzMDogJGNwYy1nbGFjaWVyLWJsdWUtMzAsXHJcbiAgICA0MDogJGNwYy1nbGFjaWVyLWJsdWUtNDAsXHJcbiAgICA1MDogJGNwYy1nbGFjaWVyLWJsdWUtNTAsXHJcbiAgICA2MDogJGNwYy1nbGFjaWVyLWJsdWUtNjAsXHJcbiAgICA3MDogJGNwYy1nbGFjaWVyLWJsdWUtNzAsXHJcbiAgICA4MDogJGNwYy1nbGFjaWVyLWJsdWUtODAsXHJcbiAgICA5MDogJGNwYy1nbGFjaWVyLWJsdWUtOTAsXHJcbiAgICAxMDA6ICRjcGMtZ2xhY2llci1ibHVlLTEwMCxcclxuICApLFxyXG4gIHBpbmUtZ3JlZW46IChcclxuICAgIDEwOiAkY3BjLXBpbmUtZ3JlZW4tMTAsXHJcbiAgICAyMDogJGNwYy1waW5lLWdyZWVuLTIwLFxyXG4gICAgMzA6ICRjcGMtcGluZS1ncmVlbi0zMCxcclxuICAgIDQwOiAkY3BjLXBpbmUtZ3JlZW4tNDAsXHJcbiAgICA1MDogJGNwYy1waW5lLWdyZWVuLTUwLFxyXG4gICAgNjA6ICRjcGMtcGluZS1ncmVlbi02MCxcclxuICAgIDcwOiAkY3BjLXBpbmUtZ3JlZW4tNzAsXHJcbiAgICA4MDogJGNwYy1waW5lLWdyZWVuLTgwLFxyXG4gICAgOTA6ICRjcGMtcGluZS1ncmVlbi05MCxcclxuICAgIDEwMDogJGNwYy1waW5lLWdyZWVuLTEwMCxcclxuICApLFxyXG4gIHByYWlyaWUtZ29sZDogKFxyXG4gICAgMTA6ICRjcGMtcHJhaXJpZS1nb2xkLTEwLFxyXG4gICAgMjA6ICRjcGMtcHJhaXJpZS1nb2xkLTIwLFxyXG4gICAgMzA6ICRjcGMtcHJhaXJpZS1nb2xkLTMwLFxyXG4gICAgNDA6ICRjcGMtcHJhaXJpZS1nb2xkLTQwLFxyXG4gICAgNTA6ICRjcGMtcHJhaXJpZS1nb2xkLTUwLFxyXG4gICAgNjA6ICRjcGMtcHJhaXJpZS1nb2xkLTYwLFxyXG4gICAgNzA6ICRjcGMtcHJhaXJpZS1nb2xkLTcwLFxyXG4gICAgODA6ICRjcGMtcHJhaXJpZS1nb2xkLTgwLFxyXG4gICAgOTA6ICRjcGMtcHJhaXJpZS1nb2xkLTkwLFxyXG4gICAgMTAwOiAkY3BjLXByYWlyaWUtZ29sZC0xMDAsXHJcbiAgKSxcclxuICB3aWxkLXNhbG1vbjogKFxyXG4gICAgMTA6ICRjcGMtd2lsZC1zYWxtb24tMTAsXHJcbiAgICAyMDogJGNwYy13aWxkLXNhbG1vbi0yMCxcclxuICAgIDMwOiAkY3BjLXdpbGQtc2FsbW9uLTMwLFxyXG4gICAgNDA6ICRjcGMtd2lsZC1zYWxtb24tNDAsXHJcbiAgICA1MDogJGNwYy13aWxkLXNhbG1vbi01MCxcclxuICAgIDYwOiAkY3BjLXdpbGQtc2FsbW9uLTYwLFxyXG4gICAgNzA6ICRjcGMtd2lsZC1zYWxtb24tNzAsXHJcbiAgICA4MDogJGNwYy13aWxkLXNhbG1vbi04MCxcclxuICAgIDkwOiAkY3BjLXdpbGQtc2FsbW9uLTkwLFxyXG4gICAgMTAwOiAkY3BjLXdpbGQtc2FsbW9uLTEwMCxcclxuICApLFxyXG4pO1xyXG5cclxuLyogY29udmVuaWVudCBjbGFzcyBuYW1lIGZvciBiYWNrZ3JvdW5kIGNvbG9ycyAqL1xyXG4uYmcge1xyXG4gIEBpbmNsdWRlIG1vZGlmaWVycygkY29sb3JzLCAnYmFja2dyb3VuZC1jb2xvcicpO1xyXG59XHJcblxyXG4udGV4dCB7XHJcbiAgQGluY2x1ZGUgbW9kaWZpZXJzKCRjb2xvcnMsICdjb2xvcicpO1xyXG59XHJcbiIsIiRpbnB1dC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiKDAgMCAwIC8gMTAlKSAhZGVmYXVsdDtcblxuI3t0ZXh0LWlucHV0cyhhbGwsICdpbnB1dCcpfSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDA7XG5cbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1ib3gtc2hhZG93O1xuICB9XG59XG4iLCIvKiogTGF5b3V0IGJsb2NrcyBzcGVjaWZpIHRvIE1lcmN1cnkgRGVzaWduIHBhZ2VzICoqL1xuXG4uZHMtbGF5b3V0IHtcbiAgd2lkdGg6IDE0NDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5kcy1zZWN0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xuXG4gIC5kcy10aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjcGMtZ3JleS05MDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB9XG59XG5cbi5kcy1zd2F0Y2gge1xuICBoZWlnaHQ6IDRyZW07XG4gIHdpZHRoOiA0cmVtO1xuICBtYXJnaW46IDAgYXV0byAwLjVyZW07XG59XG5cbi5jcGMtYmxvY2stZ3JpZCB7XG4gIEBpbmNsdWRlIHh5LWdyaWQ7XG5cbiAgbWFyZ2luLWxlZnQ6IC0wLjVyZW07XG4gIG1hcmdpbi1yaWdodDogLTAuNXJlbTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoXG4gICAgICAxMixcbiAgICAgICcuY3BjLWJsb2NrLWl0ZW0nLFxuICAgICAgJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCBib3R0b21cbiAgICApO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dChcbiAgICAgIDgsXG4gICAgICAnLmNwYy1ibG9jay1pdGVtJyxcbiAgICAgICRndXR0ZXItcG9zaXRpb246IGxlZnQgcmlnaHQgYm90dG9tXG4gICAgKTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dChcbiAgICAgIDQsXG4gICAgICAnLmNwYy1ibG9jay1pdGVtJyxcbiAgICAgICRndXR0ZXItcG9zaXRpb246IGxlZnQgcmlnaHQgYm90dG9tXG4gICAgKTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBtYXggd2lkdGggY29udGFpbmVyLCBkZXNpZ25lZCB0byBob3VzZSB5b3VyIGdyaWQgY29udGVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskZ3JpZC1jb250YWluZXItcGFkZGluZ10gLSBwYWRkaW5ncyBvZiB0aGUgY29udGFpbmVyLlxuQG1peGluIHh5LWdyaWQtY29udGFpbmVyKFxuICAkd2lkdGg6ICRncmlkLWNvbnRhaW5lcixcbiAgJHBhZGRpbmc6ICRncmlkLWNvbnRhaW5lci1wYWRkaW5nXG4pIHtcbiAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJHBhZGRpbmcsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciB5b3VyIGZsZXggY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2hvcml6b250YWxdIC0gRWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgZGlyZWN0aW9uIG9mIGNlbGxzIHdpdGhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIElmIHRoZSBjZWxscyB3aXRoaW4gc2hvdWxkIHdyYXAgb3Igbm90LlxuQG1peGluIHh5LWdyaWQoXG4gICRkaXJlY3Rpb246IGhvcml6b250YWwsXG4gICR3cmFwOiB0cnVlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiA9PSAnaG9yaXpvbnRhbCcsIHJvdywgY29sdW1uKTtcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gUGF0Y2ggdG8gZml4IGlzc3VlICMxMjA4MFxuJC16Zi1zaXplOiBudWxsO1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIFwic21hbGxcIjogMCxcbiAgXCJtZWRpdW1cIjogNjQwcHgsXG4gIFwibGFyZ2VcIjogMTAyNHB4LFxuICBcInhsYXJnZVwiOiAxMjAwcHgsXG4gIFwieHhsYXJnZVwiOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIEhpRFBJIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzIGZvciByZXNvbHV0aW9ucy5cbi8vLyBWYWx1ZXMgbXVzdCByZXByZXNlbnQgdGhlIGRldmljZSBwaXhlbHMgLyB3ZWIgcGl4ZWxzIHJhdGlvbiBhbmQgYmUgdW5pdGxlc3Mgb3IgaW4gRFBQWC5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50cy1oaWRwaTogKFxuICBcImhpZHBpLTFcIjogMSxcbiAgXCJoaWRwaS0xLTVcIjogMS41LFxuICBcImhpZHBpLTJcIjogMixcbiAgXCJyZXRpbmFcIjogMixcbiAgXCJoaWRwaS0zXCI6IDNcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnVGhlIGZpcnN0IGtleSBpbiB0aGUgJGJyZWFrcG9pbnRzIG1hcCBtdXN0IGhhdmUgYSB2YWx1ZSBvZiBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gV2ViIHN0YW5kYXJkIFBpeGVscyBwZXIgaW5jaC4gKDFkZHB4IC8gJHN0ZC13ZWItZHBpKSA9IDFkcGlcbiAgLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtdmFsdWVzLTMvI2Fic29sdXRlLWxlbmd0aHNcbiAgJHN0ZC13ZWItZHBpOiA5NjtcblxuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIG9mIHRoZSBmb2xsb3dpbmcgYnJlYWtwb2ludFxuICAkYnAtbmV4dDogbnVsbDtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1taW46IG51bGw7XG4gIC8vIFZhbHVlIGZvciBtaW4td2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiBudWxsO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gSWYgbmFtZWQsIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnRcbiAgJG5hbWU6IG51bGw7XG4gIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgSGlEUEkgYnJlYWtwb2ludFxuICAkaGlkcGk6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuXG4gIC8vIElmIGEgYnJlYWtwb2ludCBuYW1lIGlzIGdpdmVuLCBnZXQgaXRzIHZhbHVlIGZyb20gdGhlICRicmVha3BvaW50cy8kYnJlYWtwb2ludHMtaGlkcGkgbWFwLlxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgICRuYW1lOiAkYnA7XG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgICAkYnAtbmV4dDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgIH1cbiAgICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMtaGlkcGksICRicCkge1xuICAgICAgJG5hbWU6ICRicDtcbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMtaGlkcGksICRuYW1lKTtcbiAgICAgICRicC1uZXh0OiAtemYtbWFwLW5leHQtbnVtYmVyKCRicmVha3BvaW50cy1oaWRwaSwgJGJwKTtcbiAgICAgICRoaWRwaTogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciBgJGJyZWFrcG9pbnRzYCBvciBgJGJyZWFrcG9pbnRzLWhpZHBpYCBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgQGlmIG5vdCAkbmFtZSBhbmQgJGRpciA9PSAnb25seScge1xuICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBPbmx5ICdvbmx5JyBhbmQgJ3VwJyBoYXZlIGEgbWluIGxpbWl0LlxuICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAndXAnIHtcbiAgICAkYnAtbWluOiBpZigkaGlkcGksIHN0cmlwLXVuaXQoJGJwKSwgLXpmLWJwLXRvLWVtKCRicCkpO1xuICB9XG4gIC8vIE9ubHkgJ29ubHknIGFuZCAnZG93bicgaGF2ZSBhIG1heCBsaW1pdC5cbiAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBhIHZhbHVlLCB1c2UgaXQgYXMgbWF4IGxpbWl0LlxuICAgIEBpZiBub3QgJG5hbWUge1xuICAgICAgJGJwLW1heDogaWYoJGhpZHBpLCBzdHJpcC11bml0KCRicCksIC16Zi1icC10by1lbSgkYnApKTtcbiAgICB9XG4gICAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgbmFtZWQsIHRoZSBtYXggbGltaXQgaXMgdGhlIGZvbGxvd2luZyBicmVha3BvaW50IC0gMXB4LlxuICAgIEBlbHNlIGlmICRicC1uZXh0IHtcbiAgICAgIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgICAgIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICAgICAkYnAtbWF4OiBpZigkaGlkcGksICRicC1uZXh0IC0gZGl2aWRlKDEsICRzdGQtd2ViLWRwaSksIC16Zi1icC10by1lbSgkYnAtbmV4dCkgLSAwLjAwMTI1KTtcbiAgICB9XG4gIH1cblxuICAvLyBHZW5lcmF0ZSB0aGUgbWVkaWEgcXVlcnkgc3RyaW5nIGZyb20gbWluIGFuZCBtYXggbGltaXRzLlxuICBAaWYgJGhpZHBpIHtcbiAgICAvLyBHZW5lcmF0ZSB2YWx1ZXMgaW4gRFBJIGluc3RlYWQgb2YgRFBQWCBmb3IgYW4gSUU5LTExL09wZXJhIG1pbmkgY29tcGF0aWJpbGl0eS5cbiAgICAvLyBTZWUgaHR0cHM6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtbWVkaWEtcmVzb2x1dGlvblxuICAgICRicC1taW4tZHBpOiBpZigkYnAtbWluLCAkYnAtbWluICogJHN0ZC13ZWItZHBpICogMWRwaSwgJGJwLW1pbik7XG4gICAgJGJwLW1heC1kcGk6IGlmKCRicC1tYXgsICRicC1tYXggKiAkc3RkLXdlYi1kcGkgKiAxZHBpLCAkYnAtbWF4KTtcbiAgICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgICAgLXpmLWJwLWpvaW4oJGJwLW1pbiwgJGJwLW1heCwgJy13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbycsICctd2Via2l0LW1heC1kZXZpY2UtcGl4ZWwtcmF0aW8nKSxcbiAgICAgIC16Zi1icC1qb2luKCRicC1taW4tZHBpLCAkYnAtbWF4LWRwaSwgJ21pbi1yZXNvbHV0aW9uJywgJ21heC1yZXNvbHV0aW9uJyksXG4gICAgICAnLCAnKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAtemYtYnAtam9pbigkYnAtbWluLCAkYnAtbWF4KTtcbiAgfVxufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIGFuZCBgJGJyZWFrcG9pbnRzLWhpZHBpYCBtYXBzLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gSWYgbXVsdGlwbGUgdmFsdWVzIGFyZSBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGdlbmVyYXRlIGEgbWVkaWEgcXVlcnkgZm9yIGVhY2ggb2YgdGhlbSBhcyBkZXNjcmliZWQgYWJvdmUuXG4vLy8gU2luY2UgdGhlIGNvbnRlbnQgaXMgZHVwbGljYXRlZCBmb3IgZWFjaCBicmVha3BvaW50LCB0aGlzIG1peGluIHNob3VsZCBvbmx5IGJlIHVzZWQgd2l0aCBwcm9wZXJ0aWVzIHRoYXRcbi8vLyBjaGFuZ2UgYWNyb3NzIGJyZWFrcG9pbnRzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlcy4uLiAtIEJyZWFrcG9pbnQgbmFtZSBvciBweC9yZW0vZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlcy4uLikge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkdmFsdWVzKSB7XG4gICAgJHZhbHVlOiBudGgoJHZhbHVlcywgJGkpO1xuICAgICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgbnRoKCR2YWx1ZSwgMSkpO1xuICAgICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuICAgIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICAgJGRpcjogaWYobGVuZ3RoKCR2YWx1ZSkgPiAxLCBudGgoJHZhbHVlLCAyKSwgdXApO1xuXG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gICAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xuXG4gICAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICAgIEBpZiAkc3RyID09ICcnIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gICAgQGVsc2Uge1xuICAgICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgICAgLy8gZ2VuZXJhdGUgcHJpbnQgaWYgdGhlIGJyZWFrcG9pbnQgYWZmZWN0cyB0aGUgcHJpbnQtYnJlYWtwb2ludCAob3Igc21hbGxlcikuXG4gICAgICAvLyBUaGlzIG1lYW5zIHRoZSBjdXJyZW50IGNvbmRpdGlvbiBvbmx5IG5lZWRzIHRvIGJlIGV4dGVuZGVkIHNvICdkb3duJyBhbHdheXMgZ2VuZXJhdGVzIHByaW50LlxuICAgICAgQGlmICRicCAhPSBudWxsIGFuZCAoJGJwIDw9ICRwYnAgb3IgJGRpciA9PSBkb3duKSB7XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIENvbnZlcnRzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IG51bWJlciBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRudW1iZXIgLSBOdW1iZXIgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSBudW1iZXIgZm9sbG93aW5nIGAkbnVtYmVyYCwgaWYgYCRudW1iZXJgIHdhcyBmb3VuZC4gSWYgYCRudW1iZXJgIHdhcyBub3QgZm91bmQsIG9yIGAkbnVtYmVyYCB3YXMgdGhlIGJpZ2dlc3QgbnVtYmVyIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dC1udW1iZXIoJG1hcCwgJG51bWJlcikge1xuXG4gICRuZXh0LW51bWJlcjogbnVsbDtcblxuICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgQGlmIHR5cGUtb2YoJHYpID09ICdudW1iZXInIGFuZCAkdiA+ICRudW1iZXIgYW5kICgkbmV4dC1udW1iZXIgPT0gbnVsbCBvciAkdiA8ICRuZXh0LW51bWJlcikge1xuICAgICAgJG5leHQtbnVtYmVyOiAkdjtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXh0LW51bWJlcjtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZC1rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmQta2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZC1rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4vLy8gUmV0dXJuIHRoZSBiZXN0IGJyZWFrcG9pbnQgdG8gdXNlIGFjY29yZGluZyB0byB0aGUgY2FsbGluZyBjb250ZXh0LiBJdCByZXR1cm5zIGluIG9yZGVyOlxuLy8vIDEuIHRoZSBnaXZlbiBgJHZhbHVlYCBhcmd1bWVudCBpZiBpdCBpcyBub3QgbnVsbC5cbi8vLyAyLiB0aGUgZ2xvYmFsIGJyZWFrcG9pbnQgY29udGV4dCBgJC16Zi1zaXplYCBpZiBpdCBpcyBub3QgbnVsbCAobGlrZSBpZiBjYWxsZWQgaW5zaWRlIHRoZW4gYGJyZWFrcG9pbnQoKWAgbWl4aW4pXG4vLy8gMy4gdGhlIGdpdmVuIGAkZGVmYXVsdGAgYXJndW1lbnQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBpbiBwcmlvcml0eSBpZiBub24tbnVsbC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkZWZhdWx0IFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGJ5IGRlZmF1bHQgaWYgbm8gb3RoZXIgdmFsdWUgY2FuIGJlIHVzZWQuXG4vLy9cbi8vLyBAcmV0dXJuIHtLZXl3b3JkfSBUaGUgcmVzb2x2ZWQgYnJlYWtwb2ludC5cbkBmdW5jdGlvbiAtemYtY3VycmVudC1icmVha3BvaW50KCR2YWx1ZTogbnVsbCwgJGRlZmF1bHQ6IG51bGwpIHtcbiAgQGlmICgkdmFsdWUgIT0gbnVsbCkge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG4gIEBlbHNlIGlmICh2YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIGFuZCB0eXBlLW9mKCQtemYtc2l6ZSkgIT0gJ251bWJlcicpIGFuZCAkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgQHJldHVybiAkLXpmLXNpemU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJGRlZmF1bHQ7XG4gIH1cbn1cblxuLy8vIFJldHVybiBtZWRpYSBxdWVyeSBzdHJpbmcgZnJvbSB0aGUgZ2l2ZW4gbWluIGFuZC9vciBtYXggbGltaXRzLlxuLy8vIElmIGEgbGltaXQgaXMgZXF1YWwgdG8gYG51bGxgIG9yIGAwYCwgaXQgaXMgaWdub3JlZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWluIFswXSAtIE1pbiBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCBbMF0gLSBNYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtaW4tbmFtZSBbJ21pbi13aWR0aCddIC0gTmFtZSBvZiB0aGUgbWluIG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGVsaW1pdGVyIFsnbWF4LXdpZHRoJ10gLSBOYW1lIG9mIHRoZSBtYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBNZWRpYSBRdWVyeSBzdHJpbmcuXG5AZnVuY3Rpb24gLXpmLWJwLWpvaW4oXG4gICRtaW46IDAsXG4gICRtYXg6IDAsXG4gICRtaW4tbmFtZTogJ21pbi13aWR0aCcsXG4gICRtYXgtbmFtZTogJ21heC13aWR0aCdcbikge1xuICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgIGlmKCRtaW4gYW5kICRtaW4gPiAwLCAnKCN7JG1pbi1uYW1lfTogI3skbWlufSknLCBudWxsKSxcbiAgICBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJygjeyRtYXgtbmFtZX06ICN7JG1heH0pJywgbnVsbCksXG4gICAgJyBhbmQgJyk7XG59XG5cbiRzbWFsbC11cDogJyc7XG4kc21hbGwtb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbiRtZWRpdW0tdXA6ICcnO1xuJG1lZGl1bS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG4kbGFyZ2UtdXA6ICcnO1xuJGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG4keGxhcmdlLXVwOiAnJztcbiR4bGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHh4bGFyZ2UtdXA6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jZWxsJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW251bGxdIC0gW0RFUFJFQ0FURURdIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtudWxsXSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi4gQnkgZGVmYXVsdCBgcmlnaHQgbGVmdGAgZm9yIGhvcml6b250YWwgY2VsbHMgYW5kIGB0b3AgYm90dG9tYCBmb3IgdmVydGljYWwgY2VsbHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBicmVha3BvaW50IHRvIHVzZSBmb3IgdGhlIGNlbGwgZ2VuZXJhdGlvbi4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRvdXRwdXQgWyhiYXNlIHNpemUgZ3V0dGVycyldIC0gQ2VsbCBwYXJ0cyB0byBvdXRwdXQuIFlvdSB3aWxsIG5lZWQgdG8gZ2VuZXJhdGUgb3RoZXJzIHBhcnRzIG9mIHRoZSBjZWxsIHNlcGVyYXRlbHksIGl0IG1heSBub3Qgd29yayBjb3JyZWN0bHkgb3RoZXJ3aXNlLlxuQG1peGluIHh5LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLW91dHB1dDogbnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRvdXRwdXQ6IChiYXNlIHNpemUgZ3V0dGVycylcbikge1xuICAkc2l6ZTogcGVyY2VudGFnZShkaXZpZGUoMSwgJG4pKTtcblxuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplLCAkZ3V0dGVyLW91dHB1dCwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbiwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCwgJG91dHB1dCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgZmxleCB2YWx1ZSBmb3IgYSBjZWxsIGJhc2UuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2AsIGBncm93YCwgb3IgYW55IG90aGVyIHZhbHVlIHJlcHJlc2VudGluZyBhIGNlbGwgc2l6ZSAoaXQgd2lsbCBiZSB0cmVhdGVkIGFzIGBzaHJpbmtgKS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBUaGUgY2VsbCBmbGV4IHByb3BlcnR5IHZhbHVlLlxuQGZ1bmN0aW9uIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICBAaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgIEByZXR1cm4gMSAxIDA7XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdncm93Jykge1xuICAgIEByZXR1cm4gMSAwIGF1dG87XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdzaHJpbmsnIG9yICRzaXplID09ICdmdWxsJyBvciB6Zi1pcy1mcmFjdGlvbigkc2l6ZSwgJGFsbG93LW5vLWRlbm9taW5hdG9yOiB0cnVlKSkge1xuICAgIEByZXR1cm4gMCAwIGF1dG87XG4gIH1cbiAgQHJldHVybiBudWxsO1xufVxuXG4vLy8gQ2FsY3VsYXRlIHRoZSBzaXplIG9mIGEgY2VsbCBndXR0ZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIHJldHVybnMgdGhlIHJlc3BvbnNpdmUgZ3V0dGVycyBtYXAgYCRndXR0ZXJzYC4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcnxNYXB9IFRoZSBjZWxsIGd1dHRlciBzaXplIG9yIHRoZSByZXNwb25zaXZlIGd1dHRlcnMgbWFwLlxuQGZ1bmN0aW9uIHh5LWNlbGwtZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gIC8vIEZvciBgYXV0b2AsIHJldHVybnMgdGhlIHJlc3BvbnNpdmUgbWFwIGAkZ3V0dGVyc2AuXG4gIEBpZiAoJGJyZWFrcG9pbnQgPT0gJ2F1dG8nKSB7XG4gICAgQHJldHVybiAkZ3V0dGVycztcbiAgfVxuXG4gIC8vIFVzZSB0aGUgY29udGV4dHVhbCBicmVha3BvaW50IGJ5IGRlZmF1bHQuXG4gICRicmVha3BvaW50OiAtemYtY3VycmVudC1icmVha3BvaW50KCRicmVha3BvaW50KTtcblxuICBAaWYgKCRicmVha3BvaW50KSB7XG4gICAgQHJldHVybiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkLXpmLXplcm8tYnJlYWtwb2ludCkgb3IgMDtcbiAgfVxufVxuXG4vLy8gUmV0dXJucyB0aGUgcGVyY2VudGFnZSBzaXplIG9mIGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRzaXplIFskZ3JpZC1jb2x1bW5zXSAtIFNpemUgdG8gbWFrZSB0aGUgY2VsbC4gWW91IGNhbiBwYXNzIGEgdmFsdWUgaW4gbXVsdGlwbGUgZm9ybWF0cywgc3VjaCBhcyBgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8zYC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFNpemUgb2YgdGhlIGNlbGwgKGluIHBlcmNlbnQpLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6ICRncmlkLWNvbHVtbnNcbikge1xuICBAcmV0dXJuIGZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoJHNpemUsICRkZW5vbWluYXRvcjogJGdyaWQtY29sdW1ucyk7XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgdmFsdWUgZm9yIGEgY2VsbCBzaXplLlxuLy8vXG4vLy8gR3V0dGVycy1yZWxhdGVkIGFyZ3VtZW50cyBhcmUgcmVxdWlyZWQgZm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMgKGJ5IGRlZmF1bHQpIGFzIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgIG9yIGFueSBmcmFjdGlvbiBsaWtlIGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCByZXR1cm5zIGEgbWFwIG9mIHNpemVzIGFkYXB0ZWQgdG8gcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfFN0cmluZ3xNYXB9IFRoZSBjZWxsIHNpemluZyBwcm9wZXJ0eSB2YWx1ZSwgb3IgYSByZXNwb25zaXZlIG1hcCBvZiB0aGVtLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZS1jc3MoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gICRtYXJnaW4tZ3V0dGVyOiAwO1xuXG4gIEBpZiAoJHNpemUgPT0gJ2F1dG8nIG9yICRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgQHJldHVybiBhdXRvO1xuICB9XG5cbiAgLy8gRm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMsIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgICRtYXJnaW4tZ3V0dGVyOiB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgICBAaWYgKCRtYXJnaW4tZ3V0dGVyID09IG51bGwpIHtcbiAgICAgIEBlcnJvciAneHktY2VsbC1zaXplOiBubyBndXR0ZXJzIHdlcmUgZm91bmQgaW4gYCRndXR0ZXJzYCBmb3IgXCIkYnJlYWtwb2ludDogI3skYnJlYWtwb2ludH1cIic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHRoZSBjZWxsIHNpemUgKG51bWJlcilcbiAgJHNpemUtcmF3OiBpZigkc2l6ZSA9PSAnZnVsbCcsIDEwMCUsIHh5LWNlbGwtc2l6ZSgkc2l6ZSkpO1xuXG4gIC8vIENhbGN1bGF0ZSB0aGUgY2VsbCBDU1Mgc2l6ZSBpbmNsdWRpbmcgZ3V0dGVycyAoc3RyaW5nKVxuICAvLyBJZiB0aGUgY2VsbCBoYXMgcmVzcG9uc2l2ZSBtYXJnaW4gZ3V0dGVycywgcmV0dXJuIGEgcmVzcG9uc2l2ZSBtYXAgb2Ygc2l6ZXMuXG4gIEBpZiB0eXBlLW9mKCRtYXJnaW4tZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgJHJlc3BvbnNpdmUtY3NzLXNpemVzOiAoKTtcblxuICAgIEBlYWNoICRicCwgJG1nIGluICRtYXJnaW4tZ3V0dGVyIHtcbiAgICAgICRtZ2M6IHJlbS1jYWxjKCRtZyk7XG4gICAgICBAaWYgJG1nYyA9PSAwIHtcbiAgICAgICAgJG1nYzogMHJlbTtcbiAgICAgIH1cbiAgICAgICRzaXplLWNzczogaWYoJG1nID09IDAsICRzaXplLXJhdywgY2FsYygjeyRzaXplLXJhd30gLSAjeyRtZ30pKTtcbiAgICAgICRyZXNwb25zaXZlLWNzcy1zaXplczogbWFwLW1lcmdlKCRyZXNwb25zaXZlLWNzcy1zaXplcywgKCRicDogJHNpemUtY3NzKSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gYSBzaW5nbGUgQ1NTIHNpemUuXG4gIEBlbHNlIHtcbiAgICAvLyBNYWtlIHN1cmUgdGhhdCAwIGlzIHRyYW5zbGF0ZWQgaW4gMHJlbSBmb3IgY2FsYygpXG4gICAgJG1nYzogcmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpO1xuICAgIEBpZiAkbWdjID09IDAge1xuICAgICAgJG1nYzogMHJlbTtcbiAgICB9XG4gICAgJGNzcy1zaXplOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAkc2l6ZS1yYXcsIGNhbGMoI3skc2l6ZS1yYXd9IC0gI3skbWdjfSkpO1xuICAgIEByZXR1cm4gJGNzcy1zaXplO1xuICB9XG59XG5cbi8vLyBTZXRzIGJhc2UgZmxleCBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBBY2NlcHRzIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCwgYGdyb3dgLCBvciBhbnkgb3RoZXIgdmFsdWUgcmVwcmVzZW50aW5nIGEgY2VsbCBzaXplIChpdCB3aWxsIGJlIHRyZWF0ZWQgYXMgYHNocmlua2ApLlxuQG1peGluIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICAkYmFzZTogeHktY2VsbC1iYXNlKCRzaXplKTtcblxuICBmbGV4OiAjeyRiYXNlfTtcblxuICAvLyBTZXQgYmFzZSBzdHlsZXMgZm9yIFwiZnVsbFwiIG9ubHlcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG59XG5cbi8vLyBSZXNldHMgYSBjZWxscyB3aWR0aCAob3IgaGVpZ2h0IGlmIHZlcnRpY2FsIGlzIHRydWUpIGFzIHdlbGwgYXMgc3RyaXBzIGl0cyBndXR0ZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtcmVzZXQoJHZlcnRpY2FsOiB0cnVlKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcbiAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgbWF4LSN7JGRpcmVjdGlvbn06IG5vbmU7XG59XG5cbi8vLyBTZXRzIHNpemluZyBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEd1dHRlcnMtcmVsYXRlZCBhcmd1bWVudHMgYXJlIHJlcXVpcmVkIGZvciBjZWxscyB3aXRoIG1hcmdpbiBndXR0ZXJzIChieSBkZWZhdWx0KSBhcyB0aGUgZ3V0dGVyIGlzIGluY2x1ZGVkIGluIHRoZSB3aWR0aC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoMTAwJSB3aWR0aCksIGBhdXRvYCAodXNlIGFsbCBhdmFpbGFibGUgc3BhY2UpLCBgc2hyaW5rYCAodXNlIG9ubHkgdGhlIHJlcXVpcmVkIHNwYWNlKSBvciBhbnkgZnJhY3Rpb24gKGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLi4uKS5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHNpemVzIGFkYXB0ZWQgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRzaXplczogeHktY2VsbC1zaXplLWNzcygkc2l6ZSwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGJyZWFrcG9pbnQpO1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgaGVpZ2h0LCB3aWR0aCk7XG5cbiAgQGlmICh0eXBlLW9mKCRzaXplcykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkc2l6ZXMpIHtcbiAgICAgICN7JGRpcmVjdGlvbn06ICQtemYtYnAtdmFsdWU7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAjeyRkaXJlY3Rpb259OiAkc2l6ZXM7XG4gIH1cbn1cblxuLy8vIFNldHMgZ3V0dGVycyBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtudWxsXSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi4gQnkgZGVmYXVsdCBgcmlnaHQgbGVmdGAgZm9yIGhvcml6b250YWwgY2VsbHMgYW5kIGB0b3AgYm90dG9tYCBmb3IgdmVydGljYWwgY2VsbHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIERpcmVjdGlvbiBvZiB0aGUgZ3V0dGVycyB0byBvdXRwdXQuIFNlZSBgJGd1dHRlci1wb3NpdGlvbmAuXG5AbWl4aW4geHktY2VsbC1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gIC8vIEdldCB0aGUgZGVmYXVsdCBndXR0ZXIgcG9zaXRpb24gYWNjb3JkaW5nIHRvIGNlbGwgZGlyZWN0aW9uXG4gIEBpZigkZ3V0dGVyLXBvc2l0aW9uID09IG51bGwpIHtcbiAgICAkZ3V0dGVyLXBvc2l0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgdG9wIGJvdHRvbSwgbGVmdCByaWdodCk7XG4gIH1cblxuICAvLyBHZXQgdGhlIGd1dHRlciB3aWR0aCBmb3IgdGhpcyBicmVha3BvaW50XG4gICRndXR0ZXItd2lkdGg6IHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICBAaWYgKCRndXR0ZXItd2lkdGggPT0gbnVsbCkge1xuICAgIEBlcnJvciAneHktY2VsbC1ndXR0ZXJzOiBubyBndXR0ZXJzIHdlcmUgZm91bmQgaW4gYCRndXR0ZXJzYCBmb3IgXCIkYnJlYWtwb2ludDogI3skYnJlYWtwb2ludH1cIic7XG4gIH1cblxuICBAaWYgKCRndXR0ZXItdHlwZSBhbmQgJGd1dHRlci10eXBlICE9IG5vbmUpIHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItd2lkdGgsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBjZWxsIGZvciB5b3VyIGdyaWQuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKDEwMCUgd2lkdGgpLCBgYXV0b2AgKHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlKSwgYHNocmlua2AgKHVzZSBvbmx5IHRoZSByZXF1aXJlZCBzcGFjZSkgb3IgYW55IGZyYWN0aW9uIChgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC4uLikuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbbnVsbF0gLSBbREVQUkVDQVRFRF0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW251bGxdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLiBCeSBkZWZhdWx0IGByaWdodCBsZWZ0YCBmb3IgaG9yaXpvbnRhbCBjZWxscyBhbmQgYHRvcCBib3R0b21gIGZvciB2ZXJ0aWNhbCBjZWxscy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkb3V0cHV0IFsoYmFzZSBzaXplIGd1dHRlcnMpXSAtIENlbGwgcGFydHMgdG8gb3V0cHV0LiBZb3Ugd2lsbCBuZWVkIHRvIGdlbmVyYXRlIG90aGVycyBwYXJ0cyBvZiB0aGUgY2VsbCBzZXBlcmF0ZWx5LCBpdCBtYXkgbm90IHdvcmsgcHJvcGVybHkgb3RoZXJ3aXNlLlxuQG1peGluIHh5LWNlbGwoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogbnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRvdXRwdXQ6IChiYXNlIHNpemUgZ3V0dGVycylcbikge1xuICAvLyBEZWZhdWx0IGZvciAkZ3V0dGVyLW91dHB1dFxuICBAaWYgKCRndXR0ZXItb3V0cHV0ICE9IG51bGwpIHtcbiAgICBAd2FybiAneHktY2VsbDogJGd1dHRlci1vdXRwdXQgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTAnO1xuICAgIEBpZiAoJGd1dHRlci1vdXRwdXQgPT0gZmFsc2UpIHtcbiAgICAgICRvdXRwdXQ6IHNsLXJlbW92ZSgkb3V0cHV0LCBndXR0ZXJzKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKGluZGV4KCRvdXRwdXQsIGJhc2UpKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKCRzaXplKTtcbiAgfVxuICBAaWYgKGluZGV4KCRvdXRwdXQsIHNpemUpKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRzaXplLCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsKTtcbiAgfVxuICBAaWYgKGluZGV4KCRvdXRwdXQsIGd1dHRlcnMpKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgc2l6ZWQgZ3JpZC4gVXNlZCB0byBnZW5lcmF0ZSBvdXIgZ3JpZCBjbGFzc2VzLlxuLy8vXG4vLy8gYHh5LWNlbGwtc3RhdGljKClgIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC5cbi8vLyBVc2UgYHh5LWNlbGwoKWAgaW5zdGVhZCB3aXRoIGAkb3V0cHV0OiAoc2l6ZSBndXR0ZXJzKWAgdG8gbm90IGdlbmVyYXRlIHRoZSBjZWxsIGJhc2UuXG4vLy8gU2VlIG1pZ3JhdGlvbiBub3RlcyBhdCBodHRwczovL2dpdC5pby9mb3VuZGF0aW9uLTYtNi0wXG4vLy9cbi8vLyBAZGVwcmVjYXRlZCB2Ni42LjBcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoMTAwJSB3aWR0aCksIGBhdXRvYCAodXNlIGFsbCBhdmFpbGFibGUgc3BhY2UpLCBgc2hyaW5rYCAodXNlIG9ubHkgdGhlIHJlcXVpcmVkIHNwYWNlKSBvciBhbnkgZnJhY3Rpb24gKGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLi4uKS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzLiBBbHdheXMgYHRydWVgIGZvciBtYXJnaW4gZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc3RhdGljKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gIEB3YXJuICd4eS1jZWxsLXN0YXRpYygpIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gVXNlIFwieHktY2VsbCgpXCIgaW5zdGVhZC4gU2VlIG1pZ3JhdGlvbiBub3RlcyBhdCBodHRwczovL2dpdC5pby9mb3VuZGF0aW9uLTYtNi0wJztcblxuICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAkZ3V0dGVyLXBvc2l0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgdG9wIGJvdHRvbSwgbGVmdCByaWdodCk7XG5cbiAgJC1ndXR0ZXItb3V0cHV0OiBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicsIHRydWUsICRndXR0ZXItb3V0cHV0KTtcbiAgJC1ndXR0ZXItbWFyZ2luOiBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicsICRndXR0ZXIsIDApO1xuXG4gIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICQtZ3V0dGVyLW1hcmdpbiwgJHZlcnRpY2FsKTtcbiAgQGlmICgkLWd1dHRlci1vdXRwdXQpIHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGUgZ3V0dGVycyBmb3IgYSBjZWxsL2NvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgZWl0aGVyIG1hcmdpbiBvciBwYWRkaW5nLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVnYXRpdmUgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gYXBwbHkgdGhlIGd1dHRlciBhcyBhIG5lZ2F0aXZlIHZhbHVlLiBDb21tb25seSB1c2VkIGZvciBuZXN0ZWQgZ3JpZHMuXG5AbWl4aW4geHktZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG5lZ2F0aXZlOiBmYWxzZVxuKSB7XG4gICRvcGVyYXRvcjogaWYoJG5lZ2F0aXZlLCAnLScsICcnKTtcblxuICAvLyBJZiB3ZSBoYXZlIGRlY2xhcmVkIG5lZ2F0aXZlIGd1dHRlcnMsIGZvcmNlIHR5cGUgdG8gYG1hcmdpbi5cbiAgJGd1dHRlci10eXBlOiBpZigkbmVnYXRpdmUsICdtYXJnaW4nLCAkZ3V0dGVyLXR5cGUpO1xuXG4gIC8vIE91dHB1dCBvdXIgbWFyZ2luIGd1dHRlcnMuXG4gIEBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkZ3V0dGVycykge1xuICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgKiAwLjU7XG5cbiAgICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdudW1iZXInKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcnMpICogMC41O1xuXG4gICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogdW5xdW90ZShcIiN7JG9wZXJhdG9yfSN7JGd1dHRlcn1cIik7XG4gICAgfVxuICB9XG59XG4iLCIvL1xyXG4vLyBHbG9iYWwgdHlwb2dyYXBoeSBzZXR0aW5nc1xyXG4vL1xyXG4vLyBmb250LWZhbWlseSBkZWZpbml0aW9ucyBpbjogL2NwYy9zY3NzL2ZvdW5kYXRpb24vX3NldHRpbmdzLnNjc3NcclxuLy9cclxuXHJcbi8vIEdsb2JhbHNcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5cclxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICdDYW5hZGlhbmEnLCBhcmlhbCwgc2Fucy1zZXJpZjtcclxuJGxpbmUtc3BhY2luZzogMS41cmVtO1xyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6IENhbmFkaWFuYTtcclxuICBzcmM6IHVybCgnL2NwYy9hc3NldHMvY3BjL2ZvbnRzL0NhbmFkaWFuYS9DYW5hZGlhbmFUZXh0V0VCLVJlZ3VsYXIub3RmJylcclxuICAgIGZvcm1hdCgnb3BlbnR5cGUnKTtcclxuICBzcmM6IHVybCgnL2NwYy9hc3NldHMvY3BjL2ZvbnRzL0NhbmFkaWFuYS9DYW5hZGlhbmFUZXh0V0VCLVJlZ3VsYXIuZW9mJylcclxuICAgIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKTtcclxuICBzcmM6IHVybCgnL2NwYy9hc3NldHMvY3BjL2ZvbnRzL0NhbmFkaWFuYS9DYW5hZGlhbmFUZXh0V0VCLVJlZ3VsYXIud29mZjInKVxyXG4gICAgZm9ybWF0KCd3b2ZmMicpO1xyXG4gIHNyYzogdXJsKCcvY3BjL2Fzc2V0cy9jcGMvZm9udHMvQ2FuYWRpYW5hL0NhbmFkaWFuYVRleHRXRUItUmVndWxhci53b2ZmJylcclxuICAgIGZvcm1hdCgnd29mZicpO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogQ2FuYWRpYW5hO1xyXG4gIHNyYzogdXJsKCcvY3BjL2Fzc2V0cy9jcGMvZm9udHMvQ2FuYWRpYW5hL0NhbmFkaWFuYVRleHRXRUItUmVndWxhckl0YWxpYy5vdGYnKVxyXG4gICAgZm9ybWF0KCdvcGVudHlwZScpO1xyXG4gIHNyYzogdXJsKCcvY3BjL2Fzc2V0cy9jcGMvZm9udHMvQ2FuYWRpYW5hL0NhbmFkaWFuYVRleHRXRUItUmVndWxhckl0YWxpYy5lb3QnKVxyXG4gICAgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpO1xyXG4gIHNyYzogdXJsKCcvY3BjL2Fzc2V0cy9jcGMvZm9udHMvQ2FuYWRpYW5hL0NhbmFkaWFuYVRleHRXRUItUmVndWxhckl0YWxpYy53b2ZmMicpXHJcbiAgICBmb3JtYXQoJ3dvZmYyJyk7XHJcbiAgc3JjOiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9mb250cy9DYW5hZGlhbmEvQ2FuYWRpYW5hVGV4dFdFQi1SZWd1bGFySXRhbGljLndvZmYnKVxyXG4gICAgZm9ybWF0KCd3b2ZmJyk7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiBDYW5hZGlhbmE7XHJcbiAgc3JjOiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9mb250cy9DYW5hZGlhbmEvQ2FuYWRpYW5hVGV4dFdFQi1Cb2xkLm90ZicpXHJcbiAgICBmb3JtYXQoJ29wZW50eXBlJyk7XHJcbiAgc3JjOiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9mb250cy9DYW5hZGlhbmEvQ2FuYWRpYW5hVGV4dFdFQi1Cb2xkLmVvdCcpXHJcbiAgICBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyk7XHJcbiAgc3JjOiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9mb250cy9DYW5hZGlhbmEvQ2FuYWRpYW5hVGV4dFdFQi1Cb2xkLndvZmYyJylcclxuICAgIGZvcm1hdCgnd29mZjInKTtcclxuICBzcmM6IHVybCgnL2NwYy9hc3NldHMvY3BjL2ZvbnRzL0NhbmFkaWFuYS9DYW5hZGlhbmFUZXh0V0VCLUJvbGQud29mZicpXHJcbiAgICBmb3JtYXQoJ3dvZmYnKTtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6IENhbmFkaWFuYTtcclxuICBzcmM6IHVybCgnL2NwYy9hc3NldHMvY3BjL2ZvbnRzL0NhbmFkaWFuYS9DYW5hZGlhbmFUZXh0V0VCLUJvbGRJdGFsaWMub3RmJylcclxuICAgIGZvcm1hdCgnb3BlbnR5cGUnKTtcclxuICBzcmM6IHVybCgnL2NwYy9hc3NldHMvY3BjL2ZvbnRzL0NhbmFkaWFuYS9DYW5hZGlhbmFUZXh0V0VCLUJvbGRJdGFsaWMuZW90JylcclxuICAgIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKTtcclxuICBzcmM6IHVybCgnL2NwYy9hc3NldHMvY3BjL2ZvbnRzL0NhbmFkaWFuYS9DYW5hZGlhbmFUZXh0V0VCLUJvbGRJdGFsaWMud29mZjInKVxyXG4gICAgZm9ybWF0KCd3b2ZmMicpO1xyXG4gIHNyYzogdXJsKCcvY3BjL2Fzc2V0cy9jcGMvZm9udHMvQ2FuYWRpYW5hL0NhbmFkaWFuYVRleHRXRUItQm9sZEl0YWxpYy53b2ZmJylcclxuICAgIGZvcm1hdCgnd29mZicpO1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgZm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogQ2FuYWRpYW5hO1xyXG4gIHNyYzogdXJsKCcvY3BjL2Fzc2V0cy9jcGMvZm9udHMvQ2FuYWRpYW5hL0NhbmFkaWFuYVRleHRXRUItTGlnaHQub3RmJylcclxuICAgIGZvcm1hdCgnb3BlbnR5cGUnKTtcclxuICBzcmM6IHVybCgnL2NwYy9hc3NldHMvY3BjL2ZvbnRzL0NhbmFkaWFuYS9DYW5hZGlhbmFUZXh0V0VCLUxpZ2h0LmVvdCcpXHJcbiAgICBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyk7XHJcbiAgc3JjOiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9mb250cy9DYW5hZGlhbmEvQ2FuYWRpYW5hVGV4dFdFQi1MaWdodC53b2ZmMicpXHJcbiAgICBmb3JtYXQoJ3dvZmYyJyk7XHJcbiAgc3JjOiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9mb250cy9DYW5hZGlhbmEvQ2FuYWRpYW5hVGV4dFdFQi1MaWdodC53b2ZmJylcclxuICAgIGZvcm1hdCgnd29mZicpO1xyXG4gIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogQ2FuYWRpYW5hO1xyXG4gIHNyYzogdXJsKCcvY3BjL2Fzc2V0cy9jcGMvZm9udHMvQ2FuYWRpYW5hL0NhbmFkaWFuYVRleHRXRUItTGlnaHRJdGFsaWMub3RmJylcclxuICAgIGZvcm1hdCgnb3BlbnR5cGUnKTtcclxuICBzcmM6IHVybCgnL2NwYy9hc3NldHMvY3BjL2ZvbnRzL0NhbmFkaWFuYS9DYW5hZGlhbmFUZXh0V0VCLUxpZ2h0SXRhbGljLmVvdCcpXHJcbiAgICBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyk7XHJcbiAgc3JjOiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9mb250cy9DYW5hZGlhbmEvQ2FuYWRpYW5hVGV4dFdFQi1MaWdodEl0YWxpYy53b2ZmMicpXHJcbiAgICBmb3JtYXQoJ3dvZmYyJyk7XHJcbiAgc3JjOiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9mb250cy9DYW5hZGlhbmEvQ2FuYWRpYW5hVGV4dFdFQi1MaWdodEl0YWxpYy53b2ZmJylcclxuICAgIGZvcm1hdCgnd29mZicpO1xyXG4gIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgZm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogQ2FuYWRpYW5hO1xyXG4gIHNyYzogdXJsKCcvY3BjL2Fzc2V0cy9jcGMvZm9udHMvQ2FuYWRpYW5hL0NhbmFkaWFuYVRleHRXRUItU2VtaUJvbGQub3RmJylcclxuICAgIGZvcm1hdCgnb3BlbnR5cGUnKTtcclxuICBzcmM6IHVybCgnL2NwYy9hc3NldHMvY3BjL2ZvbnRzL0NhbmFkaWFuYS9DYW5hZGlhbmFUZXh0V0VCLVNlbWlCb2xkLmVvdCcpXHJcbiAgICBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyk7XHJcbiAgc3JjOiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9mb250cy9DYW5hZGlhbmEvQ2FuYWRpYW5hVGV4dFdFQi1TZW1pQm9sZC53b2ZmMicpXHJcbiAgICBmb3JtYXQoJ3dvZmYyJyk7XHJcbiAgc3JjOiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9mb250cy9DYW5hZGlhbmEvQ2FuYWRpYW5hVGV4dFdFQi1TZW1pQm9sZC53b2ZmJylcclxuICAgIGZvcm1hdCgnd29mZicpO1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogQ2FuYWRpYW5hO1xyXG4gIHNyYzogdXJsKCcvY3BjL2Fzc2V0cy9jcGMvZm9udHMvQ2FuYWRpYW5hL0NhbmFkaWFuYVRleHRXRUItU2VtaUJvbGRJdGFsaWMub3RmJylcclxuICAgIGZvcm1hdCgnb3BlbnR5cGUnKTtcclxuICBzcmM6IHVybCgnL2NwYy9hc3NldHMvY3BjL2ZvbnRzL0NhbmFkaWFuYS9DYW5hZGlhbmFUZXh0V0VCLVNlbWlCb2xkSXRhbGljLmVvdCcpXHJcbiAgICBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyk7XHJcbiAgc3JjOiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9mb250cy9DYW5hZGlhbmEvQ2FuYWRpYW5hVGV4dFdFQi1TZW1pQm9sZEl0YWxpYy53b2ZmMicpXHJcbiAgICBmb3JtYXQoJ3dvZmYyJyk7XHJcbiAgc3JjOiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9mb250cy9DYW5hZGlhbmEvQ2FuYWRpYW5hVGV4dFdFQi1TZW1pQm9sZEl0YWxpYy53b2ZmJylcclxuICAgIGZvcm1hdCgnd29mZicpO1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgZm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcblxyXG4vL0JvZHkgJiBiYXNlIGh0bWwgZWxlbWVudHNcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5cclxuLmNhbmFkaWFuYSxcclxuYm9keSB7XHJcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xyXG59XHJcblxyXG5ibG9ja3F1b3RlLFxyXG5jaXRlIHtcclxuICBjb2xvcjogJGNwYy1ncmV5LTMwO1xyXG59XHJcblxyXG5ib2R5IHtcclxuICBjb2xvcjogJGNwYy1ncmV5LTMwO1xyXG4gIGZvbnQtc2l6ZTogMXJlbTtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1zcGFjaW5nO1xyXG59XHJcblxyXG5wIHtcclxuICBsaW5lLWhlaWdodDogJGxpbmUtc3BhY2luZztcclxufVxyXG5cclxuc21hbGwsXHJcbi5zbWFsbCB7XHJcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcclxuICBsaW5lLWhlaWdodDogMS4yNXJlbTtcclxufVxyXG5cclxuYmlnLFxyXG4uYmlnIHtcclxuICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XHJcbn1cclxuXHJcbnN0cm9uZyxcclxuYiB7XHJcbiAgY29sb3I6ICRjcGMtZ3JleS0zMDtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG59XHJcblxyXG5zdXAge1xyXG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcclxufVxyXG5cclxubGFiZWwge1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xyXG59XHJcblxyXG51bCxcclxub2wsXHJcbmRsIHtcclxuICBsaW5lLWhlaWdodDogJGxpbmUtc3BhY2luZztcclxuICBtYXJnaW4tbGVmdDogMXJlbTtcclxufVxyXG5cclxudWwge1xyXG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcclxufVxyXG5cclxubGkge1xyXG4gIGNvbG9yOiAkY3BjLWdyZXktMzA7XHJcbn1cclxuXHJcbnVsLFxyXG5vbCB7XHJcbiAgbGkge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XHJcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xyXG4gIH1cclxuXHJcbiAgdWwge1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xyXG4gIH1cclxuXHJcbiAgdWwsXHJcbiAgb2wge1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbTtcclxuICB9XHJcbn1cclxuXHJcbi5sZWdlbmQsXHJcbmxlZ2VuZCB7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG5cclxuLmxlZ2FsIHtcclxuICBjb2xvcjogJGNwYy1ncmV5LTMwO1xyXG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIGxpbmUtaGVpZ2h0OiAxcmVtO1xyXG5cclxuICBhIHtcclxuICAgIGNvbG9yOiAkY3BjLWJsdWUtNTA7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb2wsXHJcbiAgdWwge1xyXG4gICAgY29sb3I6ICRjcGMtZ3JleS01MDtcclxuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcclxuICB9XHJcbn1cclxuXHJcbmEge1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICBjb2xvcjogJG1pZC1ibHVlO1xyXG5cclxuICAmOmZvY3VzLFxyXG4gICY6aG92ZXIge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgfVxyXG59XHJcblxyXG4ubm93cmFwIHtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4uaGVybyB7XHJcbiAgZm9udC1zaXplOiAzcmVtO1xyXG4gIGxpbmUtaGVpZ2h0OiAzLjVyZW07XHJcbn1cclxuXHJcbi8vSGVhZGluZ3NcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5cclxuaDEsXHJcbi5oZWFkaW5nLTEsXHJcbmgyLFxyXG4uaGVhZGluZy0yLFxyXG5oMyxcclxuLmhlYWRpbmctMyxcclxuaDQsXHJcbi5oZWFkaW5nLTQsXHJcbmg1LFxyXG4uaGVhZGluZy01LFxyXG5oNixcclxuLmhlYWRpbmctNiB7XHJcbiAgY29sb3I6ICRjcGMtZ3JleS0yMDtcclxuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuaDEge1xyXG4gIGZvbnQtc2l6ZTogMi41cmVtO1xyXG4gIGxpbmUtaGVpZ2h0OiAzcmVtO1xyXG5cclxuICAmLmhlcm8ge1xyXG4gICAgZm9udC1zaXplOiAzcmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDMuNXJlbTtcclxuICB9XHJcbn1cclxuXHJcbi5oZWFkaW5nLTEge1xyXG4gIGZvbnQtc2l6ZTogMi41cmVtICFpbXBvcnRhbnQ7XHJcbiAgbGluZS1oZWlnaHQ6IDNyZW0gIWltcG9ydGFudDtcclxufVxyXG5cclxuaDIge1xyXG4gIGZvbnQtc2l6ZTogMnJlbTtcclxuICBsaW5lLWhlaWdodDogMi41cmVtO1xyXG59XHJcblxyXG4uaGVhZGluZy0yIHtcclxuICBmb250LXNpemU6IDJyZW0gIWltcG9ydGFudDtcclxuICBsaW5lLWhlaWdodDogMi41cmVtICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbmgzIHtcclxuICBmb250LXNpemU6IDEuNzVyZW07XHJcbiAgbGluZS1oZWlnaHQ6IDIuMjVyZW07XHJcbn1cclxuXHJcbi5oZWFkaW5nLTMge1xyXG4gIGZvbnQtc2l6ZTogMS43NXJlbSAhaW1wb3J0YW50O1xyXG4gIGxpbmUtaGVpZ2h0OiAyLjI1cmVtICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbmg0IHtcclxuICBmb250LXNpemU6IDEuNXJlbTtcclxuICBsaW5lLWhlaWdodDogMnJlbTtcclxufVxyXG5cclxuLmhlYWRpbmctNCB7XHJcbiAgZm9udC1zaXplOiAxLjVyZW0gIWltcG9ydGFudDtcclxuICBsaW5lLWhlaWdodDogMnJlbSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5oNSB7XHJcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjc1cmVtO1xyXG59XHJcblxyXG4uaGVhZGluZy01IHtcclxuICBmb250LXNpemU6IDEuMjVyZW0gIWltcG9ydGFudDtcclxuICBsaW5lLWhlaWdodDogMS43NXJlbSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5oNiB7XHJcbiAgZm9udC1zaXplOiAxcmVtO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07XHJcbn1cclxuXHJcbi5oZWFkaW5nLTYge1xyXG4gIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50O1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgaDEsXHJcbiAgaDEuaGVybyB7XHJcbiAgICBmb250LXNpemU6IDEuODEyNXJlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xyXG4gIH1cclxuXHJcbiAgLmhlYWRpbmctMSB7XHJcbiAgICBmb250LXNpemU6IDEuODEyNXJlbSAhaW1wb3J0YW50O1xyXG4gICAgbGluZS1oZWlnaHQ6IDIuMjVyZW0gIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIGgyIHtcclxuICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XHJcbiAgICBsaW5lLWhlaWdodDogMnJlbTtcclxuICB9XHJcblxyXG4gIC5oZWFkaW5nLTIge1xyXG4gICAgZm9udC1zaXplOiAxLjYyNXJlbSAhaW1wb3J0YW50O1xyXG4gICAgbGluZS1oZWlnaHQ6IDJyZW0gIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIGgzIHtcclxuICAgIGZvbnQtc2l6ZTogMS40Mzc1cmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDJyZW07XHJcbiAgfVxyXG5cclxuICAuaGVhZGluZy0zIHtcclxuICAgIGZvbnQtc2l6ZTogMS40Mzc1cmVtICFpbXBvcnRhbnQ7XHJcbiAgICBsaW5lLWhlaWdodDogMnJlbSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgaDQge1xyXG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XHJcbiAgfVxyXG5cclxuICAuaGVhZGluZy00IHtcclxuICAgIGZvbnQtc2l6ZTogMS4yNXJlbSAhaW1wb3J0YW50O1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNzVyZW0gIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIGg1IHtcclxuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XHJcbiAgICBsaW5lLWhlaWdodDogMS41cmVtO1xyXG4gIH1cclxuXHJcbiAgLmhlYWRpbmctNSB7XHJcbiAgICBmb250LXNpemU6IDEuMTI1cmVtICFpbXBvcnRhbnQ7XHJcbiAgICBsaW5lLWhlaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICBoNiB7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICBsaW5lLWhlaWdodDogMS41cmVtO1xyXG4gIH1cclxuXHJcbiAgLmhlYWRpbmctNiB7XHJcbiAgICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIGJpZyxcclxuICAuYmlnIHtcclxuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XHJcbiAgICBsaW5lLWhlaWdodDogMS41cmVtO1xyXG4gIH1cclxuXHJcbiAgc21hbGwsXHJcbiAgLnNtYWxsIHtcclxuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XHJcbiAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcclxuICB9XHJcbn1cclxuIiwiLy9cbi8vIEdsb2JhbCBpY29ub2dyYXBoeSBzZXR0aW5nc1xuLy9cblxuJGdyYXBoaWMtaWNvbi1zaXplOiAzcmVtO1xuXG5hLmljb24tYXJyb3ctdXAsXG5hLmljb24tYXJyb3ctZG93bixcbmEuaWNvbi1hcnJvdy1sZWZ0LFxuYS5pY29uLWFycm93LXJpZ2h0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5hLmljb24tYXJyb3ctdXA6OmJlZm9yZSxcbmEuaWNvbi1hcnJvdy11cDo6YWZ0ZXIsXG5hLmljb24tYXJyb3ctZG93bjo6YmVmb3JlLFxuYS5pY29uLWFycm93LWRvd246OmFmdGVyLFxuYS5pY29uLWFycm93LWxlZnQ6OmJlZm9yZSxcbmEuaWNvbi1hcnJvdy1sZWZ0OjphZnRlcixcbmEuaWNvbi1hcnJvdy1yaWdodDo6YmVmb3JlLFxuYS5pY29uLWFycm93LXJpZ2h0OjphZnRlciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM4YjhiOGI7XG4gIGNvbnRlbnQ6ICcnO1xuICBmbG9hdDogcmlnaHQ7XG4gIGhlaWdodDogMC41cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG59XG5cbmEuaWNvbi1hcnJvdy11cDo6YmVmb3JlIHtcbiAgcmlnaHQ6IDEuNXJlbTtcbiAgdG9wOiAxLjVyZW07XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG59XG5cbmEuaWNvbi1hcnJvdy11cDo6YWZ0ZXIge1xuICByaWdodDogMS4yNXJlbTtcbiAgdG9wOiAxLjVyZW07XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cblxuYS5pY29uLWFycm93LWRvd246OmJlZm9yZSB7XG4gIHJpZ2h0OiAxLjVyZW07XG4gIHRvcDogMS41cmVtO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuXG5hLmljb24tYXJyb3ctZG93bjo6YWZ0ZXIge1xuICByaWdodDogMS4yNXJlbTtcbiAgdG9wOiAxLjVyZW07XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cblxuYS5pY29uLWFycm93LXJpZ2h0OjpiZWZvcmUge1xuICByaWdodDogMS43NXJlbTtcbiAgdG9wOiAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuXG5hLmljb24tYXJyb3ctcmlnaHQ6OmFmdGVyIHtcbiAgcmlnaHQ6IDEuNzVyZW07XG4gIHRvcDogMS41NXJlbTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuIiwiLy8gQWNjZXNzaWJpbGl0eSAgQ2xhc3Nlc1xuXG4udmlzdWFsbHktaGlkZGVuIHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIGhlaWdodDogMXB4O1xuICBsZWZ0OiAtOTk5OXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTlweDtcbiAgd2lkdGg6IDFweDtcbn1cblxuLy8gQXZvaWQgZm9jdXMgcmluZyBvbiBmb2N1c2FibGUgZWxlbWVudHMgdGhhdCB3ZXJlIGNsaWNrZWQgYnkgbW91c2UuIEZpeGVzXG4vLyBBIENocm9tZSBidWcgLSBzZWUgZm9jdXMtcmluZy1oYW5kbGVyLmpzIGZvciBkZXRhaWxzXG4vLyBbZGF0YS1hY3RpdmF0ZWQtdmlhPSdtb3VzZSddOmZvY3VzIHtcbi8vICAgb3V0bGluZTogMDtcbi8vIH1cblxuLyogc3VwcHJlc3MgZm9jdXMgcmluZyBvbiBmb3JtIGNvbnRyb2xzIGZvciBtb3VzZSB1c2VycyAqL1xuW2RhdGEtd2hhdGludGVudD0nbW91c2UnXSAqOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbiIsIkB1c2UgJ3Nhc3M6bWF0aCc7XG4vL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbmh0bWwge1xuICAvLyBvdmVyZmxvdyBhdXRvIGZpeGVzIGFuIGlzc3VlIHdpdGggdGhlIGZpeGVkIG1vYmlsZVxuICAvLyB0b29sYmFyIHRlbXBvcmFyaWx5IGhpZGluZyBpbiB0aGUgbWlkZGxlIG9mIGEgdHJhbnNsYXRlM2RcbiAgLy8gYW5pbWF0aW9uIGZvciB0aGUgbW9iaWxlIHRhYmxlIG5leHQvcHJldiBpY29ucy5cbiAgLy8gbW9iaWxlIG9ubHkgLSBkZXNrdG9wIHJ1bGUgYnJlYWtzIGRlc2t0b3AgdG9vbGJhclxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIEZvcmNlIE1TIElFICYgRWRnZSB0byBhdXRvLWhpZGUgc2Nyb2xsYmFyIG1vZGUsXG4gIC8vIHNvIHRoYXQgc2Nyb2xsYmFyIHdpZHRocyBhcmUgbm90IGluY2x1ZGVkIHdoZW4gZGV0ZXJtaW5pbmdcbiAgLy8gbWVkaWEgcXVlcnkgYnJlYWtwb2ludHMuIFRoaXMga2VlcHMgSUUgY29uc2lzdGVudCB3aXRoXG4gIC8vIG90aGVyIGJyb3dzZXJzXG4gIC8vIENvbW1lbnRpbmcgb3V0IGFzIGEgZml4IGZvciBJQS0zNDIyLiBUaGUgbWVkaWEgcXVlcnlcbiAgLy8gYnJlYWtwb2ludCBpc3N1ZSBzaG91bGQgYmUgY29uc2lkZXJlZCBhIGJyb3dzZXIgYnVnLlxuICAvLyAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcblxuICAvLyBTZWUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzk3MzkwMjEvNDQyNDcyIC1cbiAgLy8gd2Via2l0IHF1aWNrIGZpeCB0byBwcmV2ZW50IGhhcmR3YXJlIGFjY2VsZXJhdGlvbiBmcm9tXG4gIC8vIG1lc3NpbmcgdXAgdGV4dCBkdXJpbmcgYW5pbWF0aW9uLiBOb3RlIHRoYXQgSSB0cmllZCB0aGUgc29sdXRpb25cbiAgLy8gc3VnZ2VzdGVkIGF0IGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8xMjM1MDIwNC80NDI0NzIgYnV0XG4gIC8vIEkgd2Fzbid0IGFibGUgdG8gZ2V0IGl0IHdvcmtpbmcuXG4gIC8vIFNhZmFyaSBkZWZhdWx0IGFsaWFzaW5nIGlzIHN1YnBpeGVsLWFudGlhbGlhc2VkLiBXZSdyZSBqdXN0XG4gIC8vIHRlbGxpbmcgaXQgdG8gdXNlIHRoZSBkZWZhdWx0IHNvIHRoYXQgaGFyZHdhcmUgYWNjZWxlcmF0aW9uXG4gIC8vIGRvZXNuJ3Qgc3dpdGNoIHRleHQgZnJvbSB0aGlzIHRvIGFudGlhbGlhc2VkIG1pZC1hbmltYXRpb25cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7XG5cbiAgLy8gTm90IHN1cHBvcnRlZCBvbiBJRSBhbmQgRWRnZSBhdCB0aGlzIHRpbWUsIGJ1dCBpdCdzIGEgcXVpY2tcbiAgLy8gYW5kIGVhc3kgc29sdXRpb24gdG8gZ2V0IHNtb290aCBzY3JvbGxpbmcgd2hlbiB1c2luZyBKU1xuICAvLyB0byBzY3JvbGwgdG8gYW4gZWxlbWVudC4gQ2hyb21lLCBGRiBzdXBwb3J0IHRoaXMgYXQgdGhpcyB0aW1lXG4gIC8vIENvbW1lbnRpbmcgdGhpcyBvdXQgYXMgaXQgY2F1c2VzIGJhY2sgdG8gdG9wIGlzc3Vlc1xuICAvLyBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbn1cblxuYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuXG4gIC8vIEZvcmNlIG1vbWVudHVtIHNjcm9sbGluZyBiZWhhdmlvdXIgb24gaU9TIGRldmljZXMuXG4gIC8vIFRyaWVkIGFkZGluZyB0aGlzIHRvIHRoZSBjbG9zZXN0IGFyZWEgb2YgdGhlIERPTSB3aGVyZSBtb21lbnR1bSBzY3JvbGxpbmcgaXMgYWN0dWFsbHlcbiAgLy8gcmVxdWlyZWQsIGFzIHdlbGwgYXMgdG8gcGFyZW50IGVsZW1lbnRzLCBidXQgbW9tZW50dW0gc2Nyb2xsaW5nIGRvZXNuJ3QgcHJvcGVybHkgd29ya1xuICAvLyB3aGVuIGFwcGxpZWQgaW4gdGhvc2UgcGxhY2VzLiBJdCBzZWVtcyByZXF1aXJlZCB3aXRoIG91ciBET00gc3RydWN0dXJlIHRvIGhhdmUgaXQgZGVmaW5lZFxuICAvLyBhdCB0aGUgYm9keSBsZXZlbFxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgLy8gTm90ZSAtIHVuZm9ydHVuYXRlbHkgb3ZlcmZsb3cgcnVsZSBpcyByZXF1aXJlZCBmb3IgZW5hYmxpbmcgb2YgbW9tZW50dW0gc2Nyb2xsaW5nLCBidXQgb24gbW9iaWxlLFxuICAvLyB3aW5kb3cuc2Nyb2xsWSByZXR1cm5zIDAgYWxsIHRoZSB0aW1lLCBzbyBpdCdzIGltcG9zc2libGUgdG8ga25vdyB3aGVyZSB0aGUgZG9jdW1lbnQgaXMgY3VycmVudGx5XG4gIC8vIHNjcm9sbGVkIHRvLCBzb21ldGhpbmcgdGhhdCB3ZSBuZWVkIHRvIGtub3cgZm9yIHNvbWUgb2Ygb3VyIGNvbXBvbmVudHNcbiAgLy8gb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLy8gbGFyZ2UgZGVza3RvcCBsZWZ0L3JpZ2h0IHdoaXRlc3BhY2UgYXJvdW5kIGNvbnRlbnRcbiNtYWluLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIG1hcmdpbi10b3A6IHJlbS1jYWxjKDc2KTtcblxuICA+IGRpdjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoLTc2KTtcbiAgfVxuXG4gID4gLmNwYy1tYWluLWNvbnRlbnQtLXJvdyxcbiAgPiBkaXYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgfVxufVxuIiwiLy8gRWxldmF0aW9uIHN0eWxlc1xuXG4uY3BjLWRzLWVsZXZhdGlvbi1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgbWFyZ2luLWxlZnQ6IC0wLjVyZW07XG4gIG1hcmdpbi1yaWdodDogLTAuNXJlbTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5jcGMtZHMtZWxldmF0aW9uLWNvbnRhaW5lciB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogYXV0bztcbn1cblxuLmNwYy1kcy1lbGV2YXRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIG1hcmdpbjogMnJlbTtcbiAgaGVpZ2h0OiA4cmVtO1xuICB3aWR0aDogOHJlbTtcblxuICAmLmxldmVsLW9uZS1ncmV5IHtcbiAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiKDAgMCAwIC8gMTIlKTtcbiAgfVxuXG4gICYubGV2ZWwtdHdvLWdyZXkge1xuICAgIGJveC1zaGFkb3c6IDAgMTJweCAxNnB4IC04cHggcmdiKDAgMCAwIC8gMTIlKSxcbiAgICAgIDAgNHB4IDRweCAtMnB4IHJnYigwIDAgMCAvIDYlKTtcbiAgfVxuXG4gICYubGV2ZWwtdGhyZWUtZ3JleSB7XG4gICAgYm94LXNoYWRvdzogMCAyMHB4IDI0cHggLTEycHggcmdiKDAgMCAwIC8gMTYlKSxcbiAgICAgIDAgNHB4IDRweCAtNHB4IHJnYigwIDAgMCAvIDglKTtcbiAgfVxuXG4gICYubGV2ZWwtZm91ci1ncmV5IHtcbiAgICBib3gtc2hhZG93OiAwIDMycHggNDhweCAtMTZweCByZ2IoMCAwIDAgLyAyMCUpLFxuICAgICAgMCA0cHggNHB4IC00cHggcmdiKDAgMCAwIC8gNiUpO1xuICB9XG5cbiAgJi5sZXZlbC1maXZlLWdyZXkge1xuICAgIGJveC1zaGFkb3c6IDAgNDhweCA2NHB4IC0yNHB4IHJnYigwIDAgMCAvIDI0JSk7XG4gIH1cblxuICAmLmxldmVsLW9uZS1ibHVlIHtcbiAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiKDAgNDggMTM1IC8gMTIlKTtcbiAgfVxuXG4gICYubGV2ZWwtdHdvLWJsdWUge1xuICAgIGJveC1zaGFkb3c6IDAgMTJweCAxNnB4IC04cHggcmdiKDAgNDggMTM1IC8gMTIlKSxcbiAgICAgIDAgNHB4IDRweCAtMnB4IHJnYigwIDQ4IDEzNSAvIDYlKTtcbiAgfVxuXG4gICYubGV2ZWwtdGhyZWUtYmx1ZSB7XG4gICAgYm94LXNoYWRvdzogMCAyMHB4IDI0cHggLTEycHggcmdiKDAgNDggMTM1IC8gMTYlKSxcbiAgICAgIDAgNHB4IDRweCAtNHB4IHJnYigwIDQ4IDEzNSAvIDglKTtcbiAgfVxuXG4gICYubGV2ZWwtZm91ci1ibHVlIHtcbiAgICBib3gtc2hhZG93OiAwIDMycHggNDhweCAtMTZweCByZ2IoMCA0OCAxMzUgLyAyMCUpLFxuICAgICAgMCA0cHggNHB4IC00cHggcmdiKDAgNDggMTM1IC8gNiUpO1xuICB9XG5cbiAgJi5sZXZlbC1maXZlLWJsdWUge1xuICAgIGJveC1zaGFkb3c6IDAgNDhweCA2NHB4IC0yNHB4IHJnYigwIDQ4IDEzNSAvIDI0JSk7XG4gIH1cbn1cblxuLmNwYy1kcy1lbGV2YXRpb24tbGV2ZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDUwJTtcbiAgYm90dG9tOiA1MCU7XG59XG4iLCIvKipcclxuQ1BDIERlc3VnbiBTeXN0ZW0gY29tcG9uZW50cyBzdHlsZXNcclxuKiovXHJcblxyXG5AaW1wb3J0ICcuL2NwYy1kcy1hY2NvcmRpb24vY3BjLWRzLWFjY29yZGlvbi5zY3NzJztcclxuQGltcG9ydCAnLi9jcGMtZHMtYnJlYWRjcnVtYnMvY3BjLWRzLWJyZWFkY3J1bWIuc2Nzcyc7XHJcbkBpbXBvcnQgJy4vY3BjLWRzLWJ1dHRvbnMvY3BjLWRzLWJ1dHRvbnMuc2Nzcyc7XHJcbkBpbXBvcnQgJy4vY3BjLWRzLWxpbmtzL2NwYy1kcy1saW5rcy5zY3NzJztcclxuQGltcG9ydCAnLi9jcGMtZHMtZHJvcGRvd24vY3BjLWRzLWRyb3Bkb3duLnNjc3MnO1xyXG5AaW1wb3J0ICcuL2NwYy1kcy1tb2RhbHMvY3BjLWRzLW1vZGFscy5zY3NzJztcclxuQGltcG9ydCAnLi9jcGMtZHMtbm90aWZpY2F0aW9ucy9jcGMtZHMtbm90aWZpY2F0aW9ucy5zY3NzJztcclxuQGltcG9ydCAnLi9jcGMtZHMtcGFnaW5hdGlvbi9jcGMtZHMtcGFnaW5hdGlvbi5zY3NzJztcclxuQGltcG9ydCAnLi9jcGMtZHMtdG9nZ2xlL2NwYy1kcy10b2dnbGUuc2Nzcyc7XHJcbkBpbXBvcnQgJy4vY3BjLWRzLWlucHV0cy9jcGMtZHMtaW5wdXRzLnNjc3MnO1xyXG5AaW1wb3J0ICcuL2NwYy1kcy1zbGlkZXIvY3BjLWRzLXNsaWRlci5zY3NzJztcclxuQGltcG9ydCAnLi9jcGMtZHMtcmFkaW8tYnV0dG9uL2NwYy1kcy1yYWRpby1idXR0b24uc2Nzcyc7XHJcbkBpbXBvcnQgJy4vY3BjLWRzLXByb2Nlc3MtbGlzdC9jcGMtZHMtcHJvY2Vzcy1saXN0LnNjc3MnO1xyXG5AaW1wb3J0ICcuL2NwYy1kcy1wcm9jZXNzLWxpc3QvY3BjLWRzLWNvbXBsZXgtcHJvY2Vzcy1saXN0LnNjc3MnO1xyXG5AaW1wb3J0ICcuL2NwYy1kcy1kZXRhaWxzL2NwYy1kcy1kZXRhaWxzLnNjc3MnO1xyXG5AaW1wb3J0ICcuL2NwYy1kcy1saXN0L2NwYy1kcy1saXN0LnNjc3MnO1xyXG5AaW1wb3J0ICcuL2NwYy1kcy10b29sdGlwL2NwYy1kcy10b29sdGlwLnNjc3MnO1xyXG4iLCIvKipcclxuQ1BDIERTIGFjY29yZGlvbnMgXHJcbioqL1xyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKiBcclxuICBBY2NvcmRpb24gQ29udGFpbmVyIFxyXG4qKioqKioqKioqKioqKioqKioqKioqL1xyXG46cm9vdCB7XHJcbiAgLS10cmFuc2l0aW9uLXNwZWVkOiAwLjNzO1xyXG59XHJcblxyXG4uY3BjLWRzLWFjY29yZGlvbnMge1xyXG4gIG1heC13aWR0aDogNDguNjg3NXJlbTtcclxuICB3aWR0aDogMTAwJTtcclxuXHJcbiAgJjpub3QoLmNwYy1kcy1hY2NvcmRpb25zX19zdGFuZGFsb25lKSB7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICB9XHJcblxyXG4gICYuY3BjLWRzLWFjY29yZGlvbnNfX3RpbGVzIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiB1bnNldDtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XHJcbiAgICAgIG1pbi13aWR0aDogMzYuMDYyNXJlbTtcclxuICAgICAgd2lkdGg6IDc1JTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuY3BjLWRzLWFjY29yZGlvbnNfX3N0YW5kYWxvbmUge1xyXG4gICAgbWFyZ2luOiAwO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcclxuICAgICAgbWF4LXdpZHRoOiB1bnNldDtcclxuXHJcbiAgICAgICY6bm90KC5jcGMtZHMtYWNjb3JkaW9uc19fdGlsZXMpIHtcclxuICAgICAgICB3aWR0aDogY2FsYyg3NSUgLSAwLjVyZW0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19iYWNrLXRvLXRvcCB7XHJcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xyXG4gIH1cclxuXHJcbiAgJl9fdGlsZXMge1xyXG4gICAgLmNwYy1kcy1hY2NvcmRpb24ge1xyXG4gICAgICBib3JkZXI6IG5vbmU7XHJcblxyXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJl9fbGlzdCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLWNvbHVtbi1nYXA6IDJyZW07XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICBncmlkLWNvbHVtbi1nYXA6IDA7XHJcbiAgICAgICAgICBncmlkLXJvdy1nYXA6IDFyZW07XHJcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtLWxlZnQtY29sLFxyXG4gICAgICAgICYtLXJpZ2h0LWNvbCB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgIHJvdy1nYXA6IDFyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLS1pdGVtIHtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMC4xMjVyZW0gMC4yNXJlbSAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcblxyXG4gICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiA1Ljg3NXJlbTtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMC4xMjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMC4xMjVyZW0gc29saWQgJGNwYy1ibHVlLTUwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLmNwYy1kcy1hY2NvcmRpb25fX2NvbnRlbnQtLWlubmVyIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMXJlbSAycmVtIDJyZW07XHJcblxyXG4gICAgICAgICAgICAmLWxpc3Qge1xyXG4gICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcblxyXG4gICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICZfX2J1dHRvbiB7XHJcbiAgICAgICAgcGFkZGluZzogMS41cmVtO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDZyZW07XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcclxuICAgICAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtLWV4cGFuZC1hbGwge1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi0taWNvbi1pbWFnZSB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICB3aWR0aDogM3JlbTtcclxuICAgICAgICAgIGhlaWdodDogM3JlbTtcclxuICAgICAgICAgIG1hcmdpbi1yaWdodDogMS41cmVtO1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmX190aXRsZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDJyZW07XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc1cmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmFjY29yZGlvbl9fYnV0dG9uLWljb24tLW9wZW4ge1xyXG4gICAgICAgIHJpZ2h0OiAxLjVyZW07XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcclxuICAgICAgICAgIHJpZ2h0OiAxcmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJi5jcGMtZHMtYWNjb3JkaW9ucy1leHBhbmRlci0tYWN0aXZlIHtcclxuICAgICAgICAuYWNjb3JkaW9uX19idXR0b24taWNvbi0tb3BlbiB7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDE4MGRlZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICB1bC5jcGMtZHMtbGlzdCB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAxMDAlIHdpZHRoIGZvciBhY2NvcmRpb24gaW5zaWRlIGNvbnRlbnQgc2luY2UgY29udGVudCBibG9jayBhbHJlYWR5IGhhcyA3NSUgd2lkdGggaW4gdGFibGV0XHJcbi5jcGMtY2JfX2NvbnRlbnQge1xyXG4gIC5jcGMtZHMtYWNjb3JkaW9ucyB7XHJcbiAgICAmLmNwYy1kcy1hY2NvcmRpb25zX19zdGFuZGFsb25lIHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xyXG4gICAgICAgICY6bm90KC5jcGMtZHMtYWNjb3JkaW9uc19fdGlsZXMpIHtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKipcclxuIENvbnRyb2wgRXhwYW5kIENvbGxhcHNlIFxyXG4qKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLmFjY29yZGlvbl9fY29udHJvbHMge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuXHJcbiAgLmFjY29yZGlvbl9fY29udHJvbHMtLWhlYWRpbmcge1xyXG4gICAgZmxleDogMSAwIDEwMCU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gIH1cclxufVxyXG5cclxuLmFjY29yZGlvbi0tZXhwYW5kLWNsb3NlLWFsbCB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmNwYy1kcy1hY2NvcmRpb25fX2NvbnRyb2xzLS1hY3RpdmUge1xyXG4gIC5hY2NvcmRpb24tLWV4cGFuZC1jbG9zZS1hbGwge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG5cclxuICAuYWNjb3JkaW9uLS1leHBhbmQtb3Blbi1hbGwge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqIFxyXG4gIEFjY29yZGlvbiBSb3cgXHJcbioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4uY3BjLWRzLWFjY29yZGlvbiB7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjcGMtZ3JleS01MDtcclxuICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgZWFzZS1pbi1vdXQ7XHJcblxyXG4gICY6bGFzdC1vZi10eXBlIHtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY3BjLWdyZXktNTA7XHJcbiAgfVxyXG5cclxuICAmX190aXRsZSB7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgZm9udC1zdHJldGNoOiBub3JtYWw7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICBsaW5lLWhlaWdodDogMS41cmVtO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xyXG4gICAgY29sb3I6ICRjcGMtZ3JleS0yMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxuXHJcbiAgJl9fYnV0dG9uIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgcGFkZGluZzogMXJlbSAzLjVyZW0gMXJlbSAxcmVtO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG5cclxuICAgICZbZGF0YS1hY3RpdmF0ZWQtdmlhPSdrZXlib2FyZCddIHtcclxuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4xMjVyZW0gJHdoaXRlLCAwIDAgMCAwLjI1cmVtICRjcGMtZ2xhY2llci1ibHVlLTUwO1xyXG4gICAgfVxyXG5cclxuICAgICYtLWV4cGFuZC1hbGwge1xyXG4gICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xyXG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XHJcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcclxuICAgICAgY29sb3I6ICRjcGMtYmx1ZS01MDtcclxuICAgICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMXB4O1xyXG4gICAgICBvdXRsaW5lOiBub25lO1xyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xyXG4gICAgICAgIG1pbi13aWR0aDogNS4yNXJlbSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmW2RhdGEtYWN0aXZhdGVkLXZpYT0na2V5Ym9hcmQnXTpmb2N1cyB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4xMjVyZW0gJHdoaXRlLCAwIDAgMCAwLjI1cmVtICRjcGMtZ2xhY2llci1ibHVlLTUwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19saXN0IHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgICAmOm5vdCgubGVnYWwpIHtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgdG9wOiAwLjYyNXJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJi5sZWdhbCB7XHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgIHRvcDogMC4zNzVyZW0gIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5jcGMtZHMtYWNjb3JkaW9uIHtcclxuICAgICAgICBwLFxyXG4gICAgICAgIHVsIGxpLFxyXG4gICAgICAgIG9sIGxpLFxyXG4gICAgICAgIHNwYW46bm90KC5zdGFuZGFsb25lX19leHRlcm5hbCk6bm90KC5jcGMtZHMtbGlua19fZXh0ZXJuYWwpOm5vdCguc3RhbmRhbG9uZV9faW50ZXJuYWwpOm5vdCguY3BjLWRzLWxpbmtfX3BkZikge1xyXG4gICAgICAgICAgY29sb3I6ICRjcGMtZ3JleS0zMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgLmNwYy1kcy1hY2NvcmRpb24ge1xyXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2NvbnRlbnQge1xyXG4gICAgbWF4LWhlaWdodDogMDtcclxuICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS10cmFuc2l0aW9uLXNwZWVkKSBlYXNlLWluLW91dDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgJi0taW5uZXIge1xyXG4gICAgICBwYWRkaW5nOiAwIDFyZW07XHJcbiAgICB9XHJcblxyXG4gICAgcCB7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgY29sb3I6ICRjcGMtZ3JleS0zMDtcclxuXHJcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbSAwIDFyZW0gMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDFyZW0gMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNwYy1kcy1hY2NvcmRpb25zLWV4cGFuZGVyLS1hY3RpdmUge1xyXG4gIC5jcGMtZHMtYWNjb3JkaW9uX190aXRsZSB7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gIH1cclxuXHJcbiAgLmFjY29yZGlvbl9fYnV0dG9uLWljb24tLW9wZW4ge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqXHJcbiBBY2NvcmRpb24gQnV0dG9ucyBcclxuKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmFjY29yZGlvbl9fYnV0dG9uLWljb24tLW9wZW4ge1xyXG4gIHdpZHRoOiAxcmVtO1xyXG4gIGhlaWdodDogMXJlbTtcclxuICBiYWNrZ3JvdW5kOiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9pbWcvaWNvbnMvY2hldnJvbi1kb3duLWdyZXkuc3ZnJyk7XHJcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXRyYW5zaXRpb24tc3BlZWQpIGVhc2UtaW4tb3V0O1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgcmlnaHQ6IDFyZW07XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMS4yNXJlbTtcclxufVxyXG5cclxuLmNwYy1hY2NvcmRpb24tb3V0cm8ge1xyXG4gIG1hcmdpbi10b3A6IDEuNXJlbTtcclxuICBtYXgtd2lkdGg6IDQ4LjY4NzVyZW07XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcclxuICAgIG1heC13aWR0aDogdW5zZXQ7XHJcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAwLjVyZW0pO1xyXG4gIH1cclxufVxyXG4iLCIvKipcbkNQQyBEUyBicmVhZGJydW1ic1xuKiovXG4uY3BjLWRzLWJyZWFkY3J1bWIge1xuICAmLFxuICAmX19hbHQge1xuICAgICYgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICByb3ctZ2FwOiAwLjVyZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgJiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAmOmxhc3QtY2hpbGQgYSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgJiBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XG4gICAgICAgICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICAgICAgICB3aWR0aDogMXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMTI1cmVtICR3aGl0ZSxcbiAgICAgICAgICAgICAgMCAwIDAgMC4yNXJlbSAkY3BjLWdsYWNpZXItYmx1ZS01MDtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMTI1cmVtO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICY6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gICAgICAgICAgICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gICYge1xuICAgICYgdWwgbGkge1xuICAgICAgY29sb3I6ICRjcGMtYmx1ZS01MDtcbiAgICAgICYgYSB7XG4gICAgICAgIGNvbG9yOiAkY3BjLWJsdWUtNTA7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9pbWcvaWNvbnMvbGluay1jaGV2cm9uLWRlZmF1bHQuc3ZnJylcbiAgICAgICAgICAgIG5vLXJlcGVhdCBjZW50ZXIgYm90dG9tIC8gMXJlbSAxcmVtO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkY3BjLWJsdWUtMzA7XG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcvY3BjL2Fzc2V0cy9jcGMvaW1nL2ljb25zL2xpbmstY2hldnJvbi1ob3Zlci5zdmcnKVxuICAgICAgICAgICAgICBuby1yZXBlYXQgY2VudGVyIGJvdHRvbSAvIDFyZW0gMXJlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJl9fYWx0IHtcbiAgICAmIHVsIGxpIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAmIGEge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcvY3BjL2Fzc2V0cy9jcGMvaW1nL2ljb25zL2JyZWFkY3J1bWItYXJyb3ctd2hpdGUuc3ZnJylcbiAgICAgICAgICAgIG5vLXJlcGVhdCBjZW50ZXIgLyAwLjM3NXJlbSAwLjYyNXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyoqXHJcbkNQQyBEUyBidXR0b25zXHJcbioqL1xyXG5cclxuLy8gTWFpbiBCdXR0b25cclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5pbnB1dFt0eXBlPSdidXR0b24nXSxcclxuaW5wdXRbdHlwZT0ncmVzZXQnXSxcclxuaW5wdXRbdHlwZT0nc3VibWl0J10sXHJcbmJ1dHRvbixcclxuLmJ1dHRvbixcclxuYS5idXR0b24sXHJcbmFbcm9sZT0nbGluayddLmJ1dHRvbixcclxuYVtyb2xlPSdidXR0b24nXS5idXR0b24ge1xyXG4gIGJvcmRlci1yYWRpdXM6IDZyZW07XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XHJcbiAgb3V0bGluZTogbm9uZTtcclxuICB3aWR0aDogMTAwJTtcclxuICBtaW4td2lkdGg6IDcuNXJlbTtcclxuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgJjpub3QoLnNtKSB7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICBsaW5lLWhlaWdodDogMS41cmVtO1xyXG4gIH1cclxuXHJcbiAgJi5zbSB7XHJcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XHJcbiAgfVxyXG5cclxuICAvLyBTZWNvbmRhcnkgQnV0dG9uXHJcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG4gIC8vICYuc2Vjb25kYXJ5IHtcclxuICAvLyAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIC8vICAgY29sb3I6ICRjcGMtYmx1ZS0yMDtcclxuXHJcbiAgLy8gICAmOmhvdmVyLFxyXG4gIC8vICAgJjpmb2N1cyB7XHJcbiAgLy8gICAgIGNvbG9yOiAkY3BjLWJsdWUtMzA7XHJcbiAgLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICRjcGMtZ2xhY2llci1ibHVlLTkwO1xyXG4gIC8vICAgfVxyXG5cclxuICAvLyAgICY6Zm9jdXMge1xyXG4gIC8vICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjEyNXJlbSAkd2hpdGUsIDAgMCAwIDAuMjVyZW0gJGNwYy1nbGFjaWVyLWJsdWUtNTA7XHJcbiAgLy8gICAgICY6bm90KDpmb2N1cy12aXNpYmxlKSB7XHJcbiAgLy8gICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAvLyAgICAgfVxyXG4gIC8vICAgfVxyXG4gIC8vIH1cclxuXHJcbiAgLy8gQWx0ZXJuYXRpdmUgQnV0dG9uIGZvciBkaWZmZXJlbnQgY29sb3VyZWQgYmFja2dyb3VuZHNcclxuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXHJcbiAgLy8gJi5wcmltYXJ5LmFsdCB7XHJcbiAgLy8gICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgLy8gICBjb2xvcjogJGNwYy1ibHVlLTUwO1xyXG4gIC8vICAgYm9yZGVyOiAwLjEyNXJlbSBzb2xpZCAkd2hpdGU7XHJcblxyXG4gIC8vICAgJjpob3ZlcixcclxuICAvLyAgICY6Zm9jdXMge1xyXG4gIC8vICAgICBjb2xvcjogJGNwYy1ibHVlLTMwO1xyXG4gIC8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvcjogJHdoaXRlLCAkYWxwaGE6IDAuOCk7XHJcbiAgLy8gICAgIGJvcmRlcjogMC4xMjVyZW0gc29saWQgcmdiYSgkY29sb3I6ICR3aGl0ZSwgJGFscGhhOiAwLjgpO1xyXG4gIC8vICAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xyXG4gIC8vICAgfVxyXG5cclxuICAvLyAgICZbZGF0YS1hY3RpdmF0ZWQtdmlhPSdrZXlib2FyZCddOmZvY3VzIHtcclxuICAvLyAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4xMjVyZW0gJGNwYy1nbGFjaWVyLWJsdWUtNTAsIDAgMCAwIDAuMjVyZW0gJHdoaXRlO1xyXG4gIC8vICAgfVxyXG4gIC8vIH1cclxuXHJcbiAgLy8gJi5zZWNvbmRhcnkuYWx0IHtcclxuICAvLyAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIC8vICAgY29sb3I6ICR3aGl0ZTtcclxuICAvLyAgIGJvcmRlcjogMC4xMjVyZW0gc29saWQgJHdoaXRlO1xyXG5cclxuICAvLyAgICY6aG92ZXIsXHJcbiAgLy8gICAmOmZvY3VzIHtcclxuICAvLyAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3I6ICRibGFjaywgJGFscGhhOiAwLjIpO1xyXG4gIC8vICAgfVxyXG5cclxuICAvLyAgICZbZGF0YS1hY3RpdmF0ZWQtdmlhPSdrZXlib2FyZCddOmZvY3VzIHtcclxuICAvLyAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4xMjVyZW0gJGNwYy1nbGFjaWVyLWJsdWUtNTAsIDAgMCAwIDAuMjVyZW0gJHdoaXRlO1xyXG4gIC8vICAgfVxyXG4gIC8vIH1cclxuXHJcbiAgLy9mb3VuZGF0aW9uICBjb2xvciBvdmVycmlkZXNcclxuICAmLnN1Y2Nlc3Mge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXNzLWdyZWVuO1xyXG4gIH1cclxuXHJcbiAgJi53YXJuaW5nIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzdW5ueS15ZWxsb3c7XHJcbiAgfVxyXG5cclxuICAmLmFsZXJ0IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjcGMtcmVkLTUwO1xyXG4gIH1cclxuXHJcbiAgLy8gIExpbmsgQnV0dG9uXHJcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5cclxuICAmLnRleHQtYnV0dG9uLFxyXG4gICYubGluayB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlcjogMCBub25lO1xyXG4gICAgY29sb3I6ICRtaWQtYmx1ZTtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMS41cmVtO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcblxyXG4gICAgJjpob3ZlcixcclxuICAgICY6Zm9jdXMge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgY29sb3I6ICRtaWQtYmx1ZTtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5idXR0b25bcm9sZT0nbGluayddLFxyXG4uYnV0dG9uLFxyXG5hLmJ1dHRvbixcclxuYVtyb2xlPSdsaW5rJ10uYnV0dG9uLFxyXG5hW3JvbGU9J2J1dHRvbiddLmJ1dHRvbiB7XHJcbiAgJjpub3QoLmxnKTpub3QoLm1kKTpub3QoLnNtKSB7XHJcbiAgICBwYWRkaW5nOiAwLjVyZW0gMS41cmVtO1xyXG4gIH1cclxuXHJcbiAgJi5sZyB7XHJcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAxLjVyZW07XHJcbiAgfVxyXG5cclxuICAmLm1kIHtcclxuICAgIHBhZGRpbmc6IDAuNXJlbSAxLjI1cmVtO1xyXG4gIH1cclxuXHJcbiAgJi5zbSB7XHJcbiAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcclxuICB9XHJcblxyXG4gICYucHJpbWFyeSxcclxuICAmOm5vdCguYWx0KSB7XHJcbiAgICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICRjcGMtYmx1ZS01MDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjcGMtYmx1ZS01MDtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcblxyXG4gICAgJjpob3ZlcixcclxuICAgICY6Zm9jdXMge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3BjLWJsdWUtMjA7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgfVxyXG5cclxuICAgICZbZGF0YS1hY3RpdmF0ZWQtdmlhPSdrZXlib2FyZCddIHtcclxuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4xMjVyZW0gJHdoaXRlLCAwIDAgMCAwLjI1cmVtICRjcGMtZ2xhY2llci1ibHVlLTQwO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3BjLWJsdWUtNTA7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuYWx0IHtcclxuICAgIGJvcmRlcjogMC4xMjVyZW0gc29saWQgJHdoaXRlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgY29sb3I6ICRjcGMtYmx1ZS0yMDtcclxuXHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcclxuICAgICAgYm9yZGVyOiAwLjEyNXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICB9XHJcblxyXG4gICAgJltkYXRhLWFjdGl2YXRlZC12aWE9J2tleWJvYXJkJ10ge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIGJvcmRlcjogMC4xMjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIH1cclxuXHJcbiAgJi5hbHRbZGF0YS1hY3RpdmF0ZWQtdmlhPSdrZXlib2FyZCddIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAyO1xyXG5cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB3aWR0aDogY2FsYygxMDAlICsgMC44cmVtKTtcclxuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAwLjgxMjVyZW0pO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogLTAuNHJlbTtcclxuICAgICAgbGVmdDogLTAuNHJlbTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogNnJlbTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgIGJvcmRlcjogMC4xMjVyZW0gc29saWQgJHdoaXRlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5zZWNvbmRhcnksXHJcbiAgJi5vdXRsaW5lIHtcclxuICAgICY6bm90KC5hbHQpIHtcclxuICAgICAgYm9yZGVyOiAwLjEyNXJlbSBzb2xpZCAkY3BjLWJsdWUtNTA7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICBjb2xvcjogJGNwYy1ibHVlLTIwO1xyXG5cclxuICAgICAgJjpob3ZlcixcclxuICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNwYy1nbGFjaWVyLWJsdWUtMTAwO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgIGNvbG9yOiAkY3BjLWJsdWUtMjA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICZbZGF0YS1hY3RpdmF0ZWQtdmlhPSdrZXlib2FyZCddIHtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjEyNXJlbSAkd2hpdGUsIDAgMCAwIDAuMjVyZW0gJGNwYy1nbGFjaWVyLWJsdWUtNDA7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5hbHQge1xyXG4gICAgICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICR3aGl0ZTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGNvbG9yOiAkd2hpdGU7XHJcblxyXG4gICAgICAmOmhvdmVyLFxyXG4gICAgICAmOmZvY3VzIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICZbZGF0YS1hY3RpdmF0ZWQtdmlhPSdrZXlib2FyZCddIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICR3aGl0ZTtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYudGVydGlhcnksXHJcbiAgJi50cmFuc3BhcmVudCB7XHJcbiAgICAmOm5vdCguYWx0KSB7XHJcbiAgICAgIGJvcmRlcjogMC4xMjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICBjb2xvcjogJGNwYy1ibHVlLTIwO1xyXG5cclxuICAgICAgJjpob3ZlcixcclxuICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNwYy1nbGFjaWVyLWJsdWUtMTAwO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmW2RhdGEtYWN0aXZhdGVkLXZpYT0na2V5Ym9hcmQnXSB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4xMjVyZW0gJHdoaXRlLCAwIDAgMCAwLjI1cmVtICRjcGMtZ2xhY2llci1ibHVlLTQwO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmFsdCB7XHJcbiAgICAgIGJvcmRlcjogMC4xMjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICBjb2xvcjogJHdoaXRlO1xyXG5cclxuICAgICAgJjpob3ZlcixcclxuICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmW2RhdGEtYWN0aXZhdGVkLXZpYT0na2V5Ym9hcmQnXSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgYm9yZGVyOiAwLjEyNXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vICBBbmNob3IgbGlua3NcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5hIHtcclxuICBjb2xvcjogJGNwYy1ibHVlLTUwO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHJcbiAgJjpob3ZlcixcclxuICAmOmZvY3VzIHtcclxuICAgIGNvbG9yOiAkY3BjLWJsdWUtNTA7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICB9XHJcblxyXG4gICYubWljcm9hY3Rpb24ge1xyXG4gICAgY29sb3I6ICRjcGMtYmx1ZS01MDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgfVxyXG5cclxuICAmLm1pY3JvYWN0aW9uLmNvcHkge1xyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogdXJsKCcvY3BjL2Fzc2V0cy9jcGMvaW1nL2ljb25zL21pY3JvYWN0aW9uLWljb24tZGVmYXVsdC5zdmcnKTtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHRvcDogM3B4O1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXI6OmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IHVybCgnL2NwYy9hc3NldHMvY3BjL2ltZy9pY29ucy9taWNyb2FjdGlvbi1pY29uLWhvdmVyLnN2ZycpO1xyXG4gICAgfVxyXG5cclxuICAgICY6Zm9jdXM6OmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IHVybCgnL2NwYy9hc3NldHMvY3BjL2ltZy9pY29ucy9taWNyb2FjdGlvbi1pY29uLWhvdmVyLnN2ZycpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gIENvbnRlbnQgYmxvY2sgYnV0dG9uXHJcbi5jcGMtZmJfX2NvbnRlbnQge1xyXG4gIGEuYnV0dG9uIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcblxyXG4gICAgJi5wcmltYXJ5Lm1vYmlsZS1tYXJnaW4ge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcblxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHVuc2V0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLyoqXHJcbkNQQyBEUyBMaW5rc1xyXG4qKi9cclxuXHJcbmEsXHJcbmFbcm9sZT0nYnV0dG9uJ10sXHJcbmFbcm9sZT0nbGluayddLFxyXG4uY3BjLWRzLWxpbmsge1xyXG4gIGNvbG9yOiAkY3BjLWJsdWUtNTA7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIGJvcmRlci1yYWRpdXM6IDFweDtcclxuICBvdXRsaW5lOiAwO1xyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gIH1cclxuXHJcbiAgJjpob3ZlcixcclxuICAmOmZvY3VzIHtcclxuICAgIGNvbG9yOiAjMDAxYjc2O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgfVxyXG5cclxuICAmLmFuY2hvci1mb290bm90ZSB7XHJcbiAgICBsaW5lLWhlaWdodDogMTAwJTtcclxuXHJcbiAgICAmOmZvY3VzLFxyXG4gICAgJltkYXRhLWFjdGl2YXRlZC12aWE9J2tleWJvYXJkJ106Zm9jdXMsXHJcbiAgICAmW2RhdGEtYWN0aXZhdGVkLXZpYT0nbW91c2UnXTpmb2N1cyB7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMTI1cmVtICR3aGl0ZSwgMCAwIDAgMC4yNXJlbSAkY3BjLWdsYWNpZXItYmx1ZS01MDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZbZGF0YS1hY3RpdmF0ZWQtdmlhPSdrZXlib2FyZCddOmZvY3VzIHtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMTI1cmVtICR3aGl0ZSwgMCAwIDAgMC4yNXJlbSAkY3BjLWdsYWNpZXItYmx1ZS01MDtcclxuXHJcbiAgICAuc3RhbmRhbG9uZV9fZXh0ZXJuYWwge1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5pbmxpbmU6bm90KC5zdGFuZGFsb25lKSB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgJjpub3QoLnN0YW5kYWxvbmUpIHtcclxuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxuICB9XHJcblxyXG4gIC8vIHN0YW5kYWxvbmVcclxuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXHJcbiAgJi5zdGFuZGFsb25lIHtcclxuICAgICZbZGF0YS1hY3RpdmF0ZWQtdmlhPSdrZXlib2FyZCddOmZvY3VzIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIC5zdGFuZGFsb25lX19pbnRlcm5hbCB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICBtYXgtaGVpZ2h0OiAxLjVyZW07XHJcbiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuXHJcbiAgICAgIHN1cCB7XHJcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogdXJsKCcvY3BjL2Fzc2V0cy9jcGMvaW1nL2ljb25zL2xpbmstY2hldnJvbi1kZWZhdWx0LnN2ZycpO1xyXG4gICAgICAgIHBhZGRpbmc6IDJweCAwIDAgMnB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnN0YW5kYWxvbmVfX2V4dGVybmFsIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcclxuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgIG1heC1oZWlnaHQ6IDEuNXJlbTtcclxuICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IHVybCgnL2NwYy9hc3NldHMvY3BjL2ltZy9pY29ucy9leHRlcm5hbC1saW5rLWRlZmF1bHQuc3ZnJyk7XHJcbiAgICAgICAgcGFkZGluZzogMnB4IDAgMCA0cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgLnN0YW5kYWxvbmVfX2ludGVybmFsIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgY29udGVudDogdXJsKCcvY3BjL2Fzc2V0cy9jcGMvaW1nL2ljb25zL2xpbmstY2hldnJvbi1ob3Zlci5zdmcnKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5zdGFuZGFsb25lX19leHRlcm5hbCB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblxyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgIGNvbnRlbnQ6IHVybCgnL2NwYy9hc3NldHMvY3BjL2ltZy9pY29ucy9leHRlcm5hbC1saW5rLWhvdmVyLnN2ZycpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5pbWFnZSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgfVxyXG5cclxuICAvLyBleHRlcm5hbFxyXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cclxuICAmOm5vdCgubWljcm9hY3Rpb24pOm5vdCguYnV0dG9uKVt0YXJnZXQ9J19ibGFuayddLFxyXG4gICYuc2Vjb25kYXJ5Om5vdCgubWljcm9hY3Rpb24pW3RhcmdldD0nX2JsYW5rJ10ge1xyXG4gICAgLmNwYy1kcy1saW5rX19leHRlcm5hbCB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICBtYXgtaGVpZ2h0OiAxLjVyZW07XHJcbiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuXHJcbiAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9pbWcvaWNvbnMvZXh0ZXJuYWwtbGluay1kZWZhdWx0LnN2ZycpO1xyXG4gICAgICAgIHBhZGRpbmc6IDJweCAwIDAgNHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciAuY3BjLWRzLWxpbmtfX2V4dGVybmFsOjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6IHVybCgnL2NwYy9hc3NldHMvY3BjL2ltZy9pY29ucy9leHRlcm5hbC1saW5rLWhvdmVyLnN2ZycpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gYmFjayB0byB0b3BcclxuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXHJcbiAgJi5iYWNrLXRvLXRvcCB7XHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvY3BjL2Fzc2V0cy9jcGMvaW1nL2ljb25zL2JhY2stdG8tdG9wLWxpbmstaWNvbi5zdmcnKTtcclxuICAgICAgYmFja2dyb3VuZC1zaXplOiAxcmVtIDFyZW07XHJcbiAgICAgIHdpZHRoOiAxcmVtO1xyXG4gICAgICBoZWlnaHQ6IDFyZW07XHJcbiAgICAgIG1hcmdpbjogMCAwLjI1cmVtIDAuMjVyZW0gMDtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gUERGIExpbmtzXHJcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG4gIC5jcGMtZHMtbGlua19fcGRmIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcclxuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgbWF4LWhlaWdodDogMS41cmVtO1xyXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6IHVybCgnL2NwYy9hc3NldHMvY3BjL2ltZy9pY29ucy9wZGYtbGluay1pY29uLnN2ZycpO1xyXG4gICAgICB3aWR0aDogMXJlbTtcclxuICAgICAgaGVpZ2h0OiAxcmVtO1xyXG4gICAgICBtYXJnaW46IDAgMC4yNXJlbSAwLjI1cmVtIDAuMjVyZW07XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuY3BjLWRzLWRldGFpbHMge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuYS5idXR0b24sXHJcbmFbcm9sZT0nbGluayddLmJ1dHRvbixcclxuYVtyb2xlPSdidXR0b24nXS5idXR0b24ge1xyXG4gIC5jcGMtZHMtbGlua19fZXh0ZXJuYWwge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xyXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XHJcblxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9pbWcvaWNvbnMvZXh0ZXJuYWwtbGluay13aGl0ZS5zdmcnKTtcclxuICAgICAgcGFkZGluZzogMnB4IDAgMCA0cHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBsaW5rIGdyb3VwXHJcbi5saW5rLWdyb3VwICsgLmxpbmstZ3JvdXAge1xyXG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcclxufVxyXG4iLCIvKiBcclxuRG8gbm90IGRlbGV0ZSB0aGUgZm9sbG93aW5nIGNvbW1lbnQuIEl0IGlzIGVzc2VudGlhbCBmb3IgdHJhY2tpbmcgcHVycG9zZXMuXHJcbiNNZXJjMjAyMURvTm90RGVsZXRlIFxyXG4qL1xyXG5cclxuLmNwYy1jb250cm9sLXNlbGVjdCxcclxuLmRzLWNwYy1jb250cm9sLXNlbGVjdF9fdHBsIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1heC13aWR0aDogNDY4cHg7XHJcbiAgbWFyZ2luLXRvcDogNHB4O1xyXG5cclxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgbWluLXdpZHRoOiAxMDAlO1xyXG4gICAgY29sb3I6ICRjcGMtZ3JleS0zMDtcclxuICB9XHJcbn1cclxuXHJcbi5pbnB1dC1lcnJvci1kcm9wZG93biB7XHJcbiAgbWF4LXdpZHRoOiA0NjhweCAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbi10b3A6IC0xcmVtO1xyXG5cclxuICAmLmlucHV0LWVycm9yIHtcclxuICAgIHBhZGRpbmctbGVmdDogNDBweDtcclxuICAgIGhlaWdodDogdW5zZXQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gIH1cclxufVxyXG5cclxuLmRzLWNwYy1jb250cm9sLXNlbGVjdF9fdHBsIHtcclxuICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvaWNvbnMvZHJvcGRvd24tY2hldnJvbi5zdmcnKSByaWdodCA1MCUgbm8tcmVwZWF0O1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb24teDogOTclO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICBib3JkZXI6IDFweCBzb2xpZCAkY3BjLWdyZXktNTA7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgJi5lcnJvciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICB9XHJcbn1cclxuXHJcbi5jcGMtY29udHJvbC1zZWxlY3Qge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4vKiBzbWFydHBob25lcywgdG91Y2hzY3JlZW5zICovXHJcbkBtZWRpYSAoaG92ZXI6IG5vbmUpIGFuZCAocG9pbnRlcjogY29hcnNlKSB7XHJcbiAgLmNwYy1jb250cm9sLXNlbGVjdCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgLmRzLWNwYy1jb250cm9sLXNlbGVjdF9fdHBsIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxufVxyXG5cclxuLmNwYy1jb250cm9sLXNlbGVjdC5kaXNhYmxlZCAuY3BjLWNvbnRyb2wtc2VsZWN0X190b2dnbGUge1xyXG4gIGJvcmRlcjogc29saWQgMXB4ICRjcGMtZ3JleS01MDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3BjLWdyZXktMTAwO1xyXG4gIGNvbG9yOiAkY3BjLWdyZXktMzA7XHJcbn1cclxuXHJcbi5jcGMtY29udHJvbC1zZWxlY3QuZGlzYWJsZWQgLmNwYy1jb250cm9sLXNlbGVjdF9fdG9nZ2xlOmhvdmVyLFxyXG4uY3BjLWNvbnRyb2wtc2VsZWN0LmRpc2FibGVkIC5jcGMtY29udHJvbC1zZWxlY3RfX3RvZ2dsZTpmb2N1cyB7XHJcbiAgb3V0bGluZTogbm9uZTtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XHJcbiAgLW1vei1ib3gtc2hhZG93OiBub25lO1xyXG4gIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgYm9yZGVyOiBzb2xpZCAxcHggJGNwYy1ncmV5LTUwO1xyXG59XHJcblxyXG4uY3BjLWNvbnRyb2wtc2VsZWN0LmRpc2FibGVkXHJcbiAgLmNwYy1jb250cm9sLXNlbGVjdF9fdG9nZ2xlXHJcbiAgLmNwYy1jb250cm9sLXNlbGVjdF9fdG9nZ2xlLWluZGljYXRvciB7XHJcbiAgYm9yZGVyLXRvcC1jb2xvcjogJGNwYy1ncmV5LTYwO1xyXG59XHJcblxyXG4uY3BjLWNvbnRyb2wtc2VsZWN0IGJ1dHRvbi5jcGMtY29udHJvbC1zZWxlY3RfX3RvZ2dsZSB7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IHVuc2V0O1xyXG4gIGNvbG9yOiAkY3BjLWdyZXktMzA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBtYXgtaGVpZ2h0OiA0NHB4O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICBib3JkZXI6IHNvbGlkIDFweCAkY3BjLWdyZXktNTA7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICBwYWRkaW5nOiAxMHB4IDE2cHggIWltcG9ydGFudDtcclxuICBtYXgtd2lkdGg6IDQ2OHB4O1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG5cclxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHtcclxuICAgIG1heC13aWR0aDogdW5zZXQ7XHJcbiAgfVxyXG59XHJcblxyXG4uY3BjLWNvbnRyb2wtc2VsZWN0IGJ1dHRvbi5jcGMtY29udHJvbC1zZWxlY3RfX3RvZ2dsZTpmb2N1cyB7XHJcbiAgb3V0bGluZTogbm9uZTtcclxuICBib3JkZXI6IDJweCBzb2xpZCAkY3BjLWdsYWNpZXItYmx1ZS01MDtcclxuICBib3gtc2hhZG93OiBub25lO1xyXG59XHJcblxyXG4uY3BjLWNvbnRyb2wtc2VsZWN0IGJ1dHRvbi5jcGMtY29udHJvbC1zZWxlY3RfX3RvZ2dsZS5lcnJvcixcclxuLmRzLWNwYy1jb250cm9sLXNlbGVjdF9fdHBsLmVycm9yIHtcclxuICBib3JkZXI6IDFweCBzb2xpZCAkY3BjLXJlZC01MDtcclxuICBjb2xvcjogJGNwYy1ncmV5LTUwO1xyXG59XHJcblxyXG4uY3BjLWNvbnRyb2wtc2VsZWN0IGJ1dHRvbi5jcGMtY29udHJvbC1zZWxlY3RfX3RvZ2dsZS5lcnJvcjpmb2N1cyxcclxuLmRzLWNwYy1jb250cm9sLXNlbGVjdF9fdHBsLmVycm9yOmZvY3VzIHtcclxuICBvdXRsaW5lOiBub25lO1xyXG4gIGJvcmRlcjogMnB4IHNvbGlkICRjcGMtcmVkLTUwO1xyXG59XHJcblxyXG4uY3BjLWNvbnRyb2wtc2VsZWN0IGJ1dHRvbi5jcGMtY29udHJvbC1zZWxlY3RfX3RvZ2dsZSA+IHNwYW46Zmlyc3QtY2hpbGQge1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxufVxyXG5cclxuLmNwYy1jb250cm9sLXNlbGVjdFxyXG4gIGJ1dHRvbi5jcGMtY29udHJvbC1zZWxlY3RfX3RvZ2dsZVxyXG4gIC5jcGMtY29udHJvbC1zZWxlY3RfX3RvZ2dsZS1pbmRpY2F0b3Ige1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICByaWdodDogMDtcclxuICB0b3A6IDA7XHJcbiAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvaWNvbnMvZHJvcGRvd24tY2hldnJvbi5zdmcnKSBjZW50ZXIgNTAlIG5vLXJlcGVhdDtcclxuICB3aWR0aDogNDRweDtcclxuICBoZWlnaHQ6IDQ0cHg7XHJcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHM7XHJcbiAgYm9yZGVyOiBub25lO1xyXG59XHJcblxyXG4uY3BjLWNvbnRyb2wtc2VsZWN0IC5jcGMtY29udHJvbC1zZWxlY3RfX2NvbWJvOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgd2lkdGg6IDIwcHg7XHJcbn1cclxuXHJcbi5jcGMtY29udHJvbC1zZWxlY3QgLmNwYy1jb250cm9sLXNlbGVjdF9fY29tYm8ge1xyXG4gIC0tc2Nyb2xsYmFyQkc6ICNmZmY7XHJcbiAgLS10aHVtYkJHOiAkY3BjLWdyZXktNjA7XHJcbiAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xyXG4gIHNjcm9sbGJhci1jb2xvcjogdmFyKC0tdGh1bWJCRykgdmFyKC0tc2Nyb2xsYmFyQkcpO1xyXG59XHJcblxyXG4uY3BjLWNvbnRyb2wtc2VsZWN0IC5jcGMtY29udHJvbC1zZWxlY3RfX2NvbWJvOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XHJcbiAgYm9yZGVyOiA1cHggc29saWQgd2hpdGU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbn1cclxuXHJcbi5jcGMtY29udHJvbC1zZWxlY3QgLmNwYy1jb250cm9sLXNlbGVjdF9fY29tYm86Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3BjLWdyZXktNjA7XHJcbiAgYm9yZGVyOiA1cHggc29saWQgd2hpdGU7XHJcbiAgYm9yZGVyLXJhZGl1czogMTAwcHg7XHJcbn1cclxuXHJcbi5jcGMtY29udHJvbC1zZWxlY3QgLmNwYy1jb250cm9sLXNlbGVjdF9fY29tYm8ge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgei1pbmRleDogOTk5OTk5O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gIG92ZXJmbG93OiBhdXRvO1xyXG4gIGhlaWdodDogYXV0bztcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgM3B4IDhweCAwIHJnYmEoMTcsIDE3LCAxNywgMC4xMyk7XHJcbiAgLW1vei1ib3gtc2hhZG93OiAwIDNweCA4cHggMCByZ2JhKDE3LCAxNywgMTcsIDAuMTMpO1xyXG4gIGJveC1zaGFkb3c6IDAgM3B4IDhweCAwIHJnYmEoMTcsIDE3LCAxNywgMC4xMyk7XHJcblxyXG4gICYub3BlbkJlbG93LFxyXG4gICYub3BlblVwIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjcGMtZ3JleS01MDtcclxuICB9XHJcbiAgdWwge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xyXG4gIC5jcGMtY29udHJvbC1zZWxlY3QgLmNwYy1jb250cm9sLXNlbGVjdF9fY29tYm8ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBtaW4td2lkdGg6IDEwMCU7XHJcbiAgfVxyXG59XHJcblxyXG4uY3BjLWNvbnRyb2wtc2VsZWN0LmNwYy1jb250cm9sLXNlbGVjdC0tb3BlbiAuY3BjLWNvbnRyb2wtc2VsZWN0X190b2dnbGU6Zm9jdXMge1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGNwYy1ncmV5LTUwO1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcclxuICAtbW96LWJveC1zaGFkb3c6IG5vbmU7XHJcbiAgYm94LXNoYWRvdzogbm9uZTtcclxufVxyXG5cclxuLmNwYy1jb250cm9sLXNlbGVjdC5jcGMtY29udHJvbC1zZWxlY3QtLW9wZW5cclxuICAuY3BjLWNvbnRyb2wtc2VsZWN0X190b2dnbGUuZXJyb3I6Zm9jdXMsXHJcbi5kcy1jcGMtY29udHJvbC1zZWxlY3RfX3RwbC5jcGMtY29udHJvbC1zZWxlY3QtLW9wZW5cclxuICAuZHMtY3BjLWNvbnRyb2wtc2VsZWN0X190cGxfX3RvZ2dsZS5lcnJvcjpmb2N1cyB7XHJcbiAgb3V0bGluZTogbm9uZTtcclxuICBib3JkZXI6IDJweCBzb2xpZCAkY3BjLXJlZC01MDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XHJcbiAgLW1vei1ib3gtc2hhZG93OiBub25lO1xyXG4gIGJveC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuXHJcbi5jcGMtY29udHJvbC1zZWxlY3QuY3BjLWNvbnRyb2wtc2VsZWN0LS1vcGVuIC5jcGMtY29udHJvbC1zZWxlY3RfX2NvbWJvIHtcclxuICBkaXNwbGF5OiBpbmhlcml0O1xyXG4gIG1heC13aWR0aDogNDY4cHg7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5jcGMtY29udHJvbC1zZWxlY3QuY3BjLWNvbnRyb2wtc2VsZWN0LS1vcGVuXHJcbiAgLmNwYy1jb250cm9sLXNlbGVjdF9fY29tYm8ub3BlbkJlbG93IHtcclxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwcHg7XHJcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBweDtcclxuICBib3JkZXItdG9wOiAwcHg7XHJcbn1cclxuXHJcbi5jcGMtY29udHJvbC1zZWxlY3QuY3BjLWNvbnRyb2wtc2VsZWN0LS1vcGVuIC5jcGMtY29udHJvbC1zZWxlY3RfX2NvbWJvLm9wZW5VcCB7XHJcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMHB4O1xyXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwcHg7XHJcbiAgYm9yZGVyLWJvdHRvbTogMHB4O1xyXG59XHJcblxyXG4uY3BjLWNvbnRyb2wtc2VsZWN0LmNwYy1jb250cm9sLXNlbGVjdC0tb3BlblxyXG4gIGJ1dHRvbi5jcGMtY29udHJvbC1zZWxlY3RfX3RvZ2dsZS5vcGVuQmVsb3cge1xyXG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDBweDtcclxuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDBweDtcclxufVxyXG5cclxuLmNwYy1jb250cm9sLXNlbGVjdC5jcGMtY29udHJvbC1zZWxlY3QtLW9wZW5cclxuICBidXR0b24uY3BjLWNvbnRyb2wtc2VsZWN0X190b2dnbGUub3BlblVwIHtcclxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwcHg7XHJcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBweDtcclxufVxyXG5cclxuLmNwYy1jb250cm9sLXNlbGVjdC5jcGMtY29udHJvbC1zZWxlY3QtLW9wZW5cclxuICBidXR0b24uY3BjLWNvbnRyb2wtc2VsZWN0X190b2dnbGUuZXJyb3Iub3BlbkJlbG93IHtcclxuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwcHg7XHJcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBweDtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNwYy1ncmV5LTUwO1xyXG59XHJcblxyXG4uY3BjLWNvbnRyb2wtc2VsZWN0LmNwYy1jb250cm9sLXNlbGVjdC0tb3BlblxyXG4gIGJ1dHRvbi5jcGMtY29udHJvbC1zZWxlY3RfX3RvZ2dsZS5lcnJvci5vcGVuVXAge1xyXG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDBweDtcclxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMHB4O1xyXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY3BjLWdyZXktNTA7XHJcbn1cclxuXHJcbi5jcGMtY29udHJvbC1zZWxlY3QuY3BjLWNvbnRyb2wtc2VsZWN0LS1vcGVuXHJcbiAgLmNwYy1jb250cm9sLXNlbGVjdF9fdG9nZ2xlLWluZGljYXRvciB7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxufVxyXG5cclxuLmNwYy1jb250cm9sLXNlbGVjdCB1bCB7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZy1sZWZ0OiAwO1xyXG59XHJcblxyXG4uY3BjLWNvbnRyb2wtc2VsZWN0IHVsIGxpIHtcclxuICBwYWRkaW5nOiA4cHggMTBweCA4cHggMTZweDtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIGNvbG9yOiAkY3BjLWdyZXktMzA7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxufVxyXG5cclxuLmNwYy1jb250cm9sLXNlbGVjdCB1bCBsaSBzcGFuIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5cclxuLmNwYy1jb250cm9sLXNlbGVjdCB7XHJcbiAgdWwgbGkge1xyXG4gICAgJi5zZWxlY3RlZCxcclxuICAgICY6Zm9jdXMsXHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJi5zZWxlY3RlZCBzcGFuLFxyXG4gICAgJjpmb2N1cyBzcGFuLFxyXG4gICAgJjpob3ZlciBzcGFuIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNwYy1ibHVlLTkwO1xyXG4gICAgICBjb2xvcjogJGNwYy1ncmV5LTIwO1xyXG4gICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgfVxyXG4gIH1cclxuICAmOmhvdmVyIHVsIGxpLnNlbGVjdGVkIHtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgY29sb3I6ICRjcGMtZ3JleS0zMDtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3BjLWJsdWUtOTA7XHJcbiAgICAgIGNvbG9yOiAkY3BjLWdyZXktMjA7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5zZWxlY3QuY3BjLWNvbnRyb2wtc2VsZWN0X190cGwge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5pbnB1dC1oZWFkaW5nIHtcclxuICBwYWRkaW5nLXRvcDogMC41cmVtO1xyXG59XHJcbiIsIi8qIENQQyBEUyBNb2RhbCAqL1xuLyogXG5EbyBub3QgZGVsZXRlIHRoZSBmb2xsb3dpbmcgY29tbWVudC4gSXQgaXMgZXNzZW50aWFsIGZvciB0cmFja2luZyBwdXJwb3Nlcy5cbiNNZXJjMjAyMURvTm90RGVsZXRlIFxuKi9cblxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubm8tc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteTogYXV0byAhaW1wb3J0YW50O1xufVxuXG4vKiB0aGlzIGlzIGFkZGVkIHRvIHRoZSBib2R5IHdoZW4gYSBkaWFsb2cgaXMgb3BlbiAqL1xuLmhhcy1kaWFsb2cge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBuYXRpdmUgPGRpYWxvZz4gZWxlbWVudCB1c2VzIHRoZSA6OmJhY2tkcm9wIHBzZXVkby1lbGVtZW50ICovXG4vKiBkaWFsb2c6OmJhY2tkcm9wLCAqL1xuLmRpYWxvZy1iYWNrZHJvcCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTcsIDE3LCAxNywgMC43NSk7XG4gICAgei1pbmRleDogMjtcbiAgfVxuXG4gICYuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vKiBEaWFsb2cgKi9cbi5kZWZhdWx0X2RpYWxvZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbn1cbi5tb2RhbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBwYWRkaW5nOiA0MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDNweCA4cHggMCByZ2JhKDE3LCAxNywgMTcsIDAuMTMpO1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgcGFkZGluZzogMTZweDtcbiAgICAuY2xvc2VidG4ge1xuICAgICAgbWluLXdpZHRoOiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgICBtYXgtd2lkdGg6IDE2cHggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogY2FsYygxMDAlIC0gKDY0cHggKiAyKSk7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICBhbGlnbi1pdGVtczogdW5zZXQ7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgfVxuICAmLmxhcmdlIHtcbiAgICB3aWR0aDogODAlO1xuICAgIG1heC13aWR0aDogNzY4cHg7XG4gICAgbWFyZ2luOiA2NHB4IGF1dG87XG4gIH1cbiAgJi5tZWRpdW0ge1xuICAgIHdpZHRoOiA4MCU7XG4gICAgbWF4LXdpZHRoOiA1NjhweDtcbiAgICBtYXJnaW46IDY0cHggYXV0bztcbiAgfVxuICAmLnNtYWxsIHtcbiAgICB3aWR0aDogODAlO1xuICAgIG1heC13aWR0aDogMzY4cHg7XG4gICAgbWFyZ2luOiA2NHB4IGF1dG87XG4gIH1cblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgJi5zbWFsbCxcbiAgICAmLm1lZGl1bSxcbiAgICAmLmxhcmdlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uZGlhbG9nX2xhYmVsIHtcbiAgZm9udC1mYW1pbHk6IFJvYm90bztcbiAgZm9udC1zaXplOiAyNHB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMzJweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xuICBjb2xvcjogIzExMTExMTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcblxuICBvdXRsaW5lOiBub25lO1xuXG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLXJpZ2h0OiAyNHB4O1xuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDQ4cHg7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjRweDtcbiAgfVxufVxuXG4uZGlhbG9nX2Zvcm1fYWN0aW9ucyB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5kaWFsb2dfZGVzYyB7XG4gIHBhZGRpbmc6IDI0cHggMHB4O1xuICBmb250LWZhbWlseTogUm9ib3RvO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgY29sb3I6ICMzMzMzMzM7XG4gIHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuIiwiLyoqXHJcbkNQQyBEUyBub3RpZmljYXRpb25cclxuKiovXHJcblxyXG4uY3BjLWRzLW5vdGlmaWNhdGlvbiB7XHJcbiAgd2lkdGg6IDUwJTtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBib3JkZXItd2lkdGg6IDFweCAxcHggMXB4IDAuMjVyZW07XHJcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjVyZW07XHJcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMjVyZW07XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xyXG4gICAgd2lkdGg6IDc1JTtcclxuICB9XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBhZGRpbmc6IDIuOTM3NXJlbSAwLjkzNzVyZW0gMC45Mzc1cmVtIDFyZW07XHJcbiAgfVxyXG4gICY6bGFzdC1vZi10eXBlIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgfVxyXG4gICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcclxuICB9XHJcblxyXG4gICYuZGlzbWlzc2libGUge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcclxuICAgICAgcGFkZGluZzogMC45Mzc1cmVtIDMuNDM3NXJlbSAwLjkzNzVyZW0gMy41cmVtO1xyXG4gICAgfVxyXG4gIH1cclxuICAmOm5vdCguZGlzbWlzc2libGUpIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcbiAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAwLjkzNzVyZW0gMC45Mzc1cmVtIDMuNXJlbTtcclxuICAgIH1cclxuICB9XHJcbiAgJiA+IGRpdiA+ICo6bGFzdC1jaGlsZCxcclxuICAmID4gKjpsYXN0LWNoaWxkIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgfVxyXG4gICYgPiBkaXYgPiAqOm5vdCg6bGFzdC1jaGlsZCksXHJcbiAgJlxyXG4gICAgPiAqOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5jcGMtZHMtbm90aWZpY2F0aW9uX19jbG9zZS1idXR0b24pOm5vdCguY3BjLWRzLW5vdGlmaWNhdGlvbl9faWNvbikge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICB9XHJcbiAgJi5pbmZvIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGNwYy1nbGFjaWVyLWJsdWUtNTA7XHJcbiAgICAmLnN0YW5kYXJkIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjlmZjtcclxuICAgIH1cclxuICAgIC5jcGMtZHMtbm90aWZpY2F0aW9uX19pY29uIHtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvY3BjL2Fzc2V0cy9jcGMvaW1nL2ljb25zL25vdGlmaWNhdGlvbi1pbmZvLWljb24uc3ZnJyk7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYuc3VjY2VzcyB7XHJcbiAgICBib3JkZXItY29sb3I6ICRzdWNjZXNzLWdyZWVuO1xyXG4gICAgJi5zdGFuZGFyZCB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGZmZWU7XHJcbiAgICB9XHJcbiAgICAuY3BjLWRzLW5vdGlmaWNhdGlvbl9faWNvbiB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2NwYy9hc3NldHMvY3BjL2ltZy9pY29ucy9ub3RpZmljYXRpb24tc3VjY2Vzcy1pY29uLnN2ZycpO1xyXG4gICAgfVxyXG4gIH1cclxuICAmLndhcm5pbmcge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkd2FybmluZy1vcmFuZ2U7XHJcbiAgICAmLnN0YW5kYXJkIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjVlYjtcclxuICAgIH1cclxuICAgIC5jcGMtZHMtbm90aWZpY2F0aW9uX19pY29uIHtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvY3BjL2Fzc2V0cy9jcGMvaW1nL2ljb25zL25vdGlmaWNhdGlvbi13YXJuaW5nLWljb24uc3ZnJyk7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYuZXJyb3Ige1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkY3BjLXJlZC01MDtcclxuICAgICYuc3RhbmRhcmQge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmMmYyO1xyXG4gICAgfVxyXG4gICAgLmNwYy1kcy1ub3RpZmljYXRpb25fX2ljb24ge1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9pbWcvaWNvbnMvbm90aWZpY2F0aW9uLWVycm9yLWljb24uc3ZnJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmFsdGVybmF0ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG4gICAgJi5wZXJzb25hbCB7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgMC4xMjVyZW0gMC4yNXJlbSByZ2JhKDAsIDAsIDAsIDAuMTIpO1xyXG4gICAgfVxyXG4gICAgJjpub3QoLnBlcnNvbmFsKSB7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgMC4xMjVyZW0gMC4yNXJlbSByZ2JhKDAsIDQ4LCAxMzUsIDAuMTIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9faWNvbiB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDAuOTM3NXJlbTtcclxuICAgIGxlZnQ6IDFyZW07XHJcbiAgICB3aWR0aDogMS41cmVtO1xyXG4gICAgaGVpZ2h0OiAxLjVyZW07XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgbGVmdDogMXJlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2Nsb3NlLWJ1dHRvbiB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIHdpZHRoOiAyLjc1cmVtO1xyXG4gICAgaGVpZ2h0OiAyLjc1cmVtO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIHdpZHRoOiAxcmVtO1xyXG4gICAgICBoZWlnaHQ6IDFyZW07XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMXJlbSAxcmVtO1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9pbWcvaWNvbnMvbm90aWZpY2F0aW9uLWNsb3NlLWljb24uc3ZnJyk7XHJcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxuICAgICY6Zm9jdXMge1xyXG4gICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjEyNXJlbSAkY3BjLWdsYWNpZXItYmx1ZS01MDtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBhIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gIH1cclxuICB1bCB7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG4gICAgbGkge1xyXG4gICAgICBjb2xvcjogIzQzNDM0MztcclxuICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMCAwO1xyXG4gICAgICB9XHJcbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDFyZW0gMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvKiogXG5DUEMgRFMgUGFnaW5hdGlvbiBcbioqL1xuXG4uc2hvdy1mb3Itc3Ige1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG59XG5cbi5wYWdpbmF0aW9uLWJsb2NrIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogNDRweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIC8qIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzMwcHgpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH0gKi9cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbiNwYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDQ0cHg7XG4gIC8qIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGhlaWdodDogYXV0bzsgKi9cbiAgaSB7XG4gICAgd2lkdGg6IDQ0cHg7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9hc3NldHMvaW1ncy9pY29ucy9lbGxpcHNpcy5zdmcpIDUwJSBjZW50ZXIgbm8tcmVwZWF0O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG4gIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG4gIC5wcmV2LWJ1dHRvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIGJ1dHRvbiB7XG4gICAgd2lkdGg6IDQ0cHg7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIG1pbi13aWR0aDogNDRweCAhaW1wb3J0YW50O1xuICAgIG1heC1oZWlnaHQ6IDQ0cHg7XG4gICAgcGFkZGluZzogMTBweCAwICFpbXBvcnRhbnQ7XG5cbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC8qIG1hcmdpbi1yaWdodDogOHB4OyAqL1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cbiAgICBmb250LWZhbWlseTogUm9ib3RvO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogIzMzMztcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCAjMDA0OTkwO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCAjMDA0OTkwLCAwIDAgMCAycHggI2ZmZiwgMCAwIDAgNHB4ICMwNDY3YzY7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgICYuYnkta2V5Ym9hcmQ6Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4ICMwMDQ5OTAgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG5cbiAgICAmLmN1cnJlbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA0NjdjNiAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xuICAgICAgJi5ieS1rZXlib2FyZDpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDBweCAjMDA0OTkwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBEaXNhYmxlZCAqL1xuICAgICY6ZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgICsgYnV0dG9uIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgfVxuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgfVxuICB9XG59XG5cbi5wYWdlaW5hdGlvblRleHQge1xuICBmb250LWZhbWlseTogUm9ib3RvO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgY29sb3I6ICMzMzM7XG5cbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLyogTW9iaWxlICovXG4ubW9iaWxlVGV4dCB7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG87XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICBjb2xvcjogIzMzMztcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi5wYWdpbmF0aW9uVGV4dEZpZWxkIHtcbiAgd2lkdGg6IDYxcHg7XG4gIGhlaWdodDogNDRweDtcbiAgbWFyZ2luOiAwIDEycHggMCAwO1xuICBwYWRkaW5nOiAxMHB4IDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYm9yZGVyOiBzb2xpZCAxcHggIzY2NjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblxuICBmb250LWZhbWlseTogUm9ib3RvO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgY29sb3I6ICMzMzM7XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8qIEhpZGUgdGhlIG51bWJlciBmaWVsZCBhcnJvdyBjb250cm9scyAqL1xuLyogQ2hyb21lLCBTYWZhcmksIEVkZ2UsIE9wZXJhICovXG5pbnB1dC5wYWdpbmF0aW9uVGV4dEZpZWxkOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuaW5wdXQucGFnaW5hdGlvblRleHRGaWVsZDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xufVxuLyogRmlyZWZveCAqL1xuaW5wdXQucGFnaW5hdGlvblRleHRGaWVsZFt0eXBlPSdudW1iZXInXSB7XG4gIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xufVxuXG4ucmVzdWx0c1BlclBhZ2Uge1xuICBmb250LWZhbWlseTogUm9ib3RvO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gIGNvbG9yOiAjMzMzO1xuICBtYXJnaW4tcmlnaHQ6IDBweDtcbiAgbWFyZ2luLWxlZnQ6IDMycHg7XG4gIG1hcmdpbi10b3A6IDI0cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzBweCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgJi5tYXJnaW5SaWdodHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNDRweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbiAgfSAqL1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBsZWZ0OiAwO1xuICB9XG4gIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICBmb250LWZhbWlseTogUm9ib3RvO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG4gIH1cbiAgLmNwYy1jb250cm9sLXNlbGVjdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAzNjhweDtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgcGFkZGluZzogMTFweCAwcHg7XG4gIH1cbiAgLmNwYy1jb250cm9sLXNlbGVjdF9fY29tYm8ge1xuICAgIHdpZHRoOiA3OXB4O1xuICAgIG1pbi13aWR0aDogNzlweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuICBsYWJlbCArIC5jcGMtY29udHJvbC1zZWxlY3Qge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZGVza3RvcCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiA0NHB4O1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8qIElucHV0IGZvY3VzICovXG5pbnB1dFt0eXBlPSdudW1iZXInXTpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG4gIGJvcmRlcjogc29saWQgMXB4ICMwNDY3YzY7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcblxuICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDFweCAxcHggMHB4IDBweCMwNDY3YzYsXG4gICAgaW5zZXQgLTFweCAtMXB4IDBweCAwcHgjMDQ2N2M2O1xuICAtbW96LWJveC1zaGFkb3c6IGluc2V0IDFweCAxcHggMHB4IDBweCMwNDY3YzYsIGluc2V0IC0xcHggLTFweCAwcHggMHB4IzA0NjdjNjtcbiAgYm94LXNoYWRvdzogaW5zZXQgMXB4IDFweCAwcHggMHB4IzA0NjdjNiwgaW5zZXQgLTFweCAtMXB4IDBweCAwcHgjMDQ2N2M2O1xufVxuXG4ubWFyZ2luUmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDI4cHg7XG59XG4iLCIvKipcbi8qIENQQyBEUyB0b2dnbGVcbi8qKlxuXG4vKiBcbkRvIG5vdCBkZWxldGUgdGhlIGZvbGxvd2luZyBjb21tZW50LiBJdCBpcyBlc3NlbnRpYWwgZm9yIHRyYWNraW5nIHB1cnBvc2VzLlxuI01lcmMyMDIxRG9Ob3REZWxldGUgXG4qL1xuXG4vKiBjb250YWluaW5nIGxhYmVsICovXG4udG9nZ2xlVGV4dCB7XG4gIG1hcmdpbi1sZWZ0OiAwcHggIWltcG9ydGFudDtcbiAgbWluLWhlaWdodDogMzJweDtcbiAgaGVpZ2h0OiBhdXRvO1xuXG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBwYWRkaW5nLXRvcDogNHB4O1xufVxuXG5idXR0b24uc3dpdGNoLXRvZ2dsZSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgZm9udC1mYW1pbHk6IFJvYm90bztcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gIGNvbG9yOiAjMzMzMzMzO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgd2hpdGUtc3BhY2U6IHVuc2V0O1xuXG4gICY6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG5cbiAgLyogbmVnYXRlICdmbGFzaCcgb2YgdGV4dCBjb2xvciB3aGVuIHByZXNzaW5nIGEgYnV0dG9uIGluIHNvbWUgYnJvd3NlcnMgKi9cbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG5cbiAgc3BhbiB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDgwcHg7XG4gIH1cbn1cblxuLyogdXNpbmcgdGhlIGJlZm9yZS9hZnRlciBwc2V1ZG8gZWxlbWVudHMgb2YgdGhlIHNwYW4gdG8gY3JlYXRlIHRoZSBcInN3aXRjaFwiICovXG4uc3dpdGNoLXRvZ2dsZV9fdWk6YmVmb3JlLFxuLnN3aXRjaC10b2dnbGVfX3VpOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLyogdG9wOiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgKi9cbiAgdG9wOiAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wJSk7XG59XG5cbi8qIHN0eWxpbmcgc3BlY2lmaWMgdG8gdGhlIGtub2Igb2YgdGhlIHN3aXRjaCAqL1xuLnN3aXRjaC10b2dnbGVfX3VpOmFmdGVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgcmlnaHQ6IDRweDtcbiAgdG9wOiA0cHg7XG4gIHRyYW5zaXRpb246IHJpZ2h0IDAuMTgyNXMgZWFzZS1pbi1vdXQ7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG5cbiAgLyogdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgKi9cbn1cblxuLyogc3R5bGluZyBzcGVjaWZpYyB0byB0aGUga25vYiBcImNvbnRhaW5lclwiICovXG4uc3dpdGNoLXRvZ2dsZV9fdWk6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzg4ODg4ODtcbiAgYm9yZGVyLXJhZGl1czogMS43NWVtO1xuICByaWdodDogMHB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1pbi1vdXQ7XG5cbiAgd2lkdGg6IDU2cHg7XG4gIGhlaWdodDogMzJweDtcbn1cblxuLnN3aXRjaC10b2dnbGU6aG92ZXIgLnN3aXRjaC10b2dnbGVfX3VpOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICM2NjY2NjY7XG59XG5cbi8qIEZvY3VzIFN0YXRlICovXG4uc3dpdGNoLXRvZ2dsZS0tbGFiZWxzW2FyaWEtcHJlc3NlZD0nZmFsc2UnXTpmb2N1cyAuc3dpdGNoLXRvZ2dsZV9fdWk6YWZ0ZXIsXG4uc3dpdGNoLXRvZ2dsZS5ieS1rZXlib2FyZDpmb2N1cyAuc3dpdGNoLXRvZ2dsZV9fdWk6YmVmb3JlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMHB4ICNmZmYsIDAgMCAwIDBweCAjMDQ2N2M2ICFpbXBvcnRhbnQ7XG59XG4uc3dpdGNoLXRvZ2dsZVthcmlhLXByZXNzZWQ9J3RydWUnXTpmb2N1cyAuc3dpdGNoLXRvZ2dsZV9fdWk6YmVmb3JlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNmZmYsIDAgMCAwIDRweCAjMDQ2N2M2O1xuICBiYWNrZ3JvdW5kOiAjMDA0OTkwO1xufVxuLnN3aXRjaC10b2dnbGU6Zm9jdXMgLnN3aXRjaC10b2dnbGVfX3VpOmJlZm9yZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjZmZmLCAwIDAgMCA0cHggIzA0NjdjNjtcbiAgYmFja2dyb3VuZDogIzY2NjY2Njtcbn1cbi8qIEVORCBGb2N1cyBTdGF0ZSAqL1xuXG4vKiBjaGFuZ2UgdGhlIHBvc2l0aW9uIG9mIHRoZSBrbm9iIHRvIGluZGljYXRlIGl0IGhhcyBiZWVuIGNoZWNrZWQqL1xuLnN3aXRjaC10b2dnbGVbYXJpYS1wcmVzc2VkPSd0cnVlJ10gLnN3aXRjaC10b2dnbGVfX3VpOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTBcIiB2aWV3Qm94PVwiMCAwIDEyIDEwXCI+IDxnIGZpbGw9XCJub25lXCIgZmlsbC1ydWxlPVwiZXZlbm9kZFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPiA8ZyBzdHJva2U9XCIlMjMwNDY3QzZcIiBzdHJva2Utd2lkdGg9XCIyXCI+IDxnPiA8Zz4gPGc+IDxwYXRoIGQ9XCJNNy41IDEzLjI4M0wxMC43MTEgMTYgMTYuNSA4XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC05MjguMDAwMDAwLCAtMTE1My4wMDAwMDApIHRyYW5zbGF0ZSg3NzcuMDAwMDAwLCAxMTQyLjAwMDAwMCkgdHJhbnNsYXRlKDExNy4wMDAwMDAsIDAuMDAwMDAwKSB0cmFuc2xhdGUoMjguMDAwMDAwLCA0LjAwMDAwMClcIi8+IDwvZz4gPC9nPiA8L2c+IDwvZz4gPC9nPiA8L3N2Zz4nKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xufVxuXG4uc3dpdGNoLXRvZ2dsZVthcmlhLXByZXNzZWQ9J3RydWUnXTpmb2N1cyAuc3dpdGNoLXRvZ2dsZV9fdWk6YWZ0ZXIsXG4uc3dpdGNoLXRvZ2dsZVthcmlhLXByZXNzZWQ9J3RydWUnXTpob3ZlciAuc3dpdGNoLXRvZ2dsZV9fdWk6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMFwiIHZpZXdCb3g9XCIwIDAgMTIgMTBcIj4gPGcgZmlsbD1cIm5vbmVcIiBmaWxsLXJ1bGU9XCJldmVub2RkXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCI+IDxnIHN0cm9rZT1cIiUyMzAwNDk5MFwiIHN0cm9rZS13aWR0aD1cIjJcIj4gPGc+IDxnPiA8Zz4gPHBhdGggZD1cIk03LjUgMTMuMjgzTDEwLjcxMSAxNiAxNi41IDhcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTkyOC4wMDAwMDAsIC0xMTUzLjAwMDAwMCkgdHJhbnNsYXRlKDc3Ny4wMDAwMDAsIDExNDIuMDAwMDAwKSB0cmFuc2xhdGUoMTE3LjAwMDAwMCwgMC4wMDAwMDApIHRyYW5zbGF0ZSgyOC4wMDAwMDAsIDQuMDAwMDAwKVwiLz4gPC9nPiA8L2c+IDwvZz4gPC9nPiA8L2c+IDwvc3ZnPicpO1xufVxuXG4uc3dpdGNoLXRvZ2dsZVthcmlhLXByZXNzZWQ9J3RydWUnXS5ieS1rZXlib2FyZCAuc3dpdGNoLXRvZ2dsZV9fdWk6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMFwiIHZpZXdCb3g9XCIwIDAgMTIgMTBcIj4gPGcgZmlsbD1cIm5vbmVcIiBmaWxsLXJ1bGU9XCJldmVub2RkXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCI+IDxnIHN0cm9rZT1cIiUyMzA0NjdDNlwiIHN0cm9rZS13aWR0aD1cIjJcIj4gPGc+IDxnPiA8Zz4gPHBhdGggZD1cIk03LjUgMTMuMjgzTDEwLjcxMSAxNiAxNi41IDhcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTkyOC4wMDAwMDAsIC0xMTUzLjAwMDAwMCkgdHJhbnNsYXRlKDc3Ny4wMDAwMDAsIDExNDIuMDAwMDAwKSB0cmFuc2xhdGUoMTE3LjAwMDAwMCwgMC4wMDAwMDApIHRyYW5zbGF0ZSgyOC4wMDAwMDAsIDQuMDAwMDAwKVwiLz4gPC9nPiA8L2c+IDwvZz4gPC9nPiA8L2c+IDwvc3ZnPicpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG59XG5cbi5zd2l0Y2gtdG9nZ2xlW2FyaWEtcHJlc3NlZD0ndHJ1ZSddLmJ5LWtleWJvYXJkOmhvdmVyIC5zd2l0Y2gtdG9nZ2xlX191aTphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEwXCIgdmlld0JveD1cIjAgMCAxMiAxMFwiPiA8ZyBmaWxsPVwibm9uZVwiIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIj4gPGcgc3Ryb2tlPVwiJTIzMDA0OTkwXCIgc3Ryb2tlLXdpZHRoPVwiMlwiPiA8Zz4gPGc+IDxnPiA8cGF0aCBkPVwiTTcuNSAxMy4yODNMMTAuNzExIDE2IDE2LjUgOFwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtOTI4LjAwMDAwMCwgLTExNTMuMDAwMDAwKSB0cmFuc2xhdGUoNzc3LjAwMDAwMCwgMTE0Mi4wMDAwMDApIHRyYW5zbGF0ZSgxMTcuMDAwMDAwLCAwLjAwMDAwMCkgdHJhbnNsYXRlKDI4LjAwMDAwMCwgNC4wMDAwMDApXCIvPiA8L2c+IDwvZz4gPC9nPiA8L2c+IDwvZz4gPC9zdmc+Jyk7XG59XG5cbi8qIHVwZGF0ZSB0aGUgY29sb3Igb2YgdGhlIFwiY29udGFpbmVyXCIgdG8gZnVydGhlciB2aXN1YWxseSBpbmRpY2F0ZSBzdGF0ZSAqL1xuLnN3aXRjaC10b2dnbGVbYXJpYS1wcmVzc2VkPSd0cnVlJ10uYnkta2V5Ym9hcmQgLnN3aXRjaC10b2dnbGVfX3VpOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICMwNDY3YzY7XG59XG4uc3dpdGNoLXRvZ2dsZVthcmlhLXByZXNzZWQ9J3RydWUnXS5ieS1rZXlib2FyZDpob3ZlclxuICAuc3dpdGNoLXRvZ2dsZV9fdWk6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzAwNDk5MDtcbn1cbi5zd2l0Y2gtdG9nZ2xlW2FyaWEtcHJlc3NlZD0nZmFsc2UnXS5ieS1rZXlib2FyZCAuc3dpdGNoLXRvZ2dsZV9fdWk6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzg4ODg4ODtcbn1cbi5zd2l0Y2gtdG9nZ2xlW2FyaWEtcHJlc3NlZD0nZmFsc2UnXS5ieS1rZXlib2FyZDpob3ZlclxuICAuc3dpdGNoLXRvZ2dsZV9fdWk6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzY2NjY2Njtcbn1cblxuLyoqXG4gKiBUb2dnbGUgc3dpdGNoIG1vZGlmaWNhdGlvbnMgZm9yIGRpc3BsYXlpbmcgT24vT2ZmIGxhYmVsc1xuICovXG4uc3dpdGNoLXRvZ2dsZS0tbGFiZWxzIHNwYW46YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG59XG5cbi5zd2l0Y2gtdG9nZ2xlLS1sYWJlbHNbYXJpYS1wcmVzc2VkPSdmYWxzZSddIHNwYW46YWZ0ZXIge1xuICByaWdodDogMjhweDtcbn1cblxuLnN3aXRjaC10b2dnbGUtLWxhYmVsc1thcmlhLXByZXNzZWQ9J3RydWUnXSBzcGFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICAuc3dpdGNoLXRvZ2dsZV9fdWk6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdpbmRvd1RleHQ7XG4gIH1cbn1cbiIsIi8qKlxyXG4gKiBDUEMgY3VzdG9taXplZCBjaGVja2JveCBhbmQgcmFkaW8gYnV0dG9uIGlucHV0c1xyXG4gKi9cclxuXHJcbmZpZWxkc2V0IHtcclxuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gIG1heC13aWR0aDogMjcxcHg7XHJcbiAgd2lkdGg6IDEwMCU7XHJcblxyXG4gIGRpdiB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XHJcbiAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgZm9udC1zdHJldGNoOiBub3JtYWw7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gIH1cclxufVxyXG5cclxuW3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZDpmb2N1cyArIGxhYmVsOmJlZm9yZSxcclxuW3R5cGU9J2NoZWNrYm94J106bm90KDpjaGVja2VkKTpmb2N1cyArIGxhYmVsOmJlZm9yZSxcclxuW3R5cGU9J3JhZGlvJ106bm90KDpjaGVja2VkKTpmb2N1cyArIGxhYmVsOmJlZm9yZSB7XHJcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4xMjVyZW0gJHdoaXRlLCAwIDAgMCAwLjI1cmVtICRtaWQtYmx1ZTtcclxufVxyXG5cclxuLyogSGlkZSB0aGUgYnJvd3NlcidzIGRlZmF1bHQgY2hlY2tib3ggKi9cclxuXHJcblt0eXBlPSdjaGVja2JveCddLFxyXG5bdHlwZT0ncmFkaW8nXSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgbGVmdDogMDtcclxuICB6LWluZGV4OiAxO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbWFyZ2luOiAwO1xyXG5cclxuICAmW2RhdGEtYWN0aXZhdGVkLXZpYT0na2V5Ym9hcmQnXTpmb2N1cyArIGxhYmVsOjpiZWZvcmUge1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDAgMC4xMjVyZW0gJHdoaXRlLCAwIDAgMCAwLjI1cmVtICRjcGMtZ2xhY2llci1ibHVlLTUwO1xyXG4gIH1cclxufVxyXG5cclxuW3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCArIGxhYmVsLFxyXG5bdHlwZT0nY2hlY2tib3gnXTpub3QoOmNoZWNrZWQpICsgbGFiZWwsXHJcblt0eXBlPSdyYWRpbyddOmNoZWNrZWQgKyBsYWJlbCxcclxuW3R5cGU9J3JhZGlvJ106bm90KDpjaGVja2VkKSArIGxhYmVsIHtcclxuICBwYWRkaW5nLWxlZnQ6IDEuNzVyZW07XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgY29sb3I6ICRjcGMtZ3JleS0zMDtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIGZvbnQtc2l6ZTogMXJlbTtcclxuICBsaW5lLWhlaWdodDogMS41cmVtO1xyXG4gIGxldHRlci1zcGFjaW5nOiAwO1xyXG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5bdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxyXG5bdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcclxuICAmOjpiZWZvcmUge1xyXG4gICAgaGVpZ2h0OiAxcmVtO1xyXG4gICAgd2lkdGg6IDFyZW07XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMC4yNXJlbTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBib3JkZXI6IHNvbGlkICRjcGMtZ3JleS01MCAxcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA2LjI1cmVtO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gIH1cclxufVxyXG5cclxuW3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCArIGxhYmVsLFxyXG5bdHlwZT0ncmFkaW8nXTpjaGVja2VkICsgbGFiZWwge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMDtcclxufVxyXG5cclxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbDo6YmVmb3JlIHtcclxuICBib3JkZXItcmFkaXVzOiAxcHg7XHJcbn1cclxuXHJcblt0eXBlPSdyYWRpbyddICsgbGFiZWw6OmJlZm9yZSB7XHJcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMTI1cmVtICR3aGl0ZSwgMCAwIDAgMC4yNXJlbSAkd2hpdGU7XHJcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyBlYXNlIDAuNXM7XHJcbn1cclxuXHJcblt0eXBlPSdyYWRpbyddW2Rpc2FibGVkXTpjaGVja2VkIGxhYmVsOjpiZWZvcmUge1xyXG4gIGJhY2tncm91bmQ6ICRjcGMtZ3JleS05MDtcclxuICBib3JkZXI6IDFweCBzb2xpZCAkY3BjLWdyZXktNTA7XHJcbn1cclxuXHJcblt0eXBlPSdyYWRpbyddOmNoZWNrZWQgKyBsYWJlbDo6YmVmb3JlIHtcclxuICBiYWNrZ3JvdW5kOiAkY3BjLWJsdWUtNTA7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGNwYy1ibHVlLTUwO1xyXG59XHJcblxyXG5bdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkICsgbGFiZWw6OmJlZm9yZSB7XHJcbiAgYmFja2dyb3VuZDogJGNwYy1nbGFjaWVyLWJsdWUtNTA7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGNwYy1nbGFjaWVyLWJsdWUtNTA7XHJcbn1cclxuXHJcblt0eXBlPSdjaGVja2JveCddOmNoZWNrZWQgKyBsYWJlbDo6YWZ0ZXIge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBjb250ZW50OiBub25lO1xyXG4gIHRvcDogMC4zNzVyZW07XHJcbiAgbGVmdDogMC4zMTI1cmVtO1xyXG4gIHdpZHRoOiAwLjM3NXJlbTtcclxuICBoZWlnaHQ6IDAuNTYyNXJlbTtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NGRlZyk7XHJcbiAgYm9yZGVyOiBzb2xpZCAkd2hpdGU7XHJcbiAgYm9yZGVyLXdpZHRoOiAwIDAuMTI1cmVtIDAuMTI1cmVtIDA7XHJcbn1cclxuXHJcblt0eXBlPSdyYWRpbyddOmNoZWNrZWQgKyBsYWJlbDo6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6IG5vbmU7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMC42MjVyZW07XHJcbiAgbGVmdDogMC4zNzVyZW07XHJcbiAgd2lkdGg6IDAuMjVyZW07XHJcbiAgaGVpZ2h0OiAwLjI1cmVtO1xyXG4gIGJvcmRlci1yYWRpdXM6IDQwJTtcclxuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbn1cclxuXHJcblt0eXBlPSdjaGVja2JveCddOmNoZWNrZWQgKyBsYWJlbDo6YWZ0ZXIsXHJcblt0eXBlPSdyYWRpbyddOmNoZWNrZWQgKyBsYWJlbDo6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG59XHJcblxyXG5bdHlwZT0ncmFkaW8nXTpjaGVja2VkICsgbGFiZWw6OmFmdGVyIHtcclxuICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcclxuICB0cmFuc2l0aW9uOiBub25lO1xyXG59XHJcblxyXG4vKiBDaGVja2VkIHN0YXRlICovXHJcblt0eXBlPSdjaGVja2JveCddOmNoZWNrZWQgKyBsYWJlbCB7XHJcbiAgJjo6YmVmb3JlIHtcclxuICAgIGJhY2tncm91bmQ6ICRjcGMtZ2xhY2llci1ibHVlLTUwO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gIH1cclxuXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgfVxyXG59XHJcblxyXG4vKiBEaXNhYmxlZCBzdGF0ZSAqL1xyXG5bdHlwZT0nY2hlY2tib3gnXTpkaXNhYmxlZCxcclxuW3R5cGU9J3JhZGlvJ106ZGlzYWJsZWQge1xyXG4gICYgKyBsYWJlbCB7XHJcbiAgICBjb2xvcjogJGNwYy1ncmV5LTUwO1xyXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkY3BjLWdyZXktOTA7XHJcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICY6Y2hlY2tlZCB7XHJcbiAgICAmICsgbGFiZWwge1xyXG4gICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY3BjLWdyZXktOTA7XHJcbiAgICAgICAgY29sb3I6ICRjcGMtZ3JleS01MDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjcGMtZ3JleS01MDtcclxuICAgICAgICBib3JkZXItd2lkdGg6IDAgMC4xMjVyZW0gMC4xMjVyZW0gMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAgKiBDUEMgY3VzdG9taXplZCB0ZXh0LCBwYXNzd29yZCwgZGF0ZSwgdGltZSBhbmQgdGV4dGFyZWEgaW5wdXRcclxuICAqL1xyXG5cclxuW3R5cGU9J2NvbG9yJ10sXHJcblt0eXBlPSdkYXRlJ10sXHJcblt0eXBlPSdkYXRldGltZS1sb2NhbCddLFxyXG5bdHlwZT0nZGF0ZXRpbWUnXSxcclxuW3R5cGU9J2VtYWlsJ10sXHJcblt0eXBlPSdtb250aCddLFxyXG5bdHlwZT0nbnVtYmVyJ10sXHJcblt0eXBlPSdwYXNzd29yZCddLFxyXG5bdHlwZT0nc2VhcmNoJ10sXHJcblt0eXBlPSd0ZWwnXSxcclxuW3R5cGU9J3RleHQnXSxcclxuW3R5cGU9J3RpbWUnXSxcclxuW3R5cGU9J3VybCddLFxyXG5bdHlwZT0nd2VlayddIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXgtd2lkdGg6IDIzcmVtO1xyXG4gIGhlaWdodDogMi43NXJlbTtcclxuICBvdXRsaW5lOiBub25lO1xyXG4gIGZvbnQtc2l6ZTogMXJlbTtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBsaW5lLWhlaWdodDogMS41cmVtO1xyXG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGNwYy1ncmV5LTUwO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICBjb2xvcjogJGNwYy1ncmV5LTMwO1xyXG4gIHBhZGRpbmc6IDAuNjI1cmVtIDFyZW07XHJcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyAvKiBDaGFuZ2UgYXMgcGVyIG5lZWQgKi9cclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIGJveC1zaGFkb3c6IG5vbmU7XHJcblxyXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgY29sb3I6ICRjcGMtZ3JleS0zMDtcclxuICAgIG9wYWNpdHk6IDE7IC8qIEZpcmVmb3ggKi9cclxuICB9XHJcblxyXG4gICY6cmVhZC1vbmx5IHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjcGMtZ3JleS01MDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjcGMtZ3JleS0xMDA7XHJcbiAgfVxyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIGJvcmRlcjogMC4xMjVyZW0gc29saWQgJGNwYy1ibHVlLTIwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNwYy1nbGFjaWVyLWJsdWUtMTAwO1xyXG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgJjpmb2N1cyxcclxuICAmW2RhdGEtYWN0aXZhdGVkLXZpYT0na2V5Ym9hcmQnXSB7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwLjEyNXJlbSAkd2hpdGUsIDAgMCAwIDAuMjVyZW0gJGNwYy1nbGFjaWVyLWJsdWUtNTAgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gICY6ZGlzYWJsZWQsXHJcbiAgJi5kaXNhYmxlZCB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY3BjLWdyZXktNTA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3BjLWdyZXktMTAwO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAmLmVycm9yIHtcclxuICAgIGJvcmRlcjogMC4xMjVyZW0gc29saWQgJGNwYy1yZWQtNDA7XHJcbiAgfVxyXG4gICYuc3VjY2VzcyB7XHJcbiAgICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICRzdWNjZXNzLWdyZWVuO1xyXG4gIH1cclxufVxyXG5cclxudGV4dGFyZWEge1xyXG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGNwYy1ncmV5LTYwO1xyXG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICBjb2xvcjogJGNwYy1ncmV5LTMwO1xyXG4gIHBhZGRpbmc6IDAuNjI1cmVtIDFyZW07XHJcbiAgaGVpZ2h0OiAxMi44MTI1cmVtO1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgbWF4LXdpZHRoOiAyMy44NzVyZW07XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgYm94LXNoYWRvdzogbm9uZTtcclxuICB0cmFuc2l0aW9uOiBub25lO1xyXG4gIHJlc2l6ZTogbm9uZTtcclxuICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcblxyXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgY29sb3I6ICRjcGMtZ3JleS0zMDtcclxuICAgIG9wYWNpdHk6IDE7IC8qIEZpcmVmb3ggKi9cclxuICB9XHJcblxyXG4gICY6cmVhZC1vbmx5IHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XHJcbiAgICBib3JkZXI6IHNvbGlkIDFweCAkY3BjLWdyZXktNjA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3BjLWdyZXktMTAwO1xyXG4gICAgY29sb3I6ICRjcGMtZ3JleS0zMDtcclxuICB9XHJcblxyXG4gICY6Zm9jdXMge1xyXG4gICAgb3V0bGluZTogMDtcclxuICAgIGJvcmRlcjogc29saWQgMC4xMjVyZW0gJGNwYy1nbGFjaWVyLWJsdWUtNTA7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMXB4IDFweCAwIDAgJGNwYy1nbGFjaWVyLWJsdWUtNTAsXHJcbiAgICAgIGluc2V0IC0xcHggLTFweCAwIDAgJGNwYy1nbGFjaWVyLWJsdWUtNTA7XHJcbiAgICB0cmFuc2l0aW9uOiBub25lO1xyXG4gIH1cclxuXHJcbiAgJjpkaXNhYmxlZCxcclxuICAmLmRpc2FibGVkIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5O1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG50ZXh0YXJlYSB7XHJcbiAgaGVpZ2h0OiAyMDVweDsgLy9cclxuICBtYXgtd2lkdGg6IDM4MC4xMjVyZW07IC8vXHJcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyAvL1xyXG4gIHJlc2l6ZTogbm9uZTsgLy9cclxuICBvdmVyZmxvdy15OiBzY3JvbGw7IC8vXHJcbiAgb3ZlcmZsb3c6IGF1dG87IC8vXHJcbn1cclxuXHJcbmxhYmVsICsgaW5wdXRbdHlwZT0ndGV4dCddLFxyXG5sYWJlbCArIGlucHV0W3R5cGU9J3Bhc3N3b3JkJ10sXHJcbmxhYmVsICsgaW5wdXRbdHlwZT0nZGF0ZSddLFxyXG5sYWJlbCArIGlucHV0W3R5cGU9J3RpbWUnXSxcclxubGFiZWwgKyB0ZXh0YXJlYSB7XHJcbiAgbWFyZ2luLXRvcDogMC4yNXJlbTtcclxufVxyXG5cclxuLyogUmVhZCBvbmx5IHRleHQgKi9cclxuXHJcbmlucHV0W3R5cGU9J3RleHQnXTpyZWFkLW9ubHk6OnNlbGVjdGlvbiB7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9J3RleHQnXTpyZWFkLW9ubHk6OnNlbGVjdGlvbiB7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi8qIHZhbGlkYXRpb24gZXJyb3IgKi9cclxuXHJcbmlucHV0W3R5cGU9J3RleHQnXS5lcnJvcixcclxuaW5wdXRbdHlwZT0ncGFzc3dvcmQnXS5lcnJvcixcclxuaW5wdXRbdHlwZT0nZGF0ZSddLmVycm9yLFxyXG5pbnB1dFt0eXBlPSd0aW1lJ10uZXJyb3Ige1xyXG4gIGJvcmRlcjogc29saWQgMnB4ICRjcGMtcmVkLTQwO1xyXG4gIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9J3RleHQnXTpmb2N1cy5lcnJvcixcclxuaW5wdXRbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cy5lcnJvcixcclxuaW5wdXRbdHlwZT0nZGF0ZSddOmZvY3VzLmVycm9yIGlucHV0W3R5cGU9J3RpbWUnXTpmb2N1cy5lcnJvciB7XHJcbiAgYm9yZGVyOiBzb2xpZCAwLjEyNXJlbSAkY3BjLXJlZC00MCAhaW1wb3J0YW50O1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgYm94LXNoYWRvdzogaW5zZXQgMXB4IDFweCAwIDAgJGNwYy1yZWQtNDAsIGluc2V0IC0xcHggLTFweCAwIDAgJGNwYy1yZWQtNDA7XHJcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG50ZXh0YXJlYS5lcnJvciB7XHJcbiAgYm9yZGVyOiBzb2xpZCAxcHggJGNwYy1yZWQtNTAgIWltcG9ydGFudDtcclxuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbn1cclxuXHJcbnRleHRhcmVhOmZvY3VzLmVycm9yIHtcclxuICBib3JkZXI6IHNvbGlkIDAuMTI1cmVtICRjcGMtcmVkLTUwICFpbXBvcnRhbnQ7XHJcbiAgb3V0bGluZTogbm9uZTtcclxuICBib3gtc2hhZG93OiBpbnNldCAxcHggMXB4IDAgMCAkY3BjLXJlZC01MCwgaW5zZXQgLTFweCAtMXB4IDAgMCAkY3BjLXJlZC01MDtcclxufVxyXG5cclxuLm1heENoYXJhY3RlciB7XHJcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xyXG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICBjb2xvcjogJGNwYy1ncmV5LTUwO1xyXG59XHJcbi5tYXhDaGFyYWN0ZXIgKyAuaW5wdXQtZXJyb3Ige1xyXG4gIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKmVycm9yIG1lc3NhZ2UqL1xyXG4uaW5wdXQtZXJyb3Ige1xyXG4gIG1heC13aWR0aDogMjIuODEyNXJlbTtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IGF1dG87XHJcbiAgZm9udC1zaXplOiAxcmVtO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgY29sb3I6ICRjcGMtcmVkLTQwO1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb25zL3JlZC1hbGVydC5zdmcnKTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gIHBhZGRpbmctbGVmdDogMnJlbTtcclxuXHJcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG59XHJcblxyXG4uaW5wdXQtaGVhZGluZyB7XHJcbiAgY29sb3I6ICRjcGMtZ3JleS0yMDtcclxuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBmb250LXNpemU6IDFyZW07XHJcbiAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcclxuICBsZXR0ZXItc3BhY2luZzogMDtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi8qaGludCB0ZXh0IG1lc3NhZ2UqL1xyXG4uaGludFRleHQge1xyXG4gIHdpZHRoOiAyMy44NzVyZW07XHJcbiAgaGVpZ2h0OiAxLjI1cmVtO1xyXG4gIGZvbnQtc2l6ZTogMTAuMjVyZW07XHJcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XHJcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcclxufVxyXG5cclxuLnJhZGlvSWNvbiB7XHJcbiAgd2lkdGg6IDMwLjEyNXJlbTtcclxuICBoZWlnaHQ6IDMwLjEyNXJlbTtcclxuICB0b3A6IC0wLjI1cmVtO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmZsZXhSYWRpbyB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBnYXA6IDEwLjEyNXJlbTtcclxufVxyXG5cclxuLy8gRm9yIGljb25zIGluc2lkZSBpbnB1dCBmaWVsZHNcclxuLmNwYy1kcy1pbnB1dCB7XHJcbiAgJl9fY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaW5wdXQge1xyXG4gICAgICAmW3R5cGU9J2NvbG9yJ10sXHJcbiAgICAgICZbdHlwZT0nZGF0ZSddLFxyXG4gICAgICAmW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sXHJcbiAgICAgICZbdHlwZT0nZGF0ZXRpbWUnXSxcclxuICAgICAgJlt0eXBlPSdlbWFpbCddLFxyXG4gICAgICAmW3R5cGU9J21vbnRoJ10sXHJcbiAgICAgICZbdHlwZT0nbnVtYmVyJ10sXHJcbiAgICAgICZbdHlwZT0ncGFzc3dvcmQnXSxcclxuICAgICAgJlt0eXBlPSdzZWFyY2gnXSxcclxuICAgICAgJlt0eXBlPSd0ZWwnXSxcclxuICAgICAgJlt0eXBlPSd0ZXh0J10sXHJcbiAgICAgICZbdHlwZT0ndGltZSddLFxyXG4gICAgICAmW3R5cGU9J3VybCddLFxyXG4gICAgICAmW3R5cGU9J3dlZWsnXSB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1heC13aWR0aDogdW5zZXQ7XHJcbiAgICAgICAgbWluLXdpZHRoOiB1bnNldDtcclxuICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbSAzcmVtIDAuNjI1cmVtIDFyZW07XHJcbiAgICAgIH1cclxuICAgICAgJlt0eXBlPSdzdWJtaXQnXSB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDEuMzc1cmVtO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICByaWdodDogMXJlbTtcclxuICAgICAgICBtaW4td2lkdGg6IHVuc2V0O1xyXG4gICAgICAgIHdpZHRoOiAxcmVtO1xyXG4gICAgICAgIGhlaWdodDogMXJlbTtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMXJlbSAxcmVtO1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiB1bnNldDtcclxuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgICAgICAmOmZvY3VzLFxyXG4gICAgICAgICZbZGF0YS1hY3RpdmF0ZWQtdmlhPSdrZXlib2FyZCddIHtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMTI1cmVtICR3aGl0ZSwgMCAwIDAgMC4yNXJlbSAkY3BjLWdsYWNpZXItYmx1ZS01MDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zZWFyY2gge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvY3BjL2Fzc2V0cy9jcGMvdXBsb2Fkcy9rYi9taWNyb2ljb24tc2VhcmNoLnN2ZycpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIuY3BjLWRzLXNsaWRlciB7XHJcbiAgbWF4LXdpZHRoOiAxMDVyZW07XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbiAgcGFkZGluZy1ib3R0b206IDVyZW07XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiA1LjYyNXJlbTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDMuNjI1cmVtO1xyXG4gIH1cclxuXHJcbiAgJi5wZXJzb25hbCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3BjLWdyZXktMTAwO1xyXG4gICAgLmNwYy1kcy1zbGlkZXJfX3NsaWRlcy0tc2xpZGUge1xyXG4gICAgICBib3gtc2hhZG93OiAwIDAuMTI1cmVtIDAuMjVyZW0gcmdiYSgwLCAwLCAwLCAwLjEyKTtcclxuICAgICAgJi5ob3ZlcixcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwLjc1cmVtIDFyZW0gLTAuNXJlbSByZ2JhKDAsIDAsIDAsIDAuMTIpLFxyXG4gICAgICAgICAgMCAwLjI1cmVtIDAuMjVyZW0gLTAuMTI1cmVtIHJnYmEoMCwgMCwgMCwgMC4wNik7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjI1cmVtKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jcGMtZHMtc2xpZGVyX19idXR0b24ge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3BjLWdyZXktOTA7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2NwYy9hc3NldHMvY3BjL2ltZy9pY29ucy9ibG9nLWNhcmQtY2hldnJvbi1wZXJzb25hbC5zdmcnKTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjcGMtZ3JleS05MDtcclxuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2NwYy9hc3NldHMvY3BjL2ltZy9pY29ucy9ibG9nLWNhcmQtY2hldnJvbi1wZXJzb25hbC10YWItbW9iLnN2ZycpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNwYy1ncmV5LTgwO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHJcbiAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjcGMtZ3JleS05MDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3BjLWdyZXktODA7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cclxuICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNwYy1ncmV5LTgwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNwYy1ncmV5LTgwO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHJcbiAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjcGMtZ3JleS04MDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bm90KDpmb2N1cy12aXNpYmxlKSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3BjLWdyZXktODA7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3BjLWdyZXktODA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY3BjLWRzLXNsaWRlcl9fc2Nyb2xsYmFyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNwYy1ncmV5LTkwO1xyXG5cclxuICAgICAgJi0tZHJhZyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjcGMtZ3JleS0zMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjcGMtZ3JleS0zMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICY6bm90KC5wZXJzb25hbCkge1xyXG4gICAgLmNwYy1kcy1zbGlkZXJfX3NsaWRlcy0tc2xpZGUge1xyXG4gICAgICBib3gtc2hhZG93OiAwIDAuMTI1cmVtIDAuMjVyZW0gcmdiYSgwLCA0OCwgMTM1LCAwLjEyKTtcclxuXHJcbiAgICAgICYuaG92ZXIsXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMC43NXJlbSAxcmVtIC0wLjVyZW0gcmdiYSgwLCA0OCwgMTM1LCAwLjEyKSxcclxuICAgICAgICAgIDAgMC4yNXJlbSAwLjI1cmVtIC0wLjEyNXJlbSByZ2JhKDAsIDQ4LCAxMzUsIDAuMDYpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC4yNXJlbSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY3BjLWRzLXNsaWRlcl9fYnV0dG9uIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q4ZGZlYjtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvY3BjL2Fzc2V0cy9jcGMvaW1nL2ljb25zL2Jsb2ctY2FyZC1jaGV2cm9uLWJ1c2luZXNzLWVudGVycHJpc2Uuc3ZnJyk7XHJcblxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDhkZmViO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvY3BjL2Fzc2V0cy9jcGMvaW1nL2ljb25zL2Jsb2ctY2FyZC1jaGV2cm9uLWJ1c2luZXNzLWVudGVycHJpc2UtdGFiLW1vYi5zdmcnKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiN2JmY2Q7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cclxuICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q4ZGZlYjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjdiZmNkO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHJcbiAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiN2JmY2Q7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmZvY3VzIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjdiZmNkO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHJcbiAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiN2JmY2Q7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2I3YmZjZDtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiN2JmY2Q7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY3BjLWRzLXNsaWRlcl9fc2Nyb2xsYmFyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q4ZGZlYjtcclxuXHJcbiAgICAgICYtLWRyYWcge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzYzYjQ1O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM2M2I0NTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuYnVzaW5lc3Mge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNwYy1nbGFjaWVyLWJsdWUtMTAwO1xyXG4gIH1cclxuXHJcbiAgJi5lbnRlcnByaXNlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjcGMtYmx1ZS0xMDA7XHJcbiAgfVxyXG5cclxuICAmX19tYWluIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiA3NHJlbTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIG9ubHkpIHtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgbWF4LXdpZHRoOiA2NHJlbTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIG9ubHkpIHtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgbWF4LXdpZHRoOiB1bnNldDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMnJlbTtcclxuICAgICAgcGFkZGluZy1yaWdodDogMnJlbTtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICBtYXgtd2lkdGg6IHVuc2V0O1xyXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIG1heC13aWR0aDogdW5zZXQ7XHJcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgfVxyXG5cclxuICAgICYud2l0aC1yZWxhdGVkLWNvbnRlbnQge1xyXG4gICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgIH1cclxuXHJcbiAgICAmOm5vdCgud2l0aC1yZWxhdGVkLWNvbnRlbnQpIHtcclxuICAgICAgcGFkZGluZy10b3A6IDZyZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZzogMCAwLjEyNXJlbSAzLjc1cmVtO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcclxuICAgICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgICAgcGFkZGluZzogMCAwLjEyNXJlbTtcclxuICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgIG1heC13aWR0aDogdW5zZXQ7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtaW4td2lkdGg6IDYwLjA2MjVyZW07XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIGFuZCAobWF4LXdpZHRoOiA4OS45OTg3NWVtKSB7XHJcbiAgICAgIHdpZHRoOiA4NS4zMzMzMzMlO1xyXG4gICAgICBtaW4td2lkdGg6IDYwLjA2MjVyZW07XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xyXG4gICAgICBwYWRkaW5nOiAwIDAuMTI1cmVtIDQuMjVyZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19oZWFkaW5nIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSkge1xyXG4gICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgbWF4LXdpZHRoOiB1bnNldDtcclxuICAgICAgd2lkdGg6IDg1LjMzMzMzMyU7XHJcbiAgICAgIG1pbi13aWR0aDogNjAuMDYyNXJlbTtcclxuICAgIH1cclxuXHJcbiAgICBoMiB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19zbGlkZXMge1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XHJcbiAgICBwYWRkaW5nOiAxLjVyZW0gMCAzcmVtO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgcGFkZGluZzogMXJlbSAwIDA7XHJcbiAgICB9XHJcblxyXG4gICAgJi0tc2xpZGUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAgICYgPiBkaXYge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYtaW1hZ2Uge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGFzcGVjdC1yYXRpbzogMTYgLyA5O1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICBmbGV4OiAxO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLWNvbnRlbnQge1xyXG4gICAgICAgIHBhZGRpbmc6IDJyZW07XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICByb3ctZ2FwOiAxLjVyZW07XHJcbiAgICAgICAgZmxleDogMTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgcGFkZGluZzogMS41cmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlciBzcGFuIHtcclxuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICBjb2xvcjogJGNwYy1ncmV5LTMwO1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgY29sb3I6ICRjcGMtYmx1ZS01MDtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMC4xMjVyZW07XHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcblxyXG4gICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiB1cmwoJy9jcGMvYXNzZXRzL2NwYy9pbWcvaWNvbnMvbGluay1jaGV2cm9uLWRlZmF1bHQuc3ZnJyk7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHRvcDogMC4xODc1cmVtO1xyXG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjEyNXJlbSAkd2hpdGUsXHJcbiAgICAgICAgICAgICAgMCAwIDAgMC4yNXJlbSAkY3BjLWdsYWNpZXItYmx1ZS01MDtcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmID4gYSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcblxyXG4gICAgICAgICY6aG92ZXIgKyBkaXYgc3BhbiB7XHJcbiAgICAgICAgICBjb2xvcjogJGNwYy1ibHVlLTMwO1xyXG4gICAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZbZGF0YS1hY3RpdmF0ZWQtdmlhPSdrZXlib2FyZCddIHtcclxuICAgICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgYm9yZGVyOiBub25lO1xyXG5cclxuICAgICAgICAgICYgKyBkaXYgc3BhbiB7XHJcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMTI1cmVtICR3aGl0ZSxcclxuICAgICAgICAgICAgICAwIDAgMCAwLjI1cmVtICRjcGMtZ2xhY2llci1ibHVlLTUwO1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAuNzVyZW0gMXJlbSAtMC41cmVtIHJnYmEoMCwgMCwgMCwgMC4xMiksXHJcbiAgICAgICAgICAgICAgMCAwLjI1cmVtIDAuMjVyZW0gLTAuMTI1cmVtIHJnYmEoMCwgMCwgMCwgMC4wNik7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC4yNXJlbSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19idXR0b24ge1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAuNzVyZW0gMC44MTI1cmVtO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiAxLjEyNXJlbSAxLjEyNXJlbTtcclxuICAgIHdpZHRoOiAyLjc1cmVtO1xyXG4gICAgaGVpZ2h0OiAyLjc1cmVtO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICBtaW4td2lkdGg6IHVuc2V0O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgYmFja2dyb3VuZDogbm9uZSB0cmFuc3BhcmVudCBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAvIDAgMDtcclxuICAgICAgdG9wOiB1bnNldDtcclxuICAgICAgYm90dG9tOiAtMS4zNzVyZW07XHJcbiAgICB9XHJcblxyXG4gICAgJi5zd2lwZXItYnV0dG9uLWRpc2FibGVkIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4xMjVyZW0gJHdoaXRlLCAwIDAgMCAwLjI1cmVtICRjcGMtZ2xhY2llci1ibHVlLTUwO1xyXG5cclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjEyNXJlbSAkd2hpdGUsIDAgMCAwIDAuMjVyZW0gJGNwYy1nbGFjaWVyLWJsdWUtNTA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICB3aWR0aDogMnJlbTtcclxuICAgICAgICBoZWlnaHQ6IDJyZW07XHJcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwLjU2MjVyZW0gMC42MjVyZW07XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAwLjc1cmVtIDAuNzVyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLS1wcmV2IHtcclxuICAgICAgbGVmdDogLTQuNzVyZW07XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuXHJcbiAgICAgIEBtZWRpYSBwcmludCxcclxuICAgICAgICBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1LjA2M2VtKSBhbmQgKG1heC13aWR0aDogODkuOTk4NzVlbSkge1xyXG4gICAgICAgIGxlZnQ6IDEuODc1cmVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSBhbmQgKG1heC13aWR0aDogNzVlbSkge1xyXG4gICAgICAgIGxlZnQ6IDAuNjI1cmVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgbGVmdDogLTAuMTI1cmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi0tbmV4dCB7XHJcbiAgICAgIHJpZ2h0OiAtNC43NXJlbTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlWCgtMSk7XHJcblxyXG4gICAgICBAbWVkaWEgcHJpbnQsXHJcbiAgICAgICAgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NS4wNjNlbSkgYW5kIChtYXgtd2lkdGg6IDg5Ljk5ODc1ZW0pIHtcclxuICAgICAgICByaWdodDogMS44NzVyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIGFuZCAobWF4LXdpZHRoOiA3NWVtKSB7XHJcbiAgICAgICAgcmlnaHQ6IDAuNjI1cmVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgcmlnaHQ6IC0wLjEyNXJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fc2Nyb2xsYmFyIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAuNjI1cmVtO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAtMC4xMjVyZW07XHJcbiAgICB6LWluZGV4OiA1MDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAwLjEyNXJlbTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIG9ubHkpIHtcclxuICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgIHdpZHRoOiA4NS4zMzMzMzMlO1xyXG4gICAgICBtaW4td2lkdGg6IDYwLjA2MjVyZW07XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICBib3R0b206IDEuMzEyNXJlbTtcclxuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDguNXJlbSk7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiA0LjI1cmVtO1xyXG5cclxuICAgICAgJi5jcGMtZHMtc2xpZGVyX19zY3JvbGxiYXItLWFjdGl2ZSB7XHJcbiAgICAgICAgaGVpZ2h0OiAwLjI1cmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlcixcclxuICAgICY6YWN0aXZlLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIGhlaWdodDogMC4yNXJlbTtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyICYtLWRyYWc6OmFmdGVyLFxyXG4gICAgJjphY3RpdmUgJi0tZHJhZzo6YWZ0ZXIsXHJcbiAgICAmOmZvY3VzICYtLWRyYWc6OmFmdGVyIHtcclxuICAgICAgaGVpZ2h0OiAwLjI1cmVtO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAtMXJlbTtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMnJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYtLWRyYWcge1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIGhlaWdodDogMS41cmVtO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHRvcDogLTAuNjI1cmVtO1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjYyNXJlbTtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHRvcDogMDtcclxuXHJcbiAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMC4yNXJlbTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAwLjEyNXJlbTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjYyNXJlbTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjEyNXJlbSAkd2hpdGUsIDAgMCAwIDAuMjVyZW0gJGNwYy1nbGFjaWVyLWJsdWUtNTA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX25vdGlmaWNhdGlvbiB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIH1cclxufVxyXG5cclxuLyogRlVOTkVMIEJMT0cgQ0FSRFMgICovXHJcbi5mdW5uZWwtcHJlZm9vdGVyLWJsb2ctcG9zdCB7XHJcbiAgLmNwYy1kcy1zbGlkZXIge1xyXG4gICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAmX19tYWluIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgcm93LWdhcDogMS41cmVtO1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICBwYWRkaW5nOiA0cmVtIDFyZW0gMy44NzVyZW07XHJcblxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG4gICAgICAgIHBhZGRpbmc6IDRyZW0gMnJlbSA1Ljg3NXJlbTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgY29sdW1uLWdhcDogMnJlbTtcclxuICAgICAgICBwYWRkaW5nOiA2cmVtIDAgNS44NzVyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSBhbmQgKG1heC13aWR0aDogODkuOTk4NzVlbSkge1xyXG4gICAgICAgIG1hcmdpbjogMCAycmVtO1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY29udGFpbmVyIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBtaW4td2lkdGg6IDA7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICBvdmVyZmxvdzogY2xpcCB2aXNpYmxlO1xyXG5cclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKDY2LjY2JSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19oZWFkaW5nIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1pbi13aWR0aDogMDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcclxuICAgICAgICB3aWR0aDogY2FsYygzMy4zMyUgLSAxcmVtKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaW1nIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fc2xpZGVzIHtcclxuICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzLjc1cmVtO1xyXG4gICAgfVxyXG5cclxuICAgICZfX3Njcm9sbGJhciB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgbGVmdDogLTZweDtcclxuICAgICAgYm90dG9tOiAxcmVtO1xyXG4gICAgICBoZWlnaHQ6IDAuMTI1cmVtO1xyXG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNy43NXJlbSk7XHJcbiAgICAgIG1hcmdpbi10b3A6IDNyZW07XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAgICYuY3BjLWRzLXNsaWRlcl9fc2Nyb2xsYmFyLS1hY3RpdmUge1xyXG4gICAgICAgIHJpZ2h0OiA4cmVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XHJcbiAgICAgICAgbGVmdDogNC4xMjVyZW07XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDguMjVyZW0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIG9ubHkpIHtcclxuICAgICAgICBtaW4td2lkdGg6IHVuc2V0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fYnV0dG9uIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICB3aWR0aDogMnJlbTtcclxuICAgICAgaGVpZ2h0OiAycmVtO1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDAuNDM3NXJlbTtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdW5zZXQgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICYtLXByZXYge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IHVuc2V0O1xyXG4gICAgICAgIGJvdHRvbTogMC4xMjVyZW07XHJcbiAgICAgICAgbGVmdDogMC4yNXJlbTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB0cmFuc2Zvcm06IHVuc2V0O1xyXG5cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgY29udGVudDogJyAnO1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDAuNDM3NXJlbTtcclxuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICB3aWR0aDogMnJlbTtcclxuICAgICAgICAgIGhlaWdodDogMnJlbTtcclxuICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgbWluLXdpZHRoOiB1bnNldDtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvY3BjL2Fzc2V0cy9jcGMvaW1nL2ljb25zL3NsaWRlci9jaGV2cm9uLWxlZnQuc3ZnKTtcclxuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcclxuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmLS1uZXh0IHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiB1bnNldDtcclxuICAgICAgICBib3R0b206IC0wLjg3NXJlbTtcclxuICAgICAgICByaWdodDogMC4yNXJlbTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbnRlbnQ6ICcgJztcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAwLjQzNzVyZW07XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgd2lkdGg6IDJyZW07XHJcbiAgICAgICAgICBoZWlnaHQ6IDJyZW07XHJcbiAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgIG1pbi13aWR0aDogdW5zZXQ7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2NwYy9hc3NldHMvY3BjL2ltZy9pY29ucy9zbGlkZXIvY2hldnJvbi1yaWdodC5zdmcpO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKSBzY2FsZVgoLTEpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYucGVyc29uYWwge1xyXG4gICAgICAuY3BjLWRzLXNsaWRlcl9fYnV0dG9uIHtcclxuICAgICAgICAmLS1wcmV2IHtcclxuICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAmOjpiZWZvcmUsXHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3BjLWdyZXktODA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtLW5leHQge1xyXG4gICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSxcclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjcGMtZ3JleS04MDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuYnVzaW5lc3MsXHJcbiAgICAmLmVudGVycHJpc2Uge1xyXG4gICAgICAuY3BjLWRzLXNsaWRlcl9fYnV0dG9uIHtcclxuICAgICAgICAmLS1wcmV2IHtcclxuICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkOGRmZWI7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSxcclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiN2JmY2Q7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtLW5leHQge1xyXG4gICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q4ZGZlYjtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgJjo6YmVmb3JlLFxyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2I3YmZjZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyAuZHMtY29udGFpbmVyIHtcclxuLy8gICB3aWR0aDogOTglO1xyXG4vLyAgIG1hcmdpbjogMCBhdXRvO1xyXG4vLyAgIGJvcmRlcjogMHB4IHNvbGlkICNjY2M7XHJcbi8vICAgcGFkZGluZzogMyUgMSU7XHJcbi8vIH1cclxuLy8gLmNoZWNrYm94LWNvbnRhaW5lciB7XHJcbi8vICAgY3Vyc29yOiBwb2ludGVyO1xyXG4vLyB9XHJcblxyXG4vKiBJdHMgYSBjb21tb24gY2xhc3MsIG1pZ2h0IGJlIGFscmVhZHkgaW5jbHVkZWQgKi9cclxuLmRzLWVycm9yIHtcclxuICBtYXgtd2lkdGg6IDM2NXB4O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMjRweDtcclxuICBmb250LXNpemU6IDE2cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgY29sb3I6ICNlNDAwMmI7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29ucy9yZWQtYWxlcnQuc3ZnJyk7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICBwYWRkaW5nLWxlZnQ6IDMycHg7XHJcbn1cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XHJcbiAgLmRzLWVycm9yIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICB9XHJcbn1cclxuIiwiLmNwYy1kcy1wcm9jZXNzLWxpc3QtY29udGFpbmVyIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXgtd2lkdGg6IDU3OHB4O1xyXG59XHJcblxyXG5vbC5jcGMtZHMtcHJvY2Vzcy1saXN0IHtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIGNvdW50ZXItcmVzZXQ6IGl0ZW07XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBtYXJnaW4tbGVmdDogMDtcclxuICBtYXJnaW4tdG9wOiAxLjVyZW07XHJcblxyXG4gIC5icjhweCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuICB9XHJcblxyXG4gIHVsIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcclxuICAgIGxpIHtcclxuICAgICAgY291bnRlci1pbmNyZW1lbnQ6IG5vbmU7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XHJcbiAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgd2lkdGg6IDAuMjVyZW07XHJcbiAgICAgICAgaGVpZ2h0OiAwLjI1cmVtO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmEyYTJhICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IC0xLjVyZW07XHJcbiAgICAgICAgdG9wOiAxLjI1cmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGxpIHtcclxuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcclxuICAgIGNvdW50ZXItaW5jcmVtZW50OiBpdGVtO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG4gICAgY29sb3I6ICRjcGMtZ3JleS0zMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcclxuICAgICAgY29udGVudDogY291bnRlcihpdGVtKTtcclxuICAgICAgYmFja2dyb3VuZDogJGNwYy1nbGFjaWVyLWJsdWUtNTA7XHJcbiAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHdpZHRoOiAxLjVyZW07XHJcbiAgICAgIGhlaWdodDogMS41cmVtO1xyXG4gICAgICBmbGV4LXNocmluazogMDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMC44NzVyZW07XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uY3BjLWZiX19jb250ZW50IC5jcGMtZHMtcHJvY2Vzcy1saXN0LS1jaGVjayxcclxuLmNwYy1kcy1wcm9jZXNzLWxpc3QtLWNoZWNrIHtcclxuICBtYXJnaW4tdG9wOiAwO1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XHJcbiAgLm1hcmdpbi10b3AxNiB7XHJcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xyXG4gIH1cclxuXHJcbiAgbGkge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xyXG4gICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgICAmOjptYXJrZXIge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgIH1cclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGhlaWdodDogMS4yNXJlbTtcclxuICAgICAgd2lkdGg6IDEuMjVyZW07XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGxlZnQ6IC0xLjJyZW07XHJcbiAgICAgIGJhY2tncm91bmQ6IHVybCgvY3BjL2Fzc2V0cy9jcGMvdXBsb2Fkcy9pY29ucy9JY29uX2NoZWNrLnN2Zyk7XHJcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgIHRvcDogMC4ycmVtO1xyXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IC0wLjE0cmVtO1xyXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IC0wLjEzcmVtO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIuY3BjLWRzLWNvbXBsZXgtcHJvY2Vzcy1saXN0LWNvbnRhaW5lciB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWFyZ2luLXRvcDogLTFyZW07XHJcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xyXG4gIH1cclxuXHJcbiAgb2wuY3BjLWRzLXByb2Nlc3MtbGlzdCB7XHJcbiAgICBsaSB7XHJcbiAgICAgIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDtcclxuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyNXB4IGNhbGMoMTAwJSAtIDQwcHgpO1xyXG4gICAgICBjb2x1bW4tZ2FwOiAxNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIGxpOmJlZm9yZSB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9sLmNwYy1kcy1wcm9jZXNzLWxpc3QgcCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcclxuICAgIC5pbWFnZS13cmFwIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBwYWRkaW5nOiAzMnB4IDA7XHJcbiAgICAgIG1hcmdpbi10b3A6IDI0cHg7XHJcbiAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNC41cHgpIHtcclxuICAgIC5oaWRlLWZvci1sYXJnZS1zY3JlZW4ge1xyXG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgbGk6bGFzdC1jaGlsZCB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjQuNXB4KSB7XHJcbiAgLnNob3ctZm9yLWxhcmdlLXNjcmVlbiB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0LjVweCkge1xyXG4gIGltZyB7XHJcbiAgICAmLmlsbHVzdHJhdGlvbi1ib3JkZXIge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ubWItMjQge1xyXG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xyXG59XHJcbiIsIi5jcGMtZHMtZGV0YWlscy13cmFwIHtcclxuICAuY3BjLWRzLWRldGFpbHMge1xyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICB3aWR0aDogMXJlbTtcclxuICAgICAgaGVpZ2h0OiAxcmVtO1xyXG4gICAgICBjb250ZW50OiB1cmwoL2NwYy9hc3NldHMvY3BjL2ltZy9pY29ucy9hY2NvcmRpb24tY2hldnJvbi5zdmcpO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdHJhbnNpdGlvbjogMC40cztcclxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgdG9wOiAxcHg7XHJcbiAgICAgIHJpZ2h0OiAtMnB4O1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKGhvdmVyOiBub25lKSBhbmQgKHBvaW50ZXI6IGNvYXJzZSkge1xyXG4gICAgICAmOm5vdCg6YWN0aXZlKSB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJltkYXRhLWFjdGl2YXRlZC12aWE9J2tleWJvYXJkJ106Zm9jdXMge1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jcGMtZHMtYWNjb3JkaW9uX19idXR0b24ge1xyXG4gICAgZGlzcGxheTogdW5zZXQ7XHJcbiAgICBwYWRkaW5nOiAwIDEuMjVyZW0gMCAwO1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgfVxyXG5cclxuICAmLmNwYy1kcy1hY2NvcmRpb25zLWV4cGFuZGVyLS1hY3RpdmUge1xyXG4gICAgLmNwYy1kcy1kZXRhaWxzOjphZnRlciB7XHJcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcbiAgICAgIG1hcmdpbi10b3A6IDJweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jcGMtZHMtYWNjb3JkaW9uX19jb250ZW50IHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgfVxyXG5cclxuICAuY3BjLWRzLWFjY29yZGlvbl9fY29udGVudC0taW5uZXIge1xyXG4gICAgcGFkZGluZzogMDtcclxuICB9XHJcbn1cclxuIiwiLmNwYy1kcy1saXN0IHtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIGxpLFxyXG4gIGRpdltyb2xlPSdsaXN0aXRlbSddIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICBjb2xvcjogJGNwYy1ncmV5LTMwO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcclxuICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcclxuICAgIHN0cm9uZyxcclxuICAgIGgzLFxyXG4gICAgaDQsXHJcbiAgICBoNSxcclxuICAgIGg2IHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XHJcbiAgICAgIGNvbG9yOiAkY3BjLWdyZXktMjA7XHJcbiAgICB9XHJcbiAgICBwLFxyXG4gICAgc3Bhbjpub3QoLmNwYy1kcy1saW5rX19leHRlcm5hbCk6bm90KC5jcGMtZHMtbGlua19fcGRmKTpub3QoLnN0YW5kYWxvbmVfX2V4dGVybmFsKTpub3QoLnN0YW5kYWxvbmVfX2ludGVybmFsKSB7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcclxuICAgICAgY29sb3I6ICRjcGMtZ3JleS0zMDtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICY6bm90KC5sZWdhbCkge1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcclxuICAgIGxpOm5vdCgubGVnYWwpLFxyXG4gICAgZGl2W3JvbGU9J2xpc3RpdGVtJ106bm90KC5sZWdhbCkge1xyXG4gICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XHJcbiAgICB9XHJcbiAgfVxyXG4gICYubGVnYWwge1xyXG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDFyZW07XHJcbiAgICBsaSxcclxuICAgIGRpdltyb2xlPSdsaXN0aXRlbSddIHtcclxuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xyXG4gICAgICBsaW5lLWhlaWdodDogMXJlbTtcclxuICAgIH1cclxuICB9XHJcbiAgbGkubGVnYWwsXHJcbiAgZGl2W3JvbGU9J2xpc3RpdGVtJ10ubGVnYWwge1xyXG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDFyZW07XHJcbiAgfVxyXG5cclxuICAmLndpZHRoLTc1IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcclxuICAgICAgd2lkdGg6IDc1JTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gID4gbGksXHJcbiAgPiBkaXZbcm9sZT0nbGlzdGl0ZW0nXSB7XHJcbiAgICB1bCxcclxuICAgIG9sIHtcclxuICAgICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICBtYXJnaW46IDAuNzVyZW0gMDtcclxuICAgICAgbGksXHJcbiAgICAgIGRpdltyb2xlPSdsaXN0aXRlbSddIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjc1cmVtO1xyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgIHdpZHRoOiAwLjI1cmVtO1xyXG4gICAgICAgICAgaGVpZ2h0OiAwLjI1cmVtO1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgIHRvcDogMC42MjVyZW07XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcvY3BjL2Fzc2V0cy9jcGMvdXBsb2Fkcy9pY29ucy9ob2xsb3ctYnVsbGV0LnN2ZycpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4ubGlzdCB7XHJcbiAgbGkge1xyXG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG51bC5jcGMtZHMtbGlzdCxcclxuZGl2W3JvbGU9J2xpc3QnXS5jcGMtZHMtbGlzdCB7XHJcbiAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcclxuICBsaSxcclxuICBkaXZbcm9sZT0nbGlzdGl0ZW0nXSB7XHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgd2lkdGg6IDAuMjVyZW07XHJcbiAgICAgIGhlaWdodDogMC4yNXJlbTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBsZWZ0OiAtMXJlbTtcclxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gID4gbGksXHJcbiAgPiBkaXZbcm9sZT0nbGlzdGl0ZW0nXSB7XHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy9jcGMvYXNzZXRzL2NwYy91cGxvYWRzL2ljb25zL0J1bGxldC5zdmcnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICY6bm90KC5sZWdhbCk6bm90KC5jcGMtZHMtbGlzdF9fY2hlY2tsaXN0KSBsaTpub3QoLmxlZ2FsKSxcclxuICAmOm5vdCgubGVnYWwpOm5vdCguY3BjLWRzLWxpc3RfX2NoZWNrbGlzdCkgZGl2W3JvbGU9J2xpc3RpdGVtJ106bm90KC5sZWdhbCkge1xyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgdG9wOiAwLjYyNXJlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYubGVnYWwgbGksXHJcbiAgJi5sZWdhbCBkaXZbcm9sZT0nbGlzdGl0ZW0nXSxcclxuICBsaS5sZWdhbCxcclxuICBkaXZbcm9sZT0nbGlzdGl0ZW0nXS5sZWdhbCB7XHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICB0b3A6IDAuMzc1cmVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5jcGMtZHMtbGlzdF9fY2hlY2tsaXN0IHtcclxuICAgID4gbGksXHJcbiAgICBkaXZbcm9sZT0nbGlzdGl0ZW0nXSB7XHJcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDFyZW07XHJcbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMS41cmVtO1xyXG4gICAgICB9XHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICB9XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy9jcGMvYXNzZXRzL2NwYy91cGxvYWRzL2tiL3N1cHBvcnQtbGlzdC1jaGVja21hcmstaWNvbi5zdmcnKTtcclxuICAgICAgICB3aWR0aDogMS41cmVtO1xyXG4gICAgICAgIGhlaWdodDogMS41cmVtO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxub2wuY3BjLWRzLWxpc3Qge1xyXG4gIGNvdW50ZXItcmVzZXQ6IG9yZGVyZWQtbGlzdC1jb3VudGVyO1xyXG4gIG1hcmdpbi1sZWZ0OiAwO1xyXG4gID4gbGkge1xyXG4gICAgY291bnRlci1pbmNyZW1lbnQ6IG9yZGVyZWQtbGlzdC1jb3VudGVyO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiBjb3VudGVyKG9yZGVyZWQtbGlzdC1jb3VudGVyKSAnLiAnO1xyXG4gICAgICB3aWR0aDogMXJlbTtcclxuICAgICAgaGVpZ2h0OiAxLjVyZW07XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xyXG4gICAgICBjb2xvcjogJGNwYy1ncmV5LTMwO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIuY3BjLWRzLXRvb2x0aXAge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB3aWR0aDogMTAwJTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgcGFkZGluZzogMC43NXJlbTtcclxuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xyXG4gIGJvcmRlcjogMC4xMjVyZW0gc29saWQgJGNwYy1ncmV5LTUwO1xyXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gIHRyYW5zaXRpb246IGFsbCAwLjJzO1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogY2FsYygxMDAlICsgMXJlbSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcclxuICAgIGJvdHRvbTogLTMuODlyZW07XHJcbiAgICByaWdodDogMDtcclxuICB9XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XHJcbiAgICBib3R0b206IC0zLjg5cmVtO1xyXG4gICAgbGVmdDogMDtcclxuICB9XHJcbiAgJi5zaG93aW5nIHtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuICAmOm5vdCguc2hvd2luZykge1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbiAgLy8gJjo6YmVmb3JlIHtcclxuICAvLyAgIGNvbnRlbnQ6ICcnO1xyXG4gIC8vICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIC8vICAgd2lkdGg6IDAuNXJlbTtcclxuICAvLyAgIGhlaWdodDogMXJlbTtcclxuICAvLyAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2NwYy9hc3NldHMvY3BjL3VwbG9hZHMvaWNvbnMvdG9vbHRpcC1hcnJvdy1yZWJyYW5kZWQuc3ZnJyk7XHJcbiAgLy8gICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XHJcbiAgLy8gICAgIHRvcDogNTAlO1xyXG4gIC8vICAgICBsZWZ0OiAtMC41cmVtO1xyXG4gIC8vICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgLy8gICB9XHJcbiAgLy8gICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XHJcbiAgLy8gICAgIHRvcDogLTAuNzVyZW07XHJcbiAgLy8gICAgIHJpZ2h0OiAwLjkxcmVtO1xyXG4gIC8vICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbiAgLy8gICB9XHJcbiAgLy8gICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcclxuICAvLyAgICAgdG9wOiAtMC43NXJlbTtcclxuICAvLyAgICAgbGVmdDogNTAlO1xyXG4gIC8vICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbiAgLy8gICB9XHJcbiAgLy8gfVxyXG4gICZfX2Fycm93IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcclxuICAgICAgbGVmdDogLTAuNjI1cmVtO1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xyXG4gICAgICByaWdodDogMC43NXJlbTtcclxuICAgICAgdG9wOiAtMC43NXJlbTtcclxuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgdG9wOiAtMC43NXJlbTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHJvdGF0ZSg5MGRlZyk7XHJcbiAgICB9XHJcbiAgfVxyXG4gICZfX2NvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgfVxyXG4gICZfX2J1dHRvbiB7XHJcbiAgICBwb3NpdGlvbjogaW5oZXJpdDtcclxuICB9XHJcbn1cclxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/