@charset "UTF-8";:root{--container-padding:clamp(1.25rem,-4.51923rem + 16.02564vw,7.5rem);--grid__columns:12;--grid__gap:clamp(0.3125rem,-0.84135rem + 3.20513vw,1.5625rem);--grid__overlay--color:#3e0077;--grid__column--width:clamp(3.25rem,0.13889rem + 6.48148vw,5rem);--grid__column--width__gap--width:calc(var(--grid__column--width) + var(--grid__gap));--font__copy:"Barlow","Arial",sans-serif;--font__copy--weight:normal;--font__copy--size:1.125rem;--font__copy--line-height:1.5rem;--font__copy--margin-top:0.625rem;--font__copy--margin-bottom:0.625rem;--font__heading:"Jost Variable",sans-serif;--font__heading--weight:300;--font__heading--weight--bold:700;--font__button--weight--extrabold:800;--h1__size:clamp(2.1875rem,1.61058rem + 1.60256vw,2.8125rem);--h1__line-height:clamp(2.3125rem,1.5625rem + 2.08333vw,3.125rem);--h2__size:clamp(1.875rem,1.58654rem + 0.80128vw,2.1875rem);--h2__line-height:clamp(2rem,1.53846rem + 1.28205vw,2.5rem);--h3__size:clamp(1.25rem,0.96154rem + 0.80128vw,1.5625rem);--h3__line-height:clamp(1.375rem,1.08654rem + 0.80128vw,1.6875rem);--h4__size:1.125rem;--h4__line-height:1.5rem;--h5__size:var(--copy);--h5__line-height:var(--copy--line-height);--color__blue-grey-dark--bg:#365368;--color__blue-grey-dark--text:#365368;--color__blue-grey-dark--text--rgb:54,83,104;--color__blue-grey-dark--bg--rgb:54,83,104;--color__blue-grey-medium--bg:#8596a2;--color__blue-grey-medium--text:#8596a2;--color__blue-grey-medium--bg--rgb:133,150,162;--color__blue-grey-medium--form-text:#708796;--color__grey-medium--table-links:#708796;--color__grey-light--bg:#ccd4d9;--color__grey-light--bg--rgb:204,212,217;--color__grey-light--text:#ccd4d9;--color__grey-ultra-light--bg:#f4f6f7;--color__grey-ultra-light--rgb:244,246,247;--color__grey-ultra-light--text:#f4f6f7;--color__white--bg:#fff;--color__white--text:#fff;--color__white--rgb:255,255,255;--color__site-background:var(--color__white--bg);--color__links:var(--color__blue-grey-dark--text);--color__links--hover:var(--color__blue-grey-dark--text);--color__error:red;--color__error--light:#f08080;--color__error--dark:red;--color__error--accent:red;--color__warning:#ff0;--color__warning--light:#ffffe0;--color__warning--dark:#ff0;--color__warning--accent:#ff0;--color__success:#32cd32;--color__success--light:#90ee90;--color__success--dark:green;--color__success--accent:green;--color__notice:#00f;--color__notice--light:#add8e6;--color__notice--dark:#00f;--color__notice--accent:#00f;--mq__mobile:36em;--mq__tablet:48em;--mq__desktop:62em;--mq__wide:75em;--animation__duration:400ms;--animation__timing-function:ease-in-out;--adminbar__height--narrow:32px;--adminbar__height:46px;--global__radius:0.3125rem;--profile-image__border-radius:var(--global__radius);--max__width:56.25rem;--max__width--small:43.75rem}@media (min-width:48em){:root{--grid__overlay--color:#005994}}@media (min-width:62em){:root{--grid__overlay--color:#8a0000}}@media (min-width:75em){:root{--grid__overlay--color:#4f9776}}@font-face{font-family:Jost Variable;src:url(../fonts/Jost-VariableFont_wght.woff2) format("woff2"),url(../fonts/Jost-VariableFont_wght.woff) format("woff");font-weight:100 900;display:swap;font-style:normal;font-display:swap}@font-face{font-family:Jost;src:url(../fonts/Jost-Light.woff2) format("woff2"),url(../fonts/Jost-Light.woff) format("woff");font-weight:300;font-style:normal;display:swap;font-display:swap}@font-face{font-family:Jost;src:url(../fonts/Jost-Bold.woff2) format("woff2"),url(../fonts/Jost-Bold.woff) format("woff");font-weight:700;font-style:normal;display:swap;font-display:swap}@font-face{font-weight:300;font-family:Barlow;font-style:normal;src:url(../fonts/Barlow-Light.woff2) format("woff2"),url(../fonts/Barlow-Light.woff) format("woff");font-display:swap}@font-face{font-weight:400;font-family:Barlow;font-style:normal;src:url(../fonts/Barlow-Regular.woff2) format("woff2"),url(../fonts/Barlow-Regular.woff) format("woff");font-display:swap}@font-face{font-weight:700;font-family:Barlow;font-style:normal;src:url(../fonts/Barlow-Bold.woff2) format("woff2"),url(../fonts/Barlow-Bold.woff) format("woff");font-display:swap}@font-face{font-weight:800;font-family:Barlow;font-style:normal;src:url(../fonts/Barlow-ExtraBold.woff2) format("woff2"),url(../fonts/Barlow-ExtraBold.woff) format("woff");font-display:swap}@font-face{font-weight:900;font-family:Barlow;font-style:normal;src:url(../fonts/Barlow-Black.woff2) format("woff2"),url(../fonts/Barlow-Black.woff) format("woff");font-display:swap}.gform_wrapper form:not(.h-search-form) #field_submit,.gform_wrapper form:not(.h-search-form) #field_submit input,.gform_wrapper form:not(.h-search-form) .gform-footer:has(input[type=submit]),.is-style-filter>.wp-block-button__link,.is-style-outline--1>.wp-block-button__link,.is-style-outline>.wp-block-button__link,.wp-block-button.is-style-download>.wp-block-button__link,.wp-block-button.is-style-negative>.wp-block-button__link,.wp-block-button.is-style-negative>.wp-block-button__link.is-style-outline--negative,.wp-block-button>.wp-block-button__link,button[type=submit],input[type=submit]{align-items:center;display:inline-block;width:auto;font-family:inherit;font-weight:var(--font__button--weight--extrabold);letter-spacing:.06688rem;line-height:1.1875rem;text-align:left;text-transform:uppercase;background-color:transparent;border:0;color:var(--color__blue-grey-dark--text);padding:.5rem 3.0625rem .5rem 0;position:relative;transition:all var(--animation__duration) var(--animation__timing-function) 0s}.gform_wrapper form:not(.h-search-form) #field_submit:after,.gform_wrapper form:not(.h-search-form) #field_submit input:after,.gform_wrapper form:not(.h-search-form) .gform-footer:has(input[type=submit]):after,.is-style-filter>.wp-block-button__link:after,.is-style-outline--1>.wp-block-button__link:after,.is-style-outline>.wp-block-button__link:after,.wp-block-button.is-style-download>.wp-block-button__link:after,.wp-block-button.is-style-negative>.wp-block-button__link.is-style-outline--negative:after,.wp-block-button.is-style-negative>.wp-block-button__link:after,.wp-block-button>.wp-block-button__link:after,button[type=submit]:after,input[type=submit]:after{content:"";background-color:var(--color__blue-grey-dark--text);-webkit-mask-image:url(../img/button-filter-icon.svg);mask-image:url(../img/button-filter-icon.svg);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;display:inline;width:2rem;height:2rem;position:absolute;right:0;top:50%;transform:translateY(-50%);transition:all var(--animation__duration) var(--animation__timing-function) 0s}.gform_wrapper form:not(.h-search-form) #field_submit .is-style-outline--1 input,.gform_wrapper form:not(.h-search-form) #field_submit .is-style-outline input,.gform_wrapper form:not(.h-search-form) .is-style-outline #field_submit,.gform_wrapper form:not(.h-search-form) .is-style-outline--1 #field_submit,.gform_wrapper form:not(.h-search-form) .is-style-outline--1 .gform-footer:has(input[type=submit]),.gform_wrapper form:not(.h-search-form) .is-style-outline .gform-footer:has(input[type=submit]),.is-style-outline--1 .gform_wrapper form:not(.h-search-form) #field_submit,.is-style-outline--1 .gform_wrapper form:not(.h-search-form) #field_submit input,.is-style-outline--1 .gform_wrapper form:not(.h-search-form) .gform-footer:has(input[type=submit]),.is-style-outline--1 .is-style-filter>.wp-block-button__link,.is-style-outline--1 .is-style-outline>.wp-block-button__link,.is-style-outline--1 .wp-block-button>.wp-block-button__link,.is-style-outline--1 button[type=submit],.is-style-outline--1 input[type=submit],.is-style-outline--1>.wp-block-button__link,.is-style-outline .gform_wrapper form:not(.h-search-form) #field_submit,.is-style-outline .gform_wrapper form:not(.h-search-form) #field_submit input,.is-style-outline .gform_wrapper form:not(.h-search-form) .gform-footer:has(input[type=submit]),.is-style-outline .is-style-filter>.wp-block-button__link,.is-style-outline .is-style-outline--1>.wp-block-button__link,.is-style-outline .wp-block-button>.wp-block-button__link,.is-style-outline>.wp-block-button__link,.is-style-outline button[type=submit],.is-style-outline input[type=submit]{font-size:1rem;border:.0625rem solid var(--color__blue-grey-dark--text);padding:.625rem 2.375rem .625rem 1.125rem}.gform_wrapper form:not(.h-search-form) #field_submit .is-style-outline--1 input:after,.gform_wrapper form:not(.h-search-form) #field_submit .is-style-outline input:after,.gform_wrapper form:not(.h-search-form) .is-style-outline #field_submit:after,.gform_wrapper form:not(.h-search-form) .is-style-outline--1 #field_submit:after,.gform_wrapper form:not(.h-search-form) .is-style-outline--1 .gform-footer:has(input[type=submit]):after,.gform_wrapper form:not(.h-search-form) .is-style-outline .gform-footer:has(input[type=submit]):after,.is-style-outline--1 .gform_wrapper form:not(.h-search-form) #field_submit:after,.is-style-outline--1 .gform_wrapper form:not(.h-search-form) #field_submit input:after,.is-style-outline--1 .gform_wrapper form:not(.h-search-form) .gform-footer:has(input[type=submit]):after,.is-style-outline--1 .is-style-filter>.wp-block-button__link:after,.is-style-outline--1 .is-style-outline>.wp-block-button__link:after,.is-style-outline--1 .wp-block-button>.wp-block-button__link:after,.is-style-outline--1 button[type=submit]:after,.is-style-outline--1 input[type=submit]:after,.is-style-outline--1>.wp-block-button__link:after,.is-style-outline .gform_wrapper form:not(.h-search-form) #field_submit:after,.is-style-outline .gform_wrapper form:not(.h-search-form) #field_submit input:after,.is-style-outline .gform_wrapper form:not(.h-search-form) .gform-footer:has(input[type=submit]):after,.is-style-outline .is-style-filter>.wp-block-button__link:after,.is-style-outline .is-style-outline--1>.wp-block-button__link:after,.is-style-outline .wp-block-button>.wp-block-button__link:after,.is-style-outline>.wp-block-button__link:after,.is-style-outline button[type=submit]:after,.is-style-outline input[type=submit]:after{-webkit-mask-image:url(../img/button-arrow-right.svg);mask-image:url(../img/button-arrow-right.svg);width:.5rem;height:.5625rem;right:1.125rem}.gform_wrapper form:not(.h-search-form) #field_submit:hover,.gform_wrapper form:not(.h-search-form) #field_submit input:hover,.gform_wrapper form:not(.h-search-form) .gform-footer:hover:has(input[type=submit]),.is-style-filter>.wp-block-button__link:hover,.is-style-outline--1>.wp-block-button__link:hover,.is-style-outline>.wp-block-button__link:hover,.wp-block-button>.wp-block-button__link:hover,button:hover[type=submit],input:hover[type=submit]{color:var(--color__blue-grey-medium--text)}.gform_wrapper form:not(.h-search-form) #field_submit .is-style-outline--1 input:hover,.gform_wrapper form:not(.h-search-form) #field_submit .is-style-outline input:hover,.gform_wrapper form:not(.h-search-form) .is-style-outline #field_submit:hover,.gform_wrapper form:not(.h-search-form) .is-style-outline--1 #field_submit:hover,.gform_wrapper form:not(.h-search-form) .is-style-outline--1 .gform-footer:hover:has(input[type=submit]),.gform_wrapper form:not(.h-search-form) .is-style-outline .gform-footer:hover:has(input[type=submit]),.is-style-outline--1 .gform_wrapper form:not(.h-search-form) #field_submit:hover,.is-style-outline--1 .gform_wrapper form:not(.h-search-form) #field_submit input:hover,.is-style-outline--1 .gform_wrapper form:not(.h-search-form) .gform-footer:hover:has(input[type=submit]),.is-style-outline--1 .is-style-filter>.wp-block-button__link:hover,.is-style-outline--1 .is-style-outline>.wp-block-button__link:hover,.is-style-outline--1 .wp-block-button>.wp-block-button__link:hover,.is-style-outline--1 button:hover[type=submit],.is-style-outline--1 input:hover[type=submit],.is-style-outline--1>.wp-block-button__link:hover,.is-style-outline .gform_wrapper form:not(.h-search-form) #field_submit:hover,.is-style-outline .gform_wrapper form:not(.h-search-form) #field_submit input:hover,.is-style-outline .gform_wrapper form:not(.h-search-form) .gform-footer:hover:has(input[type=submit]),.is-style-outline .is-style-filter>.wp-block-button__link:hover,.is-style-outline .is-style-outline--1>.wp-block-button__link:hover,.is-style-outline .wp-block-button>.wp-block-button__link:hover,.is-style-outline>.wp-block-button__link:hover,.is-style-outline button:hover[type=submit],.is-style-outline input:hover[type=submit]{background-color:var(--color__blue-grey-dark--bg);color:var(--color__white--text)}.gform_wrapper form:not(.h-search-form) #field_submit:hover:after,.gform_wrapper form:not(.h-search-form) #field_submit input:hover:after,.gform_wrapper form:not(.h-search-form) .gform-footer:has(input[type=submit]):hover:after,.is-style-filter>.wp-block-button__link:hover:after,.is-style-outline--1>.wp-block-button__link:hover:after,.is-style-outline>.wp-block-button__link:hover:after,.wp-block-button>.wp-block-button__link:hover:after,button[type=submit]:hover:after,input[type=submit]:hover:after{background-color:var(--color__blue-grey-medium--text)}.gform_wrapper form:not(.h-search-form) #field_submit .is-style-outline--1 input:hover:after,.gform_wrapper form:not(.h-search-form) #field_submit .is-style-outline input:hover:after,.gform_wrapper form:not(.h-search-form) .is-style-outline #field_submit:hover:after,.gform_wrapper form:not(.h-search-form) .is-style-outline--1 #field_submit:hover:after,.gform_wrapper form:not(.h-search-form) .is-style-outline--1 .gform-footer:has(input[type=submit]):hover:after,.gform_wrapper form:not(.h-search-form) .is-style-outline .gform-footer:has(input[type=submit]):hover:after,.is-style-outline--1 .gform_wrapper form:not(.h-search-form) #field_submit:hover:after,.is-style-outline--1 .gform_wrapper form:not(.h-search-form) #field_submit input:hover:after,.is-style-outline--1 .gform_wrapper form:not(.h-search-form) .gform-footer:has(input[type=submit]):hover:after,.is-style-outline--1 .is-style-filter>.wp-block-button__link:hover:after,.is-style-outline--1 .is-style-outline>.wp-block-button__link:hover:after,.is-style-outline--1 .wp-block-button>.wp-block-button__link:hover:after,.is-style-outline--1 button[type=submit]:hover:after,.is-style-outline--1 input[type=submit]:hover:after,.is-style-outline--1>.wp-block-button__link:hover:after,.is-style-outline .gform_wrapper form:not(.h-search-form) #field_submit:hover:after,.is-style-outline .gform_wrapper form:not(.h-search-form) #field_submit input:hover:after,.is-style-outline .gform_wrapper form:not(.h-search-form) .gform-footer:has(input[type=submit]):hover:after,.is-style-outline .is-style-filter>.wp-block-button__link:hover:after,.is-style-outline .is-style-outline--1>.wp-block-button__link:hover:after,.is-style-outline .wp-block-button>.wp-block-button__link:hover:after,.is-style-outline>.wp-block-button__link:hover:after,.is-style-outline button[type=submit]:hover:after,.is-style-outline input[type=submit]:hover:after{background-color:var(--color__white--bg)}.wp-block-button.is-style-download>.wp-block-button__link{letter-spacing:0;text-transform:none}.wp-block-button.is-style-download>.wp-block-button__link:after{-webkit-mask-image:url(../img/button-download-icon.svg);mask-image:url(../img/button-download-icon.svg)}.wp-block-button.is-style-negative>.wp-block-button__link,.wp-block-button.is-style-negative>.wp-block-button__link.is-style-outline--negative{color:var(--color__white--text)}.wp-block-button.is-style-negative>.wp-block-button__link.is-style-outline--negative:after,.wp-block-button.is-style-negative>.wp-block-button__link:after{background-color:var(--color__white--bg)}.wp-block-button.is-style-negative>.wp-block-button__link:hover{color:var(--color__blue-grey-medium--text)}.wp-block-button.is-style-negative>.wp-block-button__link:hover:after{background-color:var(--color__blue-grey-medium--text)}.wp-block-button.is-style-negative>.wp-block-button__link.is-style-outline--negative{border:.0625rem solid var(--color__blue-grey-medium--bg);padding:.5625rem 1rem .75rem;font-size:1rem;letter-spacing:.06688rem;line-height:1.1875rem;width:-moz-max-content;width:max-content;display:flex;align-items:center;align-content:center;justify-content:space-between;gap:.8125rem;position:relative}.wp-block-button.is-style-negative>.wp-block-button__link.is-style-outline--negative:after{-webkit-mask-image:url(../img/button-arrow-right.svg);mask-image:url(../img/button-arrow-right.svg);width:.4375rem;height:.5rem;position:relative;right:0;top:50%;transform:translateY(calc(-50% - .25rem))}.wp-block-button.is-style-negative>.wp-block-button__link.is-style-outline--negative:hover{color:var(--color__blue-grey-dark--text);background-color:var(--color__white--bg)}.wp-block-button.is-style-negative>.wp-block-button__link.is-style-outline--negative:hover:after{-webkit-mask-image:url(../img/button-arrow-right.svg);mask-image:url(../img/button-arrow-right.svg);background-color:var(--color__blue-grey-medium--text)}.container{margin-left:auto;margin-right:auto;max-width:calc(var(--container-padding)*2 + var(--content-width));padding-left:var(--container-padding);padding-right:var(--container-padding);width:100%}@media (min-width:950px){.alignwide{left:calc(50% - 50vw);margin-left:-125px;margin-right:-125px;max-width:100vw;position:relative}}.alignfull{left:calc(50% - 50vw);position:relative;width:100vw}.search .content{margin-top:clamp(4.0625rem,.60096rem + 9.61538vw,7.8125rem)}.wp-block-group__inner-container>section:last-child:not(.full-video-module):not(.cta-text-image-module):not(.has-bg-blue){padding-bottom:clamp(4.0625rem,.60096rem + 9.61538vw,7.8125rem)}@keyframes fontWeightLightBold{0%{font-variation-settings:"wght" 200}to{font-variation-settings:"wght" 700}}@keyframes fontWeightBoldLight{0%{font-variation-settings:"wght" 700}to{font-variation-settings:"wght" 200}}.has-background.has-primary-background-color{background:var(--color__blue-grey-dark--bg)}.has-background.has-secondary-background-color{background:var(--color__blue-grey-medium--bg)}.has-background.has-tertiary-background-color{background:var(--color__grey-light--bg)}.has-background.has-accent-background-color{background:var(--color__grey-ultra-light--bg)}.has-background.has-white-background-color{background:var(--color__white--bg)}.has-background.has-black-background-color{background:var(--color__notice-grey-dark--bg)}.has-background.has-grey-background-color{background:var(--color__notice-grey-medium--bg)}.has-background.has-red-background-color{background:var(--color__error)}.has-background.has-light-red-background-color{background:var(--color__error--light)}.has-background.has-green-background-color{background:var(--color__success)}.has-background.has-light-green-background-color{background:var(--color__success--light)}.has-background.has-blue-background-color{background:var(--color__notice)}.has-background.has-light-blue-background-color{background:var(--color__notice--light)}.has-background.has-yellow-background-color{background:var(--color__warning)}.has-background.has-light-yellow-background-color{background:var(--color__warning--light)}.has-text-color.has-primary-color{color:var(--color__blue-grey-dark--bg)}.has-text-color.has-secondary-color{color:var(--color__blue-grey-medium--bg)}.has-text-color.has-tertiary-color{color:var(--color__grey-light--bg)}.has-text-color.has-accent-color{color:var(--color__grey-ultra-light--bg)}.has-text-color.has-white-color{color:var(--color__white--text)}.has-text-color.has-black-color{color:var(--color__notice-grey-dark--text)}.has-text-color.has-grey-color{color:var(--color__notice-grey-medium--text)}.has-text-color.has-red-color{color:var(--color__error)}.has-text-color.has-light-red-color{color:var(--color__error--light)}.has-text-color.has-green-color{color:var(--color__success)}.has-text-color.has-light-green-color{color:var(--color__success--light)}.has-text-color.has-blue-color{color:var(--color__notice)}.has-text-color.has-light-blue-color{color:var(--color__notice--light)}.has-text-color.has-yellow-color{color:var(--color__warning)}.has-text-color.has-light-yellow-color{color:var(--color__warning--light)}:first-child:not(.text-module__content--left :first-child):not(.text-module__content--base :first-child):not(.image-link-module__content__accordion__item__content--text :first-child):not(.anlagen-module__content__accordion__item__content--text :first-child):not(.description--inner :first-child):not(.industries-accordion-module):not(.is-load-more){margin-top:0}:last-child{margin-bottom:0}[class*=-module]:not(.cta-text-image-module).has-bg-blue{--has-bg-blue__text--color:var(--color__white--text);position:relative}[class*=-module]:not(.cta-text-image-module).has-bg-blue:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--color__blue-grey-dark--bg);z-index:-2;mix-blend-mode:color}[class*=-module]:not(.cta-text-image-module).has-bg-blue .text-module a,[class*=-module]:not(.cta-text-image-module).has-bg-blue .text-module b,[class*=-module]:not(.cta-text-image-module).has-bg-blue .text-module h1,[class*=-module]:not(.cta-text-image-module).has-bg-blue .text-module h2,[class*=-module]:not(.cta-text-image-module).has-bg-blue .text-module h3,[class*=-module]:not(.cta-text-image-module).has-bg-blue .text-module h4,[class*=-module]:not(.cta-text-image-module).has-bg-blue .text-module h5,[class*=-module]:not(.cta-text-image-module).has-bg-blue .text-module h6,[class*=-module]:not(.cta-text-image-module).has-bg-blue .text-module p,[class*=-module]:not(.cta-text-image-module).has-bg-blue .text-module strong,[class*=-module]:not(.cta-text-image-module).has-bg-blue:not(.sites-image-textbox-grid-module):not(.industries-accordion-module):not(.tagembed-widget):not(.text-table-image-module)>div,[class*=-module]:not(.cta-text-image-module).has-bg-blue:not(.sites-image-textbox-grid-module):not(.industries-accordion-module):not(.tagembed-widget):not(.text-table-image-module) a,[class*=-module]:not(.cta-text-image-module).has-bg-blue:not(.sites-image-textbox-grid-module):not(.industries-accordion-module):not(.tagembed-widget):not(.text-table-image-module) b,[class*=-module]:not(.cta-text-image-module).has-bg-blue:not(.sites-image-textbox-grid-module):not(.industries-accordion-module):not(.tagembed-widget):not(.text-table-image-module) h1,[class*=-module]:not(.cta-text-image-module).has-bg-blue:not(.sites-image-textbox-grid-module):not(.industries-accordion-module):not(.tagembed-widget):not(.text-table-image-module) h2,[class*=-module]:not(.cta-text-image-module).has-bg-blue:not(.sites-image-textbox-grid-module):not(.industries-accordion-module):not(.tagembed-widget):not(.text-table-image-module) h3,[class*=-module]:not(.cta-text-image-module).has-bg-blue:not(.sites-image-textbox-grid-module):not(.industries-accordion-module):not(.tagembed-widget):not(.text-table-image-module) h4,[class*=-module]:not(.cta-text-image-module).has-bg-blue:not(.sites-image-textbox-grid-module):not(.industries-accordion-module):not(.tagembed-widget):not(.text-table-image-module) h5,[class*=-module]:not(.cta-text-image-module).has-bg-blue:not(.sites-image-textbox-grid-module):not(.industries-accordion-module):not(.tagembed-widget):not(.text-table-image-module) h6,[class*=-module]:not(.cta-text-image-module).has-bg-blue:not(.sites-image-textbox-grid-module):not(.industries-accordion-module):not(.tagembed-widget):not(.text-table-image-module) p,[class*=-module]:not(.cta-text-image-module).has-bg-blue:not(.sites-image-textbox-grid-module):not(.industries-accordion-module):not(.tagembed-widget):not(.text-table-image-module) strong{color:var(--has-bg-blue__text--color)}:root{--responsive-spaces-fix:.6}@media (min-width:36em){:root{--responsive-spaces-fix:.75}}@media (min-width:48em){:root{--responsive-spaces-fix:.8}}@media (min-width:62em){:root{--responsive-spaces-fix:.9}}@media (min-width:75em){:root{--responsive-spaces-fix:1}}.margin--extrasmall{margin:clamp(1.5625rem,.12019rem + 4.00641vw,3.125rem)}.margin--small{margin:clamp(2.8125rem,.50481rem + 6.41026vw,5.3125rem)}.margin--medium{margin:clamp(4.0625rem,.60096rem + 9.61538vw,7.8125rem)}.margin--large{margin:clamp(4.6875rem,.36058rem + 12.01923vw,9.375rem)}.margin--extralarge{margin:clamp(6.25rem,.48077rem + 16.02564vw,12.5rem)}.margin__top--extrasmall{margin-top:clamp(1.5625rem,.12019rem + 4.00641vw,3.125rem)}.margin__top--small{margin-top:clamp(2.8125rem,.50481rem + 6.41026vw,5.3125rem)}.margin__top--medium{margin-top:clamp(4.0625rem,.60096rem + 9.61538vw,7.8125rem)}.margin__top--large{margin-top:clamp(4.6875rem,.36058rem + 12.01923vw,9.375rem)}.margin__top--extralarge{margin-top:clamp(6.25rem,.48077rem + 16.02564vw,12.5rem)}.margin__right--extrasmall{margin-right:clamp(1.5625rem,.12019rem + 4.00641vw,3.125rem)}.margin__right--small{margin-right:clamp(2.8125rem,.50481rem + 6.41026vw,5.3125rem)}.margin__right--medium{margin-right:clamp(4.0625rem,.60096rem + 9.61538vw,7.8125rem)}.margin__right--large{margin-right:clamp(4.6875rem,.36058rem + 12.01923vw,9.375rem)}.margin__right--extralarge{margin-right:clamp(6.25rem,.48077rem + 16.02564vw,12.5rem)}.margin__bottom--extrasmall{margin-bottom:clamp(1.5625rem,.12019rem + 4.00641vw,3.125rem)}.margin__bottom--small{margin-bottom:clamp(2.8125rem,.50481rem + 6.41026vw,5.3125rem)}.margin__bottom--medium{margin-bottom:clamp(4.0625rem,.60096rem + 9.61538vw,7.8125rem)}.margin__bottom--large{margin-bottom:clamp(4.6875rem,.36058rem + 12.01923vw,9.375rem)}.margin__bottom--extralarge{margin-bottom:clamp(6.25rem,.48077rem + 16.02564vw,12.5rem)}.margin__left--extrasmall{margin-left:clamp(1.5625rem,.12019rem + 4.00641vw,3.125rem)}.margin__left--small{margin-left:clamp(2.8125rem,.50481rem + 6.41026vw,5.3125rem)}.margin__left--medium{margin-left:clamp(4.0625rem,.60096rem + 9.61538vw,7.8125rem)}.margin__left--large{margin-left:clamp(4.6875rem,.36058rem + 12.01923vw,9.375rem)}.margin__left--extralarge{margin-left:clamp(6.25rem,.48077rem + 16.02564vw,12.5rem)}.margin__horizontal--extrasmall{margin-top:clamp(1.5625rem,.12019rem + 4.00641vw,3.125rem);margin-bottom:clamp(1.5625rem,.12019rem + 4.00641vw,3.125rem)}.margin__horizontal--small{margin-top:clamp(2.8125rem,.50481rem + 6.41026vw,5.3125rem);margin-bottom:clamp(2.8125rem,.50481rem + 6.41026vw,5.3125rem)}.margin__horizontal--medium{margin-top:clamp(4.0625rem,.60096rem + 9.61538vw,7.8125rem);margin-bottom:clamp(4.0625rem,.60096rem + 9.61538vw,7.8125rem)}.margin__horizontal--large{margin-top:clamp(4.6875rem,.36058rem + 12.01923vw,9.375rem);margin-bottom:clamp(4.6875rem,.36058rem + 12.01923vw,9.375rem)}.margin__horizontal--extralarge{margin-top:clamp(6.25rem,.48077rem + 16.02564vw,12.5rem);margin-bottom:clamp(6.25rem,.48077rem + 16.02564vw,12.5rem)}.margin__vertical--extrasmall{margin-left:clamp(1.5625rem,.12019rem + 4.00641vw,3.125rem);margin-right:clamp(1.5625rem,.12019rem + 4.00641vw,3.125rem)}.margin__vertical--small{margin-left:clamp(2.8125rem,.50481rem + 6.41026vw,5.3125rem);margin-right:clamp(2.8125rem,.50481rem + 6.41026vw,5.3125rem)}.margin__vertical--medium{margin-left:clamp(4.0625rem,.60096rem + 9.61538vw,7.8125rem);margin-right:clamp(4.0625rem,.60096rem + 9.61538vw,7.8125rem)}.margin__vertical--large{margin-left:clamp(4.6875rem,.36058rem + 12.01923vw,9.375rem);margin-right:clamp(4.6875rem,.36058rem + 12.01923vw,9.375rem)}.margin__vertical--extralarge{margin-left:clamp(6.25rem,.48077rem + 16.02564vw,12.5rem);margin-right:clamp(6.25rem,.48077rem + 16.02564vw,12.5rem)}.padding--extrasmall{padding:clamp(1.5625rem,.12019rem + 4.00641vw,3.125rem)}.padding--small{padding:clamp(2.8125rem,.50481rem + 6.41026vw,5.3125rem)}.padding--medium{padding:clamp(4.0625rem,.60096rem + 9.61538vw,7.8125rem)}.padding--large{padding:clamp(4.6875rem,.36058rem + 12.01923vw,9.375rem)}.padding--extralarge{padding:clamp(6.25rem,.48077rem + 16.02564vw,12.5rem)}.padding__top--extrasmall{padding-top:clamp(1.5625rem,.12019rem + 4.00641vw,3.125rem)}.padding__top--small{padding-top:clamp(2.8125rem,.50481rem + 6.41026vw,5.3125rem)}.padding__top--medium{padding-top:clamp(4.0625rem,.60096rem + 9.61538vw,7.8125rem)}.padding__top--large{padding-top:clamp(4.6875rem,.36058rem + 12.01923vw,9.375rem)}.padding__top--extralarge{padding-top:clamp(6.25rem,.48077rem + 16.02564vw,12.5rem)}.padding__right--extrasmall{padding-right:clamp(1.5625rem,.12019rem + 4.00641vw,3.125rem)}.padding__right--small{padding-right:clamp(2.8125rem,.50481rem + 6.41026vw,5.3125rem)}.padding__right--medium{padding-right:clamp(4.0625rem,.60096rem + 9.61538vw,7.8125rem)}.padding__right--large{padding-right:clamp(4.6875rem,.36058rem + 12.01923vw,9.375rem)}.padding__right--extralarge{padding-right:clamp(6.25rem,.48077rem + 16.02564vw,12.5rem)}.padding__bottom--extrasmall{padding-bottom:clamp(1.5625rem,.12019rem + 4.00641vw,3.125rem)}.padding__bottom--small{padding-bottom:clamp(2.8125rem,.50481rem + 6.41026vw,5.3125rem)}.padding__bottom--medium{padding-bottom:clamp(4.0625rem,.60096rem + 9.61538vw,7.8125rem)}.padding__bottom--large{padding-bottom:clamp(4.6875rem,.36058rem + 12.01923vw,9.375rem)}.padding__bottom--extralarge{padding-bottom:clamp(6.25rem,.48077rem + 16.02564vw,12.5rem)}.padding__left--extrasmall{padding-left:clamp(1.5625rem,.12019rem + 4.00641vw,3.125rem)}.padding__left--small{padding-left:clamp(2.8125rem,.50481rem + 6.41026vw,5.3125rem)}.padding__left--medium{padding-left:clamp(4.0625rem,.60096rem + 9.61538vw,7.8125rem)}.padding__left--large{padding-left:clamp(4.6875rem,.36058rem + 12.01923vw,9.375rem)}.padding__left--extralarge{padding-left:clamp(6.25rem,.48077rem + 16.02564vw,12.5rem)}.padding__horizontal--extrasmall{padding-top:clamp(1.5625rem,.12019rem + 4.00641vw,3.125rem);padding-bottom:clamp(1.5625rem,.12019rem + 4.00641vw,3.125rem)}.padding__horizontal--small{padding-top:clamp(2.8125rem,.50481rem + 6.41026vw,5.3125rem);padding-bottom:clamp(2.8125rem,.50481rem + 6.41026vw,5.3125rem)}.padding__horizontal--medium{padding-top:clamp(4.0625rem,.60096rem + 9.61538vw,7.8125rem);padding-bottom:clamp(4.0625rem,.60096rem + 9.61538vw,7.8125rem)}.padding__horizontal--large{padding-top:clamp(4.6875rem,.36058rem + 12.01923vw,9.375rem);padding-bottom:clamp(4.6875rem,.36058rem + 12.01923vw,9.375rem)}.padding__horizontal--extralarge{padding-top:clamp(6.25rem,.48077rem + 16.02564vw,12.5rem);padding-bottom:clamp(6.25rem,.48077rem + 16.02564vw,12.5rem)}.padding__vertical--extrasmall{padding-left:clamp(1.5625rem,.12019rem + 4.00641vw,3.125rem);padding-right:clamp(1.5625rem,.12019rem + 4.00641vw,3.125rem)}.padding__vertical--small{padding-left:clamp(2.8125rem,.50481rem + 6.41026vw,5.3125rem);padding-right:clamp(2.8125rem,.50481rem + 6.41026vw,5.3125rem)}.padding__vertical--medium{padding-left:clamp(4.0625rem,.60096rem + 9.61538vw,7.8125rem);padding-right:clamp(4.0625rem,.60096rem + 9.61538vw,7.8125rem)}.padding__vertical--large{padding-left:clamp(4.6875rem,.36058rem + 12.01923vw,9.375rem);padding-right:clamp(4.6875rem,.36058rem + 12.01923vw,9.375rem)}.padding__vertical--extralarge{padding-left:clamp(6.25rem,.48077rem + 16.02564vw,12.5rem);padding-right:clamp(6.25rem,.48077rem + 16.02564vw,12.5rem)}body{color:var(--color__blue-grey-dark--text);background-color:var(--color__site-background);display:flex;flex-direction:column;font-family:var(--font__copy);font-weight:var(--font__copy--weight);font-size:var(--font__copy--size);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.admin-bar{min-height:calc(100vh - var(--adminbar__height--narrow))}@media (min-width:62em){body.admin-bar{min-height:calc(100vh - var(--adminbar__height))}}body.nav-is--visible{overflow:hidden}figure{margin:0;padding:0}.gform_wrapper.gravity-theme .gfield.gfield--type-textarea textarea.textarea{height:5.875rem}.gform_wrapper.gravity-theme .gfield.gfield--type-textarea textarea.textarea+.ginput_counter{color:var(--color__blue-grey-dark--text)}@media only screen and (max-width:641px){.gform_wrapper.gravity-theme input:not([type=radio]):not([type=checkbox]):not([type=image]):not([type=file]){line-height:1.3125rem!important;min-height:unset!important}}.gform_heading{display:grid;grid-template-columns:1fr auto;grid-template-rows:1.375rem auto;margin-bottom:.75rem}.gform_heading:has(.gform_title){margin-bottom:1.0625rem}.gform_title{font-size:var(--h4__size);line-height:var(--h4__line-height);margin-top:var(--h4__margin-top);font-family:var(--font__copy);font-weight:var(--font__heading--weight--bold);margin-block:0;order:0;text-transform:unset}.gform_required_legend{margin-top:0;font-size:.8125rem;color:var(--color__blue-grey-medium--text);order:1;text-align:right}.gform_description{order:2}.gform_description:empty{margin-block:0}.gform_fields .extra-margin{margin-top:clamp(1.5rem,1.15385rem + .96154vw,1.875rem)}.gform_wrapper form:not(.h-search-form){--submit__justify:start;--submit__margin-top:1rem;--submit__justify-self:start;--consent__margin-top:0.625rem}.gform_wrapper form:not(.h-search-form) .custom-gform-select .select-button,.gform_wrapper form:not(.h-search-form) .custom-gform-select .select-dropdown,.gform_wrapper form:not(.h-search-form) input,.gform_wrapper form:not(.h-search-form) input[type=checkbox],.gform_wrapper form:not(.h-search-form) input[type=email],.gform_wrapper form:not(.h-search-form) input[type=number],.gform_wrapper form:not(.h-search-form) input[type=password],.gform_wrapper form:not(.h-search-form) input[type=radio],.gform_wrapper form:not(.h-search-form) input[type=text],.gform_wrapper form:not(.h-search-form) select,.gform_wrapper form:not(.h-search-form) textarea{color:var(--color__blue-grey-dark--text);border:.0625rem solid;border-color:var(--color__grey-light--bg);border-radius:0;line-height:1.3125rem;background-color:transparent}.gform_wrapper form:not(.h-search-form) .custom-gform-select .select-button:not([type=submit]):not([type=checkbox]):not(:has(li)),.gform_wrapper form:not(.h-search-form) .custom-gform-select .select-dropdown:not([type=submit]):not([type=checkbox]):not(:has(li)),.gform_wrapper form:not(.h-search-form) input:not([type=submit]):not([type=checkbox]):not(:has(li)),.gform_wrapper form:not(.h-search-form) input[type=checkbox]:not([type=submit]):not([type=checkbox]):not(:has(li)),.gform_wrapper form:not(.h-search-form) input[type=email]:not([type=submit]):not([type=checkbox]):not(:has(li)),.gform_wrapper form:not(.h-search-form) input[type=number]:not([type=submit]):not([type=checkbox]):not(:has(li)),.gform_wrapper form:not(.h-search-form) input[type=password]:not([type=submit]):not([type=checkbox]):not(:has(li)),.gform_wrapper form:not(.h-search-form) input[type=radio]:not([type=submit]):not([type=checkbox]):not(:has(li)),.gform_wrapper form:not(.h-search-form) input[type=text]:not([type=submit]):not([type=checkbox]):not(:has(li)),.gform_wrapper form:not(.h-search-form) select:not([type=submit]):not([type=checkbox]):not(:has(li)),.gform_wrapper form:not(.h-search-form) textarea:not([type=submit]):not([type=checkbox]):not(:has(li)){padding:.8125rem 1rem!important}.gform_wrapper form:not(.h-search-form) .custom-gform-select .select-button:not(.select-button):hover,.gform_wrapper form:not(.h-search-form) .custom-gform-select .select-dropdown:not(.select-button):hover,.gform_wrapper form:not(.h-search-form) input:not(.select-button):hover,.gform_wrapper form:not(.h-search-form) input[type=checkbox]:not(.select-button):hover,.gform_wrapper form:not(.h-search-form) input[type=email]:not(.select-button):hover,.gform_wrapper form:not(.h-search-form) input[type=number]:not(.select-button):hover,.gform_wrapper form:not(.h-search-form) input[type=password]:not(.select-button):hover,.gform_wrapper form:not(.h-search-form) input[type=radio]:not(.select-button):hover,.gform_wrapper form:not(.h-search-form) input[type=text]:not(.select-button):hover,.gform_wrapper form:not(.h-search-form) select:not(.select-button):hover,.gform_wrapper form:not(.h-search-form) textarea:not(.select-button):hover{cursor:text}.gform_wrapper form:not(.h-search-form) .custom-gform-select .select-button:focus,.gform_wrapper form:not(.h-search-form) .custom-gform-select .select-dropdown:focus,.gform_wrapper form:not(.h-search-form) input:focus,.gform_wrapper form:not(.h-search-form) input[type=checkbox]:focus,.gform_wrapper form:not(.h-search-form) input[type=email]:focus,.gform_wrapper form:not(.h-search-form) input[type=number]:focus,.gform_wrapper form:not(.h-search-form) input[type=password]:focus,.gform_wrapper form:not(.h-search-form) input[type=radio]:focus,.gform_wrapper form:not(.h-search-form) input[type=text]:focus,.gform_wrapper form:not(.h-search-form) select:focus,.gform_wrapper form:not(.h-search-form) textarea:focus{outline:unset;border-color:var(--color__blue-grey-dark--text)}.gform_wrapper form:not(.h-search-form) .custom-gform-select .select-button:focus::-moz-placeholder,.gform_wrapper form:not(.h-search-form) .custom-gform-select .select-dropdown:focus::-moz-placeholder,.gform_wrapper form:not(.h-search-form) input:focus::-moz-placeholder,.gform_wrapper form:not(.h-search-form) input[type=checkbox]:focus::-moz-placeholder,.gform_wrapper form:not(.h-search-form) input[type=email]:focus::-moz-placeholder,.gform_wrapper form:not(.h-search-form) input[type=number]:focus::-moz-placeholder,.gform_wrapper form:not(.h-search-form) input[type=password]:focus::-moz-placeholder,.gform_wrapper form:not(.h-search-form) input[type=radio]:focus::-moz-placeholder,.gform_wrapper form:not(.h-search-form) input[type=text]:focus::-moz-placeholder,.gform_wrapper form:not(.h-search-form) select:focus::-moz-placeholder,.gform_wrapper form:not(.h-search-form) textarea:focus::-moz-placeholder{color:var(--color__blue-grey-dark--text)}.gform_wrapper form:not(.h-search-form) .custom-gform-select .select-button:focus::placeholder,.gform_wrapper form:not(.h-search-form) .custom-gform-select .select-dropdown:focus::placeholder,.gform_wrapper form:not(.h-search-form) input:focus::placeholder,.gform_wrapper form:not(.h-search-form) input[type=checkbox]:focus::placeholder,.gform_wrapper form:not(.h-search-form) input[type=email]:focus::placeholder,.gform_wrapper form:not(.h-search-form) input[type=number]:focus::placeholder,.gform_wrapper form:not(.h-search-form) input[type=password]:focus::placeholder,.gform_wrapper form:not(.h-search-form) input[type=radio]:focus::placeholder,.gform_wrapper form:not(.h-search-form) input[type=text]:focus::placeholder,.gform_wrapper form:not(.h-search-form) select:focus::placeholder,.gform_wrapper form:not(.h-search-form) textarea:focus::placeholder{color:var(--color__blue-grey-dark--text)}.gform_wrapper form:not(.h-search-form) .custom-gform-select .select-button::-moz-placeholder,.gform_wrapper form:not(.h-search-form) .custom-gform-select .select-dropdown::-moz-placeholder,.gform_wrapper form:not(.h-search-form) input::-moz-placeholder,.gform_wrapper form:not(.h-search-form) input[type=checkbox]::-moz-placeholder,.gform_wrapper form:not(.h-search-form) input[type=email]::-moz-placeholder,.gform_wrapper form:not(.h-search-form) input[type=number]::-moz-placeholder,.gform_wrapper form:not(.h-search-form) input[type=password]::-moz-placeholder,.gform_wrapper form:not(.h-search-form) input[type=radio]::-moz-placeholder,.gform_wrapper form:not(.h-search-form) input[type=text]::-moz-placeholder,.gform_wrapper form:not(.h-search-form) select::-moz-placeholder,.gform_wrapper form:not(.h-search-form) textarea::-moz-placeholder{color:var(--color__blue-grey-medium--form-text);opacity:1}.gform_wrapper form:not(.h-search-form) .custom-gform-select .select-button::placeholder,.gform_wrapper form:not(.h-search-form) .custom-gform-select .select-dropdown::placeholder,.gform_wrapper form:not(.h-search-form) input::placeholder,.gform_wrapper form:not(.h-search-form) input[type=checkbox]::placeholder,.gform_wrapper form:not(.h-search-form) input[type=email]::placeholder,.gform_wrapper form:not(.h-search-form) input[type=number]::placeholder,.gform_wrapper form:not(.h-search-form) input[type=password]::placeholder,.gform_wrapper form:not(.h-search-form) input[type=radio]::placeholder,.gform_wrapper form:not(.h-search-form) input[type=text]::placeholder,.gform_wrapper form:not(.h-search-form) select::placeholder,.gform_wrapper form:not(.h-search-form) textarea::placeholder{color:var(--color__blue-grey-medium--form-text);opacity:1}.gform_wrapper form:not(.h-search-form) .custom-gform-select .select-button,.gform_wrapper form:not(.h-search-form) .custom-gform-select .select-dropdown{color:var(--color__blue-grey-medium--form-text);font-size:15px}.gform_wrapper form:not(.h-search-form) #field_submit:hover,.gform_wrapper form:not(.h-search-form) .custom-gform-select .select-button:hover,.gform_wrapper form:not(.h-search-form) .custom-gform-select:hover,.gform_wrapper form:not(.h-search-form) input[type=checkbox]:hover,.gform_wrapper form:not(.h-search-form) input[type=radio]:hover,.gform_wrapper form:not(.h-search-form) input[type=submit]:hover,.gform_wrapper form:not(.h-search-form) select:hover{cursor:pointer}.gform_wrapper form:not(.h-search-form) input:not(:-moz-placeholder-shown),.gform_wrapper form:not(.h-search-form) input[type=checkbox]:not(:-moz-placeholder-shown),.gform_wrapper form:not(.h-search-form) input[type=email]:not(:-moz-placeholder-shown),.gform_wrapper form:not(.h-search-form) input[type=number]:not(:-moz-placeholder-shown),.gform_wrapper form:not(.h-search-form) input[type=password]:not(:-moz-placeholder-shown),.gform_wrapper form:not(.h-search-form) input[type=radio]:not(:-moz-placeholder-shown),.gform_wrapper form:not(.h-search-form) input[type=text]:not(:-moz-placeholder-shown),.gform_wrapper form:not(.h-search-form) textarea:not(:-moz-placeholder-shown){outline:unset;border-color:var(--color__blue-grey-medium--bg)!important}.gform_wrapper form:not(.h-search-form) input:not(:placeholder-shown),.gform_wrapper form:not(.h-search-form) input[type=checkbox]:not(:placeholder-shown),.gform_wrapper form:not(.h-search-form) input[type=email]:not(:placeholder-shown),.gform_wrapper form:not(.h-search-form) input[type=number]:not(:placeholder-shown),.gform_wrapper form:not(.h-search-form) input[type=password]:not(:placeholder-shown),.gform_wrapper form:not(.h-search-form) input[type=radio]:not(:placeholder-shown),.gform_wrapper form:not(.h-search-form) input[type=text]:not(:placeholder-shown),.gform_wrapper form:not(.h-search-form) textarea:not(:placeholder-shown){outline:unset;border-color:var(--color__blue-grey-medium--bg)!important}.gform_wrapper form:not(.h-search-form) input:not(:placeholder-shown)::-moz-placeholder,.gform_wrapper form:not(.h-search-form) input[type=checkbox]:not(:placeholder-shown)::-moz-placeholder,.gform_wrapper form:not(.h-search-form) input[type=email]:not(:placeholder-shown)::-moz-placeholder,.gform_wrapper form:not(.h-search-form) input[type=number]:not(:placeholder-shown)::-moz-placeholder,.gform_wrapper form:not(.h-search-form) input[type=password]:not(:placeholder-shown)::-moz-placeholder,.gform_wrapper form:not(.h-search-form) input[type=radio]:not(:placeholder-shown)::-moz-placeholder,.gform_wrapper form:not(.h-search-form) input[type=text]:not(:placeholder-shown)::-moz-placeholder,.gform_wrapper form:not(.h-search-form) textarea:not(:placeholder-shown)::-moz-placeholder{color:var(--color__blue-grey-medium--text)}.gform_wrapper form:not(.h-search-form) input:not(:-moz-placeholder-shown)::placeholder,.gform_wrapper form:not(.h-search-form) input[type=checkbox]:not(:-moz-placeholder-shown)::placeholder,.gform_wrapper form:not(.h-search-form) input[type=email]:not(:-moz-placeholder-shown)::placeholder,.gform_wrapper form:not(.h-search-form) input[type=number]:not(:-moz-placeholder-shown)::placeholder,.gform_wrapper form:not(.h-search-form) input[type=password]:not(:-moz-placeholder-shown)::placeholder,.gform_wrapper form:not(.h-search-form) input[type=radio]:not(:-moz-placeholder-shown)::placeholder,.gform_wrapper form:not(.h-search-form) input[type=text]:not(:-moz-placeholder-shown)::placeholder,.gform_wrapper form:not(.h-search-form) textarea:not(:-moz-placeholder-shown)::placeholder{color:var(--color__blue-grey-medium--text)}.gform_wrapper form:not(.h-search-form) input:not(:placeholder-shown)::placeholder,.gform_wrapper form:not(.h-search-form) input[type=checkbox]:not(:placeholder-shown)::placeholder,.gform_wrapper form:not(.h-search-form) input[type=email]:not(:placeholder-shown)::placeholder,.gform_wrapper form:not(.h-search-form) input[type=number]:not(:placeholder-shown)::placeholder,.gform_wrapper form:not(.h-search-form) input[type=password]:not(:placeholder-shown)::placeholder,.gform_wrapper form:not(.h-search-form) input[type=radio]:not(:placeholder-shown)::placeholder,.gform_wrapper form:not(.h-search-form) input[type=text]:not(:placeholder-shown)::placeholder,.gform_wrapper form:not(.h-search-form) textarea:not(:placeholder-shown)::placeholder{color:var(--color__blue-grey-medium--text)}.gform_wrapper form:not(.h-search-form) .custom-gform-select{position:relative}.gform_wrapper form:not(.h-search-form) .custom-gform-select .select-button{width:100%;display:flex;justify-content:space-between;align-items:center}.gform_wrapper form:not(.h-search-form) .custom-gform-select .select-button[aria-expanded=true] .arrow{transform:rotate(180deg)}.gform_wrapper form:not(.h-search-form) .custom-gform-select .select-button:has(+ul li.selected){outline:unset;border-color:var(--color__blue-grey-dark--text)!important;color:var(--color__blue-grey-dark--text)}.gform_wrapper form:not(.h-search-form) .custom-gform-select .arrow{width:.5625rem;height:.3125rem;background-image:url(../img/select-dropdown.svg);transition:transform .3s ease-in-out}.gform_wrapper form:not(.h-search-form) .custom-gform-select .select-dropdown{position:absolute;width:100%;top:100%;left:0;list-style:none;margin:0;color:var(--color__blue-grey-medium--form-text);background-color:var(--color__site-background);box-shadow:0 .625rem 1.5625rem rgba(0,0,0,.2);max-height:12.5rem;overflow-y:auto;z-index:2}.gform_wrapper form:not(.h-search-form) .custom-gform-select .select-dropdown.hidden{display:none}.gform_wrapper form:not(.h-search-form) .custom-gform-select .select-dropdown li{padding:.8125rem 1rem;margin:0;cursor:pointer;display:flex;gap:.5rem;align-items:center}.gform_wrapper form:not(.h-search-form) .custom-gform-select .select-dropdown li.selected,.gform_wrapper form:not(.h-search-form) .custom-gform-select .select-dropdown li:focus,.gform_wrapper form:not(.h-search-form) .custom-gform-select .select-dropdown li:hover{color:var(--color__blue-grey-dark--text);background-color:var(--color__grey-light--bg)}.gform_wrapper form:not(.h-search-form) .custom-gform-select .select-dropdown::-webkit-scrollbar{width:.4375rem}.gform_wrapper form:not(.h-search-form) .custom-gform-select .select-dropdown::-webkit-scrollbar-track{background:#f1f1f1;border-radius:1.5625rem}.gform_wrapper form:not(.h-search-form) .custom-gform-select .select-dropdown::-webkit-scrollbar-thumb{background:#ccc;border-radius:1.5625rem}.gform_wrapper form:not(.h-search-form) select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url(../img/select-dropdown.svg);background-position:center right .875rem;background-repeat:no-repeat}.gform_wrapper form:not(.h-search-form) fieldset.gfield--input-type-consent{margin-top:var(--consent__margin-top)!important;align-self:center;font-size:.8125rem}.gform_wrapper form:not(.h-search-form) fieldset.gfield--input-type-consent .ginput_container_consent{display:flex;gap:.625rem;align-items:center}.gform_wrapper form:not(.h-search-form) fieldset.gfield--input-type-consent>input[type=checkbox]{width:1.25rem;height:1.25rem}.gform_wrapper form:not(.h-search-form) fieldset.gfield--input-type-consent a,.gform_wrapper form:not(.h-search-form) fieldset.gfield--input-type-consent label{color:var(--color__blue-grey-medium--text);line-height:1.5rem;cursor:pointer}@media (min-width:40rem){.gform_wrapper form:not(.h-search-form) fieldset.gfield--input-type-consent:has(+.gfield--type-submit){grid-column:span 9}.gform_wrapper form:not(.h-search-form) fieldset.gfield--input-type-consent+.gfield--type-submit{grid-column:span 3}}.gform_wrapper form:not(.h-search-form) input[type=checkbox],.gform_wrapper form:not(.h-search-form) input[type=submit]{cursor:pointer}.gform_wrapper form:not(.h-search-form) input[type=checkbox]:focus-visible,.gform_wrapper form:not(.h-search-form) input[type=submit]:focus-visible{outline:1px solid var(--color__blue-grey-dark--text)}.gform_wrapper form:not(.h-search-form) input[type=submit]{border:0}.gform_wrapper form:not(.h-search-form) input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;width:1.25rem;aspect-ratio:1;padding:0!important;border-color:var(--color__blue-grey-medium--bg)}.gform_wrapper form:not(.h-search-form) input[type=checkbox]:checked{border-color:var(--color__blue-grey-dark--bg)}.gform_wrapper form:not(.h-search-form) input[type=checkbox]:checked:after{position:absolute;content:"";width:.75rem;height:.375rem;left:.1875rem;top:.25rem;border:solid var(--color__blue-grey-dark--bg);border-width:0 0 .125rem .125rem;transform:rotate(-45deg)}.gform_wrapper form:not(.h-search-form) #field_submit{justify-content:var(--submit__justify);margin-top:var(--submit__margin-top);padding-right:0;justify-self:var(--submit__justify-self);align-self:center;width:-moz-fit-content;width:fit-content}.gform_wrapper form:not(.h-search-form) #field_submit input{box-shadow:none;font-size:1rem;z-index:1}.gform_wrapper form:not(.h-search-form) #field_submit input:after{display:none}.gform_wrapper form:not(.h-search-form) #field_submit:after{width:2.125rem;height:2.125rem;z-index:0}.gform_wrapper form:not(.h-search-form) #field_submit:hover{cursor:pointer}.gform_wrapper form:not(.h-search-form) .gform-footer{position:relative}.gform_wrapper form:not(.h-search-form) .gform-footer:has(input[type=submit]){margin-top:clamp(1.5rem,1.15385rem + .96154vw,1.875rem)}.gform_wrapper form:not(.h-search-form) .gform-footer:has(input[type=submit]):after{width:2.125rem;height:2.125rem}@media (max-width:calc(62em - 0.00125em)){.gform_wrapper form:not(.h-search-form){--submit__margin-top:0}}@media (min-width:640px){.gform_wrapper form:not(.h-search-form){--submit__justify:end;--submit__margin-top:0;--submit__justify-self:end;--consent__margin-top:0}}input[type=checkbox],input[type=radio]{width:auto}textarea{resize:vertical}:root{--h1__margin-top:clamp(6.875rem,6.29808rem + 1.60256vw,7.5rem);--h1__p__margin-top:1.875rem;--h2__margin-top:3.75rem;--h2__p__margin-top:1.5625rem;--h3__margin-top:3.125rem;--h3__p__margin-top:clamp(0.9375rem,0.82212rem + 0.32051vw,1.0625rem);--h4__margin-top:1.875rem;--h4__p__margin-top:clamp(0.625rem,0.50962rem + 0.32051vw,0.75rem);--h5__margin-top:1.875rem;--h5__p__margin-top:clamp(0.625rem,0.50962rem + 0.32051vw,0.75rem)}@media (min-width:48em){:root{--h1__p__margin-top:1.4375rem;--h2__margin-top:4.375rem;--h2__p__margin-top:1.1875rem;--h3__margin-top:3.4375rem}}.is-style-h1,.is-style-h1--decor,.is-style-h2,.is-style-h2--decor,.is-style-h3,.is-style-h3--decor,.is-style-h4,.is-style-h5,.is-style-h6,h1,h2,h3,h4,h5,h6{margin:0;-webkit-hyphens:auto;hyphens:auto;font-family:var(--font__heading);font-weight:var(--font__heading--weight);color:var(--color__blue-grey-dark--text)}.is-style-h1 b,.is-style-h1 strong,.is-style-h1--decor b,.is-style-h1--decor strong,.is-style-h2 b,.is-style-h2 strong,.is-style-h2--decor b,.is-style-h2--decor strong,.is-style-h3 b,.is-style-h3 strong,.is-style-h3--decor b,.is-style-h3--decor strong,.is-style-h4 b,.is-style-h4 strong,.is-style-h5 b,.is-style-h5 strong,.is-style-h6 b,.is-style-h6 strong,h1 b,h1 strong,h2 b,h2 strong,h3 b,h3 strong,h4 b,h4 strong,h5 b,h5 strong,h6 b,h6 strong{font-weight:var(--font__heading--weight--bold)}.is-style-h1,h1{font-size:var(--h1__size);line-height:var(--h1__line-height);margin-top:var(--h1__margin-top)}.is-style-h1+p,h1+p{margin-top:var(--h1__p__margin-top)}.text-module__content--left:has(h1)+.text-module__content--base>p:first-child{margin-top:var(--h1__p__margin-top)}.is-style-h1--decor{font-size:var(--h1__size--decor);line-height:var(--h1__line-height--decor)}.is-style-h2,h2{font-size:var(--h2__size);line-height:var(--h2__line-height);margin-top:var(--h2__margin-top)}.is-style-h2+.text-module__content--base>p:first-child,.is-style-h2+p,h2+.text-module__content--base>p:first-child,h2+p{margin-top:var(--h2__p__margin-top)}.text-module__content--left:has(h2)+.text-module__content--base>p:first-child{margin-top:var(--h2__p__margin-top)}.is-style-h2--decor{font-size:var(--h2__size--decor);line-height:var(--h2__line-height--decor)}.is-style-h3,h3{font-size:var(--h3__size);line-height:var(--h3__line-height);margin-top:var(--h3__margin-top)}.is-style-h3+.text-module__content--base>p:first-child,.is-style-h3+p,h3+.text-module__content--base>p:first-child,h3+p{margin-top:var(--h3__p__margin-top)}.text-module__content--left:has(h3)+.text-module__content--base>p:first-child{margin-top:var(--h3__p__margin-top)}.is-style-h3--decor{font-size:var(--h3__size--decor);line-height:var(--h3__line-height--decor)}.is-style-h4,h4{font-size:var(--h4__size);line-height:var(--h4__line-height);margin-top:var(--h4__margin-top);font-family:var(--font__copy)}.is-style-h4+.text-module__content--base>p:first-child,.is-style-h4+p,h4+.text-module__content--base>p:first-child,h4+p{margin-top:var(--h4__p__margin-top)}.text-module__content--left:has(h4)+.text-module__content--base>p:first-child{margin-top:var(--h4__p__margin-top)}.is-style-h5,.is-style-h6,h5,h6{font-size:var(--h5__size);font-weight:var(--font__heading--weight--bold);line-height:var(--h5__line-height);margin-top:var(--h5__margin-top)}.is-style-h5+.text-module__content--base>p:first-child,.is-style-h5+p,.is-style-h6+.text-module__content--base>p:first-child,.is-style-h6+p,h5+.text-module__content--base>p:first-child,h5+p,h6+.text-module__content--base>p:first-child,h6+p{margin-top:var(--h5__p__margin-top)}.text-module__content--left:has(h5)+.text-module__content--base>p:first-child{margin-top:var(--h5__p__margin-top)}.text-module__content--left:has(h6)+.text-module__content--base>p:first-child{margin-top:var(--h5__p__margin-top)}hr.wp-block-separator{--separator__size--height:0.125rem;--separator__size--width:5rem;--separator__size--margin:1.25rem;--separator__color--background:var(--color__blue-grey-medium--bg);height:var(--separator__size--height);width:var(--separator__size--width);background:var(--separator__color--background);margin:var(--separator__size--margin) auto var(--separator__size--margin) 0;border:0}hr.wp-block-separator.is-style-dots,hr.wp-block-separator.is-style-wide{--separator__size--width:100%}hr.wp-block-separator.is-style-dots:before{color:var(--separator__color--background)}img{height:auto;max-width:100%;width:auto}a{transition:all var(--animation__duration) var(--animation__timing-function) 0s;color:var(--color__links);text-decoration:underline}a.download{color:var(--color__grey-medium--table-links);display:inline-block;text-decoration:none;transition:color var(--animation__duration) var(--animation__timing-function) 0s}a.download:after{content:"";background-color:var(--color__blue-grey-medium--bg);-webkit-mask-image:url(../img/download-filled.svg);mask-image:url(../img/download-filled.svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:1.75rem;height:1.75rem;position:absolute;bottom:50%;right:0;transform:translateY(50%);transition:all var(--animation__duration) var(--animation__timing-function) 0s}a.download:hover:after{background-color:var(--color__grey-light--bg);bottom:calc(50% + .125rem)}.jobs-overview-module a{text-decoration:none}@media (hover:hover){a:hover{color:var(--color__links--hover)}}.tablepress a:not([class]){text-decoration:none;color:var(--color__grey-medium--table-links)}a:not([class]):hover{text-decoration:none}@media (max-width:calc(48em - 0.00125em)){a.download:after{bottom:.875rem;transform:translateY(0)}a.download:hover:after{bottom:1rem}}ul:not([class]){margin:0;padding:0;list-style-type:none}.text-module__content--base>ul,ul{list-style-type:none;padding-left:0;margin-left:1rem}.text-module__content--base>ul>li,ul>li{line-height:var(--font__copy--line-height);margin-bottom:.5rem;position:relative}.text-module__content--base>ul>li:before,ul>li:before{content:"•";position:absolute;left:-1rem;line-height:var(--font__copy--line-height)}.text-module__content--base h2+ul,h2+ul{margin-top:1.5rem}.content{flex:1;position:relative;z-index:1}.content .entry__content>.wp-block-image,.content .entry__content>.wp-block-media-text,.content .entry__content>section{overflow:hidden}.content .entry__content>.wp-block-image section.alignfull,.content .entry__content>.wp-block-media-text section.alignfull,.content .entry__content>section section.alignfull{width:100%;left:auto}.content .entry__content>.wp-block-image section>.container,.content .entry__content>.wp-block-media-text section>.container,.content .entry__content>section section>.container{margin-left:0;margin-right:0;padding-left:0;padding-right:0}.content .entry__content>.wp-block-group section section.alignfull{width:100%;left:auto}.content .entry__content>.wp-block-group section section>.container{margin-left:0;margin-right:0;padding-left:0;padding-right:0}nav ul{list-style:none}nav li,nav ul{margin:0;padding:0}nav li:before{display:none}nav a{text-decoration:none}p{line-height:var(--font__copy--line-height);margin-top:var(--font__copy--margin-top);margin-bottom:var(--font__copy--margin-bottom)}p:is(:has(+.wp-block-buttons)){margin-bottom:0}.directions-map-module__content--map .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-a{height:calc(100% - 2rem);position:relative;top:1rem;display:flex;flex-direction:column}.directions-map-module__content--map .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-a .brlbs-cmpnt-cb-buttons{width:100%}@media (max-width:calc(36em - 0.00125em)){.brlbs-cmpnt-container.brlbs-cmpnt-content-blocker{height:auto!important}}.breadcrumbs{padding-top:clamp(2.8125rem,1.83173rem + 2.72436vw,3.875rem)}.breadcrumbs-container{position:absolute;left:50%;transform:translateX(-50%);z-index:2}.breadcrumbs a{text-decoration:none}.breadcrumbs a:hover{color:var(--color__blue-grey-dark--text)}.breadcrumbs a,.breadcrumbs span{color:var(--color__blue-grey-medium--text);font-family:var(--font__heading);font-size:.75rem;line-height:1.125rem;letter-spacing:.03125rem}.footer{font-size:.9375rem;line-height:1.625rem;margin-top:4.6875rem}.footer li:before{display:none}.footer .meta__navigation>ul>li,.footer__navigation>nav>ul>li{padding-bottom:.5rem}.footer .meta__navigation{margin-bottom:1.21875rem}.footer .meta__navigation--wrapper ul{display:grid;grid-template-columns:1fr 1fr}.footer .meta__navigation--wrapper ul li:has(.sub-menu) a{font-weight:600;cursor:unset}.footer .meta__navigation--wrapper ul li:has(.sub-menu) a:hover{color:var(--color__blue-grey-medium--text)}.footer .meta__navigation--wrapper ul li:has(.sub-menu) .sub-menu{display:flex;flex-direction:column;gap:.5625rem;margin-top:1.3125rem}.footer .meta__navigation--wrapper ul li:has(.sub-menu) .sub-menu li a{font-weight:400;cursor:pointer;-webkit-hyphens:auto;hyphens:auto}.footer .meta__navigation--wrapper ul li.menu-item-has-children>a{pointer-events:none}.footer__navigation{position:relative;padding-top:1.09375rem;margin-bottom:3.25rem}.footer__navigation:before{content:"";position:absolute;width:100%;max-width:calc(var(--container-padding)*2 + var(--content-width));height:.0625rem;top:0;left:50%;transform:translateX(-50%);background-color:var(--color__blue-grey-medium--bg);opacity:.5}.footer__navigation--wrapper>ul{display:grid;grid-template-columns:1fr 1fr}.footer__navigation--wrapper>ul li>a{color:var(--color__blue-grey-medium--text)}.footer__navigation--wrapper>ul li>a:hover{color:var(--color__blue-grey-dark--text)}.footer__container{margin-bottom:2.8125rem}.footer__container--social-media .social-media-icon-navigation ul{display:flex;gap:1.4375rem;justify-content:center}.footer__container--social-media .social-media-icon-navigation ul li a:hover svg path{fill:var(--color__blue-grey-medium--bg)}.footer__container--social-media .social-media-icon-navigation ul li a:hover svg circle{stroke:var(--color__blue-grey-medium--bg)}.footer__container--copyright,.footer__container--logo{display:none}@media (min-width:48em){.footer{display:grid;grid-row:repeat(2,auto);grid-template-columns:repeat(12,1fr);gap:var(--grid__gap);margin-top:8.0625rem}.footer .meta__navigation{margin-bottom:unset}.footer .meta__navigation--wrapper ul li:has(.sub-menu) .sub-menu{gap:0}.footer .meta__navigation--wrapper li{width:11.1875rem;padding-right:1.5625rem}.footer .meta__navigation--wrapper li .sub-menu{gap:.46875rem}.footer .meta__navigation--wrapper li .sub-menu>li>a{line-height:1.625rem}.footer__navigation{margin-bottom:1.5625rem;grid-row:2;grid-column:1/-1;padding-top:2.125rem}.footer__navigation:before{width:100vw;max-width:unset;left:50%}.footer__navigation ul{display:flex;gap:2rem;justify-content:end}.footer__container{--socialicons-rows:6;margin-bottom:3.625rem;grid-column:span 11;background:url(../img/icon-wall-footer.svg) 100% no-repeat;background-size:auto 100%;min-height:18.9375rem;display:grid;grid-template-rows:repeat(var(--socialicons-rows),2.5rem);row-gap:.875rem}.footer__container--social-media{display:grid;grid-template-rows:subgrid;grid-row:3/-1}.footer__container--social-media .social-media-icon-navigation ul{flex-direction:column;align-items:end;gap:.875rem}.footer__container--social-media .social-media-icon-navigation ul li{background-color:var(--color__site-background);border-radius:3.125rem}}.header .brand-logo-module{position:absolute;bottom:0;transform:translateY(100%)}.nav-is--visible .header .brand-logo-module{display:none}.header .brand-logo-module__content{text-align:right}.header .brand-logo-module__content img{width:clamp(11.25rem,.28846rem + 30.44872vw,23.125rem)}.notification-message__wrapper{background:#ddf5fd;border:.0625rem solid #83b4d7;border-radius:.3125rem;color:#1a4056;margin:1.25rem 0;padding:.625rem 1.25rem;display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr;grid-gap:1.25rem}.notification-message__wrapper svg{height:100%;width:auto;min-height:2.5rem;max-height:5rem}.notification-message__text{display:flex;align-items:center;justify-content:flex-start}@media (min-width:36em){.notification-message__wrapper{grid-template-columns:auto 1fr;grid-template-rows:1fr}}.header{position:relative;background-color:var(--color__white--bg);min-height:5.6875rem;padding-top:1.0625rem;z-index:4;transition:background-color var(--animation__duration) var(--animation__timing-function) 0s}.nav-is--visible .header{background-color:var(--color__blue-grey-dark--bg);height:100vh;max-height:200vh}@supports (height:100svh){.nav-is--visible .header{height:100svh;max-height:200svh;overflow:scroll}}.header:has(.subnav-is--visible){background-color:var(--color__blue-grey-medium--bg)}.header__container{position:relative}.header__container--logo--mobile{flex:0 0 3.125rem;height:3.125rem;position:relative;z-index:101}.header__container--logo--mobile>img{width:100%;height:100%;position:absolute;top:0;left:0}.header__container--logo--mobile>img.default{opacity:1;transition:opacity var(--animation__duration) var(--animation__timing-function) 0s}.header__container--logo--mobile>img.negative{transition:opacity var(--animation__duration) var(--animation__timing-function) 0s;opacity:0}.header__container--logo--mobile.active>img.negative{opacity:1}.header__container--logo--mobile.active>img.default{opacity:0;width:0;height:0}.header__container--navigation{overflow:visible;display:flex;align-items:center;flex-wrap:nowrap;-moz-column-gap:1rem;column-gap:1rem}.header__container--navigation .toggle-nav--search{position:absolute;height:3.125rem;display:flex;justify-content:flex-end;gap:1.3125rem;right:0;margin-left:auto;margin-right:auto;max-width:calc(var(--container-padding)*2 + var(--content-width));padding-left:var(--container-padding);padding-right:var(--container-padding);width:100%}.header__container--search{position:relative;margin-left:4.125rem;width:100%;height:100%;opacity:0;visibility:hidden}.nav-is--visible .header__container--search{opacity:1;visibility:visible}.nav-is--visible .header__container--search .search-icon{visibility:visible}.header__container--search.active .h-search-form{visibility:visible;transform-origin:right;animation:flyin .3s ease-out}.header__container--search.active .h-search-form>input[type=submit]{z-index:9999;cursor:pointer}.subnav-is--visible .header__container--search .h-search-form>input[type=text]{border-bottom:.0625rem solid var(--color__white--bg)}.header__container--search .search-icon{display:flex;flex-wrap:wrap;position:relative;right:0;top:0}.header__container--search .search-icon .search{width:1.3125rem;height:1.375rem;background-image:url(../img/icon-search.svg);background-repeat:no-repeat;background-size:contain;flex-shrink:0}.header__container--search .search-icon .search-text{font-family:var(--font__copy);font-weight:var(--font__copy--weight);font-size:var(--font__copy--size);line-height:var(--font__copy--line-height);opacity:0;visibility:hidden;transition:opacity var(--animation__duration) var(--animation__timing-function) 0s}.header__container--search .h-search-form{position:relative;visibility:hidden;flex-basis:100%;display:flex;align-items:center;justify-content:space-between;color:var(--color__white--bg);top:50%;transform:translateY(-50%)}.header__container--search .h-search-form input[type=text]{background-color:transparent;padding:0;border:none;height:2.25rem;color:var(--color__white--bg);outline:none;border-bottom:.0625rem solid var(--color__blue-grey-medium--bg);margin:0 .5rem 0 0;width:13.1875rem;width:100%}.header__container--search .h-search-form input[type=text]::-moz-placeholder{color:var(--color__white--bg);opacity:1}.header__container--search .h-search-form input[type=text]::placeholder{color:var(--color__white--bg);opacity:1}.header__container--search .h-search-form input[type=submit]{font-family:var(--font__copy);font-weight:var(--font__copy--weight);font-size:var(--font__copy--size);line-height:var(--font__copy--line-height);color:var(--color__white--bg);width:1.75rem;height:1.75rem;border:none;border-radius:0;padding:0;margin:0 .5rem 0 0;text-indent:-999999px;flex-shrink:0;transition:none;position:absolute;right:0}.header__container--search .h-search-form input[type=submit]:after{display:none}.header__container--search .h-search-form input[type=submit]::-moz-placeholder{color:var(--color__white--bg);opacity:1}.header__container--search .h-search-form input[type=submit]::placeholder{color:var(--color__white--bg);opacity:1}.header__container--search .h-search-form input[type=submit]:focus-visible::-moz-placeholder{opacity:0}.header__container--search .h-search-form input[type=submit]:focus-visible::placeholder{opacity:0}@media (max-width:calc(75em - 0.00125em)){.header__container--logo--desktop{display:none}.header__container--language-legal{padding-top:1rem;order:2;position:absolute;bottom:0;width:calc(100% - var(--container-padding)*2);z-index:1}.header__container--language-switcher{border-bottom:.0625rem solid rgba(var(--color__white--rgb),.2);padding-bottom:1.625rem;transition:opacity var(--animation__duration) var(--animation__timing-function) 0s,border-bottom-color var(--animation__duration) var(--animation__timing-function) 0s}.subnav-is--visible .header__container--language-switcher{border-bottom-color:rgba(var(--color__white--rgb),.44)}.header__container--language-switcher>ul{display:flex;flex-wrap:nowrap;list-style-type:none}.header__container--language-switcher>ul li{margin-right:.5rem}.header__container--language-switcher>ul li:last-child{margin-right:0}.header__container--language-switcher>ul li>a{font-size:1.25rem;line-height:1.5rem;color:rgba(var(--color__white--rgb),.3);transition:color var(--animation__duration) var(--animation__timing-function) 0s}.header__container--language-switcher>ul li.wpml-ls-current-language .wpml-ls-native,.header__container--language-switcher>ul li.wpml-ls-current-language>a{color:rgba(var(--color__white--rgb),1);font-weight:var(--font__heading--weight--bold)}.header__container--language-switcher>ul li:nth-child(2){order:2}.header__container--language-switcher>ul li:last-of-type{order:3}.header__container--legal{padding-top:1rem;padding-bottom:1.875rem}.header__container--legal>nav>ul{-moz-columns:2;column-count:2}.header__container--legal>nav>ul>li>a{color:var(--color__blue-grey-medium--text);line-height:1.5rem;transition:color var(--animation__duration) var(--animation__timing-function) 0s}.subnav-is--visible .header__container--legal>nav>ul>li>a{color:var(--color__grey-light--text)}}@media (min-width:75em){.header{padding-top:1.8125rem;padding-bottom:2.5rem;height:9.25rem}.header__container{height:100%}.header__container--legal,.header__container .navigation-toggle{display:none}.header__container--navigation{display:block;position:relative;height:100%}.header__container--logo--mobile{display:none}.header__container--logo--desktop{grid-column:1/span 2;position:absolute;z-index:97}.header__container--logo--desktop>img{max-width:10.625rem}.header__container .toggle-nav--search{padding-left:0;padding-right:0;position:absolute;right:.625rem;width:1.625rem;height:2rem;top:3.375rem;z-index:100}.header__container .toggle-nav--search.active+.main-navigation>div{opacity:0;visibility:hidden}.header__container--language-legal{padding-top:3.6875rem;padding-right:3.8125rem;align-self:center;height:100%;position:absolute;right:0;top:0}.header__container--language-switcher--wrapper{opacity:1;visibility:visible;transition:opacity var(--animation__duration) var(--animation__timing-function) 0s}.search-is--visible .header__container--language-switcher--wrapper{opacity:0;visibility:hidden}.header__container--language-switcher{transition:opacity var(--animation__duration) var(--animation__timing-function) 0s}.header__container--language-switcher>ul{display:flex;flex-wrap:nowrap;list-style-type:none}.header__container--language-switcher>ul li{margin-right:.5rem}.header__container--language-switcher>ul li:last-child{margin-right:0}.header__container--language-switcher>ul li.wpml-ls-current-language .wpml-ls-native,.header__container--language-switcher>ul li.wpml-ls-current-language>a{color:var(--color__blue-grey-dark--text);font-weight:var(--font__heading--weight--bold)}.header__container--language-switcher>ul li>a{color:var(--color__blue-grey-medium--text);font-size:.875rem}.header__container--search{opacity:1;visibility:visible;animation:none}.header__container--search .h-search-form{-moz-column-gap:.75rem;column-gap:.75rem;background-color:transparent;visibility:visible;animation:none;position:absolute;right:0;transition:all var(--animation__duration) var(--animation__timing-function) 0s;padding-block:.5rem;padding-inline:.5rem 0}.header__container--search .h-search-form input[type=text]{color:var(--color__blue-grey-medium--text);border-bottom:.0625rem solid var(--color__grey-light--bg);margin-right:0;width:0;height:2rem;transition:all var(--animation__duration) var(--animation__timing-function) 0s;padding:.25rem 0}.header__container--search .h-search-form input[type=text]::-moz-placeholder{color:var(--color__blue-grey-medium--text)}.header__container--search .h-search-form input[type=text]::placeholder{color:var(--color__blue-grey-medium--text)}.header__container--search .h-search-form input[type=submit]{margin-right:0}.header__container--search .h-search-form .search-icon{cursor:pointer;right:0;padding:.375rem .25rem .25rem .125rem}.header__container--search .h-search-form .search-icon .search{width:1.375rem;height:1.375rem;background-image:url(../img/icon-search-dark.svg)}.header__container--search.active .h-search-form{background-color:var(--color__white--bg);animation:none;z-index:9}.header__container--search.active .h-search-form input[type=text]{width:clamp(7.5rem,-14.375rem + 29.16667vw,11.875rem);padding-inline:.25rem}}@keyframes flyin{0%{opacity:0;transform:scaleX(0) translateY(-50%)}to{opacity:1;transform:scaleX(1) translateY(-50%)}}.media-provider__wrapper{margin:3.125rem 0;display:grid;grid-template-columns:1fr;grid-gap:3.125rem var(--grid__gap)}.media-provider__list{padding:0;margin:0;display:grid;grid-template-columns:1fr;grid-gap:1.875rem var(--grid__gap)}.media-provider__item{display:grid;grid-template-columns:1fr;grid-gap:var(--grid__gap)}.media-provider__image{max-height:9.375rem;max-width:9.375rem;overflow:hidden}.media-provider__image img{-o-object-fit:cover;object-fit:cover;width:100%}.media-provider__description{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;max-width:18.75rem}.media-provider__author{margin-top:.3125rem;display:block}@media (min-width:36em){.media-provider__item{grid-template-columns:auto 1fr}}@media (min-width:48em){.media-provider__list{grid-template-columns:1fr 1fr;grid-gap:var(--grid__gap)}}@media (min-width:75em){.media-provider__list{grid-template-columns:1fr 1fr 1fr}}.footer-navigation li{display:inline-block}.main-navigation ul li a span{font-weight:var(--font__heading--weight)}@media (max-width:calc(75em - 0.00125em)){.main-navigation{flex-direction:column;position:absolute;display:flex;top:4.625rem;top:0;left:-100%;max-height:calc(100vh - 5.25rem);height:calc(100vh - 5.25rem);width:100%;max-width:100%;overflow:hidden;transition:left .3s;background-color:var(--color__blue-grey-dark--bg);padding-left:var(--container-padding);padding-right:var(--container-padding);padding-top:.6875rem;transition:all var(--animation__duration) var(--animation__timing-function) 0s}@supports (height:100svh){.main-navigation{height:100svh;max-height:200svh}}.main-navigation:not(#main-navigation){padding-top:0;top:4.75rem}.main-navigation:not(#main-navigation):before{content:"";display:inline-block;width:100%;height:2.625rem}.main-navigation #breadcrumbs{font-family:var(--font__heading);font-size:.875rem;line-height:1.25rem;color:var(--color__grey-light--text);position:absolute;right:0;top:-.25rem;display:flex;justify-content:flex-start;align-items:flex-start;padding-bottom:.6875rem;z-index:99}.main-navigation #breadcrumbs>.breadcrumb-item.sub,.main-navigation #breadcrumbs>.breadcrumb-item.top{color:currentColor;padding-top:.4375rem}.main-navigation #breadcrumbs>.breadcrumb-item.top{font-weight:var(--font__heading--weight--bold)}.main-navigation #breadcrumbs:has(.sub) .top{font-weight:var(--font__heading--weight);position:relative;margin-right:2ch}.main-navigation #breadcrumbs:has(.sub) .top:after{content:"|";position:absolute;right:-1.75ch;width:1ch}.main-navigation #breadcrumbs:has(.sub) .sub{font-weight:var(--font__heading--weight--bold)}.main-navigation>nav{order:1;position:relative;padding:3.4375rem 0 0}.main-navigation .mobile-menu-trigger{display:flex}.nav-is--visible .main-navigation{left:0}.main-navigation:has(.subnav-is--visible){background-color:var(--color__blue-grey-medium--bg)}.main-navigation ul{overflow-x:hidden;overflow-y:scroll;-ms-overflow-style:none;scrollbar-width:none}.main-navigation ul::-webkit-scrollbar{display:none}.main-navigation ul:has(>li.subnav-is--visible){overflow:visible}.main-navigation ul li.mobile-menu-back-item{display:flex;align-items:flex-start;height:3.25rem}.main-navigation ul li.mobile-menu-back-item>a{color:var(--color__white--text);font-family:var(--font__copy);font-size:.875rem;font-weight:var(--font__copy--weight);letter-spacing:.08313rem;line-height:1.0625rem;text-transform:uppercase;position:relative;padding-left:2.375rem;padding-top:.3125rem;padding-bottom:0}.main-navigation ul li.mobile-menu-back-item>a:before{content:"";display:block;background-image:url(../img/submenu-back.svg);position:absolute;width:1.625rem;height:1.625rem;left:0;top:0}.main-navigation>ul{position:absolute;opacity:1;transform:translateX(0);transition:transform var(--animation__duration) var(--animation__timing-function) 0s;max-height:calc(100svh - 18.75rem);height:100%;width:100%}.main-navigation>ul>li{position:static;height:3.6875rem;border-bottom:.0625rem solid rgba(var(--color__blue-grey-medium--bg--rgb),.5);width:100%}.main-navigation>ul>li:first-child{border-top:.0625rem solid rgba(var(--color__blue-grey-medium--bg--rgb),.5)}.main-navigation>ul>li>a{display:block;color:var(--color__grey-light--text);font-family:var(--font__heading);font-size:1.5625rem;font-weight:var(--font__heading--weight--bold);line-height:2.25rem;padding:.6875rem 0 .65625rem;text-transform:uppercase}.main-navigation>ul>li>a span{font-weight:var(--font__heading--weight)}.main-navigation>ul>li.menu-item-has-children:after{content:">";color:var(--color__grey-light--text);font-family:var(--font__copy);font-size:1.5625rem;font-weight:var(--font__copy--weight);letter-spacing:.10437rem;position:relative;top:-2.75rem;left:calc(100% - 1rem)}.main-navigation>ul>li.current-menu-ancestor>a,.main-navigation>ul>li.current-menu-item>a,.main-navigation>ul>li.current-page-ancestor>a,.main-navigation>ul>li.current-page-parent>a,.main-navigation>ul>li.current_page_item>a{color:var(--color__white--text)}.main-navigation>ul>li.current-menu-ancestor:after,.main-navigation>ul>li.current-menu-item:after,.main-navigation>ul>li.current-page-ancestor:after,.main-navigation>ul>li.current-page-parent:after,.main-navigation>ul>li.current_page_item:after{color:var(--color__white--bg)}.main-navigation>ul>li.subnav-is--visible>.sub-menu{opacity:1;position:absolute;left:100%;overflow:visible;transform:translateX(0);transition:max-height var(--animation__duration) var(--animation__timing-function) 0s,min-height var(--animation__duration) var(--animation__timing-function) 0s,transform var(--animation__duration) var(--animation__timing-function) 0s,opacity var(--animation__duration) var(--animation__timing-function) 0s;transition:transform var(--animation__duration) var(--animation__timing-function) 0s,opacity var(--animation__duration) var(--animation__timing-function) .25s;max-height:calc(100svh - 18.75rem);overflow-x:hidden;overflow-y:scroll;-ms-overflow-style:none;scrollbar-width:none}.main-navigation>ul>li>ul{position:absolute;left:100%;width:100%;max-height:0;min-height:0;opacity:1;top:-3.1875rem;padding-top:.25rem;transform:translateX(100%);transition:max-height var(--animation__duration) var(--animation__timing-function) 0s,min-height var(--animation__duration) var(--animation__timing-function) 0s,transform var(--animation__duration) var(--animation__timing-function) 0s,opacity var(--animation__duration) var(--animation__timing-function) .15s;transition:transform var(--animation__duration) var(--animation__timing-function) 0s,opacity var(--animation__duration) var(--animation__timing-function) .25s}.subnav-is--visible .main-navigation>ul>li>ul{overflow:visible;transform:translateX(0);transition:max-height var(--animation__duration) var(--animation__timing-function) 0s,min-height var(--animation__duration) var(--animation__timing-function) 0s,transform var(--animation__duration) var(--animation__timing-function) 0s,opacity var(--animation__duration) var(--animation__timing-function) 0s;transition:transform var(--animation__duration) var(--animation__timing-function) 0s,opacity var(--animation__duration) var(--animation__timing-function) .25s;max-height:calc(100svh - 18.75rem);overflow-x:hidden;overflow-y:scroll;-ms-overflow-style:none;scrollbar-width:none}.subnav-is--visible .main-navigation>ul>li>ul::-webkit-scrollbar{display:none}.subnav-is--visible .main-navigation>ul>li>ul:has(>li.subnav-is--visible){transform:translateX(-100%);overflow:visible}.main-navigation>ul>li>ul>li{position:static;text-align:left;border-bottom:.0625rem solid rgba(var(--color__white--rgb),.5);height:3.6875rem}.main-navigation>ul>li>ul>li.menu-item-has-children:after{content:">";color:rgba(var(--color__white--rgb),.5);font-family:var(--font__copy);font-size:1.5625rem;font-weight:var(--font__copy--weight);letter-spacing:.10437rem;position:relative;top:-2.75rem;left:calc(100% - 1rem)}.main-navigation>ul>li>ul>li.current-menu-ancestor>a,.main-navigation>ul>li>ul>li.current-menu-item>a,.main-navigation>ul>li>ul>li.current-page-ancestor>a,.main-navigation>ul>li>ul>li.current-page-parent>a,.main-navigation>ul>li>ul>li.current_page_item>a{color:var(--color__white--text);font-weight:var(--font__heading--weight--bold);text-decoration:none}.main-navigation>ul>li>ul>li.mobile-menu-back-item{margin-top:-.25rem}.main-navigation>ul>li>ul>li>a{color:var(--color__grey-light--text);word-wrap:break-word;font-family:var(--font__heading);position:relative;font-weight:var(--font__heading--weight--bold);font-size:1.5625rem;line-height:2.25rem;text-decoration:none;display:block;padding:.6875rem 0 .65625rem;text-transform:uppercase}.main-navigation>ul>li>ul>li.subnav-is--visible>.sub-menu{opacity:1;position:absolute;left:100%;overflow:visible;transform:translateX(0);transition:max-height var(--animation__duration) var(--animation__timing-function) 0s,min-height var(--animation__duration) var(--animation__timing-function) 0s,transform var(--animation__duration) var(--animation__timing-function) 0s,opacity var(--animation__duration) var(--animation__timing-function) 0s;transition:transform var(--animation__duration) var(--animation__timing-function) 0s,opacity var(--animation__duration) var(--animation__timing-function) .25s;max-height:calc(100svh - 15.625rem);overflow-x:hidden;overflow-y:scroll;-ms-overflow-style:none;scrollbar-width:none}.main-navigation>ul>li>ul>li>ul{top:-10.375rem;transform:translateX(-100%);position:absolute;left:100%;width:100%;max-height:0;min-height:0;opacity:1;top:-7.375rem;top:0;transform:translateX(100%);transition:max-height var(--animation__duration) var(--animation__timing-function) 0s,min-height var(--animation__duration) var(--animation__timing-function) 0s,transform var(--animation__duration) var(--animation__timing-function) 0s,opacity var(--animation__duration) var(--animation__timing-function) .15s;transition:transform var(--animation__duration) var(--animation__timing-function) 0s,opacity var(--animation__duration) var(--animation__timing-function) .25s}.has-current-page .main-navigation>ul>li>ul>li>ul{background-color:var(--color__grey--light);position:relative;left:100%;width:100%;opacity:1;max-height:100svh;max-height:100vh;min-height:100%;transform:translateX(0);overflow:visible;transition:max-height var(--animation__duration) var(--animation__timing-function) 0s,min-height var(--animation__duration) var(--animation__timing-function) 0s,transform var(--animation__duration) var(--animation__timing-function) 0s,opacity var(--animation__duration) var(--animation__timing-function) .25s}.main-navigation>ul>li>ul>li>ul>li{position:static;text-align:left;line-height:2.25rem}.main-navigation>ul>li>ul>li>ul>li:first-of-type{border-bottom:.0625rem solid rgba(var(--color__white--rgb),.5)}.main-navigation>ul>li>ul>li>ul>li.current-menu-ancestor>a,.main-navigation>ul>li>ul>li>ul>li.current-menu-item>a,.main-navigation>ul>li>ul>li>ul>li.current-page-ancestor>a,.main-navigation>ul>li>ul>li>ul>li.current-page-parent>a,.main-navigation>ul>li>ul>li>ul>li.current_page_item>a{color:var(--color__white--text);font-weight:var(--font__heading--weight--bold)}.main-navigation>ul>li>ul>li>ul>li.menu-item-has-children:after{color:rgba(var(--color__white--rgb),.5)}.main-navigation>ul>li>ul>li>ul>li>a{color:var(--color__grey-light--text);word-wrap:break-word;font-family:var(--font__copy);position:relative;font-weight:var(--font__copy--weight);font-size:1rem;line-height:2.25rem;text-decoration:none;display:block;padding:.25rem 0}.main-navigation>ul:has(>li.subnav-is--visible){transform:translateX(-100%)}.has-current-page .main-navigation>ul:has(>li.subnav-is--visible)>li,.main-navigation>ul:has(>li.subnav-is--visible)>li:not(.subnav-is--visible){display:none}}@media (min-width:75em){.main-navigation:not(#main-navigation){height:100%}.main-navigation #breadcrumbs,.main-navigation .mobile-menu-back-item{display:none}.main-navigation>ul{display:flex;justify-content:flex-end;position:absolute;left:clamp(12.5rem,-47.8125rem + 80.41667vw,24.5625rem);position:relative;left:0;justify-content:center}.main-navigation>ul>li{position:relative;padding:3.625rem 1.6875rem}.main-navigation>ul>li>a{color:var(--color__blue-grey-medium--text);font-size:clamp(1rem,.375rem + .83333vw,1.125rem);line-height:1.375rem;font-weight:var(--font__heading--weight--bold);padding:1.3125rem 0}.main-navigation>ul>li.menu-item-has-children{cursor:default;position:static;padding-bottom:1.3125rem;padding-right:clamp(.625rem,-5.625rem + 8.33333vw,1.875rem)}.main-navigation>ul>li.menu-item-has-children>a{position:relative}.main-navigation>ul>li.menu-item-has-children>a:after,.main-navigation>ul>li.menu-item-has-children>a:before{content:"";display:inline-block;color:var(--color__blue-grey-medium--text);background-color:currentColor;width:.4375rem;height:.125rem;position:absolute;top:calc(50% + .0625rem);transform:rotate(0);transform-origin:center;transition:all var(--animation__duration) var(--animation__timing-function) 0s}.main-navigation>ul>li.menu-item-has-children>a:before{left:calc(100% + .25rem)}.main-navigation>ul>li.menu-item-has-children>a:after{right:-.6875rem;transform:rotate(-90deg)}.main-navigation>ul>li.menu-item-has-children:hover>a:after{transform:rotate(0)}.main-navigation>ul>li.current-menu-ancestor:hover>a,.main-navigation>ul>li.current-menu-ancestor:hover>a:after,.main-navigation>ul>li.current-menu-ancestor:hover>a:before,.main-navigation>ul>li.current-menu-ancestor>a,.main-navigation>ul>li.current-menu-ancestor>a:after,.main-navigation>ul>li.current-menu-ancestor>a:before,.main-navigation>ul>li.current-menu-item:hover>a,.main-navigation>ul>li.current-menu-item:hover>a:after,.main-navigation>ul>li.current-menu-item:hover>a:before,.main-navigation>ul>li.current-menu-item>a,.main-navigation>ul>li.current-menu-item>a:after,.main-navigation>ul>li.current-menu-item>a:before,.main-navigation>ul>li.current-page-ancestor:hover>a,.main-navigation>ul>li.current-page-ancestor:hover>a:after,.main-navigation>ul>li.current-page-ancestor:hover>a:before,.main-navigation>ul>li.current-page-ancestor>a,.main-navigation>ul>li.current-page-ancestor>a:after,.main-navigation>ul>li.current-page-ancestor>a:before,.main-navigation>ul>li.current-page-parent:hover>a,.main-navigation>ul>li.current-page-parent:hover>a:after,.main-navigation>ul>li.current-page-parent:hover>a:before,.main-navigation>ul>li.current-page-parent>a,.main-navigation>ul>li.current-page-parent>a:after,.main-navigation>ul>li.current-page-parent>a:before,.main-navigation>ul>li.current_page_item:hover>a,.main-navigation>ul>li.current_page_item:hover>a:after,.main-navigation>ul>li.current_page_item:hover>a:before,.main-navigation>ul>li.current_page_item>a,.main-navigation>ul>li.current_page_item>a:after,.main-navigation>ul>li.current_page_item>a:before,.main-navigation>ul>li:hover>a,.main-navigation>ul>li:hover>a:after,.main-navigation>ul>li:hover>a:before{color:var(--color__blue-grey-dark--text)}.main-navigation>ul>li:first-child{padding-left:4.375rem}.main-navigation>ul>li>.sub-menu{--subgrid-columns:4;display:grid;-moz-column-gap:1.625rem;column-gap:1.625rem;grid-template-columns:repeat(auto-fill,minmax(calc(var(--content-width)/var(--subgrid-columns) - var(--grid__gap)*4),1fr));background-color:var(--color__white--bg);position:absolute;top:7.375rem;left:calc(var(--container-padding)*-1);height:0;opacity:0;overflow:hidden;transform:scaleY(0);transform-origin:top;transition:transform var(--animation__duration) var(--animation__timing-function) 0s;margin-left:auto;margin-right:auto;padding:3.9375rem var(--container-padding) 4.8125rem;max-width:calc(var(--content-width) + var(--container-padding)*2);width:calc(100vw - var(--container-padding)*2);width:100vw;z-index:99}.main-navigation>ul>li>.sub-menu:after{content:"";display:inline-block;background:var(--color__white--bg);position:absolute;left:-50vw;width:150vw;height:100%;z-index:-1}.main-navigation>ul>li>.sub-menu>li{position:relative;padding:.625rem 0}.main-navigation>ul>li>.sub-menu>li.menu-item-has-children>a{cursor:pointer;pointer-events:none}.main-navigation>ul>li>.sub-menu>li>a{color:var(--color__blue-grey-dark--text);font-size:.9375rem;line-height:1rem;font-weight:var(--font__heading--weight--bold);display:block;font-family:var(--font__heading);font-size:1.25rem;line-height:1.8125rem;border-top:.0625rem solid rgba(var(--color__blue-grey-medium--bg--rgb),.2);border-bottom:.25rem solid rgba(var(--color__blue-grey-medium--bg--rgb),.2);padding:.5625rem 0;text-transform:uppercase;width:100%}.main-navigation>ul>li>.sub-menu>li>a>span{font-weight:var(--font__heading--weight)}.main-navigation>ul>li>.sub-menu>li>.sub-menu{padding-top:3rem}.main-navigation>ul>li>.sub-menu>li>.sub-menu>li{margin-bottom:.5625rem}.main-navigation>ul>li>.sub-menu>li>.sub-menu>li>a{color:var(--color__blue-grey-medium--text);font-size:1rem;line-height:1.3125rem;display:block}.main-navigation>ul>li>.sub-menu>li>.sub-menu>li.current-menu-ancestor>a,.main-navigation>ul>li>.sub-menu>li>.sub-menu>li.current-menu-item>a,.main-navigation>ul>li>.sub-menu>li>.sub-menu>li.current-page-parent>a,.main-navigation>ul>li>.sub-menu>li>.sub-menu>li.current_page_item>a{color:var(--color__blue-grey-dark--text);font-weight:var(--font__heading--weight--bold)}.main-navigation>ul>li>.sub-menu>li>.sub-menu>li:hover>a{color:var(--color__blue-grey-dark--text)}.main-navigation>ul>li:hover>ul{height:auto;opacity:1;overflow:visible;transform:scaleY(1)}}@media (min-width:90rem){.main-navigation>ul>li>.sub-menu{grid-template-columns:repeat(auto-fill,minmax(calc(var(--content-width)/var(--subgrid-columns) - var(--grid__gap)),1fr))}}.meta-navigation li{display:inline-block}.navigation-toggle{width:1.625rem;height:1.1875rem;position:relative;cursor:pointer;text-indent:-999999px}.navigation-toggle:after,.navigation-toggle:before{content:"";position:absolute;right:0;width:100%;height:.1875rem;color:var(--color__blue-grey-dark--bg);background-color:currentColor;border-radius:.09375rem;transition:all .45s ease-in-out}.navigation-toggle:before{top:0;transform:rotate(0)}.navigation-toggle:after{bottom:0;box-shadow:0 -8px currentColor}.nav-is--visible .navigation-toggle:after,.nav-is--visible .navigation-toggle:before{background-color:var(--color__white--bg)}.nav-is--visible .navigation-toggle:before{top:8px;transform:rotate(45deg)}.nav-is--visible .navigation-toggle:after{box-shadow:0 0 currentColor;bottom:8px;transform:rotate(-45deg)}.navigation-toggle-wrapper{width:1.625rem;height:1.1875rem;display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;right:0;top:50%;transform:translateY(-50%)}.nav-is--visible .navigation-toggle-wrapper{width:1.25rem;height:1.25rem}@media (min-width:75em){.navigation-toggle-wrapper{display:none}}.pagination{margin-top:4em}.nav-links{display:flex;align-content:center;gap:0;position:relative}.page-numbers{color:var(--color__blue-grey-dark--text);font-size:clamp(1rem,.77033rem + .63796vw,1.25rem);font-size:1.125rem;line-height:clamp(1.25rem,1.02033rem + .63796vw,1.5rem);text-decoration:none;padding-inline:1rem;padding-block:.5rem}.page-numbers:first-child{padding-left:0;padding-right:1rem}.page-numbers:hover{color:var(--color__blue-grey-medium--text)}.dots{cursor:default;pointer-events:none;padding-inline:0}.dots,.next,.prev{color:var(--color__blue-grey-dark--text);box-shadow:none;border:0;width:auto}.next,.prev{align-items:center;padding:0;display:flex;top:-.125rem}.next:after,.next:before,.prev:after,.prev:before{font-size:1.5rem;position:relative;padding:.5rem;line-height:.8}.next:before,.prev:before{padding-left:0}.next:after,.prev:after{padding-right:0}.next:hover,.prev:hover{border:none;box-shadow:none}.next:hover:after,.next:hover:before,.prev:hover:after,.prev:hover:before{color:var(--color__blue-grey-medium--text)}.prev{padding-right:1rem}.prev:before{content:"‹";padding-right:.75rem}.next{padding-left:1rem}.next:after{content:"›";padding-left:.75rem}.current{font-weight:600;box-shadow:none;cursor:default;pointer-events:none}@media (max-width:calc(48em - 0.00125em)){.next,.prev{font-size:0;width:1.5rem;height:2.25rem}.next:after,.next:before,.prev:after,.prev:before{top:-.125rem}.nav-links{justify-content:flex-start}.nav-links:has(.next):not(:has(.prev)) .next{left:0;align-self:center;transform:translateX(0)}}.search .content .container .main h2.archive-title{margin-bottom:6.75rem;max-width:49.875rem;max-height:5.125rem;margin-top:2.875rem;text-transform:uppercase}.search .content .container .main .treffer:last-child{margin-bottom:6.625rem}.search .content .container .main .treffer{display:block;text-decoration:none;color:inherit;transition:all var(--animation__duration) var(--animation__timing-function);max-width:55.8125rem}.search .content .container .main .treffer__headline>h3{margin-top:3rem;margin-bottom:1.0625rem;transition:all var(--animation__duration) var(--animation__timing-function);text-transform:uppercase}.search .content .container .main .treffer__ergebnis .treffer__content{max-width:49.4375rem}.search .content .container .main .treffer:hover,.search .content .container .main .treffer:hover h3{color:var(--color__blue-grey-medium--text)}.entry__content .tablepress{--border-color:rgba(var(--color__blue-grey-medium--bg--rgb),0.5);margin-top:1.875rem}.entry__content .tablepress.woll>*+tbody>*>*,.entry__content .tablepress.woll>tbody>*~*>*,.entry__content .tablepress.woll>tfoot>*>*{border-top:none}.entry__content .tablepress tbody tr{border-top-color:rgba(var(--color__blue-grey-medium--bg--rgb),.5);border-top:.0625rem solid rgba(var(--color__blue-grey-medium--bg--rgb),.5);border-bottom-color:rgba(var(--color__blue-grey-medium--bg--rgb),.5)}.entry__content .tablepress tbody tr:first-child{border-top:.0625rem solid rgba(var(--color__blue-grey-medium--bg--rgb),.5)}.entry__content .tablepress tbody tr:last-child{border-bottom:.0625rem solid rgba(var(--color__blue-grey-medium--bg--rgb),.5)}.entry__content .tablepress tbody tr:has(a.download){position:relative}.entry__content .tablepress tbody tr td{color:var(--color__blue-grey-dark--text);line-height:1.3125rem;padding:.59375rem 0 .5rem;border:none}@media (max-width:calc(48em - 0.00125em)){.entry__content .tablepress tbody tr{display:flex;flex-direction:column;padding:.625rem 0 .84375rem}.entry__content .tablepress tbody tr td{padding:.5625rem 0;max-width:82.85%}.entry__content .tablepress tbody tr td:first-child{padding-top:0}.entry__content .tablepress tbody tr td:last-child{padding-bottom:0}}.validation-message,.validation-message__icon{border-radius:var(--global__radius)}.validation-message__icon{position:relative;height:3.25rem;font-size:2.5rem;line-height:3.25rem}.wp-block-buttons:where(.is-layout-flex){align-items:center}.wp-block-buttons:where(.is-layout-flex) .wp-block-button:first-child,.wp-block-buttons>.wp-block-button{margin:2.1875rem 0}.wp-block-buttons>.wp-block-button:not(:last-child){margin-right:2.1875rem}.text-module .wp-block-button{display:inline-block;margin:2.1875rem clamp(1.875rem,.43269rem + 4.00641vw,3.4375rem) 2.1875rem 0}.text-module .wp-block-button:last-of-type{margin-right:0}.wide-image-text-below-module .wp-block-button:last-of-type{margin-bottom:0}@media (max-width:calc(48em - 0.00125em)){.wp-block-group .wp-block-group__inner-container>.wp-block-heading{margin-left:auto;margin-right:auto;max-width:calc(var(--container-padding)*2 + var(--content-width));padding-left:var(--container-padding);padding-right:var(--container-padding);width:100%}}@media (min-width:48em){.wp-block-group.is-style-schraege>[class*=_inner-container]{position:relative;z-index:1;margin-left:auto;margin-right:auto;max-width:calc(var(--container-padding)*2 + var(--content-width));padding-left:var(--container-padding);padding-right:var(--container-padding);width:100%}.wp-block-group.is-style-schraege>[class*=_inner-container]:before{content:"";display:block;position:absolute;left:0;top:0;width:100vw;height:100%;z-index:-2;-webkit-mask-image:url(../img/bg-s-100.svg);mask-image:url(../img/bg-s-100.svg);-webkit-mask-position:top left;mask-position:top left;-webkit-mask-size:cover;mask-size:cover;background-color:rgba(var(--color__grey-light--bg--rgb),.15)}.wp-block-group.is-style-schraege>[class*=_inner-container]:after{content:"";display:block;position:absolute;right:0;top:0;width:100%;height:100%;z-index:1;background-color:rgba(var(--color__grey-light--bg--rgb),.15);transform:translateX(-100%);mix-blend-mode:luminosity}.wp-block-group.is-style-w:has(.three-columns-image-button-module){z-index:2}.wp-block-group.is-style-w>[class*=_inner-container]{position:relative;z-index:1;margin-left:auto;margin-right:auto;max-width:calc(var(--container-padding)*2 + var(--content-width));padding-left:var(--container-padding);padding-right:var(--container-padding);width:100%}.wp-block-group.is-style-w>[class*=_inner-container]:before{content:"";display:block;position:absolute;top:0;z-index:-2;left:0;transform:translateX(41.8125rem);width:61.5rem;height:59.375rem;-webkit-mask-image:url(../img/bg-w-100.svg);mask-image:url(../img/bg-w-100.svg);-webkit-mask-position:top left;mask-position:top left;-webkit-mask-size:cover;mask-size:cover;background-color:rgba(var(--color__grey-light--bg--rgb),.15)}}.alignleft{float:left}.alignright{float:right}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.screen-reader-text:focus{background-color:#eee;clip:auto!important;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIjMtZWxlbWVudHMvbGlzdHMuc2NzcyIsIjAtc2V0dGluZ3MvX2N1c3RvbS1wcm9wZXJ0aWVzLnNjc3MiLCIwLXNldHRpbmdzL2ZvbnRzLnNjc3MiLCIxLXRvb2xzL21peGluLmZvbnQtZmFjZS5zY3NzIiwiMS10b29scy9taXhpbi5mb250LXdlaWdodC5zY3NzIiwiMS10b29scy9wbGFjZWhvbGRlci5idXR0b24uc2NzcyIsIjAtc2V0dGluZ3MvZnVuY3Rpb25zLnNjc3MiLCIxLXRvb2xzL3BsYWNlaG9sZGVyLmNvbnRhaW5lci5zY3NzIiwiMS10b29scy9wbGFjZWhvbGRlci5zcGFjZXMuc2NzcyIsIjItZ2VuZXJpYy9hbmltYXRpb25zLnNjc3MiLCIyLWdlbmVyaWMvY29sb3JzLnNjc3MiLCIyLWdlbmVyaWMvZ2xvYmFsLnNjc3MiLCJhcHAuY3NzIiwiMi1nZW5lcmljL3NwYWNlcy5zY3NzIiwiMy1lbGVtZW50cy9ib2R5LnNjc3MiLCIzLWVsZW1lbnRzL2ZpZ3VyZS5zY3NzIiwiMy1lbGVtZW50cy9mb3JtLnNjc3MiLCIzLWVsZW1lbnRzL2hlYWRpbmcuc2NzcyIsIjMtZWxlbWVudHMvaHIuc2NzcyIsIjMtZWxlbWVudHMvaW1hZ2VzLnNjc3MiLCIzLWVsZW1lbnRzL2xpbmtzLnNjc3MiLCIzLWVsZW1lbnRzL21haW4uc2NzcyIsIjMtZWxlbWVudHMvbmF2aWdhdGlvbi5zY3NzIiwiMy1lbGVtZW50cy9wYXJhZ3JhcGguc2NzcyIsIjQtY29tcG9uZW50cy9ib3JsYWJzLnNjc3MiLCI0LWNvbXBvbmVudHMvYnJlYWRjcnVtYnMuc2NzcyIsIjQtY29tcG9uZW50cy9mb290ZXIuc2NzcyIsIjQtY29tcG9uZW50cy9oZWFkZXItYnJhbmQtbG9nby5zY3NzIiwiNC1jb21wb25lbnRzL2hlYWRlci1ub3RpZmljYXRpb24tbWVzc2FnZS5zY3NzIiwiNC1jb21wb25lbnRzL2hlYWRlci5zY3NzIiwiNC1jb21wb25lbnRzL21lZGlhLXByb3ZpZGVyLnNjc3MiLCI0LWNvbXBvbmVudHMvbmF2aWdhdGlvbi5mb290ZXIuc2NzcyIsIjQtY29tcG9uZW50cy9uYXZpZ2F0aW9uLm1haW4uc2NzcyIsIjQtY29tcG9uZW50cy9uYXZpZ2F0aW9uLm1ldGEuc2NzcyIsIjQtY29tcG9uZW50cy9uYXZpZ2F0aW9uLnRvZ2dsZS5zY3NzIiwiNC1jb21wb25lbnRzL3BhZ2luYXRpb24uc2NzcyIsIjQtY29tcG9uZW50cy9zZWFyY2guc2NzcyIsIjQtY29tcG9uZW50cy90YWJsZXByZXNzLnNjc3MiLCI0LWNvbXBvbmVudHMvdmFsaWRhdGlvbnMubWVzc2FnZXMuc2NzcyIsIjUtYmxvY2tzL2Jsb2NrLmJ1dHRvbi5zY3NzIiwiNS1ibG9ja3MvYmxvY2suZ3JvdXAuc2NzcyIsIjctdXRpbGl0aWVzL2FsaWdubWVudC5zY3NzIiwiNy11dGlsaXRpZXMvc2NyZWVuLXJlYWRlci10ZXh0LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBVUEsZ0JBYWlELENDZGpELE1BRUUsa0VBQW9CLENBR3BCLGtCQUFnQixDQUNoQiw4REFBWSxDQUNaLDhCQUF1QixDQUN2QixnRUFBc0IsQ0FDdEIscUZBQWtDLENBR2xDLHdDQUFhLENBQ2IsMkJBQXFCLENBQ3JCLDJCQUFtQixDQUNuQixnQ0FBMEIsQ0FDMUIsaUNBQXlCLENBQ3pCLG9DQUE0QixDQUU1QiwwQ0FBZ0IsQ0FDaEIsMkJBQXdCLENBQ3hCLGlDQUE4QixDQUU5QixxQ0FBa0MsQ0FFbEMsNERBQVcsQ0FDWCxpRUFBa0IsQ0FLbEIsMkRBQVcsQ0FDWCwyREFBa0IsQ0FLbEIsMERBQVcsQ0FDWCxrRUFBa0IsQ0FLbEIsbUJBQVcsQ0FDWCx3QkFBa0IsQ0FFbEIsc0JBQVcsQ0FDWCwwQ0FBa0IsQ0FHbEIsbUNBQTRCLENBQzVCLHFDQUE4QixDQUM5Qiw0Q0FBbUMsQ0FDbkMsMENBQWlDLENBRWpDLHFDQUE4QixDQUM5Qix1Q0FBZ0MsQ0FDaEMsOENBQW1DLENBRW5DLDRDQUFxQyxDQUVyQyx5Q0FBa0MsQ0FFbEMsK0JBQXdCLENBQ3hC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Q0FDaEIsNERBQStELENBQ2hFLENDMUVILFdBQ0ksVUFBVyxDQUdmLFlBQ0ksV0FBWSxDQ1BwQixvQkFDSSxRQUFTLENBQ1QsMEJBQThCLENBQzlCLG9CQUFxQixDQUNyQixVQUFXLENBQ1gsV0FBWSxDQUNaLGVBQWdCLENBQ2hCLFNBQVUsQ0FDVixpQkFBa0IsQ0FDbEIsU0FBVSxDQUNWLDBCQUE0QixDQUdoQywwQkFDSSxxQkFBc0IsQ0FDdEIsbUJBQXFCLENBQ3JCLGNBQWUsQ0FDZixVQUFXLENBQ1gsYUFBYyxDQUNkLGFBQWMsQ0FDZCxXQUFZLENBQ1osUUFBUyxDQUNULGtCQUFtQixDQUNuQixzQkFBdUIsQ0FDdkIsb0JBQXFCLENBQ3JCLE9BQVEsQ0FDUixVQUFXLENBQ1gsY0FBd0MiLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTGlzdHNcbiAqL1xudWwge1xuICAmOm5vdChbY2xhc3NdKSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICB9XG59XG4udGV4dC1tb2R1bGVfX2NvbnRlbnQtLWJhc2UgPiB1bCxcbnVsIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiByZW0oMTYpO1xuICA+IGxpIHtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tZm9udF9fY29weS0tbGluZS1oZWlnaHQpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSg4KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi4oCiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAtI3tyZW0oMTYpfTtcbiAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1mb250X19jb3B5LS1saW5lLWhlaWdodCk7XG4gICAgfVxuICB9XG59XG5cbi50ZXh0LW1vZHVsZV9fY29udGVudC0tYmFzZSBoMiArIHVsLFxuaDIgKyB1bCB7XG4gIG1hcmdpbi10b3A6IHJlbSgyNCk7XG59IiwiLyoqXG4gKiBDdXN0b20gUHJvcGVydGllc1xuICpcbiAqIERlZmluaW5nIGN1c3RvbSBwcm9wZXJ0aWVzXG4gKiB1c2FnZTogYGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtgXG4gKi9cblxuQGltcG9ydCAnLi4vLi4vc2Nzcy8wLXNldHRpbmdzL192YXJpYWJsZXMuc2Nzcyc7XG5cbjpyb290IHtcbiAgLy8gR2xvYmFsIHBhZGRpbmdzXG4gIC0tY29udGFpbmVyLXBhZGRpbmc6ICN7JGdsb2JhbC1jb250YWluZXItcGFkZGluZ307XG5cbiAgLy8gR3JpZCBzZXR0aW5nc1xuICAtLWdyaWRfX2NvbHVtbnM6IDEyO1xuICAtLWdyaWRfX2dhcDogI3skZ2xvYmFsLWdyaWQtZ2FwfTtcbiAgLS1ncmlkX19vdmVybGF5LS1jb2xvcjogIzNlMDA3NztcbiAgLS1ncmlkX19jb2x1bW4tLXdpZHRoOiAje2NhbGNDbGFtcCg1MiwgODAsIDc2OCwgMTIwMCl9O1xuICAtLWdyaWRfX2NvbHVtbi0td2lkdGhfX2dhcC0td2lkdGg6ICN7Y2FsYyh2YXIoLS1ncmlkX19jb2x1bW4tLXdpZHRoKSArIHZhcigtLWdyaWRfX2dhcCkpfTtcblxuICAvLyBGb250IHN0YWNrc1xuICAtLWZvbnRfX2NvcHk6ICdCYXJsb3cnLCAnQXJpYWwnLCBzYW5zLXNlcmlmO1xuICAtLWZvbnRfX2NvcHktLXdlaWdodDogbm9ybWFsO1xuICAtLWZvbnRfX2NvcHktLXNpemU6ICN7cmVtKDE4KX07XG4gIC0tZm9udF9fY29weS0tbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgLS1mb250X19jb3B5LS1tYXJnaW4tdG9wOiAje3JlbSgxMCl9O1xuICAtLWZvbnRfX2NvcHktLW1hcmdpbi1ib3R0b206ICN7cmVtKDEwKX07XG5cbiAgLS1mb250X19oZWFkaW5nOiAnSm9zdCBWYXJpYWJsZScsIHNhbnMtc2VyaWY7XG4gIC0tZm9udF9faGVhZGluZy0td2VpZ2h0OiAzMDA7XG4gIC0tZm9udF9faGVhZGluZy0td2VpZ2h0LS1ib2xkOiA3MDA7XG5cbiAgLS1mb250X19idXR0b24tLXdlaWdodC0tZXh0cmFib2xkOiA4MDA7XG5cbiAgLS1oMV9fc2l6ZTogI3tjYWxjQ2xhbXAoMzUsIDQ1LCA1NzYsIDEyMDApfTtcbiAgLS1oMV9fbGluZS1oZWlnaHQ6ICN7Y2FsY0NsYW1wKDM3LCA1MCwgNTc2LCAxMjAwKX07XG5cbiAgLy8gICAtLWgxX19zaXplLS1kZWNvcjogI3tjYWxjQ2xhbXAoMTYsIDE4LCA1NzYsIDEyMDApfTtcbiAgLy8gICAtLWgxX19saW5lLWhlaWdodC0tZGVjb3I6ICAje2NhbGNDbGFtcCgxNiwgMTgsIDU3NiwgMTIwMCl9O1xuXG4gIC0taDJfX3NpemU6ICN7Y2FsY0NsYW1wKDMwLCAzNSwgNTc2LCAxMjAwKX07XG4gIC0taDJfX2xpbmUtaGVpZ2h0OiAje2NhbGNDbGFtcCgzMiwgNDAsIDU3NiwgMTIwMCl9O1xuXG4gIC8vICAgLS1oMl9fc2l6ZS0tZGVjb3I6ICAje2NhbGNDbGFtcCgxNiwgMTgsIDU3NiwgMTIwMCl9O1xuICAvLyAgIC0taDJfX2xpbmUtaGVpZ2h0LS1kZWNvcjogICN7Y2FsY0NsYW1wKDE2LCAxOCwgNTc2LCAxMjAwKX07XG5cbiAgLS1oM19fc2l6ZTogI3tjYWxjQ2xhbXAoMjAsIDI1LCA1NzYsIDEyMDApfTtcbiAgLS1oM19fbGluZS1oZWlnaHQ6ICN7Y2FsY0NsYW1wKDIyLCAyNywgNTc2LCAxMjAwKX07XG5cbiAgLy8gICAtLWgzX19zaXplLS1kZWNvcjogICN7Y2FsY0NsYW1wKDE2LCAxOCwgNTc2LCAxMjAwKX07XG4gIC8vICAgLS1oM19fbGluZS1oZWlnaHQtLWRlY29yOiAgI3tjYWxjQ2xhbXAoMTYsIDE4LCA1NzYsIDEyMDApfTtcblxuICAtLWg0X19zaXplOiAje3JlbSgxOCl9O1xuICAtLWg0X19saW5lLWhlaWdodDogI3tyZW0oMjQpfTtcblxuICAtLWg1X19zaXplOiB2YXIoLS1jb3B5KTtcbiAgLS1oNV9fbGluZS1oZWlnaHQ6IHZhcigtLWNvcHktLWxpbmUtaGVpZ2h0KTtcblxuICAvLyBCcmFuZCBjb2xvcnNcbiAgLS1jb2xvcl9fYmx1ZS1ncmV5LWRhcmstLWJnOiAjMzY1MzY4O1xuICAtLWNvbG9yX19ibHVlLWdyZXktZGFyay0tdGV4dDogIzM2NTM2ODtcbiAgLS1jb2xvcl9fYmx1ZS1ncmV5LWRhcmstLXRleHQtLXJnYjogNTQsIDgzLCAxMDQ7XG4gIC0tY29sb3JfX2JsdWUtZ3JleS1kYXJrLS1iZy0tcmdiOiA1NCwgODMsIDEwNDtcblxuICAtLWNvbG9yX19ibHVlLWdyZXktbWVkaXVtLS1iZzogIzg1OTZhMjtcbiAgLS1jb2xvcl9fYmx1ZS1ncmV5LW1lZGl1bS0tdGV4dDogIzg1OTZhMjtcbiAgLS1jb2xvcl9fYmx1ZS1ncmV5LW1lZGl1bS0tYmctLXJnYjogMTMzLCAxNTAsIDE2MjtcblxuICAtLWNvbG9yX19ibHVlLWdyZXktbWVkaXVtLS1mb3JtLXRleHQ6ICM3MDg3OTY7XG5cbiAgLS1jb2xvcl9fZ3JleS1tZWRpdW0tLXRhYmxlLWxpbmtzOiAjNzA4Nzk2O1xuXG4gIC0tY29sb3JfX2dyZXktbGlnaHQtLWJnOiAjY2NkNGQ5O1xuICAtLWNvbG9yX19ncmV5LWxpZ2h0LS1iZy0tcmdiOiAyMDQsIDIxMiwgMjE3O1xuICAtLWNvbG9yX19ncmV5LWxpZ2h0LS10ZXh0OiAjY2NkNGQ5O1xuXG4gIC0tY29sb3JfX2dyZXktdWx0cmEtbGlnaHQtLWJnOiAjZjRmNmY3O1xuICAtLWNvbG9yX19ncmV5LXVsdHJhLWxpZ2h0LS1yZ2I6IDI0NCwgMjQ2LCAyNDc7XG4gIC0tY29sb3JfX2dyZXktdWx0cmEtbGlnaHQtLXRleHQ6ICNmNGY2Zjc7XG5cbiAgLS1jb2xvcl9fd2hpdGUtLWJnOiAjZmZmZmZmO1xuICAtLWNvbG9yX193aGl0ZS0tdGV4dDogd2hpdGU7XG4gIC0tY29sb3JfX3doaXRlLS1yZ2I6IDI1NSwgMjU1LCAyNTU7XG5cbiAgLy8gLT4gRnJvbWF0dGluZyBjb2xvcnNcbiAgLS1jb2xvcl9fc2l0ZS1iYWNrZ3JvdW5kOiB2YXIoLS1jb2xvcl9fd2hpdGUtLWJnKTtcbiAgLS1jb2xvcl9fbGlua3M6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktZGFyay0tdGV4dCk7XG4gIC0tY29sb3JfX2xpbmtzLS1ob3ZlcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1kYXJrLS10ZXh0KTtcblxuICAvLyAtPiBWYWxpZGF0aW9uIGNvbG9yc1xuICAtLWNvbG9yX19lcnJvcjogI2ZmMDAwMDtcbiAgLS1jb2xvcl9fZXJyb3ItLWxpZ2h0OiAjZjA4MDgwO1xuICAtLWNvbG9yX19lcnJvci0tZGFyazogI2ZmMDAwMDtcbiAgLS1jb2xvcl9fZXJyb3ItLWFjY2VudDogI2ZmMDAwMDtcbiAgLS1jb2xvcl9fd2FybmluZzogI2ZmZmYwMDtcbiAgLS1jb2xvcl9fd2FybmluZy0tbGlnaHQ6ICNmZmZmZTA7XG4gIC0tY29sb3JfX3dhcm5pbmctLWRhcms6ICNmZmZmMDA7XG4gIC0tY29sb3JfX3dhcm5pbmctLWFjY2VudDogI2ZmZmYwMDtcbiAgLS1jb2xvcl9fc3VjY2VzczogIzMyY2QzMjtcbiAgLS1jb2xvcl9fc3VjY2Vzcy0tbGlnaHQ6ICM5MGVlOTA7XG4gIC0tY29sb3JfX3N1Y2Nlc3MtLWRhcms6ICMwMDgwMDA7XG4gIC0tY29sb3JfX3N1Y2Nlc3MtLWFjY2VudDogIzAwODAwMDtcbiAgLS1jb2xvcl9fbm90aWNlOiAjMDAwMGZmO1xuICAtLWNvbG9yX19ub3RpY2UtLWxpZ2h0OiAjYWRkOGU2O1xuICAtLWNvbG9yX19ub3RpY2UtLWRhcms6ICMwMDAwZmY7XG4gIC0tY29sb3JfX25vdGljZS0tYWNjZW50OiAjMDAwMGZmO1xuXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLS1tcV9fbW9iaWxlOiAjeyRtcS1tb2JpbGV9O1xuICAtLW1xX190YWJsZXQ6ICN7JG1xLXRhYmxldH07XG4gIC0tbXFfX2Rlc2t0b3A6ICN7JG1xLWRlc2t0b3B9O1xuICAtLW1xX193aWRlOiAjeyRtcS13aWRlfTtcblxuICAvLyBBbmltYXRpb25cbiAgLS1hbmltYXRpb25fX2R1cmF0aW9uOiA0MDBtcztcbiAgLS1hbmltYXRpb25fX3RpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG5cbiAgLy8gTWlzY1xuICAtLWFkbWluYmFyX19oZWlnaHQtLW5hcnJvdzogMzJweDtcbiAgLS1hZG1pbmJhcl9faGVpZ2h0OiA0NnB4O1xuICAtLWdsb2JhbF9fcmFkaXVzOiAwLjMxMjVyZW07XG4gIC0tcHJvZmlsZS1pbWFnZV9fYm9yZGVyLXJhZGl1czogdmFyKC0tZ2xvYmFsX19yYWRpdXMpO1xuICAtLW1heF9fd2lkdGg6IDU2LjI1cmVtO1xuICAtLW1heF9fd2lkdGgtLXNtYWxsOiA0My43NXJlbTtcblxuICBAbWVkaWEgKC0tbW9iaWxlKSB7XG4gIH1cblxuICBAbWVkaWEgKC0tdGFibGV0KSB7XG4gICAgLS1ncmlkX19vdmVybGF5LS1jb2xvcjogIzAwNTk5NDtcbiAgfVxuXG4gIEBtZWRpYSAoLS1kZXNrdG9wKSB7XG4gICAgLS1ncmlkX19vdmVybGF5LS1jb2xvcjogIzhhMDAwMDtcbiAgfVxuXG4gIEBtZWRpYSAoLS13aWRlKSB7XG4gICAgLS1ncmlkX19vdmVybGF5LS1jb2xvcjogIzRmOTc3NjtcbiAgfVxufVxuIiwiQGltcG9ydCAnLi4vMS10b29scy9taXhpbi5mb250LWZhY2Uuc2Nzcyc7XG5cbi8qXG4qKiAgV2ViZm9udCBmb250IGZhY2VzXG4qKiAgLS0tLS0tLS0tLS0tLS0tLS0tXG4qKiAgQ29uZmlnOlxuKysgIEFkZCBlbnRyaWVzIHRvIHRoZSAkZm9udFdlaWdodHMgbWFwIGluOlxuKiogIC9yZXNvdXJjZXMvc2Nzcy8wLXNldHRpbmdzL192YXJpYWJsZXMuc2Nzc1xuKiogIC0tLS0tLS0tLS0tLS0tLS0tLVxuKiogIENvcHkgdGhlIHVzZWQgb25lcyBpbnRvIHRoZSAkZm9udFdlaWdodHMgdmFyaWFibGVcbioqICAtLS0tLS0tLS0tLS0tLS0tLS1cbioqICBZb3UgY291bGQgdXNlIHRoZSBmb250LWZhY2UgbWl4aW4uXG4qKiAgUGxlYXNlIGZvbGxvdyB0aGVzZSBpbnN0cnVjdGlvbnNcbioqICBmb250LWZhY2UoPG5hbWU+LCA8cGF0aC10by1maWxlPjxmaWxlbmFtZS13aXRob3V0aC13ZWlnaHQtbmFtZT4sIDx3ZWlnaHQtdmFsdWU+LCA8c3R5bGU+LCA8ZmlsZXR5cGVzLXNwYWNlLXNlcGVyYXRlZD5cbioqICAtLS0tLS0tLS0tLS0tLS0tLS1cbioqICBQZXJmb3JtYW5jZSBvcHRpbWl6YXRpb246XG4qKiAgUGxlYXNlIGFkZCBhIHByZWxvYWQgc2NyaXB0IGZvciBlYWNoIGZvbnQgdG8gdGhlIGhlYWQucGhwIGluXG4qKiAgL3Jlc291cmNlcy92aWV3cy90ZW1wbGF0ZS1wYXJ0cy9oZWFkLnBocFxuKiogIDxsaW5rIHJlbD1cInByZWxvYWRcIiBocmVmPVwiPD89IGdldF90ZW1wbGF0ZV9kaXJlY3RvcnlfdXJpKCkgLiAnL2Rpc3QvZm9udHMvZXhhbXBsZS1yZWd1bGFyLndvZmYyJyA/PlwiIGFzPVwiZm9udFwiIHR5cGU9XCJmb250L3dvZmYyXCIgY3Jvc3NvcmlnaW4+XG4qL1xuXG4vLyBFeGFtcGxlIEZvbnQgd2l0aCBvbmUgd2VpZ2h0XG4vLyAtPiByZWd1bGFyOiA0MDBcbi8vIEBpbmNsdWRlIGZvbnQtZmFjZShcIkV4YW1wbGUgVmFyaWFudFwiLCBcIi4uL2ZvbnRzL2V4YW1wbGUtdmFyaWFudC0je1wicmVndWxhclwifVwiLCAje21hcC1nZXQoJGZvbnRXZWlnaHRzLCBcInJlZ3VsYXJcIil9LCBub3JtYWwsIHdvZmYyIHdvZmYpO1xuXG4vLyBVc2UgdmFyaWFibGUgZm9udFxuQGZvbnQtZmFjZSB7XG5cdGZvbnQtZmFtaWx5OiAnSm9zdCBWYXJpYWJsZSc7XG5cdHNyYzogdXJsKCcuLi9mb250cy9Kb3N0LVZhcmlhYmxlRm9udF93Z2h0LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCB1cmwoJy4uL2ZvbnRzL0pvc3QtVmFyaWFibGVGb250X3dnaHQud29mZicpIGZvcm1hdCgnd29mZicpO1xuXHRmb250LXdlaWdodDogMTAwIDkwMDsgLy8gRGVmaW5lIGZvbnQtd2VpZ2h0IHJhbmdlXG5cdGRpc3BsYXk6IHN3YXA7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Zm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG4vLyBTdGF0aWMgZmFsbGJhY2tzIGZvciBmcmVxdWVudGx5IHVzZWQgd2VpZ2h0c1xuQGZvbnQtZmFjZSB7XG5cdGZvbnQtZmFtaWx5OiAnSm9zdCc7XG5cdHNyYzogdXJsKCcuLi9mb250cy9Kb3N0LUxpZ2h0LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCB1cmwoJy4uL2ZvbnRzL0pvc3QtTGlnaHQud29mZicpIGZvcm1hdCgnd29mZicpO1xuXHRmb250LXdlaWdodDogMzAwO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG5cdGRpc3BsYXk6IHN3YXA7XG5cdGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG5cdGZvbnQtZmFtaWx5OiAnSm9zdCc7XG5cdHNyYzogdXJsKCcuLi9mb250cy9Kb3N0LUJvbGQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIHVybCgnLi4vZm9udHMvSm9zdC1Cb2xkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRkaXNwbGF5OiBzd2FwO1xuXHRmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbi8vIEV4YW1wbGUgRm9udCB3aXRoIG11bHRpcGxlIHdlaWdodHNcbi8vIC0+IGxpZ2h0OiAzMDBcbi8vIC0+IHJlZ3VsYXI6IDQwMFxuLy8gLT4gYm9sZDogNzAwXG4vLyAtPiBleHRyYWJvbGQ6IDgwMFxuQGVhY2ggJGZvbnRXZWlnaHQsICRmb250VmFsdWUgaW4gJGZvbnRXZWlnaHRzIHtcblx0QGluY2x1ZGUgZm9udC1mYWNlKCdCYXJsb3cnLCAnLi4vZm9udHMvQmFybG93LSN7JGZvbnRXZWlnaHR9JywgI3skZm9udFZhbHVlfSwgbm9ybWFsLCB3b2ZmMiB3b2ZmKTtcbn1cbiIsIkBpbXBvcnQgXCIuLi8xLXRvb2xzL21peGluLmZvbnQtd2VpZ2h0LnNjc3NcIjtcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTdHJpbmcgUmVwbGFjZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiBcIlwiKSB7XG4gICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xuXG4gIEBpZiAkaW5kZXgge1xuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgK1xuICAgICAgc3RyLXJlcGxhY2UoXG4gICAgICAgIHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSxcbiAgICAgICAgJHNlYXJjaCxcbiAgICAgICAgJHJlcGxhY2VcbiAgICAgICk7XG4gIH1cblxuICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBGb250IEZhY2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBtaXhpbiBmb250LWZhY2UoXG4gICRuYW1lLFxuICAkcGF0aCxcbiAgJHdlaWdodDogbnVsbCxcbiAgJHN0eWxlOiBudWxsLFxuICAkZXh0czogZW90IHdvZmYyIHdvZmYgdHRmIHN2Z1xuKSB7XG4gICRzcmM6IG51bGw7XG5cbiAgJGV4dG1vZHM6IChcbiAgICBlb3Q6IFwiP1wiLFxuICAgIHN2ZzogXCIjXCIgKyBzdHItcmVwbGFjZSgkbmFtZSwgXCIgXCIsIFwiX1wiKSxcbiAgKTtcblxuICAkZm9ybWF0czogKFxuICAgIG90ZjogXCJvcGVudHlwZVwiLFxuICAgIHR0ZjogXCJ0cnVldHlwZVwiLFxuICApO1xuXG4gIEBlYWNoICRleHQgaW4gJGV4dHMge1xuICAgICRleHRtb2Q6IGlmKFxuICAgICAgbWFwLWhhcy1rZXkoJGV4dG1vZHMsICRleHQpLFxuICAgICAgJGV4dCArIG1hcC1nZXQoJGV4dG1vZHMsICRleHQpLFxuICAgICAgJGV4dFxuICAgICk7XG4gICAgJGZvcm1hdDogaWYobWFwLWhhcy1rZXkoJGZvcm1hdHMsICRleHQpLCBtYXAtZ2V0KCRmb3JtYXRzLCAkZXh0KSwgJGV4dCk7XG4gICAgJHNyYzogYXBwZW5kKFxuICAgICAgJHNyYyxcbiAgICAgIHVybChxdW90ZSgkcGF0aCArIFwiLlwiICsgJGV4dG1vZCkpIGZvcm1hdChxdW90ZSgkZm9ybWF0KSksXG4gICAgICBjb21tYVxuICAgICk7XG4gIH1cblxuICBAZm9udC1mYWNlIHtcbiAgICBAaW5jbHVkZSBmb250LXdlaWdodCgkd2VpZ2h0KTtcbiAgICBmb250LWZhbWlseTogcXVvdGUoI3skbmFtZX0pO1xuICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcbiAgICBzcmM6ICRzcmM7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICB9XG59XG4iLCJAbWl4aW4gZm9udC13ZWlnaHQoJHdlaWdodCkge1xuICAkb3V0cHV0OiAkd2VpZ2h0O1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvbnRXZWlnaHRzLCAkd2VpZ2h0KSB7XG4gICAgJG91dHB1dDogbWFwLWdldCgkZm9udFdlaWdodHMsICR3ZWlnaHQpO1xuICB9XG4gIGZvbnQtd2VpZ2h0OiAkb3V0cHV0O1xufVxuIiwiLyoqXG4gKiBCdXR0b24gc3R5bGVzXG4gKlxuICogRGVmaW5lIGdsb2JhbCBidXR0b24gc3R5bGVzXG4gKi9cblxuJWJ1dHRvbiB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGF1dG87XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udF9fYnV0dG9uLS13ZWlnaHQtLWV4dHJhYm9sZCk7XG4gIGxldHRlci1zcGFjaW5nOiByZW0oMS4wNyk7XG4gIGxpbmUtaGVpZ2h0OiByZW0oMTkpO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogbm9uZTtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBjb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1kYXJrLS10ZXh0KTtcbiAgcGFkZGluZzogcmVtKDgpIDAgcmVtKDgpO1xuICBwYWRkaW5nLXJpZ2h0OiByZW0oNDkpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IGFsbCB2YXIoLS1hbmltYXRpb25fX2R1cmF0aW9uKSB2YXIoLS1hbmltYXRpb25fX3RpbWluZy1mdW5jdGlvbikgMHM7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktZGFyay0tdGV4dCk7XG4gICAgbWFzay1pbWFnZTogdXJsKC4uL2ltZy9idXR0b24tZmlsdGVyLWljb24uc3ZnKTtcbiAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgd2lkdGg6IHJlbSgzMik7XG4gICAgaGVpZ2h0OiByZW0oMzIpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAwcztcbiAgfVxuICAuaXMtc3R5bGUtb3V0bGluZSAmLFxuICAuaXMtc3R5bGUtb3V0bGluZS0tMSAmIHtcbiAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgYm9yZGVyOiByZW0oMSkgc29saWQgdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1kYXJrLS10ZXh0KTtcbiAgICBwYWRkaW5nOiByZW0oMTApIHJlbSgzOCkgcmVtKDEwKSByZW0oMTgpO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIG1hc2staW1hZ2U6IHVybCguLi9pbWcvYnV0dG9uLWFycm93LXJpZ2h0LnN2Zyk7XG4gICAgICB3aWR0aDogcmVtKDgpO1xuICAgICAgaGVpZ2h0OiByZW0oOSk7XG4gICAgICByaWdodDogcmVtKDE4KTtcbiAgICB9XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktbWVkaXVtLS10ZXh0KTtcbiAgICAuaXMtc3R5bGUtb3V0bGluZSAmLFxuICAgIC5pcy1zdHlsZS1vdXRsaW5lLS0xICYge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1kYXJrLS1iZyk7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3JfX3doaXRlLS10ZXh0KTtcbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1tZWRpdW0tLXRleHQpO1xuICAgICAgLmlzLXN0eWxlLW91dGxpbmUgJixcbiAgICAgIC5pcy1zdHlsZS1vdXRsaW5lLS0xICYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvcl9fd2hpdGUtLWJnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuJWJ1dHRvbi0tcHJpbWFyeSB7XG4gIEBleHRlbmQgJWJ1dHRvbjtcbn1cblxuJWJ1dHRvbi0tc2Vjb25kYXJ5IHtcbiAgQGV4dGVuZCAlYnV0dG9uO1xufVxuXG4lYnV0dG9uLS10ZXh0IHtcbiAgQGV4dGVuZCAlYnV0dG9uO1xufVxuXG4lYnV0dG9uLS1jYW5jZWwge1xuICBAZXh0ZW5kICVidXR0b247XG59XG4lYnV0dG9uLS1kb3dubG9hZCB7XG4gIEBleHRlbmQgJWJ1dHRvbjtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAmOjphZnRlciB7XG4gICAgbWFzay1pbWFnZTogdXJsKC4uL2ltZy9idXR0b24tZG93bmxvYWQtaWNvbi5zdmcpO1xuICB9XG59XG5cbiVidXR0b24tLW5lZ2F0aXZlIHtcbiAgQGV4dGVuZCAlYnV0dG9uO1xuICBjb2xvcjogdmFyKC0tY29sb3JfX3doaXRlLS10ZXh0KTtcbiAgJjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yX193aGl0ZS0tYmcpO1xuICB9XG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LW1lZGl1bS0tdGV4dCk7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1tZWRpdW0tLXRleHQpO1xuICAgIH1cbiAgfVxufVxuXG4lYnV0dG9uLS1uZWdhdGl2ZS0tb3V0bGluZSB7XG4gIEBleHRlbmQgJWJ1dHRvbi0tbmVnYXRpdmU7XG4gIGJvcmRlcjogcmVtKDEpIHNvbGlkIHZhcigtLWNvbG9yX19ibHVlLWdyZXktbWVkaXVtLS1iZyk7XG4gIHBhZGRpbmc6IHJlbSg5KSByZW0oMTYpIHJlbSgxMik7XG4gIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgbGV0dGVyLXNwYWNpbmc6IHJlbSgxLjA3KTtcbiAgbGluZS1oZWlnaHQ6IHJlbSgxOSk7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogcmVtKDEzKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6OmFmdGVyIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoLi4vaW1nL2J1dHRvbi1hcnJvdy1yaWdodC5zdmcpO1xuICAgIHdpZHRoOiByZW0oNyk7XG4gICAgaGVpZ2h0OiByZW0oOCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKC01MCUgLSAje3JlbSg0KX0pKTtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1kYXJrLS10ZXh0KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvcl9fd2hpdGUtLWJnKTtcbiAgICAmOjphZnRlciB7XG4gICAgICBtYXNrLWltYWdlOiB1cmwoLi4vaW1nL2J1dHRvbi1hcnJvdy1yaWdodC5zdmcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1tZWRpdW0tLXRleHQpO1xuICAgIH1cbiAgfVxufVxuIiwiJGh0bWwtZm9udC1zaXplOiAxNnB4O1xyXG5cclxuQGZ1bmN0aW9uIHN0cmlwVW5pdCgkdmFsdWUpIHtcclxuICAgIEByZXR1cm4gJHZhbHVlIC8gKCR2YWx1ZSAqIDAgKyAxKTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIHJlbSgkcHhWYWx1ZSkge1xyXG4gICAgQHJldHVybiAje3N0cmlwVW5pdCgkcHhWYWx1ZSkgLyBzdHJpcFVuaXQoJGh0bWwtZm9udC1zaXplKX1yZW07XHJcbn1cclxuXHJcbkBmdW5jdGlvbiByZWwoJG1pbkZvbnRWYWx1ZSwgJG1heEZvbnRWYWx1ZSwgJG1pbldpZHRoVmFsdWUsICRtYXhXaWR0aFZhbHVlKSB7XHJcbiAgICBAcmV0dXJuICgkbWF4Rm9udFZhbHVlIC0gJG1pbkZvbnRWYWx1ZSkgLyAoJG1heFdpZHRoVmFsdWUgLSAkbWluV2lkdGhWYWx1ZSk7XHJcbn1cclxuQGZ1bmN0aW9uIGludGVyKCRtaW5Gb250VmFsdWUsICRtYXhGb250VmFsdWUsICRtaW5XaWR0aFZhbHVlLCAkbWF4V2lkdGhWYWx1ZSkge1xyXG4gICAgQHJldHVybiAoICgtMSAqICRtaW5XaWR0aFZhbHVlKSAqIHJlbCgkbWluRm9udFZhbHVlLCAkbWF4Rm9udFZhbHVlLCAkbWluV2lkdGhWYWx1ZSwgJG1heFdpZHRoVmFsdWUpICsgJG1pbkZvbnRWYWx1ZSkgLyAje3N0cmlwVW5pdCgkaHRtbC1mb250LXNpemUpfTtcclxufVxyXG5AZnVuY3Rpb24gcHJlZlZhbHVlKCRtaW5Gb250VmFsdWUsICRtYXhGb250VmFsdWUsICRtaW5XaWR0aFZhbHVlLCAkbWF4V2lkdGhWYWx1ZSkge1xyXG4gICAgQHJldHVybiAje2ludGVyKCRtaW5Gb250VmFsdWUsICRtYXhGb250VmFsdWUsICRtaW5XaWR0aFZhbHVlLCAkbWF4V2lkdGhWYWx1ZSl9cmVtICsgI3tyZWwoJG1pbkZvbnRWYWx1ZSwgJG1heEZvbnRWYWx1ZSwgJG1pbldpZHRoVmFsdWUsICRtYXhXaWR0aFZhbHVlKSAqIDEwMH12dztcclxufVxyXG5AZnVuY3Rpb24gY2FsY0NsYW1wKCRtaW5Gb250VmFsdWUsICRtYXhGb250VmFsdWUsICRtaW5XaWR0aFZhbHVlLCAkbWF4V2lkdGhWYWx1ZSkge1xyXG4gICAgQHJldHVybiBjbGFtcCgje3JlbSgkbWluRm9udFZhbHVlKX0sICN7cHJlZlZhbHVlKCRtaW5Gb250VmFsdWUsICRtYXhGb250VmFsdWUsICRtaW5XaWR0aFZhbHVlLCAkbWF4V2lkdGhWYWx1ZSl9LCAje3JlbSgkbWF4Rm9udFZhbHVlKX0pO1xyXG59XHJcbiIsIiVjb250YWluZXIge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IGNhbGMoKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nKSAqIDIpICsgdmFyKC0tY29udGVudC13aWR0aCkpO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tY29udGFpbmVyLXBhZGRpbmcpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWNvbnRhaW5lci1wYWRkaW5nKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgXG4gICAgJi0td2lkZSB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTUwcHgpIHtcbiAgICAgICAgbGVmdDogY2FsYyg1MCUgLSA1MHZ3KTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMjVweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTI1cHg7XG4gICAgICAgIG1heC13aWR0aDogMTAwdnc7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cbiAgICB9XG4gIFxuICAgICYtLWZ1bGwge1xuICAgICAgbGVmdDogY2FsYyg1MCUgLSA1MHZ3KTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICB9XG4gIH1cbiAgXG4gIEBtaXhpbiBjb250YWluZXIge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IGNhbGMoKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nKSAqIDIpICsgdmFyKC0tY29udGVudC13aWR0aCkpO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tY29udGFpbmVyLXBhZGRpbmcpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWNvbnRhaW5lci1wYWRkaW5nKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBcbiAgQG1peGluIGNvbnRhaW5lcl9fZnVsbCB7XG4gICAgbGVmdDogY2FsYyg1MCUgLSA1MHZ3KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICB9XG4gICIsIiRib3hTcGFjZXM6IG1hcmdpbiwgcGFkZGluZztcbiRwb3NpdGlvbnM6IHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdCwgaG9yaXpvbnRhbCwgdmVydGljYWw7XG5cbkBlYWNoICRib3hTcGFjZSBpbiAkYm94U3BhY2VzIHtcbiAgICAlI3skYm94U3BhY2V9e1xuICAgICAgICBAZWFjaCAkc3BhY2VOYW1lLCAkc3BhY2VWYWx1ZSBpbiAkc3BhY2VzIHtcbiAgICAgICAgICAgICYtLSN7JHNwYWNlTmFtZX17XG4gICAgICAgICAgICAgICAgI3skYm94U3BhY2V9OiAjeyRzcGFjZVZhbHVlfTtcblxuICAgICAgICAgICAgICAgIEBpZiAkYWxsb3ctaW1wb3J0YW50IHtcbiAgICAgICAgICAgICAgICAgICAgJlxcIWltcG9ydGFudHtcbiAgICAgICAgICAgICAgICAgICAgICAgICN7JGJveFNwYWNlfTogI3skc3BhY2VWYWx1ZX0gIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRwb3NpdGlvbiBpbiAkcG9zaXRpb25zIHtcbiAgICAgICAgICAgICZfXyN7JHBvc2l0aW9ufXtcbiAgICAgICAgICAgICAgICBAaWYgJHBvc2l0aW9uID09IGhvcml6b250YWwge1xuICAgICAgICAgICAgICAgICAgICBAZWFjaCAkc3BhY2VOYW1lLCAkc3BhY2VWYWx1ZSBpbiAkc3BhY2VzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICYtLSN7JHNwYWNlTmFtZX17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgI3skYm94U3BhY2V9LXRvcDogI3skc3BhY2VWYWx1ZX07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgI3skYm94U3BhY2V9LWJvdHRvbTogI3skc3BhY2VWYWx1ZX07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgJGFsbG93LWltcG9ydGFudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZcXCFpbXBvcnRhbnR7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjeyRib3hTcGFjZX0tdG9wOiAjeyRzcGFjZVZhbHVlfSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI3skYm94U3BhY2V9LWJvdHRvbTogI3skc3BhY2VWYWx1ZX0gIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdmVydGljYWwge1xuICAgICAgICAgICAgICAgICAgICBAZWFjaCAkc3BhY2VOYW1lLCAkc3BhY2VWYWx1ZSBpbiAkc3BhY2VzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICYtLSN7JHNwYWNlTmFtZX17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgI3skYm94U3BhY2V9LWxlZnQ6ICN7JHNwYWNlVmFsdWV9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICN7JGJveFNwYWNlfS1yaWdodDogI3skc3BhY2VWYWx1ZX07XG5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAkYWxsb3ctaW1wb3J0YW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlxcIWltcG9ydGFudHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICN7JGJveFNwYWNlfS1sZWZ0OiAjeyRzcGFjZVZhbHVlfSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI3skYm94U3BhY2V9LXJpZ2h0OiAjeyRzcGFjZVZhbHVlfSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgQGVhY2ggJHNwYWNlTmFtZSwgJHNwYWNlVmFsdWUgaW4gJHNwYWNlcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmLS0jeyRzcGFjZU5hbWV9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICN7JGJveFNwYWNlfS0jeyRwb3NpdGlvbn06ICN7JHNwYWNlVmFsdWV9O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmICRhbGxvdy1pbXBvcnRhbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmXFwhaW1wb3J0YW50e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI3skYm94U3BhY2V9LSN7JHBvc2l0aW9ufTogI3skc3BhY2VWYWx1ZX0gIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiAgXG4gIFxuICAiLCIvKlxuKiogIEFuaW1hdGlvbnNcbiovXG5cbkBrZXlmcmFtZXMgZm9udFdlaWdodExpZ2h0Qm9sZCB7XG4gIGZyb20ge1xuICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiBcIndnaHRcIiAyMDA7IC8vIExpZ2h0IHdlaWdodFxuICB9XG4gIHRvIHtcbiAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogXCJ3Z2h0XCIgNzAwOyAvLyBCb2xkIHdlaWdodFxuICB9XG59XG5cbkBrZXlmcmFtZXMgZm9udFdlaWdodEJvbGRMaWdodCB7XG4gIGZyb20ge1xuICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiBcIndnaHRcIiA3MDA7IC8vIEJvbGQgd2VpZ2h0XG4gIH1cbiAgdG8ge1xuICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiBcIndnaHRcIiAyMDA7IC8vIExpZ2h0IHdlaWdodFxuICB9XG59XG4iLCIvKlxuKiogIENvbG9yc1xuKiogIC0tLS0tLS0tLS0tLS0tLS0tLVxuKiogIFdpbGwgYmUgdXNlZCBmcm9tIGd1dGVuYmVyZyBjb2xvciBkZWZpbml0aW9uc1xuKiogIENvcHkgdGhlIHVzZWQgb25lcyBpbnRvIHRoZSAkZm9udFdlaWdodHMgdmFyaWFibGVcbioqICAtLS0tLS0tLS0tLS0tLS0tLS1cbioqICBBZGQgbW9yZSBjb2xvcnM6XG4qKiAgSWYgeW91IHdhbnQgdG8gYWRkIG9yIGFkYXB0IHRoZSBjb2xvcnNcbioqICBQbGVhc2UgY2hhbmdlIHRoZSBmb2xsb3dpbmcgZmlsZTpcbioqICAvY29uZmlnL3dvcmRwcmVzcy90aGVtZS1zdXBwb3J0LmZ1bmN0aW9ucy5waHBcbiovXG5cbi5oYXMtYmFja2dyb3VuZCB7XG5cdCYuaGFzLXByaW1hcnktYmFja2dyb3VuZC1jb2xvciB7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1kYXJrLS1iZyk7XG5cdH1cblxuXHQmLmhhcy1zZWNvbmRhcnktYmFja2dyb3VuZC1jb2xvciB7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1tZWRpdW0tLWJnKTtcblx0fVxuXG5cdCYuaGFzLXRlcnRpYXJ5LWJhY2tncm91bmQtY29sb3Ige1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yX19ncmV5LWxpZ2h0LS1iZyk7XG5cdH1cblxuXHQmLmhhcy1hY2NlbnQtYmFja2dyb3VuZC1jb2xvciB7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tY29sb3JfX2dyZXktdWx0cmEtbGlnaHQtLWJnKTtcblx0fVxuXG5cdCYuaGFzLXdoaXRlLWJhY2tncm91bmQtY29sb3Ige1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yX193aGl0ZS0tYmcpO1xuXHR9XG5cblx0Ji5oYXMtYmxhY2stYmFja2dyb3VuZC1jb2xvciB7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tY29sb3JfX25vdGljZS1ncmV5LWRhcmstLWJnKTtcblx0fVxuXG5cdCYuaGFzLWdyZXktYmFja2dyb3VuZC1jb2xvciB7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tY29sb3JfX25vdGljZS1ncmV5LW1lZGl1bS0tYmcpO1xuXHR9XG5cblx0Ji5oYXMtcmVkLWJhY2tncm91bmQtY29sb3Ige1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yX19lcnJvcik7XG5cdH1cblxuXHQmLmhhcy1saWdodC1yZWQtYmFja2dyb3VuZC1jb2xvciB7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tY29sb3JfX2Vycm9yLS1saWdodCk7XG5cdH1cblxuXHQmLmhhcy1ncmVlbi1iYWNrZ3JvdW5kLWNvbG9yIHtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvcl9fc3VjY2Vzcyk7XG5cdH1cblxuXHQmLmhhcy1saWdodC1ncmVlbi1iYWNrZ3JvdW5kLWNvbG9yIHtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvcl9fc3VjY2Vzcy0tbGlnaHQpO1xuXHR9XG5cblx0Ji5oYXMtYmx1ZS1iYWNrZ3JvdW5kLWNvbG9yIHtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvcl9fbm90aWNlKTtcblx0fVxuXG5cdCYuaGFzLWxpZ2h0LWJsdWUtYmFja2dyb3VuZC1jb2xvciB7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tY29sb3JfX25vdGljZS0tbGlnaHQpO1xuXHR9XG5cblx0Ji5oYXMteWVsbG93LWJhY2tncm91bmQtY29sb3Ige1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yX193YXJuaW5nKTtcblx0fVxuXG5cdCYuaGFzLWxpZ2h0LXllbGxvdy1iYWNrZ3JvdW5kLWNvbG9yIHtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvcl9fd2FybmluZy0tbGlnaHQpO1xuXHR9XG59XG5cbi5oYXMtdGV4dC1jb2xvciB7XG5cdCYuaGFzLXByaW1hcnktY29sb3Ige1xuXHRcdGNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LWRhcmstLWJnKTtcblx0fVxuXG5cdCYuaGFzLXNlY29uZGFyeS1jb2xvciB7XG5cdFx0Y29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktbWVkaXVtLS1iZyk7XG5cdH1cblxuXHQmLmhhcy10ZXJ0aWFyeS1jb2xvciB7XG5cdFx0Y29sb3I6IHZhcigtLWNvbG9yX19ncmV5LWxpZ2h0LS1iZyk7XG5cdH1cblxuXHQmLmhhcy1hY2NlbnQtY29sb3Ige1xuXHRcdGNvbG9yOiB2YXIoLS1jb2xvcl9fZ3JleS11bHRyYS1saWdodC0tYmcpO1xuXHR9XG5cblx0Ji5oYXMtd2hpdGUtY29sb3Ige1xuXHRcdGNvbG9yOiB2YXIoLS1jb2xvcl9fd2hpdGUtLXRleHQpO1xuXHR9XG5cblx0Ji5oYXMtYmxhY2stY29sb3Ige1xuXHRcdGNvbG9yOiB2YXIoLS1jb2xvcl9fbm90aWNlLWdyZXktZGFyay0tdGV4dCk7XG5cdH1cblxuXHQmLmhhcy1ncmV5LWNvbG9yIHtcblx0XHRjb2xvcjogdmFyKC0tY29sb3JfX25vdGljZS1ncmV5LW1lZGl1bS0tdGV4dCk7XG5cdH1cblxuXHQmLmhhcy1yZWQtY29sb3Ige1xuXHRcdGNvbG9yOiB2YXIoLS1jb2xvcl9fZXJyb3IpO1xuXHR9XG5cblx0Ji5oYXMtbGlnaHQtcmVkLWNvbG9yIHtcblx0XHRjb2xvcjogdmFyKC0tY29sb3JfX2Vycm9yLS1saWdodCk7XG5cdH1cblxuXHQmLmhhcy1ncmVlbi1jb2xvciB7XG5cdFx0Y29sb3I6IHZhcigtLWNvbG9yX19zdWNjZXNzKTtcblx0fVxuXG5cdCYuaGFzLWxpZ2h0LWdyZWVuLWNvbG9yIHtcblx0XHRjb2xvcjogdmFyKC0tY29sb3JfX3N1Y2Nlc3MtLWxpZ2h0KTtcblx0fVxuXG5cdCYuaGFzLWJsdWUtY29sb3Ige1xuXHRcdGNvbG9yOiB2YXIoLS1jb2xvcl9fbm90aWNlKTtcblx0fVxuXG5cdCYuaGFzLWxpZ2h0LWJsdWUtY29sb3Ige1xuXHRcdGNvbG9yOiB2YXIoLS1jb2xvcl9fbm90aWNlLS1saWdodCk7XG5cdH1cblxuXHQmLmhhcy15ZWxsb3ctY29sb3Ige1xuXHRcdGNvbG9yOiB2YXIoLS1jb2xvcl9fd2FybmluZyk7XG5cdH1cblxuXHQmLmhhcy1saWdodC15ZWxsb3ctY29sb3Ige1xuXHRcdGNvbG9yOiB2YXIoLS1jb2xvcl9fd2FybmluZy0tbGlnaHQpO1xuXHR9XG59XG4iLCI6Zmlyc3QtY2hpbGQ6bm90KC50ZXh0LW1vZHVsZV9fY29udGVudC0tbGVmdCA6Zmlyc3QtY2hpbGQpOm5vdChcbiAgICAudGV4dC1tb2R1bGVfX2NvbnRlbnQtLWJhc2UgOmZpcnN0LWNoaWxkXG4gICk6bm90KFxuICAgIC5pbWFnZS1saW5rLW1vZHVsZV9fY29udGVudF9fYWNjb3JkaW9uX19pdGVtX19jb250ZW50LS10ZXh0IDpmaXJzdC1jaGlsZFxuICApOm5vdChcbiAgICAuYW5sYWdlbi1tb2R1bGVfX2NvbnRlbnRfX2FjY29yZGlvbl9faXRlbV9fY29udGVudC0tdGV4dCA6Zmlyc3QtY2hpbGRcbiAgKTpub3QoLmRlc2NyaXB0aW9uLS1pbm5lciA6Zmlyc3QtY2hpbGQpOm5vdCguaW5kdXN0cmllcy1hY2NvcmRpb24tbW9kdWxlKTpub3QoLmlzLWxvYWQtbW9yZSkge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5bY2xhc3MqPVwiLW1vZHVsZVwiXTpub3QoLmN0YS10ZXh0LWltYWdlLW1vZHVsZSkuaGFzLWJnLWJsdWUge1xuICAtLWhhcy1iZy1ibHVlX190ZXh0LS1jb2xvcjogdmFyKC0tY29sb3JfX3doaXRlLS10ZXh0KTtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktZGFyay0tYmcpO1xuICAgIHotaW5kZXg6IC0yO1xuICAgIG1peC1ibGVuZC1tb2RlOiBjb2xvcjtcbiAgfVxuXG4gICY6bm90KC5zaXRlcy1pbWFnZS10ZXh0Ym94LWdyaWQtbW9kdWxlKTpub3QoLmluZHVzdHJpZXMtYWNjb3JkaW9uLW1vZHVsZSk6bm90KFxuICAgICAgLnRhZ2VtYmVkLXdpZGdldFxuICAgICk6bm90KC50ZXh0LXRhYmxlLWltYWdlLW1vZHVsZSkge1xuICAgIHAsXG4gICAgaDEsXG4gICAgaDIsXG4gICAgaDMsXG4gICAgaDQsXG4gICAgaDUsXG4gICAgaDYsXG4gICAgYixcbiAgICBzdHJvbmcsXG4gICAgYSxcbiAgICA+IGRpdiB7XG4gICAgICBjb2xvcjogdmFyKC0taGFzLWJnLWJsdWVfX3RleHQtLWNvbG9yKTtcbiAgICB9XG4gIH1cblxuICAudGV4dC1tb2R1bGUge1xuICAgIHAsXG4gICAgaDEsXG4gICAgaDIsXG4gICAgaDMsXG4gICAgaDQsXG4gICAgaDUsXG4gICAgaDYsXG4gICAgYixcbiAgICBzdHJvbmcsXG4gICAgYSB7XG4gICAgICBjb2xvcjogdmFyKC0taGFzLWJnLWJsdWVfX3RleHQtLWNvbG9yKTtcbiAgICB9XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG4vKipcbiAqIFNpdGUgc3R5bGVzaGVldFxuICovXG4vKipcbiAqIEN1c3RvbSBQcm9wZXJ0aWVzXG4gKlxuICogRGVmaW5pbmcgY3VzdG9tIHByb3BlcnRpZXNcbiAqIHVzYWdlOiBgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO2BcbiAqL1xuLypcbioqICBGb250IHdlaWdodHNcbioqICAtLS0tLS0tLS0tLS0tLS0tLS1cbioqICBXaWxsIGJlIHVzZWRcbioqICBDb3B5IHRoZSB1c2VkIG9uZXMgaW50byB0aGUgJGZvbnRXZWlnaHRzIHZhcmlhYmxlXG4qKiAgLS0tLS0tLS0tLS0tLS0tLS0tXG4qKiAgT3B0aW9uczpcblxuICAgIHRoaW46IDEwMCxcbiAgICBleHRyYS1saWdodDogMjAwLFxuICAgIHVsdHJhLWxpZ2h0OiAyMDAsXG4gICAgbGlnaHQ6IDMwMCxcbiAgICBub3JtYWw6IDQwMCxcbiAgICBib29rOiA0MDAsXG4gICAgcmVndWxhcjogNDAwLFxuICAgIG1lZGl1bTogNTAwLFxuICAgIHNlbWktYm9sZDogNjAwLFxuICAgIGRlbWktYm9sZDogNjAwLFxuICAgIGJvbGQ6IDcwMCxcbiAgICBleHRyYS1ib2xkOiA4MDAsXG4gICAgaGVhdnk6IDgwMCxcbiAgICB1bHRyYS1ib2xkOiA5MDBcblxuKipcbiovXG4vKlxuKiogIFNwYWNlc1xuKiogIC0tLS0tLS0tLS0tLS0tLS0tLVxuKiogIFdpbGwgYmUgdXNlZCBmb3IgcGFkZGluZ3MgYW5kIG1hcmdpbnNcbioqICBKdXN0IGFkZCwgYWRhcHQgb3IgcmVtb3ZlIGVudHJpZXMgaW4gdGhlIHNjc3MgbWFwXG4qKiAgdGhlIHNjc3Mgd2lsbCBkbyB0aGUgcmVzdFxuKiogIC0tLS0tLS0tLS0tLS0tLS0tLVxuKiogIFVzYWdlOlxuKiogIC0gSFRNTDogY2xhc3M9XCJtYXJnaW5fX2JvdHRvbS0tbGFyZ2VcIlxuKiogIC0gU0NTUzogQGV4dGVuZCAlbWFyZ2luX19ib3R0b20tLWxhcmdlO1xuKi9cbjpyb290IHtcbiAgLS1jb250YWluZXItcGFkZGluZzogY2xhbXAoMS4yNXJlbSwgLTQuNTE5MjNyZW0gKyAxNi4wMjU2NHZ3LCA3LjVyZW0pO1xuICAtLWdyaWRfX2NvbHVtbnM6IDEyO1xuICAtLWdyaWRfX2dhcDogY2xhbXAoMC4zMTI1cmVtLCAtMC44NDEzNXJlbSArIDMuMjA1MTN2dywgMS41NjI1cmVtKTtcbiAgLS1ncmlkX19vdmVybGF5LS1jb2xvcjogIzNlMDA3NztcbiAgLS1ncmlkX19jb2x1bW4tLXdpZHRoOiBjbGFtcCgzLjI1cmVtLCAwLjEzODg5cmVtICsgNi40ODE0OHZ3LCA1cmVtKTtcbiAgLS1ncmlkX19jb2x1bW4tLXdpZHRoX19nYXAtLXdpZHRoOiBjYWxjKHZhcigtLWdyaWRfX2NvbHVtbi0td2lkdGgpICsgdmFyKC0tZ3JpZF9fZ2FwKSk7XG4gIC0tZm9udF9fY29weTogJ0JhcmxvdycsICdBcmlhbCcsIHNhbnMtc2VyaWY7XG4gIC0tZm9udF9fY29weS0td2VpZ2h0OiBub3JtYWw7XG4gIC0tZm9udF9fY29weS0tc2l6ZTogMS4xMjVyZW07XG4gIC0tZm9udF9fY29weS0tbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgLS1mb250X19jb3B5LS1tYXJnaW4tdG9wOiAwLjYyNXJlbTtcbiAgLS1mb250X19jb3B5LS1tYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgLS1mb250X19oZWFkaW5nOiAnSm9zdCBWYXJpYWJsZScsIHNhbnMtc2VyaWY7XG4gIC0tZm9udF9faGVhZGluZy0td2VpZ2h0OiAzMDA7XG4gIC0tZm9udF9faGVhZGluZy0td2VpZ2h0LS1ib2xkOiA3MDA7XG4gIC0tZm9udF9fYnV0dG9uLS13ZWlnaHQtLWV4dHJhYm9sZDogODAwO1xuICAtLWgxX19zaXplOiBjbGFtcCgyLjE4NzVyZW0sIDEuNjEwNThyZW0gKyAxLjYwMjU2dncsIDIuODEyNXJlbSk7XG4gIC0taDFfX2xpbmUtaGVpZ2h0OiBjbGFtcCgyLjMxMjVyZW0sIDEuNTYyNXJlbSArIDIuMDgzMzN2dywgMy4xMjVyZW0pO1xuICAtLWgyX19zaXplOiBjbGFtcCgxLjg3NXJlbSwgMS41ODY1NHJlbSArIDAuODAxMjh2dywgMi4xODc1cmVtKTtcbiAgLS1oMl9fbGluZS1oZWlnaHQ6IGNsYW1wKDJyZW0sIDEuNTM4NDZyZW0gKyAxLjI4MjA1dncsIDIuNXJlbSk7XG4gIC0taDNfX3NpemU6IGNsYW1wKDEuMjVyZW0sIDAuOTYxNTRyZW0gKyAwLjgwMTI4dncsIDEuNTYyNXJlbSk7XG4gIC0taDNfX2xpbmUtaGVpZ2h0OiBjbGFtcCgxLjM3NXJlbSwgMS4wODY1NHJlbSArIDAuODAxMjh2dywgMS42ODc1cmVtKTtcbiAgLS1oNF9fc2l6ZTogMS4xMjVyZW07XG4gIC0taDRfX2xpbmUtaGVpZ2h0OiAxLjVyZW07XG4gIC0taDVfX3NpemU6IHZhcigtLWNvcHkpO1xuICAtLWg1X19saW5lLWhlaWdodDogdmFyKC0tY29weS0tbGluZS1oZWlnaHQpO1xuICAtLWNvbG9yX19ibHVlLWdyZXktZGFyay0tYmc6ICMzNjUzNjg7XG4gIC0tY29sb3JfX2JsdWUtZ3JleS1kYXJrLS10ZXh0OiAjMzY1MzY4O1xuICAtLWNvbG9yX19ibHVlLWdyZXktZGFyay0tdGV4dC0tcmdiOiA1NCwgODMsIDEwNDtcbiAgLS1jb2xvcl9fYmx1ZS1ncmV5LWRhcmstLWJnLS1yZ2I6IDU0LCA4MywgMTA0O1xuICAtLWNvbG9yX19ibHVlLWdyZXktbWVkaXVtLS1iZzogIzg1OTZhMjtcbiAgLS1jb2xvcl9fYmx1ZS1ncmV5LW1lZGl1bS0tdGV4dDogIzg1OTZhMjtcbiAgLS1jb2xvcl9fYmx1ZS1ncmV5LW1lZGl1bS0tYmctLXJnYjogMTMzLCAxNTAsIDE2MjtcbiAgLS1jb2xvcl9fYmx1ZS1ncmV5LW1lZGl1bS0tZm9ybS10ZXh0OiAjNzA4Nzk2O1xuICAtLWNvbG9yX19ncmV5LW1lZGl1bS0tdGFibGUtbGlua3M6ICM3MDg3OTY7XG4gIC0tY29sb3JfX2dyZXktbGlnaHQtLWJnOiAjY2NkNGQ5O1xuICAtLWNvbG9yX19ncmV5LWxpZ2h0LS1iZy0tcmdiOiAyMDQsIDIxMiwgMjE3O1xuICAtLWNvbG9yX19ncmV5LWxpZ2h0LS10ZXh0OiAjY2NkNGQ5O1xuICAtLWNvbG9yX19ncmV5LXVsdHJhLWxpZ2h0LS1iZzogI2Y0ZjZmNztcbiAgLS1jb2xvcl9fZ3JleS11bHRyYS1saWdodC0tcmdiOiAyNDQsIDI0NiwgMjQ3O1xuICAtLWNvbG9yX19ncmV5LXVsdHJhLWxpZ2h0LS10ZXh0OiAjZjRmNmY3O1xuICAtLWNvbG9yX193aGl0ZS0tYmc6ICNmZmZmZmY7XG4gIC0tY29sb3JfX3doaXRlLS10ZXh0OiB3aGl0ZTtcbiAgLS1jb2xvcl9fd2hpdGUtLXJnYjogMjU1LCAyNTUsIDI1NTtcbiAgLS1jb2xvcl9fc2l0ZS1iYWNrZ3JvdW5kOiB2YXIoLS1jb2xvcl9fd2hpdGUtLWJnKTtcbiAgLS1jb2xvcl9fbGlua3M6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktZGFyay0tdGV4dCk7XG4gIC0tY29sb3JfX2xpbmtzLS1ob3ZlcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1kYXJrLS10ZXh0KTtcbiAgLS1jb2xvcl9fZXJyb3I6ICNmZjAwMDA7XG4gIC0tY29sb3JfX2Vycm9yLS1saWdodDogI2YwODA4MDtcbiAgLS1jb2xvcl9fZXJyb3ItLWRhcms6ICNmZjAwMDA7XG4gIC0tY29sb3JfX2Vycm9yLS1hY2NlbnQ6ICNmZjAwMDA7XG4gIC0tY29sb3JfX3dhcm5pbmc6ICNmZmZmMDA7XG4gIC0tY29sb3JfX3dhcm5pbmctLWxpZ2h0OiAjZmZmZmUwO1xuICAtLWNvbG9yX193YXJuaW5nLS1kYXJrOiAjZmZmZjAwO1xuICAtLWNvbG9yX193YXJuaW5nLS1hY2NlbnQ6ICNmZmZmMDA7XG4gIC0tY29sb3JfX3N1Y2Nlc3M6ICMzMmNkMzI7XG4gIC0tY29sb3JfX3N1Y2Nlc3MtLWxpZ2h0OiAjOTBlZTkwO1xuICAtLWNvbG9yX19zdWNjZXNzLS1kYXJrOiAjMDA4MDAwO1xuICAtLWNvbG9yX19zdWNjZXNzLS1hY2NlbnQ6ICMwMDgwMDA7XG4gIC0tY29sb3JfX25vdGljZTogIzAwMDBmZjtcbiAgLS1jb2xvcl9fbm90aWNlLS1saWdodDogI2FkZDhlNjtcbiAgLS1jb2xvcl9fbm90aWNlLS1kYXJrOiAjMDAwMGZmO1xuICAtLWNvbG9yX19ub3RpY2UtLWFjY2VudDogIzAwMDBmZjtcbiAgLS1tcV9fbW9iaWxlOiAzNmVtO1xuICAtLW1xX190YWJsZXQ6IDQ4ZW07XG4gIC0tbXFfX2Rlc2t0b3A6IDYyZW07XG4gIC0tbXFfX3dpZGU6IDc1ZW07XG4gIC0tYW5pbWF0aW9uX19kdXJhdGlvbjogNDAwbXM7XG4gIC0tYW5pbWF0aW9uX190aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAtLWFkbWluYmFyX19oZWlnaHQtLW5hcnJvdzogMzJweDtcbiAgLS1hZG1pbmJhcl9faGVpZ2h0OiA0NnB4O1xuICAtLWdsb2JhbF9fcmFkaXVzOiAwLjMxMjVyZW07XG4gIC0tcHJvZmlsZS1pbWFnZV9fYm9yZGVyLXJhZGl1czogdmFyKC0tZ2xvYmFsX19yYWRpdXMpO1xuICAtLW1heF9fd2lkdGg6IDU2LjI1cmVtO1xuICAtLW1heF9fd2lkdGgtLXNtYWxsOiA0My43NXJlbTsgfVxuICBAbWVkaWEgKC0tdGFibGV0KSB7XG4gICAgOnJvb3Qge1xuICAgICAgLS1ncmlkX19vdmVybGF5LS1jb2xvcjogIzAwNTk5NDsgfSB9XG4gIEBtZWRpYSAoLS1kZXNrdG9wKSB7XG4gICAgOnJvb3Qge1xuICAgICAgLS1ncmlkX19vdmVybGF5LS1jb2xvcjogIzhhMDAwMDsgfSB9XG4gIEBtZWRpYSAoLS13aWRlKSB7XG4gICAgOnJvb3Qge1xuICAgICAgLS1ncmlkX19vdmVybGF5LS1jb2xvcjogIzRmOTc3NjsgfSB9XG5cbi8qXG4qKiAgRm9udCB3ZWlnaHRzXG4qKiAgLS0tLS0tLS0tLS0tLS0tLS0tXG4qKiAgV2lsbCBiZSB1c2VkXG4qKiAgQ29weSB0aGUgdXNlZCBvbmVzIGludG8gdGhlICRmb250V2VpZ2h0cyB2YXJpYWJsZVxuKiogIC0tLS0tLS0tLS0tLS0tLS0tLVxuKiogIE9wdGlvbnM6XG5cbiAgICB0aGluOiAxMDAsXG4gICAgZXh0cmEtbGlnaHQ6IDIwMCxcbiAgICB1bHRyYS1saWdodDogMjAwLFxuICAgIGxpZ2h0OiAzMDAsXG4gICAgbm9ybWFsOiA0MDAsXG4gICAgYm9vazogNDAwLFxuICAgIHJlZ3VsYXI6IDQwMCxcbiAgICBtZWRpdW06IDUwMCxcbiAgICBzZW1pLWJvbGQ6IDYwMCxcbiAgICBkZW1pLWJvbGQ6IDYwMCxcbiAgICBib2xkOiA3MDAsXG4gICAgZXh0cmEtYm9sZDogODAwLFxuICAgIGhlYXZ5OiA4MDAsXG4gICAgdWx0cmEtYm9sZDogOTAwXG5cbioqXG4qL1xuLypcbioqICBTcGFjZXNcbioqICAtLS0tLS0tLS0tLS0tLS0tLS1cbioqICBXaWxsIGJlIHVzZWQgZm9yIHBhZGRpbmdzIGFuZCBtYXJnaW5zXG4qKiAgSnVzdCBhZGQsIGFkYXB0IG9yIHJlbW92ZSBlbnRyaWVzIGluIHRoZSBzY3NzIG1hcFxuKiogIHRoZSBzY3NzIHdpbGwgZG8gdGhlIHJlc3RcbioqICAtLS0tLS0tLS0tLS0tLS0tLS1cbioqICBVc2FnZTpcbioqICAtIEhUTUw6IGNsYXNzPVwibWFyZ2luX19ib3R0b20tLWxhcmdlXCJcbioqICAtIFNDU1M6IEBleHRlbmQgJW1hcmdpbl9fYm90dG9tLS1sYXJnZTtcbiovXG4vKipcbiAqIEN1c3RvbSBtZWRpYSBxdWVyaWVzXG4gKlxuICogRGVmaW5pbmcgY3VzdG9tIG1lZGlhIHF1ZXJpZXNcbiAqIHVzYWdlOiBgQG1lZGlhICgtLW1vYmlsZSk7YFxuICovXG5AY3VzdG9tLW1lZGlhIC0tbW9iaWxlIChtaW4td2lkdGg6IDM2ZW0pO1xuQGN1c3RvbS1tZWRpYSAtLW1vYmlsZS1tYXggKG1heC13aWR0aDogY2FsYyggMzZlbSAtIDAuMDAxMjVlbSApKTtcbkBjdXN0b20tbWVkaWEgLS10YWJsZXQgKG1pbi13aWR0aDogNDhlbSk7XG5AY3VzdG9tLW1lZGlhIC0tdGFibGV0LW1heCAobWF4LXdpZHRoOiBjYWxjKCA0OGVtIC0gMC4wMDEyNWVtICkpO1xuQGN1c3RvbS1tZWRpYSAtLWRlc2t0b3AgKG1pbi13aWR0aDogNjJlbSk7XG5AY3VzdG9tLW1lZGlhIC0tZGVza3RvcC1tYXggKG1heC13aWR0aDogY2FsYyggNjJlbSAtIDAuMDAxMjVlbSApKTtcbkBjdXN0b20tbWVkaWEgLS13aWRlIChtaW4td2lkdGg6IDc1ZW0pO1xuQGN1c3RvbS1tZWRpYSAtLXdpZGUtbWF4IChtYXgtd2lkdGg6IGNhbGMoIDc1ZW0gLSAwLjAwMTI1ZW0gKSk7XG5AY3VzdG9tLW1lZGlhIC0tZnVsbCAobWluLXdpZHRoOiA4Ny41ZW0pO1xuQGN1c3RvbS1tZWRpYSAtLWZ1bGwtbWF4IChtYXgtd2lkdGg6IGNhbGMoIDg3LjVlbSAtIDAuMDAxMjVlbSApKTtcbi8qXG4qKiAgV2ViZm9udCBmb250IGZhY2VzXG4qKiAgLS0tLS0tLS0tLS0tLS0tLS0tXG4qKiAgQ29uZmlnOlxuKysgIEFkZCBlbnRyaWVzIHRvIHRoZSAkZm9udFdlaWdodHMgbWFwIGluOlxuKiogIC9yZXNvdXJjZXMvc2Nzcy8wLXNldHRpbmdzL192YXJpYWJsZXMuc2Nzc1xuKiogIC0tLS0tLS0tLS0tLS0tLS0tLVxuKiogIENvcHkgdGhlIHVzZWQgb25lcyBpbnRvIHRoZSAkZm9udFdlaWdodHMgdmFyaWFibGVcbioqICAtLS0tLS0tLS0tLS0tLS0tLS1cbioqICBZb3UgY291bGQgdXNlIHRoZSBmb250LWZhY2UgbWl4aW4uXG4qKiAgUGxlYXNlIGZvbGxvdyB0aGVzZSBpbnN0cnVjdGlvbnNcbioqICBmb250LWZhY2UoPG5hbWU+LCA8cGF0aC10by1maWxlPjxmaWxlbmFtZS13aXRob3V0aC13ZWlnaHQtbmFtZT4sIDx3ZWlnaHQtdmFsdWU+LCA8c3R5bGU+LCA8ZmlsZXR5cGVzLXNwYWNlLXNlcGVyYXRlZD5cbioqICAtLS0tLS0tLS0tLS0tLS0tLS1cbioqICBQZXJmb3JtYW5jZSBvcHRpbWl6YXRpb246XG4qKiAgUGxlYXNlIGFkZCBhIHByZWxvYWQgc2NyaXB0IGZvciBlYWNoIGZvbnQgdG8gdGhlIGhlYWQucGhwIGluXG4qKiAgL3Jlc291cmNlcy92aWV3cy90ZW1wbGF0ZS1wYXJ0cy9oZWFkLnBocFxuKiogIDxsaW5rIHJlbD1cInByZWxvYWRcIiBocmVmPVwiPD89IGdldF90ZW1wbGF0ZV9kaXJlY3RvcnlfdXJpKCkgLiAnL2Rpc3QvZm9udHMvZXhhbXBsZS1yZWd1bGFyLndvZmYyJyA/PlwiIGFzPVwiZm9udFwiIHR5cGU9XCJmb250L3dvZmYyXCIgY3Jvc3NvcmlnaW4+XG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSm9zdCBWYXJpYWJsZSc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvSm9zdC1WYXJpYWJsZUZvbnRfd2dodC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvSm9zdC1WYXJpYWJsZUZvbnRfd2dodC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiAxMDAgOTAwO1xuICBkaXNwbGF5OiBzd2FwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdKb3N0JztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9Kb3N0LUxpZ2h0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9Kb3N0LUxpZ2h0LndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBkaXNwbGF5OiBzd2FwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSm9zdCc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvSm9zdC1Cb2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9Kb3N0LUJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1mYW1pbHk6IFwiQmFybG93XCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9CYXJsb3ctTGlnaHQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL0Jhcmxvdy1MaWdodC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtZGlzcGxheTogc3dhcDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1mYW1pbHk6IFwiQmFybG93XCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9CYXJsb3ctUmVndWxhci53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvQmFybG93LVJlZ3VsYXIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LWRpc3BsYXk6IHN3YXA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtZmFtaWx5OiBcIkJhcmxvd1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvQmFybG93LUJvbGQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL0Jhcmxvdy1Cb2xkLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC1kaXNwbGF5OiBzd2FwOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LXdlaWdodDogODAwO1xuICBmb250LWZhbWlseTogXCJCYXJsb3dcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL0Jhcmxvdy1FeHRyYUJvbGQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL0Jhcmxvdy1FeHRyYUJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LWRpc3BsYXk6IHN3YXA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtZmFtaWx5OiBcIkJhcmxvd1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvQmFybG93LUJsYWNrLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9CYXJsb3ctQmxhY2sud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LWRpc3BsYXk6IHN3YXA7IH1cblxuLyoqXG4gKiBGbHVpZCB0eXBlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vcm9iZXJ0cmFpY2hsZS9mbHVpZC10eXBlLW1peGluXG4gKi9cbi8qKlxuICogQnV0dG9uIHN0eWxlc1xuICpcbiAqIERlZmluZSBnbG9iYWwgYnV0dG9uIHN0eWxlc1xuICovXG4uZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgLmdmb3JtLWZvb3RlcjpoYXMoaW5wdXRbdHlwZT0nc3VibWl0J10pLCBidXR0b25bdHlwZT0nc3VibWl0J10sXG5pbnB1dFt0eXBlPSdzdWJtaXQnXSwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1kb3dubG9hZCA+IC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtbmVnYXRpdmUgPiAud3AtYmxvY2stYnV0dG9uX19saW5rLmlzLXN0eWxlLW91dGxpbmUtLW5lZ2F0aXZlLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW5lZ2F0aXZlID4gLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pICNmaWVsZF9zdWJtaXQsIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSAjZmllbGRfc3VibWl0IGlucHV0LCAud3AtYmxvY2stYnV0dG9uID4gLndwLWJsb2NrLWJ1dHRvbl9fbGluayxcbi5pcy1zdHlsZS1vdXRsaW5lID4gLndwLWJsb2NrLWJ1dHRvbl9fbGluayxcbi5pcy1zdHlsZS1vdXRsaW5lLS0xID4gLndwLWJsb2NrLWJ1dHRvbl9fbGluayxcbi5pcy1zdHlsZS1maWx0ZXIgPiAud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogYXV0bztcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250X19idXR0b24tLXdlaWdodC0tZXh0cmFib2xkKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDY2ODhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE4NzVyZW07XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogbm9uZTtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBjb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1kYXJrLS10ZXh0KTtcbiAgcGFkZGluZzogMC41cmVtIDAgMC41cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAzLjA2MjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAwczsgfVxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgLmdmb3JtLWZvb3RlcjpoYXMoaW5wdXRbdHlwZT0nc3VibWl0J10pOjphZnRlciwgYnV0dG9uW3R5cGU9J3N1Ym1pdCddOjphZnRlcixcbiAgaW5wdXRbdHlwZT0nc3VibWl0J106OmFmdGVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLWRvd25sb2FkID4gLndwLWJsb2NrLWJ1dHRvbl9fbGluazo6YWZ0ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtbmVnYXRpdmUgPiAud3AtYmxvY2stYnV0dG9uX19saW5rLmlzLXN0eWxlLW91dGxpbmUtLW5lZ2F0aXZlOjphZnRlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1uZWdhdGl2ZSA+IC53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyLCAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgI2ZpZWxkX3N1Ym1pdDo6YWZ0ZXIsIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSAjZmllbGRfc3VibWl0IGlucHV0OjphZnRlciwgLndwLWJsb2NrLWJ1dHRvbiA+IC53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyLFxuICAuaXMtc3R5bGUtb3V0bGluZSA+IC53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyLFxuICAuaXMtc3R5bGUtb3V0bGluZS0tMSA+IC53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyLFxuICAuaXMtc3R5bGUtZmlsdGVyID4gLndwLWJsb2NrLWJ1dHRvbl9fbGluazo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktZGFyay0tdGV4dCk7XG4gICAgbWFzay1pbWFnZTogdXJsKC4uL2ltZy9idXR0b24tZmlsdGVyLWljb24uc3ZnKTtcbiAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgd2lkdGg6IDJyZW07XG4gICAgaGVpZ2h0OiAycmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAwczsgfVxuICAuaXMtc3R5bGUtb3V0bGluZSAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgLmdmb3JtLWZvb3RlcjpoYXMoaW5wdXRbdHlwZT0nc3VibWl0J10pLCAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgLmlzLXN0eWxlLW91dGxpbmUgLmdmb3JtLWZvb3RlcjpoYXMoaW5wdXRbdHlwZT0nc3VibWl0J10pLCAuaXMtc3R5bGUtb3V0bGluZSBidXR0b25bdHlwZT0nc3VibWl0J10sXG4gIC5pcy1zdHlsZS1vdXRsaW5lIGlucHV0W3R5cGU9J3N1Ym1pdCddLCAuaXMtc3R5bGUtb3V0bGluZSAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgI2ZpZWxkX3N1Ym1pdCwgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIC5pcy1zdHlsZS1vdXRsaW5lICNmaWVsZF9zdWJtaXQsIC5pcy1zdHlsZS1vdXRsaW5lIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSAjZmllbGRfc3VibWl0IGlucHV0LCAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgI2ZpZWxkX3N1Ym1pdCAuaXMtc3R5bGUtb3V0bGluZSBpbnB1dCwgLmlzLXN0eWxlLW91dGxpbmUgLndwLWJsb2NrLWJ1dHRvbiA+IC53cC1ibG9jay1idXR0b25fX2xpbmssXG4gIC5pcy1zdHlsZS1vdXRsaW5lID4gLndwLWJsb2NrLWJ1dHRvbl9fbGluayxcbiAgLmlzLXN0eWxlLW91dGxpbmUgLmlzLXN0eWxlLW91dGxpbmUtLTEgPiAud3AtYmxvY2stYnV0dG9uX19saW5rLFxuICAuaXMtc3R5bGUtb3V0bGluZSAuaXMtc3R5bGUtZmlsdGVyID4gLndwLWJsb2NrLWJ1dHRvbl9fbGluayxcbiAgLmlzLXN0eWxlLW91dGxpbmUtLTEgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIC5nZm9ybS1mb290ZXI6aGFzKGlucHV0W3R5cGU9J3N1Ym1pdCddKSxcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIC5pcy1zdHlsZS1vdXRsaW5lLS0xIC5nZm9ybS1mb290ZXI6aGFzKGlucHV0W3R5cGU9J3N1Ym1pdCddKSxcbiAgLmlzLXN0eWxlLW91dGxpbmUtLTEgYnV0dG9uW3R5cGU9J3N1Ym1pdCddLFxuICAuaXMtc3R5bGUtb3V0bGluZS0tMSBpbnB1dFt0eXBlPSdzdWJtaXQnXSxcbiAgLmlzLXN0eWxlLW91dGxpbmUtLTEgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pICNmaWVsZF9zdWJtaXQsXG4gIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSAuaXMtc3R5bGUtb3V0bGluZS0tMSAjZmllbGRfc3VibWl0LFxuICAuaXMtc3R5bGUtb3V0bGluZS0tMSAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgI2ZpZWxkX3N1Ym1pdCBpbnB1dCxcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pICNmaWVsZF9zdWJtaXQgLmlzLXN0eWxlLW91dGxpbmUtLTEgaW5wdXQsXG4gIC5pcy1zdHlsZS1vdXRsaW5lLS0xIC53cC1ibG9jay1idXR0b24gPiAud3AtYmxvY2stYnV0dG9uX19saW5rLFxuICAuaXMtc3R5bGUtb3V0bGluZS0tMSAuaXMtc3R5bGUtb3V0bGluZSA+IC53cC1ibG9jay1idXR0b25fX2xpbmssXG4gIC5pcy1zdHlsZS1vdXRsaW5lLS0xID4gLndwLWJsb2NrLWJ1dHRvbl9fbGluayxcbiAgLmlzLXN0eWxlLW91dGxpbmUtLTEgLmlzLXN0eWxlLWZpbHRlciA+IC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LWRhcmstLXRleHQpO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDIuMzc1cmVtIDAuNjI1cmVtIDEuMTI1cmVtOyB9XG4gICAgLmlzLXN0eWxlLW91dGxpbmUgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIC5nZm9ybS1mb290ZXI6aGFzKGlucHV0W3R5cGU9J3N1Ym1pdCddKTo6YWZ0ZXIsIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSAuaXMtc3R5bGUtb3V0bGluZSAuZ2Zvcm0tZm9vdGVyOmhhcyhpbnB1dFt0eXBlPSdzdWJtaXQnXSk6OmFmdGVyLCAuaXMtc3R5bGUtb3V0bGluZSBidXR0b25bdHlwZT0nc3VibWl0J106OmFmdGVyLFxuICAgIC5pcy1zdHlsZS1vdXRsaW5lIGlucHV0W3R5cGU9J3N1Ym1pdCddOjphZnRlciwgLmlzLXN0eWxlLW91dGxpbmUgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pICNmaWVsZF9zdWJtaXQ6OmFmdGVyLCAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgLmlzLXN0eWxlLW91dGxpbmUgI2ZpZWxkX3N1Ym1pdDo6YWZ0ZXIsIC5pcy1zdHlsZS1vdXRsaW5lIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSAjZmllbGRfc3VibWl0IGlucHV0OjphZnRlciwgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pICNmaWVsZF9zdWJtaXQgLmlzLXN0eWxlLW91dGxpbmUgaW5wdXQ6OmFmdGVyLCAuaXMtc3R5bGUtb3V0bGluZSAud3AtYmxvY2stYnV0dG9uID4gLndwLWJsb2NrLWJ1dHRvbl9fbGluazo6YWZ0ZXIsXG4gICAgLmlzLXN0eWxlLW91dGxpbmUgPiAud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlcixcbiAgICAuaXMtc3R5bGUtb3V0bGluZSAuaXMtc3R5bGUtb3V0bGluZS0tMSA+IC53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyLFxuICAgIC5pcy1zdHlsZS1vdXRsaW5lIC5pcy1zdHlsZS1maWx0ZXIgPiAud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlcixcbiAgICAuaXMtc3R5bGUtb3V0bGluZS0tMSAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgLmdmb3JtLWZvb3RlcjpoYXMoaW5wdXRbdHlwZT0nc3VibWl0J10pOjphZnRlcixcbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgLmlzLXN0eWxlLW91dGxpbmUtLTEgLmdmb3JtLWZvb3RlcjpoYXMoaW5wdXRbdHlwZT0nc3VibWl0J10pOjphZnRlcixcbiAgICAuaXMtc3R5bGUtb3V0bGluZS0tMSBidXR0b25bdHlwZT0nc3VibWl0J106OmFmdGVyLFxuICAgIC5pcy1zdHlsZS1vdXRsaW5lLS0xIGlucHV0W3R5cGU9J3N1Ym1pdCddOjphZnRlcixcbiAgICAuaXMtc3R5bGUtb3V0bGluZS0tMSAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgI2ZpZWxkX3N1Ym1pdDo6YWZ0ZXIsXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIC5pcy1zdHlsZS1vdXRsaW5lLS0xICNmaWVsZF9zdWJtaXQ6OmFmdGVyLFxuICAgIC5pcy1zdHlsZS1vdXRsaW5lLS0xIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSAjZmllbGRfc3VibWl0IGlucHV0OjphZnRlcixcbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgI2ZpZWxkX3N1Ym1pdCAuaXMtc3R5bGUtb3V0bGluZS0tMSBpbnB1dDo6YWZ0ZXIsXG4gICAgLmlzLXN0eWxlLW91dGxpbmUtLTEgLndwLWJsb2NrLWJ1dHRvbiA+IC53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyLFxuICAgIC5pcy1zdHlsZS1vdXRsaW5lLS0xIC5pcy1zdHlsZS1vdXRsaW5lID4gLndwLWJsb2NrLWJ1dHRvbl9fbGluazo6YWZ0ZXIsXG4gICAgLmlzLXN0eWxlLW91dGxpbmUtLTEgPiAud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlcixcbiAgICAuaXMtc3R5bGUtb3V0bGluZS0tMSAuaXMtc3R5bGUtZmlsdGVyID4gLndwLWJsb2NrLWJ1dHRvbl9fbGluazo6YWZ0ZXIge1xuICAgICAgbWFzay1pbWFnZTogdXJsKC4uL2ltZy9idXR0b24tYXJyb3ctcmlnaHQuc3ZnKTtcbiAgICAgIHdpZHRoOiAwLjVyZW07XG4gICAgICBoZWlnaHQ6IDAuNTYyNXJlbTtcbiAgICAgIHJpZ2h0OiAxLjEyNXJlbTsgfVxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgLmdmb3JtLWZvb3Rlcjpob3ZlcjpoYXMoaW5wdXRbdHlwZT0nc3VibWl0J10pLCBidXR0b246aG92ZXJbdHlwZT0nc3VibWl0J10sXG4gIGlucHV0OmhvdmVyW3R5cGU9J3N1Ym1pdCddLCAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgI2ZpZWxkX3N1Ym1pdDpob3ZlciwgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pICNmaWVsZF9zdWJtaXQgaW5wdXQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gPiAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLFxuICAuaXMtc3R5bGUtb3V0bGluZSA+IC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsXG4gIC5pcy1zdHlsZS1vdXRsaW5lLS0xID4gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlcixcbiAgLmlzLXN0eWxlLWZpbHRlciA+IC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LW1lZGl1bS0tdGV4dCk7IH1cbiAgICAuaXMtc3R5bGUtb3V0bGluZSAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgLmdmb3JtLWZvb3Rlcjpob3ZlcjpoYXMoaW5wdXRbdHlwZT0nc3VibWl0J10pLCAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgLmlzLXN0eWxlLW91dGxpbmUgLmdmb3JtLWZvb3Rlcjpob3ZlcjpoYXMoaW5wdXRbdHlwZT0nc3VibWl0J10pLCAuaXMtc3R5bGUtb3V0bGluZSBidXR0b246aG92ZXJbdHlwZT0nc3VibWl0J10sXG4gICAgLmlzLXN0eWxlLW91dGxpbmUgaW5wdXQ6aG92ZXJbdHlwZT0nc3VibWl0J10sIC5pcy1zdHlsZS1vdXRsaW5lIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSAjZmllbGRfc3VibWl0OmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgLmlzLXN0eWxlLW91dGxpbmUgI2ZpZWxkX3N1Ym1pdDpob3ZlciwgLmlzLXN0eWxlLW91dGxpbmUgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pICNmaWVsZF9zdWJtaXQgaW5wdXQ6aG92ZXIsIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSAjZmllbGRfc3VibWl0IC5pcy1zdHlsZS1vdXRsaW5lIGlucHV0OmhvdmVyLCAuaXMtc3R5bGUtb3V0bGluZSAud3AtYmxvY2stYnV0dG9uID4gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlcixcbiAgICAuaXMtc3R5bGUtb3V0bGluZSA+IC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsXG4gICAgLmlzLXN0eWxlLW91dGxpbmUgLmlzLXN0eWxlLW91dGxpbmUtLTEgPiAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLFxuICAgIC5pcy1zdHlsZS1vdXRsaW5lIC5pcy1zdHlsZS1maWx0ZXIgPiAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLFxuICAgIC5pcy1zdHlsZS1vdXRsaW5lLS0xIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSAuZ2Zvcm0tZm9vdGVyOmhvdmVyOmhhcyhpbnB1dFt0eXBlPSdzdWJtaXQnXSksXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIC5pcy1zdHlsZS1vdXRsaW5lLS0xIC5nZm9ybS1mb290ZXI6aG92ZXI6aGFzKGlucHV0W3R5cGU9J3N1Ym1pdCddKSxcbiAgICAuaXMtc3R5bGUtb3V0bGluZS0tMSBidXR0b246aG92ZXJbdHlwZT0nc3VibWl0J10sXG4gICAgLmlzLXN0eWxlLW91dGxpbmUtLTEgaW5wdXQ6aG92ZXJbdHlwZT0nc3VibWl0J10sXG4gICAgLmlzLXN0eWxlLW91dGxpbmUtLTEgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pICNmaWVsZF9zdWJtaXQ6aG92ZXIsXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIC5pcy1zdHlsZS1vdXRsaW5lLS0xICNmaWVsZF9zdWJtaXQ6aG92ZXIsXG4gICAgLmlzLXN0eWxlLW91dGxpbmUtLTEgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pICNmaWVsZF9zdWJtaXQgaW5wdXQ6aG92ZXIsXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pICNmaWVsZF9zdWJtaXQgLmlzLXN0eWxlLW91dGxpbmUtLTEgaW5wdXQ6aG92ZXIsXG4gICAgLmlzLXN0eWxlLW91dGxpbmUtLTEgLndwLWJsb2NrLWJ1dHRvbiA+IC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsXG4gICAgLmlzLXN0eWxlLW91dGxpbmUtLTEgLmlzLXN0eWxlLW91dGxpbmUgPiAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLFxuICAgIC5pcy1zdHlsZS1vdXRsaW5lLS0xID4gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlcixcbiAgICAuaXMtc3R5bGUtb3V0bGluZS0tMSAuaXMtc3R5bGUtZmlsdGVyID4gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LWRhcmstLWJnKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvcl9fd2hpdGUtLXRleHQpOyB9XG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIC5nZm9ybS1mb290ZXI6aGFzKGlucHV0W3R5cGU9J3N1Ym1pdCddKTpob3Zlcjo6YWZ0ZXIsIGJ1dHRvblt0eXBlPSdzdWJtaXQnXTpob3Zlcjo6YWZ0ZXIsXG4gICAgaW5wdXRbdHlwZT0nc3VibWl0J106aG92ZXI6OmFmdGVyLCAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgI2ZpZWxkX3N1Ym1pdDpob3Zlcjo6YWZ0ZXIsIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSAjZmllbGRfc3VibWl0IGlucHV0OmhvdmVyOjphZnRlciwgLndwLWJsb2NrLWJ1dHRvbiA+IC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXI6OmFmdGVyLFxuICAgIC5pcy1zdHlsZS1vdXRsaW5lID4gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3Zlcjo6YWZ0ZXIsXG4gICAgLmlzLXN0eWxlLW91dGxpbmUtLTEgPiAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyOjphZnRlcixcbiAgICAuaXMtc3R5bGUtZmlsdGVyID4gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1tZWRpdW0tLXRleHQpOyB9XG4gICAgICAuaXMtc3R5bGUtb3V0bGluZSAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgLmdmb3JtLWZvb3RlcjpoYXMoaW5wdXRbdHlwZT0nc3VibWl0J10pOmhvdmVyOjphZnRlciwgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIC5pcy1zdHlsZS1vdXRsaW5lIC5nZm9ybS1mb290ZXI6aGFzKGlucHV0W3R5cGU9J3N1Ym1pdCddKTpob3Zlcjo6YWZ0ZXIsIC5pcy1zdHlsZS1vdXRsaW5lIGJ1dHRvblt0eXBlPSdzdWJtaXQnXTpob3Zlcjo6YWZ0ZXIsXG4gICAgICAuaXMtc3R5bGUtb3V0bGluZSBpbnB1dFt0eXBlPSdzdWJtaXQnXTpob3Zlcjo6YWZ0ZXIsIC5pcy1zdHlsZS1vdXRsaW5lIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSAjZmllbGRfc3VibWl0OmhvdmVyOjphZnRlciwgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIC5pcy1zdHlsZS1vdXRsaW5lICNmaWVsZF9zdWJtaXQ6aG92ZXI6OmFmdGVyLCAuaXMtc3R5bGUtb3V0bGluZSAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgI2ZpZWxkX3N1Ym1pdCBpbnB1dDpob3Zlcjo6YWZ0ZXIsIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSAjZmllbGRfc3VibWl0IC5pcy1zdHlsZS1vdXRsaW5lIGlucHV0OmhvdmVyOjphZnRlciwgLmlzLXN0eWxlLW91dGxpbmUgLndwLWJsb2NrLWJ1dHRvbiA+IC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXI6OmFmdGVyLFxuICAgICAgLmlzLXN0eWxlLW91dGxpbmUgPiAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyOjphZnRlcixcbiAgICAgIC5pcy1zdHlsZS1vdXRsaW5lIC5pcy1zdHlsZS1vdXRsaW5lLS0xID4gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3Zlcjo6YWZ0ZXIsXG4gICAgICAuaXMtc3R5bGUtb3V0bGluZSAuaXMtc3R5bGUtZmlsdGVyID4gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3Zlcjo6YWZ0ZXIsXG4gICAgICAuaXMtc3R5bGUtb3V0bGluZS0tMSAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgLmdmb3JtLWZvb3RlcjpoYXMoaW5wdXRbdHlwZT0nc3VibWl0J10pOmhvdmVyOjphZnRlcixcbiAgICAgIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSAuaXMtc3R5bGUtb3V0bGluZS0tMSAuZ2Zvcm0tZm9vdGVyOmhhcyhpbnB1dFt0eXBlPSdzdWJtaXQnXSk6aG92ZXI6OmFmdGVyLFxuICAgICAgLmlzLXN0eWxlLW91dGxpbmUtLTEgYnV0dG9uW3R5cGU9J3N1Ym1pdCddOmhvdmVyOjphZnRlcixcbiAgICAgIC5pcy1zdHlsZS1vdXRsaW5lLS0xIGlucHV0W3R5cGU9J3N1Ym1pdCddOmhvdmVyOjphZnRlcixcbiAgICAgIC5pcy1zdHlsZS1vdXRsaW5lLS0xIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSAjZmllbGRfc3VibWl0OmhvdmVyOjphZnRlcixcbiAgICAgIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSAuaXMtc3R5bGUtb3V0bGluZS0tMSAjZmllbGRfc3VibWl0OmhvdmVyOjphZnRlcixcbiAgICAgIC5pcy1zdHlsZS1vdXRsaW5lLS0xIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSAjZmllbGRfc3VibWl0IGlucHV0OmhvdmVyOjphZnRlcixcbiAgICAgIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSAjZmllbGRfc3VibWl0IC5pcy1zdHlsZS1vdXRsaW5lLS0xIGlucHV0OmhvdmVyOjphZnRlcixcbiAgICAgIC5pcy1zdHlsZS1vdXRsaW5lLS0xIC53cC1ibG9jay1idXR0b24gPiAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyOjphZnRlcixcbiAgICAgIC5pcy1zdHlsZS1vdXRsaW5lLS0xIC5pcy1zdHlsZS1vdXRsaW5lID4gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3Zlcjo6YWZ0ZXIsXG4gICAgICAuaXMtc3R5bGUtb3V0bGluZS0tMSA+IC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXI6OmFmdGVyLFxuICAgICAgLmlzLXN0eWxlLW91dGxpbmUtLTEgLmlzLXN0eWxlLWZpbHRlciA+IC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXI6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3JfX3doaXRlLS1iZyk7IH1cblxuLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1kb3dubG9hZCA+IC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1kb3dubG9hZCA+IC53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoLi4vaW1nL2J1dHRvbi1kb3dubG9hZC1pY29uLnN2Zyk7IH1cblxuLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1uZWdhdGl2ZSA+IC53cC1ibG9jay1idXR0b25fX2xpbmsuaXMtc3R5bGUtb3V0bGluZS0tbmVnYXRpdmUsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtbmVnYXRpdmUgPiAud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yX193aGl0ZS0tdGV4dCk7IH1cbiAgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1uZWdhdGl2ZSA+IC53cC1ibG9jay1idXR0b25fX2xpbmsuaXMtc3R5bGUtb3V0bGluZS0tbmVnYXRpdmU6OmFmdGVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW5lZ2F0aXZlID4gLndwLWJsb2NrLWJ1dHRvbl9fbGluazo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yX193aGl0ZS0tYmcpOyB9XG4gIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtbmVnYXRpdmUgPiAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1tZWRpdW0tLXRleHQpOyB9XG4gICAgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1uZWdhdGl2ZSA+IC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktbWVkaXVtLS10ZXh0KTsgfVxuXG4ud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW5lZ2F0aXZlID4gLndwLWJsb2NrLWJ1dHRvbl9fbGluay5pcy1zdHlsZS1vdXRsaW5lLS1uZWdhdGl2ZSB7XG4gIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkIHZhcigtLWNvbG9yX19ibHVlLWdyZXktbWVkaXVtLS1iZyk7XG4gIHBhZGRpbmc6IDAuNTYyNXJlbSAxcmVtIDAuNzVyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDY2ODhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE4NzVyZW07XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMC44MTI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1uZWdhdGl2ZSA+IC53cC1ibG9jay1idXR0b25fX2xpbmsuaXMtc3R5bGUtb3V0bGluZS0tbmVnYXRpdmU6OmFmdGVyIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoLi4vaW1nL2J1dHRvbi1hcnJvdy1yaWdodC5zdmcpO1xuICAgIHdpZHRoOiAwLjQzNzVyZW07XG4gICAgaGVpZ2h0OiAwLjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKC01MCUgLSAwLjI1cmVtKSk7IH1cbiAgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1uZWdhdGl2ZSA+IC53cC1ibG9jay1idXR0b25fX2xpbmsuaXMtc3R5bGUtb3V0bGluZS0tbmVnYXRpdmU6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LWRhcmstLXRleHQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yX193aGl0ZS0tYmcpOyB9XG4gICAgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1uZWdhdGl2ZSA+IC53cC1ibG9jay1idXR0b25fX2xpbmsuaXMtc3R5bGUtb3V0bGluZS0tbmVnYXRpdmU6aG92ZXI6OmFmdGVyIHtcbiAgICAgIG1hc2staW1hZ2U6IHVybCguLi9pbWcvYnV0dG9uLWFycm93LXJpZ2h0LnN2Zyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LW1lZGl1bS0tdGV4dCk7IH1cblxuLmNvbnRhaW5lciB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogY2FsYygodmFyKC0tY29udGFpbmVyLXBhZGRpbmcpICogMikgKyB2YXIoLS1jb250ZW50LXdpZHRoKSk7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tY29udGFpbmVyLXBhZGRpbmcpO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1jb250YWluZXItcGFkZGluZyk7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5NTBweCkge1xuICAgIC5hbGlnbndpZGUge1xuICAgICAgbGVmdDogY2FsYyg1MCUgLSA1MHZ3KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTI1cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xMjVweDtcbiAgICAgIG1heC13aWR0aDogMTAwdnc7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuICAuYWxpZ25mdWxsIHtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDUwdncpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwdnc7IH1cblxuLyoqXG4gKiBDb3B5IHRleHQgc3R5bGVzXG4gKlxuICogRGVmaW5lIGdsb2JhbCBjb3B5IHRleHQgc3R5bGVzXG4gKi9cbi8qKlxuICogQmFzaWMgZ3JpZCBjb250YWluZXJcbiAqXG4gKiBAc2VlIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vcGF0dGVybnMtZm9yLXByYWN0aWNhbC1jc3MtY3VzdG9tLXByb3BlcnRpZXMtdXNlL1xuICovXG4vKipcbiAqIEhlYWRpbmcgc3R5bGVzXG4gKlxuICogRGVmaW5lIGdsb2JhbCBoZWFkaW5nIHN0eWxlcyBmb3IgcmV1c2FnZSBpbiBjb21wb25lbnRzXG4gKi9cbi5zZWFyY2ggLmNvbnRlbnQge1xuICBtYXJnaW4tdG9wOiBjbGFtcCg0LjA2MjVyZW0sIDAuNjAwOTZyZW0gKyA5LjYxNTM4dncsIDcuODEyNXJlbSk7IH1cblxuLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXIgPiBzZWN0aW9uOmxhc3QtY2hpbGQ6bm90KC5mdWxsLXZpZGVvLW1vZHVsZSk6bm90KFxuLmN0YS10ZXh0LWltYWdlLW1vZHVsZSk6bm90KC5oYXMtYmctYmx1ZSkge1xuICBwYWRkaW5nLWJvdHRvbTogY2xhbXAoNC4wNjI1cmVtLCAwLjYwMDk2cmVtICsgOS42MTUzOHZ3LCA3LjgxMjVyZW0pOyB9XG5cbi8qXG4qKiAgQW5pbWF0aW9uc1xuKi9cbkBrZXlmcmFtZXMgZm9udFdlaWdodExpZ2h0Qm9sZCB7XG4gIGZyb20ge1xuICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiBcIndnaHRcIiAyMDA7IH1cbiAgdG8ge1xuICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiBcIndnaHRcIiA3MDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZvbnRXZWlnaHRCb2xkTGlnaHQge1xuICBmcm9tIHtcbiAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogXCJ3Z2h0XCIgNzAwOyB9XG4gIHRvIHtcbiAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogXCJ3Z2h0XCIgMjAwOyB9IH1cblxuLypcbioqICBDb2xvcnNcbioqICAtLS0tLS0tLS0tLS0tLS0tLS1cbioqICBXaWxsIGJlIHVzZWQgZnJvbSBndXRlbmJlcmcgY29sb3IgZGVmaW5pdGlvbnNcbioqICBDb3B5IHRoZSB1c2VkIG9uZXMgaW50byB0aGUgJGZvbnRXZWlnaHRzIHZhcmlhYmxlXG4qKiAgLS0tLS0tLS0tLS0tLS0tLS0tXG4qKiAgQWRkIG1vcmUgY29sb3JzOlxuKiogIElmIHlvdSB3YW50IHRvIGFkZCBvciBhZGFwdCB0aGUgY29sb3JzXG4qKiAgUGxlYXNlIGNoYW5nZSB0aGUgZm9sbG93aW5nIGZpbGU6XG4qKiAgL2NvbmZpZy93b3JkcHJlc3MvdGhlbWUtc3VwcG9ydC5mdW5jdGlvbnMucGhwXG4qL1xuLmhhcy1iYWNrZ3JvdW5kLmhhcy1wcmltYXJ5LWJhY2tncm91bmQtY29sb3Ige1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LWRhcmstLWJnKTsgfVxuXG4uaGFzLWJhY2tncm91bmQuaGFzLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWNvbG9yIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1tZWRpdW0tLWJnKTsgfVxuXG4uaGFzLWJhY2tncm91bmQuaGFzLXRlcnRpYXJ5LWJhY2tncm91bmQtY29sb3Ige1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvcl9fZ3JleS1saWdodC0tYmcpOyB9XG5cbi5oYXMtYmFja2dyb3VuZC5oYXMtYWNjZW50LWJhY2tncm91bmQtY29sb3Ige1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvcl9fZ3JleS11bHRyYS1saWdodC0tYmcpOyB9XG5cbi5oYXMtYmFja2dyb3VuZC5oYXMtd2hpdGUtYmFja2dyb3VuZC1jb2xvciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yX193aGl0ZS0tYmcpOyB9XG5cbi5oYXMtYmFja2dyb3VuZC5oYXMtYmxhY2stYmFja2dyb3VuZC1jb2xvciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yX19ub3RpY2UtZ3JleS1kYXJrLS1iZyk7IH1cblxuLmhhcy1iYWNrZ3JvdW5kLmhhcy1ncmV5LWJhY2tncm91bmQtY29sb3Ige1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvcl9fbm90aWNlLWdyZXktbWVkaXVtLS1iZyk7IH1cblxuLmhhcy1iYWNrZ3JvdW5kLmhhcy1yZWQtYmFja2dyb3VuZC1jb2xvciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yX19lcnJvcik7IH1cblxuLmhhcy1iYWNrZ3JvdW5kLmhhcy1saWdodC1yZWQtYmFja2dyb3VuZC1jb2xvciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yX19lcnJvci0tbGlnaHQpOyB9XG5cbi5oYXMtYmFja2dyb3VuZC5oYXMtZ3JlZW4tYmFja2dyb3VuZC1jb2xvciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yX19zdWNjZXNzKTsgfVxuXG4uaGFzLWJhY2tncm91bmQuaGFzLWxpZ2h0LWdyZWVuLWJhY2tncm91bmQtY29sb3Ige1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvcl9fc3VjY2Vzcy0tbGlnaHQpOyB9XG5cbi5oYXMtYmFja2dyb3VuZC5oYXMtYmx1ZS1iYWNrZ3JvdW5kLWNvbG9yIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3JfX25vdGljZSk7IH1cblxuLmhhcy1iYWNrZ3JvdW5kLmhhcy1saWdodC1ibHVlLWJhY2tncm91bmQtY29sb3Ige1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvcl9fbm90aWNlLS1saWdodCk7IH1cblxuLmhhcy1iYWNrZ3JvdW5kLmhhcy15ZWxsb3ctYmFja2dyb3VuZC1jb2xvciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yX193YXJuaW5nKTsgfVxuXG4uaGFzLWJhY2tncm91bmQuaGFzLWxpZ2h0LXllbGxvdy1iYWNrZ3JvdW5kLWNvbG9yIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3JfX3dhcm5pbmctLWxpZ2h0KTsgfVxuXG4uaGFzLXRleHQtY29sb3IuaGFzLXByaW1hcnktY29sb3Ige1xuICBjb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1kYXJrLS1iZyk7IH1cblxuLmhhcy10ZXh0LWNvbG9yLmhhcy1zZWNvbmRhcnktY29sb3Ige1xuICBjb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1tZWRpdW0tLWJnKTsgfVxuXG4uaGFzLXRleHQtY29sb3IuaGFzLXRlcnRpYXJ5LWNvbG9yIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yX19ncmV5LWxpZ2h0LS1iZyk7IH1cblxuLmhhcy10ZXh0LWNvbG9yLmhhcy1hY2NlbnQtY29sb3Ige1xuICBjb2xvcjogdmFyKC0tY29sb3JfX2dyZXktdWx0cmEtbGlnaHQtLWJnKTsgfVxuXG4uaGFzLXRleHQtY29sb3IuaGFzLXdoaXRlLWNvbG9yIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yX193aGl0ZS0tdGV4dCk7IH1cblxuLmhhcy10ZXh0LWNvbG9yLmhhcy1ibGFjay1jb2xvciB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvcl9fbm90aWNlLWdyZXktZGFyay0tdGV4dCk7IH1cblxuLmhhcy10ZXh0LWNvbG9yLmhhcy1ncmV5LWNvbG9yIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yX19ub3RpY2UtZ3JleS1tZWRpdW0tLXRleHQpOyB9XG5cbi5oYXMtdGV4dC1jb2xvci5oYXMtcmVkLWNvbG9yIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yX19lcnJvcik7IH1cblxuLmhhcy10ZXh0LWNvbG9yLmhhcy1saWdodC1yZWQtY29sb3Ige1xuICBjb2xvcjogdmFyKC0tY29sb3JfX2Vycm9yLS1saWdodCk7IH1cblxuLmhhcy10ZXh0LWNvbG9yLmhhcy1ncmVlbi1jb2xvciB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvcl9fc3VjY2Vzcyk7IH1cblxuLmhhcy10ZXh0LWNvbG9yLmhhcy1saWdodC1ncmVlbi1jb2xvciB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvcl9fc3VjY2Vzcy0tbGlnaHQpOyB9XG5cbi5oYXMtdGV4dC1jb2xvci5oYXMtYmx1ZS1jb2xvciB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvcl9fbm90aWNlKTsgfVxuXG4uaGFzLXRleHQtY29sb3IuaGFzLWxpZ2h0LWJsdWUtY29sb3Ige1xuICBjb2xvcjogdmFyKC0tY29sb3JfX25vdGljZS0tbGlnaHQpOyB9XG5cbi5oYXMtdGV4dC1jb2xvci5oYXMteWVsbG93LWNvbG9yIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yX193YXJuaW5nKTsgfVxuXG4uaGFzLXRleHQtY29sb3IuaGFzLWxpZ2h0LXllbGxvdy1jb2xvciB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvcl9fd2FybmluZy0tbGlnaHQpOyB9XG5cbjpmaXJzdC1jaGlsZDpub3QoLnRleHQtbW9kdWxlX19jb250ZW50LS1sZWZ0IDpmaXJzdC1jaGlsZCk6bm90KFxuLnRleHQtbW9kdWxlX19jb250ZW50LS1iYXNlIDpmaXJzdC1jaGlsZCk6bm90KFxuLmltYWdlLWxpbmstbW9kdWxlX19jb250ZW50X19hY2NvcmRpb25fX2l0ZW1fX2NvbnRlbnQtLXRleHQgOmZpcnN0LWNoaWxkKTpub3QoXG4uYW5sYWdlbi1tb2R1bGVfX2NvbnRlbnRfX2FjY29yZGlvbl9faXRlbV9fY29udGVudC0tdGV4dCA6Zmlyc3QtY2hpbGQpOm5vdCguZGVzY3JpcHRpb24tLWlubmVyIDpmaXJzdC1jaGlsZCk6bm90KC5pbmR1c3RyaWVzLWFjY29yZGlvbi1tb2R1bGUpOm5vdCguaXMtbG9hZC1tb3JlKSB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbltjbGFzcyo9XCItbW9kdWxlXCJdOm5vdChcbi5jdGEtdGV4dC1pbWFnZS1tb2R1bGUpLmhhcy1iZy1ibHVlIHtcbiAgLS1oYXMtYmctYmx1ZV9fdGV4dC0tY29sb3I6IHZhcigtLWNvbG9yX193aGl0ZS0tdGV4dCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBbY2xhc3MqPVwiLW1vZHVsZVwiXTpub3QoXG4gIC5jdGEtdGV4dC1pbWFnZS1tb2R1bGUpLmhhcy1iZy1ibHVlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LWRhcmstLWJnKTtcbiAgICB6LWluZGV4OiAtMjtcbiAgICBtaXgtYmxlbmQtbW9kZTogY29sb3I7IH1cbiAgW2NsYXNzKj1cIi1tb2R1bGVcIl06bm90KFxuICAuY3RhLXRleHQtaW1hZ2UtbW9kdWxlKS5oYXMtYmctYmx1ZTpub3QoLnNpdGVzLWltYWdlLXRleHRib3gtZ3JpZC1tb2R1bGUpOm5vdCguaW5kdXN0cmllcy1hY2NvcmRpb24tbW9kdWxlKTpub3QoXG4gIC50YWdlbWJlZC13aWRnZXQpOm5vdCgudGV4dC10YWJsZS1pbWFnZS1tb2R1bGUpIHAsXG4gIFtjbGFzcyo9XCItbW9kdWxlXCJdOm5vdChcbiAgLmN0YS10ZXh0LWltYWdlLW1vZHVsZSkuaGFzLWJnLWJsdWU6bm90KC5zaXRlcy1pbWFnZS10ZXh0Ym94LWdyaWQtbW9kdWxlKTpub3QoLmluZHVzdHJpZXMtYWNjb3JkaW9uLW1vZHVsZSk6bm90KFxuICAudGFnZW1iZWQtd2lkZ2V0KTpub3QoLnRleHQtdGFibGUtaW1hZ2UtbW9kdWxlKSBoMSxcbiAgW2NsYXNzKj1cIi1tb2R1bGVcIl06bm90KFxuICAuY3RhLXRleHQtaW1hZ2UtbW9kdWxlKS5oYXMtYmctYmx1ZTpub3QoLnNpdGVzLWltYWdlLXRleHRib3gtZ3JpZC1tb2R1bGUpOm5vdCguaW5kdXN0cmllcy1hY2NvcmRpb24tbW9kdWxlKTpub3QoXG4gIC50YWdlbWJlZC13aWRnZXQpOm5vdCgudGV4dC10YWJsZS1pbWFnZS1tb2R1bGUpIGgyLFxuICBbY2xhc3MqPVwiLW1vZHVsZVwiXTpub3QoXG4gIC5jdGEtdGV4dC1pbWFnZS1tb2R1bGUpLmhhcy1iZy1ibHVlOm5vdCguc2l0ZXMtaW1hZ2UtdGV4dGJveC1ncmlkLW1vZHVsZSk6bm90KC5pbmR1c3RyaWVzLWFjY29yZGlvbi1tb2R1bGUpOm5vdChcbiAgLnRhZ2VtYmVkLXdpZGdldCk6bm90KC50ZXh0LXRhYmxlLWltYWdlLW1vZHVsZSkgaDMsXG4gIFtjbGFzcyo9XCItbW9kdWxlXCJdOm5vdChcbiAgLmN0YS10ZXh0LWltYWdlLW1vZHVsZSkuaGFzLWJnLWJsdWU6bm90KC5zaXRlcy1pbWFnZS10ZXh0Ym94LWdyaWQtbW9kdWxlKTpub3QoLmluZHVzdHJpZXMtYWNjb3JkaW9uLW1vZHVsZSk6bm90KFxuICAudGFnZW1iZWQtd2lkZ2V0KTpub3QoLnRleHQtdGFibGUtaW1hZ2UtbW9kdWxlKSBoNCxcbiAgW2NsYXNzKj1cIi1tb2R1bGVcIl06bm90KFxuICAuY3RhLXRleHQtaW1hZ2UtbW9kdWxlKS5oYXMtYmctYmx1ZTpub3QoLnNpdGVzLWltYWdlLXRleHRib3gtZ3JpZC1tb2R1bGUpOm5vdCguaW5kdXN0cmllcy1hY2NvcmRpb24tbW9kdWxlKTpub3QoXG4gIC50YWdlbWJlZC13aWRnZXQpOm5vdCgudGV4dC10YWJsZS1pbWFnZS1tb2R1bGUpIGg1LFxuICBbY2xhc3MqPVwiLW1vZHVsZVwiXTpub3QoXG4gIC5jdGEtdGV4dC1pbWFnZS1tb2R1bGUpLmhhcy1iZy1ibHVlOm5vdCguc2l0ZXMtaW1hZ2UtdGV4dGJveC1ncmlkLW1vZHVsZSk6bm90KC5pbmR1c3RyaWVzLWFjY29yZGlvbi1tb2R1bGUpOm5vdChcbiAgLnRhZ2VtYmVkLXdpZGdldCk6bm90KC50ZXh0LXRhYmxlLWltYWdlLW1vZHVsZSkgaDYsXG4gIFtjbGFzcyo9XCItbW9kdWxlXCJdOm5vdChcbiAgLmN0YS10ZXh0LWltYWdlLW1vZHVsZSkuaGFzLWJnLWJsdWU6bm90KC5zaXRlcy1pbWFnZS10ZXh0Ym94LWdyaWQtbW9kdWxlKTpub3QoLmluZHVzdHJpZXMtYWNjb3JkaW9uLW1vZHVsZSk6bm90KFxuICAudGFnZW1iZWQtd2lkZ2V0KTpub3QoLnRleHQtdGFibGUtaW1hZ2UtbW9kdWxlKSBiLFxuICBbY2xhc3MqPVwiLW1vZHVsZVwiXTpub3QoXG4gIC5jdGEtdGV4dC1pbWFnZS1tb2R1bGUpLmhhcy1iZy1ibHVlOm5vdCguc2l0ZXMtaW1hZ2UtdGV4dGJveC1ncmlkLW1vZHVsZSk6bm90KC5pbmR1c3RyaWVzLWFjY29yZGlvbi1tb2R1bGUpOm5vdChcbiAgLnRhZ2VtYmVkLXdpZGdldCk6bm90KC50ZXh0LXRhYmxlLWltYWdlLW1vZHVsZSkgc3Ryb25nLFxuICBbY2xhc3MqPVwiLW1vZHVsZVwiXTpub3QoXG4gIC5jdGEtdGV4dC1pbWFnZS1tb2R1bGUpLmhhcy1iZy1ibHVlOm5vdCguc2l0ZXMtaW1hZ2UtdGV4dGJveC1ncmlkLW1vZHVsZSk6bm90KC5pbmR1c3RyaWVzLWFjY29yZGlvbi1tb2R1bGUpOm5vdChcbiAgLnRhZ2VtYmVkLXdpZGdldCk6bm90KC50ZXh0LXRhYmxlLWltYWdlLW1vZHVsZSkgYSxcbiAgW2NsYXNzKj1cIi1tb2R1bGVcIl06bm90KFxuICAuY3RhLXRleHQtaW1hZ2UtbW9kdWxlKS5oYXMtYmctYmx1ZTpub3QoLnNpdGVzLWltYWdlLXRleHRib3gtZ3JpZC1tb2R1bGUpOm5vdCguaW5kdXN0cmllcy1hY2NvcmRpb24tbW9kdWxlKTpub3QoXG4gIC50YWdlbWJlZC13aWRnZXQpOm5vdCgudGV4dC10YWJsZS1pbWFnZS1tb2R1bGUpID4gZGl2IHtcbiAgICBjb2xvcjogdmFyKC0taGFzLWJnLWJsdWVfX3RleHQtLWNvbG9yKTsgfVxuICBbY2xhc3MqPVwiLW1vZHVsZVwiXTpub3QoXG4gIC5jdGEtdGV4dC1pbWFnZS1tb2R1bGUpLmhhcy1iZy1ibHVlIC50ZXh0LW1vZHVsZSBwLFxuICBbY2xhc3MqPVwiLW1vZHVsZVwiXTpub3QoXG4gIC5jdGEtdGV4dC1pbWFnZS1tb2R1bGUpLmhhcy1iZy1ibHVlIC50ZXh0LW1vZHVsZSBoMSxcbiAgW2NsYXNzKj1cIi1tb2R1bGVcIl06bm90KFxuICAuY3RhLXRleHQtaW1hZ2UtbW9kdWxlKS5oYXMtYmctYmx1ZSAudGV4dC1tb2R1bGUgaDIsXG4gIFtjbGFzcyo9XCItbW9kdWxlXCJdOm5vdChcbiAgLmN0YS10ZXh0LWltYWdlLW1vZHVsZSkuaGFzLWJnLWJsdWUgLnRleHQtbW9kdWxlIGgzLFxuICBbY2xhc3MqPVwiLW1vZHVsZVwiXTpub3QoXG4gIC5jdGEtdGV4dC1pbWFnZS1tb2R1bGUpLmhhcy1iZy1ibHVlIC50ZXh0LW1vZHVsZSBoNCxcbiAgW2NsYXNzKj1cIi1tb2R1bGVcIl06bm90KFxuICAuY3RhLXRleHQtaW1hZ2UtbW9kdWxlKS5oYXMtYmctYmx1ZSAudGV4dC1tb2R1bGUgaDUsXG4gIFtjbGFzcyo9XCItbW9kdWxlXCJdOm5vdChcbiAgLmN0YS10ZXh0LWltYWdlLW1vZHVsZSkuaGFzLWJnLWJsdWUgLnRleHQtbW9kdWxlIGg2LFxuICBbY2xhc3MqPVwiLW1vZHVsZVwiXTpub3QoXG4gIC5jdGEtdGV4dC1pbWFnZS1tb2R1bGUpLmhhcy1iZy1ibHVlIC50ZXh0LW1vZHVsZSBiLFxuICBbY2xhc3MqPVwiLW1vZHVsZVwiXTpub3QoXG4gIC5jdGEtdGV4dC1pbWFnZS1tb2R1bGUpLmhhcy1iZy1ibHVlIC50ZXh0LW1vZHVsZSBzdHJvbmcsXG4gIFtjbGFzcyo9XCItbW9kdWxlXCJdOm5vdChcbiAgLmN0YS10ZXh0LWltYWdlLW1vZHVsZSkuaGFzLWJnLWJsdWUgLnRleHQtbW9kdWxlIGEge1xuICAgIGNvbG9yOiB2YXIoLS1oYXMtYmctYmx1ZV9fdGV4dC0tY29sb3IpOyB9XG5cbjpyb290IHtcbiAgLS1yZXNwb25zaXZlLXNwYWNlcy1maXg6IC42OyB9XG4gIEBtZWRpYSAoLS1tb2JpbGUpIHtcbiAgICA6cm9vdCB7XG4gICAgICAtLXJlc3BvbnNpdmUtc3BhY2VzLWZpeDogLjc1OyB9IH1cbiAgQG1lZGlhICgtLXRhYmxldCkge1xuICAgIDpyb290IHtcbiAgICAgIC0tcmVzcG9uc2l2ZS1zcGFjZXMtZml4OiAuODsgfSB9XG4gIEBtZWRpYSAoLS1kZXNrdG9wKSB7XG4gICAgOnJvb3Qge1xuICAgICAgLS1yZXNwb25zaXZlLXNwYWNlcy1maXg6IC45OyB9IH1cbiAgQG1lZGlhICgtLXdpZGUpIHtcbiAgICA6cm9vdCB7XG4gICAgICAtLXJlc3BvbnNpdmUtc3BhY2VzLWZpeDogMTsgfSB9XG5cbi5tYXJnaW4tLWV4dHJhc21hbGwge1xuICBtYXJnaW46IGNsYW1wKDEuNTYyNXJlbSwgMC4xMjAxOXJlbSArIDQuMDA2NDF2dywgMy4xMjVyZW0pOyB9XG5cbi5tYXJnaW4tLXNtYWxsIHtcbiAgbWFyZ2luOiBjbGFtcCgyLjgxMjVyZW0sIDAuNTA0ODFyZW0gKyA2LjQxMDI2dncsIDUuMzEyNXJlbSk7IH1cblxuLm1hcmdpbi0tbWVkaXVtIHtcbiAgbWFyZ2luOiBjbGFtcCg0LjA2MjVyZW0sIDAuNjAwOTZyZW0gKyA5LjYxNTM4dncsIDcuODEyNXJlbSk7IH1cblxuLm1hcmdpbi0tbGFyZ2Uge1xuICBtYXJnaW46IGNsYW1wKDQuNjg3NXJlbSwgMC4zNjA1OHJlbSArIDEyLjAxOTIzdncsIDkuMzc1cmVtKTsgfVxuXG4ubWFyZ2luLS1leHRyYWxhcmdlIHtcbiAgbWFyZ2luOiBjbGFtcCg2LjI1cmVtLCAwLjQ4MDc3cmVtICsgMTYuMDI1NjR2dywgMTIuNXJlbSk7IH1cblxuLm1hcmdpbl9fdG9wLS1leHRyYXNtYWxsIHtcbiAgbWFyZ2luLXRvcDogY2xhbXAoMS41NjI1cmVtLCAwLjEyMDE5cmVtICsgNC4wMDY0MXZ3LCAzLjEyNXJlbSk7IH1cblxuLm1hcmdpbl9fdG9wLS1zbWFsbCB7XG4gIG1hcmdpbi10b3A6IGNsYW1wKDIuODEyNXJlbSwgMC41MDQ4MXJlbSArIDYuNDEwMjZ2dywgNS4zMTI1cmVtKTsgfVxuXG4ubWFyZ2luX190b3AtLW1lZGl1bSB7XG4gIG1hcmdpbi10b3A6IGNsYW1wKDQuMDYyNXJlbSwgMC42MDA5NnJlbSArIDkuNjE1Mzh2dywgNy44MTI1cmVtKTsgfVxuXG4ubWFyZ2luX190b3AtLWxhcmdlIHtcbiAgbWFyZ2luLXRvcDogY2xhbXAoNC42ODc1cmVtLCAwLjM2MDU4cmVtICsgMTIuMDE5MjN2dywgOS4zNzVyZW0pOyB9XG5cbi5tYXJnaW5fX3RvcC0tZXh0cmFsYXJnZSB7XG4gIG1hcmdpbi10b3A6IGNsYW1wKDYuMjVyZW0sIDAuNDgwNzdyZW0gKyAxNi4wMjU2NHZ3LCAxMi41cmVtKTsgfVxuXG4ubWFyZ2luX19yaWdodC0tZXh0cmFzbWFsbCB7XG4gIG1hcmdpbi1yaWdodDogY2xhbXAoMS41NjI1cmVtLCAwLjEyMDE5cmVtICsgNC4wMDY0MXZ3LCAzLjEyNXJlbSk7IH1cblxuLm1hcmdpbl9fcmlnaHQtLXNtYWxsIHtcbiAgbWFyZ2luLXJpZ2h0OiBjbGFtcCgyLjgxMjVyZW0sIDAuNTA0ODFyZW0gKyA2LjQxMDI2dncsIDUuMzEyNXJlbSk7IH1cblxuLm1hcmdpbl9fcmlnaHQtLW1lZGl1bSB7XG4gIG1hcmdpbi1yaWdodDogY2xhbXAoNC4wNjI1cmVtLCAwLjYwMDk2cmVtICsgOS42MTUzOHZ3LCA3LjgxMjVyZW0pOyB9XG5cbi5tYXJnaW5fX3JpZ2h0LS1sYXJnZSB7XG4gIG1hcmdpbi1yaWdodDogY2xhbXAoNC42ODc1cmVtLCAwLjM2MDU4cmVtICsgMTIuMDE5MjN2dywgOS4zNzVyZW0pOyB9XG5cbi5tYXJnaW5fX3JpZ2h0LS1leHRyYWxhcmdlIHtcbiAgbWFyZ2luLXJpZ2h0OiBjbGFtcCg2LjI1cmVtLCAwLjQ4MDc3cmVtICsgMTYuMDI1NjR2dywgMTIuNXJlbSk7IH1cblxuLm1hcmdpbl9fYm90dG9tLS1leHRyYXNtYWxsIHtcbiAgbWFyZ2luLWJvdHRvbTogY2xhbXAoMS41NjI1cmVtLCAwLjEyMDE5cmVtICsgNC4wMDY0MXZ3LCAzLjEyNXJlbSk7IH1cblxuLm1hcmdpbl9fYm90dG9tLS1zbWFsbCB7XG4gIG1hcmdpbi1ib3R0b206IGNsYW1wKDIuODEyNXJlbSwgMC41MDQ4MXJlbSArIDYuNDEwMjZ2dywgNS4zMTI1cmVtKTsgfVxuXG4ubWFyZ2luX19ib3R0b20tLW1lZGl1bSB7XG4gIG1hcmdpbi1ib3R0b206IGNsYW1wKDQuMDYyNXJlbSwgMC42MDA5NnJlbSArIDkuNjE1Mzh2dywgNy44MTI1cmVtKTsgfVxuXG4ubWFyZ2luX19ib3R0b20tLWxhcmdlIHtcbiAgbWFyZ2luLWJvdHRvbTogY2xhbXAoNC42ODc1cmVtLCAwLjM2MDU4cmVtICsgMTIuMDE5MjN2dywgOS4zNzVyZW0pOyB9XG5cbi5tYXJnaW5fX2JvdHRvbS0tZXh0cmFsYXJnZSB7XG4gIG1hcmdpbi1ib3R0b206IGNsYW1wKDYuMjVyZW0sIDAuNDgwNzdyZW0gKyAxNi4wMjU2NHZ3LCAxMi41cmVtKTsgfVxuXG4ubWFyZ2luX19sZWZ0LS1leHRyYXNtYWxsIHtcbiAgbWFyZ2luLWxlZnQ6IGNsYW1wKDEuNTYyNXJlbSwgMC4xMjAxOXJlbSArIDQuMDA2NDF2dywgMy4xMjVyZW0pOyB9XG5cbi5tYXJnaW5fX2xlZnQtLXNtYWxsIHtcbiAgbWFyZ2luLWxlZnQ6IGNsYW1wKDIuODEyNXJlbSwgMC41MDQ4MXJlbSArIDYuNDEwMjZ2dywgNS4zMTI1cmVtKTsgfVxuXG4ubWFyZ2luX19sZWZ0LS1tZWRpdW0ge1xuICBtYXJnaW4tbGVmdDogY2xhbXAoNC4wNjI1cmVtLCAwLjYwMDk2cmVtICsgOS42MTUzOHZ3LCA3LjgxMjVyZW0pOyB9XG5cbi5tYXJnaW5fX2xlZnQtLWxhcmdlIHtcbiAgbWFyZ2luLWxlZnQ6IGNsYW1wKDQuNjg3NXJlbSwgMC4zNjA1OHJlbSArIDEyLjAxOTIzdncsIDkuMzc1cmVtKTsgfVxuXG4ubWFyZ2luX19sZWZ0LS1leHRyYWxhcmdlIHtcbiAgbWFyZ2luLWxlZnQ6IGNsYW1wKDYuMjVyZW0sIDAuNDgwNzdyZW0gKyAxNi4wMjU2NHZ3LCAxMi41cmVtKTsgfVxuXG4ubWFyZ2luX19ob3Jpem9udGFsLS1leHRyYXNtYWxsIHtcbiAgbWFyZ2luLXRvcDogY2xhbXAoMS41NjI1cmVtLCAwLjEyMDE5cmVtICsgNC4wMDY0MXZ3LCAzLjEyNXJlbSk7XG4gIG1hcmdpbi1ib3R0b206IGNsYW1wKDEuNTYyNXJlbSwgMC4xMjAxOXJlbSArIDQuMDA2NDF2dywgMy4xMjVyZW0pOyB9XG5cbi5tYXJnaW5fX2hvcml6b250YWwtLXNtYWxsIHtcbiAgbWFyZ2luLXRvcDogY2xhbXAoMi44MTI1cmVtLCAwLjUwNDgxcmVtICsgNi40MTAyNnZ3LCA1LjMxMjVyZW0pO1xuICBtYXJnaW4tYm90dG9tOiBjbGFtcCgyLjgxMjVyZW0sIDAuNTA0ODFyZW0gKyA2LjQxMDI2dncsIDUuMzEyNXJlbSk7IH1cblxuLm1hcmdpbl9faG9yaXpvbnRhbC0tbWVkaXVtIHtcbiAgbWFyZ2luLXRvcDogY2xhbXAoNC4wNjI1cmVtLCAwLjYwMDk2cmVtICsgOS42MTUzOHZ3LCA3LjgxMjVyZW0pO1xuICBtYXJnaW4tYm90dG9tOiBjbGFtcCg0LjA2MjVyZW0sIDAuNjAwOTZyZW0gKyA5LjYxNTM4dncsIDcuODEyNXJlbSk7IH1cblxuLm1hcmdpbl9faG9yaXpvbnRhbC0tbGFyZ2Uge1xuICBtYXJnaW4tdG9wOiBjbGFtcCg0LjY4NzVyZW0sIDAuMzYwNThyZW0gKyAxMi4wMTkyM3Z3LCA5LjM3NXJlbSk7XG4gIG1hcmdpbi1ib3R0b206IGNsYW1wKDQuNjg3NXJlbSwgMC4zNjA1OHJlbSArIDEyLjAxOTIzdncsIDkuMzc1cmVtKTsgfVxuXG4ubWFyZ2luX19ob3Jpem9udGFsLS1leHRyYWxhcmdlIHtcbiAgbWFyZ2luLXRvcDogY2xhbXAoNi4yNXJlbSwgMC40ODA3N3JlbSArIDE2LjAyNTY0dncsIDEyLjVyZW0pO1xuICBtYXJnaW4tYm90dG9tOiBjbGFtcCg2LjI1cmVtLCAwLjQ4MDc3cmVtICsgMTYuMDI1NjR2dywgMTIuNXJlbSk7IH1cblxuLm1hcmdpbl9fdmVydGljYWwtLWV4dHJhc21hbGwge1xuICBtYXJnaW4tbGVmdDogY2xhbXAoMS41NjI1cmVtLCAwLjEyMDE5cmVtICsgNC4wMDY0MXZ3LCAzLjEyNXJlbSk7XG4gIG1hcmdpbi1yaWdodDogY2xhbXAoMS41NjI1cmVtLCAwLjEyMDE5cmVtICsgNC4wMDY0MXZ3LCAzLjEyNXJlbSk7IH1cblxuLm1hcmdpbl9fdmVydGljYWwtLXNtYWxsIHtcbiAgbWFyZ2luLWxlZnQ6IGNsYW1wKDIuODEyNXJlbSwgMC41MDQ4MXJlbSArIDYuNDEwMjZ2dywgNS4zMTI1cmVtKTtcbiAgbWFyZ2luLXJpZ2h0OiBjbGFtcCgyLjgxMjVyZW0sIDAuNTA0ODFyZW0gKyA2LjQxMDI2dncsIDUuMzEyNXJlbSk7IH1cblxuLm1hcmdpbl9fdmVydGljYWwtLW1lZGl1bSB7XG4gIG1hcmdpbi1sZWZ0OiBjbGFtcCg0LjA2MjVyZW0sIDAuNjAwOTZyZW0gKyA5LjYxNTM4dncsIDcuODEyNXJlbSk7XG4gIG1hcmdpbi1yaWdodDogY2xhbXAoNC4wNjI1cmVtLCAwLjYwMDk2cmVtICsgOS42MTUzOHZ3LCA3LjgxMjVyZW0pOyB9XG5cbi5tYXJnaW5fX3ZlcnRpY2FsLS1sYXJnZSB7XG4gIG1hcmdpbi1sZWZ0OiBjbGFtcCg0LjY4NzVyZW0sIDAuMzYwNThyZW0gKyAxMi4wMTkyM3Z3LCA5LjM3NXJlbSk7XG4gIG1hcmdpbi1yaWdodDogY2xhbXAoNC42ODc1cmVtLCAwLjM2MDU4cmVtICsgMTIuMDE5MjN2dywgOS4zNzVyZW0pOyB9XG5cbi5tYXJnaW5fX3ZlcnRpY2FsLS1leHRyYWxhcmdlIHtcbiAgbWFyZ2luLWxlZnQ6IGNsYW1wKDYuMjVyZW0sIDAuNDgwNzdyZW0gKyAxNi4wMjU2NHZ3LCAxMi41cmVtKTtcbiAgbWFyZ2luLXJpZ2h0OiBjbGFtcCg2LjI1cmVtLCAwLjQ4MDc3cmVtICsgMTYuMDI1NjR2dywgMTIuNXJlbSk7IH1cblxuLnBhZGRpbmctLWV4dHJhc21hbGwge1xuICBwYWRkaW5nOiBjbGFtcCgxLjU2MjVyZW0sIDAuMTIwMTlyZW0gKyA0LjAwNjQxdncsIDMuMTI1cmVtKTsgfVxuXG4ucGFkZGluZy0tc21hbGwge1xuICBwYWRkaW5nOiBjbGFtcCgyLjgxMjVyZW0sIDAuNTA0ODFyZW0gKyA2LjQxMDI2dncsIDUuMzEyNXJlbSk7IH1cblxuLnBhZGRpbmctLW1lZGl1bSB7XG4gIHBhZGRpbmc6IGNsYW1wKDQuMDYyNXJlbSwgMC42MDA5NnJlbSArIDkuNjE1Mzh2dywgNy44MTI1cmVtKTsgfVxuXG4ucGFkZGluZy0tbGFyZ2Uge1xuICBwYWRkaW5nOiBjbGFtcCg0LjY4NzVyZW0sIDAuMzYwNThyZW0gKyAxMi4wMTkyM3Z3LCA5LjM3NXJlbSk7IH1cblxuLnBhZGRpbmctLWV4dHJhbGFyZ2Uge1xuICBwYWRkaW5nOiBjbGFtcCg2LjI1cmVtLCAwLjQ4MDc3cmVtICsgMTYuMDI1NjR2dywgMTIuNXJlbSk7IH1cblxuLnBhZGRpbmdfX3RvcC0tZXh0cmFzbWFsbCB7XG4gIHBhZGRpbmctdG9wOiBjbGFtcCgxLjU2MjVyZW0sIDAuMTIwMTlyZW0gKyA0LjAwNjQxdncsIDMuMTI1cmVtKTsgfVxuXG4ucGFkZGluZ19fdG9wLS1zbWFsbCB7XG4gIHBhZGRpbmctdG9wOiBjbGFtcCgyLjgxMjVyZW0sIDAuNTA0ODFyZW0gKyA2LjQxMDI2dncsIDUuMzEyNXJlbSk7IH1cblxuLnBhZGRpbmdfX3RvcC0tbWVkaXVtIHtcbiAgcGFkZGluZy10b3A6IGNsYW1wKDQuMDYyNXJlbSwgMC42MDA5NnJlbSArIDkuNjE1Mzh2dywgNy44MTI1cmVtKTsgfVxuXG4ucGFkZGluZ19fdG9wLS1sYXJnZSB7XG4gIHBhZGRpbmctdG9wOiBjbGFtcCg0LjY4NzVyZW0sIDAuMzYwNThyZW0gKyAxMi4wMTkyM3Z3LCA5LjM3NXJlbSk7IH1cblxuLnBhZGRpbmdfX3RvcC0tZXh0cmFsYXJnZSB7XG4gIHBhZGRpbmctdG9wOiBjbGFtcCg2LjI1cmVtLCAwLjQ4MDc3cmVtICsgMTYuMDI1NjR2dywgMTIuNXJlbSk7IH1cblxuLnBhZGRpbmdfX3JpZ2h0LS1leHRyYXNtYWxsIHtcbiAgcGFkZGluZy1yaWdodDogY2xhbXAoMS41NjI1cmVtLCAwLjEyMDE5cmVtICsgNC4wMDY0MXZ3LCAzLjEyNXJlbSk7IH1cblxuLnBhZGRpbmdfX3JpZ2h0LS1zbWFsbCB7XG4gIHBhZGRpbmctcmlnaHQ6IGNsYW1wKDIuODEyNXJlbSwgMC41MDQ4MXJlbSArIDYuNDEwMjZ2dywgNS4zMTI1cmVtKTsgfVxuXG4ucGFkZGluZ19fcmlnaHQtLW1lZGl1bSB7XG4gIHBhZGRpbmctcmlnaHQ6IGNsYW1wKDQuMDYyNXJlbSwgMC42MDA5NnJlbSArIDkuNjE1Mzh2dywgNy44MTI1cmVtKTsgfVxuXG4ucGFkZGluZ19fcmlnaHQtLWxhcmdlIHtcbiAgcGFkZGluZy1yaWdodDogY2xhbXAoNC42ODc1cmVtLCAwLjM2MDU4cmVtICsgMTIuMDE5MjN2dywgOS4zNzVyZW0pOyB9XG5cbi5wYWRkaW5nX19yaWdodC0tZXh0cmFsYXJnZSB7XG4gIHBhZGRpbmctcmlnaHQ6IGNsYW1wKDYuMjVyZW0sIDAuNDgwNzdyZW0gKyAxNi4wMjU2NHZ3LCAxMi41cmVtKTsgfVxuXG4ucGFkZGluZ19fYm90dG9tLS1leHRyYXNtYWxsIHtcbiAgcGFkZGluZy1ib3R0b206IGNsYW1wKDEuNTYyNXJlbSwgMC4xMjAxOXJlbSArIDQuMDA2NDF2dywgMy4xMjVyZW0pOyB9XG5cbi5wYWRkaW5nX19ib3R0b20tLXNtYWxsIHtcbiAgcGFkZGluZy1ib3R0b206IGNsYW1wKDIuODEyNXJlbSwgMC41MDQ4MXJlbSArIDYuNDEwMjZ2dywgNS4zMTI1cmVtKTsgfVxuXG4ucGFkZGluZ19fYm90dG9tLS1tZWRpdW0ge1xuICBwYWRkaW5nLWJvdHRvbTogY2xhbXAoNC4wNjI1cmVtLCAwLjYwMDk2cmVtICsgOS42MTUzOHZ3LCA3LjgxMjVyZW0pOyB9XG5cbi5wYWRkaW5nX19ib3R0b20tLWxhcmdlIHtcbiAgcGFkZGluZy1ib3R0b206IGNsYW1wKDQuNjg3NXJlbSwgMC4zNjA1OHJlbSArIDEyLjAxOTIzdncsIDkuMzc1cmVtKTsgfVxuXG4ucGFkZGluZ19fYm90dG9tLS1leHRyYWxhcmdlIHtcbiAgcGFkZGluZy1ib3R0b206IGNsYW1wKDYuMjVyZW0sIDAuNDgwNzdyZW0gKyAxNi4wMjU2NHZ3LCAxMi41cmVtKTsgfVxuXG4ucGFkZGluZ19fbGVmdC0tZXh0cmFzbWFsbCB7XG4gIHBhZGRpbmctbGVmdDogY2xhbXAoMS41NjI1cmVtLCAwLjEyMDE5cmVtICsgNC4wMDY0MXZ3LCAzLjEyNXJlbSk7IH1cblxuLnBhZGRpbmdfX2xlZnQtLXNtYWxsIHtcbiAgcGFkZGluZy1sZWZ0OiBjbGFtcCgyLjgxMjVyZW0sIDAuNTA0ODFyZW0gKyA2LjQxMDI2dncsIDUuMzEyNXJlbSk7IH1cblxuLnBhZGRpbmdfX2xlZnQtLW1lZGl1bSB7XG4gIHBhZGRpbmctbGVmdDogY2xhbXAoNC4wNjI1cmVtLCAwLjYwMDk2cmVtICsgOS42MTUzOHZ3LCA3LjgxMjVyZW0pOyB9XG5cbi5wYWRkaW5nX19sZWZ0LS1sYXJnZSB7XG4gIHBhZGRpbmctbGVmdDogY2xhbXAoNC42ODc1cmVtLCAwLjM2MDU4cmVtICsgMTIuMDE5MjN2dywgOS4zNzVyZW0pOyB9XG5cbi5wYWRkaW5nX19sZWZ0LS1leHRyYWxhcmdlIHtcbiAgcGFkZGluZy1sZWZ0OiBjbGFtcCg2LjI1cmVtLCAwLjQ4MDc3cmVtICsgMTYuMDI1NjR2dywgMTIuNXJlbSk7IH1cblxuLnBhZGRpbmdfX2hvcml6b250YWwtLWV4dHJhc21hbGwge1xuICBwYWRkaW5nLXRvcDogY2xhbXAoMS41NjI1cmVtLCAwLjEyMDE5cmVtICsgNC4wMDY0MXZ3LCAzLjEyNXJlbSk7XG4gIHBhZGRpbmctYm90dG9tOiBjbGFtcCgxLjU2MjVyZW0sIDAuMTIwMTlyZW0gKyA0LjAwNjQxdncsIDMuMTI1cmVtKTsgfVxuXG4ucGFkZGluZ19faG9yaXpvbnRhbC0tc21hbGwge1xuICBwYWRkaW5nLXRvcDogY2xhbXAoMi44MTI1cmVtLCAwLjUwNDgxcmVtICsgNi40MTAyNnZ3LCA1LjMxMjVyZW0pO1xuICBwYWRkaW5nLWJvdHRvbTogY2xhbXAoMi44MTI1cmVtLCAwLjUwNDgxcmVtICsgNi40MTAyNnZ3LCA1LjMxMjVyZW0pOyB9XG5cbi5wYWRkaW5nX19ob3Jpem9udGFsLS1tZWRpdW0ge1xuICBwYWRkaW5nLXRvcDogY2xhbXAoNC4wNjI1cmVtLCAwLjYwMDk2cmVtICsgOS42MTUzOHZ3LCA3LjgxMjVyZW0pO1xuICBwYWRkaW5nLWJvdHRvbTogY2xhbXAoNC4wNjI1cmVtLCAwLjYwMDk2cmVtICsgOS42MTUzOHZ3LCA3LjgxMjVyZW0pOyB9XG5cbi5wYWRkaW5nX19ob3Jpem9udGFsLS1sYXJnZSB7XG4gIHBhZGRpbmctdG9wOiBjbGFtcCg0LjY4NzVyZW0sIDAuMzYwNThyZW0gKyAxMi4wMTkyM3Z3LCA5LjM3NXJlbSk7XG4gIHBhZGRpbmctYm90dG9tOiBjbGFtcCg0LjY4NzVyZW0sIDAuMzYwNThyZW0gKyAxMi4wMTkyM3Z3LCA5LjM3NXJlbSk7IH1cblxuLnBhZGRpbmdfX2hvcml6b250YWwtLWV4dHJhbGFyZ2Uge1xuICBwYWRkaW5nLXRvcDogY2xhbXAoNi4yNXJlbSwgMC40ODA3N3JlbSArIDE2LjAyNTY0dncsIDEyLjVyZW0pO1xuICBwYWRkaW5nLWJvdHRvbTogY2xhbXAoNi4yNXJlbSwgMC40ODA3N3JlbSArIDE2LjAyNTY0dncsIDEyLjVyZW0pOyB9XG5cbi5wYWRkaW5nX192ZXJ0aWNhbC0tZXh0cmFzbWFsbCB7XG4gIHBhZGRpbmctbGVmdDogY2xhbXAoMS41NjI1cmVtLCAwLjEyMDE5cmVtICsgNC4wMDY0MXZ3LCAzLjEyNXJlbSk7XG4gIHBhZGRpbmctcmlnaHQ6IGNsYW1wKDEuNTYyNXJlbSwgMC4xMjAxOXJlbSArIDQuMDA2NDF2dywgMy4xMjVyZW0pOyB9XG5cbi5wYWRkaW5nX192ZXJ0aWNhbC0tc21hbGwge1xuICBwYWRkaW5nLWxlZnQ6IGNsYW1wKDIuODEyNXJlbSwgMC41MDQ4MXJlbSArIDYuNDEwMjZ2dywgNS4zMTI1cmVtKTtcbiAgcGFkZGluZy1yaWdodDogY2xhbXAoMi44MTI1cmVtLCAwLjUwNDgxcmVtICsgNi40MTAyNnZ3LCA1LjMxMjVyZW0pOyB9XG5cbi5wYWRkaW5nX192ZXJ0aWNhbC0tbWVkaXVtIHtcbiAgcGFkZGluZy1sZWZ0OiBjbGFtcCg0LjA2MjVyZW0sIDAuNjAwOTZyZW0gKyA5LjYxNTM4dncsIDcuODEyNXJlbSk7XG4gIHBhZGRpbmctcmlnaHQ6IGNsYW1wKDQuMDYyNXJlbSwgMC42MDA5NnJlbSArIDkuNjE1Mzh2dywgNy44MTI1cmVtKTsgfVxuXG4ucGFkZGluZ19fdmVydGljYWwtLWxhcmdlIHtcbiAgcGFkZGluZy1sZWZ0OiBjbGFtcCg0LjY4NzVyZW0sIDAuMzYwNThyZW0gKyAxMi4wMTkyM3Z3LCA5LjM3NXJlbSk7XG4gIHBhZGRpbmctcmlnaHQ6IGNsYW1wKDQuNjg3NXJlbSwgMC4zNjA1OHJlbSArIDEyLjAxOTIzdncsIDkuMzc1cmVtKTsgfVxuXG4ucGFkZGluZ19fdmVydGljYWwtLWV4dHJhbGFyZ2Uge1xuICBwYWRkaW5nLWxlZnQ6IGNsYW1wKDYuMjVyZW0sIDAuNDgwNzdyZW0gKyAxNi4wMjU2NHZ3LCAxMi41cmVtKTtcbiAgcGFkZGluZy1yaWdodDogY2xhbXAoNi4yNXJlbSwgMC40ODA3N3JlbSArIDE2LjAyNTY0dncsIDEyLjVyZW0pOyB9XG5cbi8qKlxuICogPGJvZHk+XG4gKi9cbmJvZHkge1xuICBjb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1kYXJrLS10ZXh0KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3JfX3NpdGUtYmFja2dyb3VuZCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250X19jb3B5KTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnRfX2NvcHktLXdlaWdodCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udF9fY29weS0tc2l6ZSk7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG4gIGJvZHkuYWRtaW4tYmFyIHtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gdmFyKC0tYWRtaW5iYXJfX2hlaWdodC0tbmFycm93KSk7IH1cbiAgICBAbWVkaWEgKC0tZGVza3RvcCkge1xuICAgICAgYm9keS5hZG1pbi1iYXIge1xuICAgICAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gdmFyKC0tYWRtaW5iYXJfX2hlaWdodCkpOyB9IH1cbiAgYm9keS5uYXYtaXMtLXZpc2libGUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyoqXG4gKiA8ZmlndXJlPlxuICovXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2ZpZWxkLmdmaWVsZC0tdHlwZS10ZXh0YXJlYSB0ZXh0YXJlYS50ZXh0YXJlYSB7XG4gIGhlaWdodDogNS44NzVyZW07IH1cbiAgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2ZpZWxkLmdmaWVsZC0tdHlwZS10ZXh0YXJlYSB0ZXh0YXJlYS50ZXh0YXJlYSArIC5naW5wdXRfY291bnRlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktZGFyay0tdGV4dCk7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDFweCkge1xuICAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIGlucHV0Om5vdChbdHlwZT0ncmFkaW8nXSk6bm90KFt0eXBlPSdjaGVja2JveCddKTpub3QoW3R5cGU9J2ltYWdlJ10pOm5vdChbdHlwZT0nZmlsZSddKSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzEyNXJlbSAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IHVuc2V0ICFpbXBvcnRhbnQ7IH0gfVxuXG4uZ2Zvcm1faGVhZGluZyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87XG4gIGdyaWQtdGVtcGxhdGUtcm93czogMS4zNzVyZW0gYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTsgfVxuICAuZ2Zvcm1faGVhZGluZzpoYXMoLmdmb3JtX3RpdGxlKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4wNjI1cmVtOyB9XG5cbi5nZm9ybV90aXRsZSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0taDRfX3NpemUpO1xuICBsaW5lLWhlaWdodDogdmFyKC0taDRfX2xpbmUtaGVpZ2h0KTtcbiAgbWFyZ2luLXRvcDogdmFyKC0taDRfX21hcmdpbi10b3ApO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udF9fY29weSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250X19oZWFkaW5nLS13ZWlnaHQtLWJvbGQpO1xuICBtYXJnaW4tYmxvY2s6IDA7XG4gIG9yZGVyOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdW5zZXQ7IH1cblxuLmdmb3JtX3JlcXVpcmVkX2xlZ2VuZCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1tZWRpdW0tLXRleHQpO1xuICBvcmRlcjogMTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLmdmb3JtX2Rlc2NyaXB0aW9uIHtcbiAgb3JkZXI6IDI7IH1cbiAgLmdmb3JtX2Rlc2NyaXB0aW9uOmVtcHR5IHtcbiAgICBtYXJnaW4tYmxvY2s6IDA7IH1cblxuLmdmb3JtX2ZpZWxkcyAuZXh0cmEtbWFyZ2luIHtcbiAgbWFyZ2luLXRvcDogY2xhbXAoMS41cmVtLCAxLjE1Mzg1cmVtICsgMC45NjE1NHZ3LCAxLjg3NXJlbSk7IH1cblxuLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIHtcbiAgLS1zdWJtaXRfX2p1c3RpZnk6IHN0YXJ0O1xuICAtLXN1Ym1pdF9fbWFyZ2luLXRvcDogMXJlbTtcbiAgLS1zdWJtaXRfX2p1c3RpZnktc2VsZjogc3RhcnQ7XG4gIC0tY29uc2VudF9fbWFyZ2luLXRvcDogMC42MjVyZW07IH1cbiAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIGlucHV0LFxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgaW5wdXRbdHlwZT0ndGV4dCddLFxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgaW5wdXRbdHlwZT0nZW1haWwnXSxcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIGlucHV0W3R5cGU9J3Bhc3N3b3JkJ10sXG4gIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSBpbnB1dFt0eXBlPSdudW1iZXInXSxcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIHRleHRhcmVhLFxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSxcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIGlucHV0W3R5cGU9J3JhZGlvJ10sXG4gIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSBzZWxlY3QsXG4gIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSAuY3VzdG9tLWdmb3JtLXNlbGVjdCAuc2VsZWN0LWJ1dHRvbixcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIC5jdXN0b20tZ2Zvcm0tc2VsZWN0IC5zZWxlY3QtZHJvcGRvd24ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LWRhcmstLXRleHQpO1xuICAgIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3JfX2dyZXktbGlnaHQtLWJnKTtcbiAgICBib3JkZXItd2lkdGg6IDAuMDYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMxMjVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgaW5wdXQ6bm90KFt0eXBlPSdzdWJtaXQnXSk6bm90KFt0eXBlPSdjaGVja2JveCddKTpub3QoOmhhcyhsaSkpLFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSBpbnB1dFt0eXBlPSd0ZXh0J106bm90KFt0eXBlPSdzdWJtaXQnXSk6bm90KFt0eXBlPSdjaGVja2JveCddKTpub3QoOmhhcyhsaSkpLFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSBpbnB1dFt0eXBlPSdlbWFpbCddOm5vdChbdHlwZT0nc3VibWl0J10pOm5vdChbdHlwZT0nY2hlY2tib3gnXSk6bm90KDpoYXMobGkpKSxcbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgaW5wdXRbdHlwZT0ncGFzc3dvcmQnXTpub3QoW3R5cGU9J3N1Ym1pdCddKTpub3QoW3R5cGU9J2NoZWNrYm94J10pOm5vdCg6aGFzKGxpKSksXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIGlucHV0W3R5cGU9J251bWJlciddOm5vdChbdHlwZT0nc3VibWl0J10pOm5vdChbdHlwZT0nY2hlY2tib3gnXSk6bm90KDpoYXMobGkpKSxcbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgdGV4dGFyZWE6bm90KFt0eXBlPSdzdWJtaXQnXSk6bm90KFt0eXBlPSdjaGVja2JveCddKTpub3QoOmhhcyhsaSkpLFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSBpbnB1dFt0eXBlPSdjaGVja2JveCddOm5vdChbdHlwZT0nc3VibWl0J10pOm5vdChbdHlwZT0nY2hlY2tib3gnXSk6bm90KDpoYXMobGkpKSxcbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgaW5wdXRbdHlwZT0ncmFkaW8nXTpub3QoW3R5cGU9J3N1Ym1pdCddKTpub3QoW3R5cGU9J2NoZWNrYm94J10pOm5vdCg6aGFzKGxpKSksXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIHNlbGVjdDpub3QoW3R5cGU9J3N1Ym1pdCddKTpub3QoW3R5cGU9J2NoZWNrYm94J10pOm5vdCg6aGFzKGxpKSksXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIC5jdXN0b20tZ2Zvcm0tc2VsZWN0IC5zZWxlY3QtYnV0dG9uOm5vdChbdHlwZT0nc3VibWl0J10pOm5vdChbdHlwZT0nY2hlY2tib3gnXSk6bm90KDpoYXMobGkpKSxcbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgLmN1c3RvbS1nZm9ybS1zZWxlY3QgLnNlbGVjdC1kcm9wZG93bjpub3QoW3R5cGU9J3N1Ym1pdCddKTpub3QoW3R5cGU9J2NoZWNrYm94J10pOm5vdCg6aGFzKGxpKSkge1xuICAgICAgcGFkZGluZzogMC44MTI1cmVtIDFyZW0gIWltcG9ydGFudDsgfVxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSBpbnB1dDpub3QoLnNlbGVjdC1idXR0b24pOmhvdmVyLFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSBpbnB1dFt0eXBlPSd0ZXh0J106bm90KC5zZWxlY3QtYnV0dG9uKTpob3ZlcixcbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgaW5wdXRbdHlwZT0nZW1haWwnXTpub3QoLnNlbGVjdC1idXR0b24pOmhvdmVyLFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSBpbnB1dFt0eXBlPSdwYXNzd29yZCddOm5vdCguc2VsZWN0LWJ1dHRvbik6aG92ZXIsXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIGlucHV0W3R5cGU9J251bWJlciddOm5vdCguc2VsZWN0LWJ1dHRvbik6aG92ZXIsXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIHRleHRhcmVhOm5vdCguc2VsZWN0LWJ1dHRvbik6aG92ZXIsXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIGlucHV0W3R5cGU9J2NoZWNrYm94J106bm90KC5zZWxlY3QtYnV0dG9uKTpob3ZlcixcbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgaW5wdXRbdHlwZT0ncmFkaW8nXTpub3QoLnNlbGVjdC1idXR0b24pOmhvdmVyLFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSBzZWxlY3Q6bm90KC5zZWxlY3QtYnV0dG9uKTpob3ZlcixcbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgLmN1c3RvbS1nZm9ybS1zZWxlY3QgLnNlbGVjdC1idXR0b246bm90KC5zZWxlY3QtYnV0dG9uKTpob3ZlcixcbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgLmN1c3RvbS1nZm9ybS1zZWxlY3QgLnNlbGVjdC1kcm9wZG93bjpub3QoLnNlbGVjdC1idXR0b24pOmhvdmVyIHtcbiAgICAgIGN1cnNvcjogdGV4dDsgfVxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSBpbnB1dDpmb2N1cyxcbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgaW5wdXRbdHlwZT0ndGV4dCddOmZvY3VzLFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSBpbnB1dFt0eXBlPSdlbWFpbCddOmZvY3VzLFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSBpbnB1dFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSBpbnB1dFt0eXBlPSdudW1iZXInXTpmb2N1cyxcbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgdGV4dGFyZWE6Zm9jdXMsXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIGlucHV0W3R5cGU9J2NoZWNrYm94J106Zm9jdXMsXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIGlucHV0W3R5cGU9J3JhZGlvJ106Zm9jdXMsXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIHNlbGVjdDpmb2N1cyxcbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgLmN1c3RvbS1nZm9ybS1zZWxlY3QgLnNlbGVjdC1idXR0b246Zm9jdXMsXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIC5jdXN0b20tZ2Zvcm0tc2VsZWN0IC5zZWxlY3QtZHJvcGRvd246Zm9jdXMge1xuICAgICAgb3V0bGluZTogdW5zZXQ7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktZGFyay0tdGV4dCk7IH1cbiAgICAgIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSBpbnB1dDpmb2N1czo6cGxhY2Vob2xkZXIsXG4gICAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgaW5wdXRbdHlwZT0ndGV4dCddOmZvY3VzOjpwbGFjZWhvbGRlcixcbiAgICAgIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSBpbnB1dFt0eXBlPSdlbWFpbCddOmZvY3VzOjpwbGFjZWhvbGRlcixcbiAgICAgIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSBpbnB1dFt0eXBlPSdwYXNzd29yZCddOmZvY3VzOjpwbGFjZWhvbGRlcixcbiAgICAgIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSBpbnB1dFt0eXBlPSdudW1iZXInXTpmb2N1czo6cGxhY2Vob2xkZXIsXG4gICAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgdGV4dGFyZWE6Zm9jdXM6OnBsYWNlaG9sZGVyLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIGlucHV0W3R5cGU9J2NoZWNrYm94J106Zm9jdXM6OnBsYWNlaG9sZGVyLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIGlucHV0W3R5cGU9J3JhZGlvJ106Zm9jdXM6OnBsYWNlaG9sZGVyLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIHNlbGVjdDpmb2N1czo6cGxhY2Vob2xkZXIsXG4gICAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgLmN1c3RvbS1nZm9ybS1zZWxlY3QgLnNlbGVjdC1idXR0b246Zm9jdXM6OnBsYWNlaG9sZGVyLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIC5jdXN0b20tZ2Zvcm0tc2VsZWN0IC5zZWxlY3QtZHJvcGRvd246Zm9jdXM6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktZGFyay0tdGV4dCk7IH1cbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgaW5wdXQ6OnBsYWNlaG9sZGVyLFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSBpbnB1dFt0eXBlPSd0ZXh0J106OnBsYWNlaG9sZGVyLFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSBpbnB1dFt0eXBlPSdlbWFpbCddOjpwbGFjZWhvbGRlcixcbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgaW5wdXRbdHlwZT0ncGFzc3dvcmQnXTo6cGxhY2Vob2xkZXIsXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIGlucHV0W3R5cGU9J251bWJlciddOjpwbGFjZWhvbGRlcixcbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgdGV4dGFyZWE6OnBsYWNlaG9sZGVyLFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSBpbnB1dFt0eXBlPSdjaGVja2JveCddOjpwbGFjZWhvbGRlcixcbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgaW5wdXRbdHlwZT0ncmFkaW8nXTo6cGxhY2Vob2xkZXIsXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIHNlbGVjdDo6cGxhY2Vob2xkZXIsXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIC5jdXN0b20tZ2Zvcm0tc2VsZWN0IC5zZWxlY3QtYnV0dG9uOjpwbGFjZWhvbGRlcixcbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgLmN1c3RvbS1nZm9ybS1zZWxlY3QgLnNlbGVjdC1kcm9wZG93bjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktbWVkaXVtLS1mb3JtLXRleHQpO1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgLmN1c3RvbS1nZm9ybS1zZWxlY3QgLnNlbGVjdC1idXR0b24sXG4gIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSAuY3VzdG9tLWdmb3JtLXNlbGVjdCAuc2VsZWN0LWRyb3Bkb3duIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1tZWRpdW0tLWZvcm0tdGV4dCk7XG4gICAgZm9udC1zaXplOiAxNXB4OyB9XG4gIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSBpbnB1dFt0eXBlPSdjaGVja2JveCddOmhvdmVyLFxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgaW5wdXRbdHlwZT0ncmFkaW8nXTpob3ZlcixcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIGlucHV0W3R5cGU9J3N1Ym1pdCddOmhvdmVyLFxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgI2ZpZWxkX3N1Ym1pdDpob3ZlcixcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIHNlbGVjdDpob3ZlcixcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIC5jdXN0b20tZ2Zvcm0tc2VsZWN0OmhvdmVyLFxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgLmN1c3RvbS1nZm9ybS1zZWxlY3QgLnNlbGVjdC1idXR0b246aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgaW5wdXQ6bm90KDpwbGFjZWhvbGRlci1zaG93biksXG4gIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSBpbnB1dFt0eXBlPSd0ZXh0J106bm90KDpwbGFjZWhvbGRlci1zaG93biksXG4gIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSBpbnB1dFt0eXBlPSdlbWFpbCddOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pLFxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgaW5wdXRbdHlwZT0ncGFzc3dvcmQnXTpub3QoOnBsYWNlaG9sZGVyLXNob3duKSxcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIGlucHV0W3R5cGU9J251bWJlciddOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pLFxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgdGV4dGFyZWE6bm90KDpwbGFjZWhvbGRlci1zaG93biksXG4gIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSBpbnB1dFt0eXBlPSdjaGVja2JveCddOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pLFxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgaW5wdXRbdHlwZT0ncmFkaW8nXTpub3QoOnBsYWNlaG9sZGVyLXNob3duKSB7XG4gICAgb3V0bGluZTogdW5zZXQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LW1lZGl1bS0tYmcpICFpbXBvcnRhbnQ7IH1cbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgaW5wdXQ6bm90KDpwbGFjZWhvbGRlci1zaG93bik6OnBsYWNlaG9sZGVyLFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSBpbnB1dFt0eXBlPSd0ZXh0J106bm90KDpwbGFjZWhvbGRlci1zaG93bik6OnBsYWNlaG9sZGVyLFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSBpbnB1dFt0eXBlPSdlbWFpbCddOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pOjpwbGFjZWhvbGRlcixcbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgaW5wdXRbdHlwZT0ncGFzc3dvcmQnXTpub3QoOnBsYWNlaG9sZGVyLXNob3duKTo6cGxhY2Vob2xkZXIsXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIGlucHV0W3R5cGU9J251bWJlciddOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pOjpwbGFjZWhvbGRlcixcbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgdGV4dGFyZWE6bm90KDpwbGFjZWhvbGRlci1zaG93bik6OnBsYWNlaG9sZGVyLFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSBpbnB1dFt0eXBlPSdjaGVja2JveCddOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pOjpwbGFjZWhvbGRlcixcbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgaW5wdXRbdHlwZT0ncmFkaW8nXTpub3QoOnBsYWNlaG9sZGVyLXNob3duKTo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktbWVkaXVtLS10ZXh0KTsgfVxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgLmN1c3RvbS1nZm9ybS1zZWxlY3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSAuY3VzdG9tLWdmb3JtLXNlbGVjdCAuc2VsZWN0LWJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgLmN1c3RvbS1nZm9ybS1zZWxlY3QgLnNlbGVjdC1idXR0b25bYXJpYS1leHBhbmRlZD0ndHJ1ZSddIC5hcnJvdyB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgICAgIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSAuY3VzdG9tLWdmb3JtLXNlbGVjdCAuc2VsZWN0LWJ1dHRvbjpoYXMoKyB1bCBsaS5zZWxlY3RlZCkge1xuICAgICAgICBvdXRsaW5lOiB1bnNldDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LWRhcmstLXRleHQpICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LWRhcmstLXRleHQpOyB9XG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIC5jdXN0b20tZ2Zvcm0tc2VsZWN0IC5hcnJvdyB7XG4gICAgICB3aWR0aDogMC41NjI1cmVtO1xuICAgICAgaGVpZ2h0OiAwLjMxMjVyZW07XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvc2VsZWN0LWRyb3Bkb3duLnN2Z1wiKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSBlYXNlLWluLW91dCAwLjNzOyB9XG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIC5jdXN0b20tZ2Zvcm0tc2VsZWN0IC5zZWxlY3QtZHJvcGRvd24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LW1lZGl1bS0tZm9ybS10ZXh0KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yX19zaXRlLWJhY2tncm91bmQpO1xuICAgICAgYm94LXNoYWRvdzogMCAwLjYyNXJlbSAxLjU2MjVyZW0gcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgbWF4LWhlaWdodDogMTIuNXJlbTtcbiAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICB6LWluZGV4OiAyOyB9XG4gICAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgLmN1c3RvbS1nZm9ybS1zZWxlY3QgLnNlbGVjdC1kcm9wZG93bi5oaWRkZW4ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgLmN1c3RvbS1nZm9ybS1zZWxlY3QgLnNlbGVjdC1kcm9wZG93biBsaSB7XG4gICAgICAgIHBhZGRpbmc6IDAuODEyNXJlbSAxcmVtO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAwLjVyZW07XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIC5jdXN0b20tZ2Zvcm0tc2VsZWN0IC5zZWxlY3QtZHJvcGRvd24gbGkuc2VsZWN0ZWQsIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSAuY3VzdG9tLWdmb3JtLXNlbGVjdCAuc2VsZWN0LWRyb3Bkb3duIGxpOmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgLmN1c3RvbS1nZm9ybS1zZWxlY3QgLnNlbGVjdC1kcm9wZG93biBsaTpmb2N1cyB7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktZGFyay0tdGV4dCk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3JfX2dyZXktbGlnaHQtLWJnKTsgfVxuICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIC5jdXN0b20tZ2Zvcm0tc2VsZWN0IC5zZWxlY3QtZHJvcGRvd246Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgd2lkdGg6IDAuNDM3NXJlbTsgfVxuICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIC5jdXN0b20tZ2Zvcm0tc2VsZWN0IC5zZWxlY3QtZHJvcGRvd246Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2YxZjFmMTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMS41NjI1cmVtOyB9XG4gICAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgLmN1c3RvbS1nZm9ybS1zZWxlY3QgLnNlbGVjdC1kcm9wZG93bjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjY2NjO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxLjU2MjVyZW07IH1cbiAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIHNlbGVjdCB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvc2VsZWN0LWRyb3Bkb3duLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQgMC44NzVyZW07XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgZmllbGRzZXQuZ2ZpZWxkLS1pbnB1dC10eXBlLWNvbnNlbnQge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWNvbnNlbnRfX21hcmdpbi10b3ApICFpbXBvcnRhbnQ7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIGZpZWxkc2V0LmdmaWVsZC0taW5wdXQtdHlwZS1jb25zZW50IC5naW5wdXRfY29udGFpbmVyX2NvbnNlbnQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGdhcDogMC42MjVyZW07XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIGZpZWxkc2V0LmdmaWVsZC0taW5wdXQtdHlwZS1jb25zZW50ID4gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgICAgaGVpZ2h0OiAxLjI1cmVtOyB9XG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIGZpZWxkc2V0LmdmaWVsZC0taW5wdXQtdHlwZS1jb25zZW50IGxhYmVsLFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSBmaWVsZHNldC5nZmllbGQtLWlucHV0LXR5cGUtY29uc2VudCBhIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LW1lZGl1bS0tdGV4dCk7XG4gICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQwcmVtKSB7XG4gICAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgZmllbGRzZXQuZ2ZpZWxkLS1pbnB1dC10eXBlLWNvbnNlbnQ6aGFzKCsgLmdmaWVsZC0tdHlwZS1zdWJtaXQpIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gOTsgfVxuICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIGZpZWxkc2V0LmdmaWVsZC0taW5wdXQtdHlwZS1jb25zZW50ICsgLmdmaWVsZC0tdHlwZS1zdWJtaXQge1xuICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAzOyB9IH1cbiAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIGlucHV0W3R5cGU9J2NoZWNrYm94J10sXG4gIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSBpbnB1dFt0eXBlPSdzdWJtaXQnXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIGlucHV0W3R5cGU9J2NoZWNrYm94J106Zm9jdXMtdmlzaWJsZSxcbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgaW5wdXRbdHlwZT0nc3VibWl0J106Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiAxcHggc29saWQgdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1kYXJrLS10ZXh0KTsgfVxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgaW5wdXRbdHlwZT0nc3VibWl0J10ge1xuICAgIGJvcmRlcjogMDsgfVxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEuMjVyZW07XG4gICAgYXNwZWN0LXJhdGlvOiAxO1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktbWVkaXVtLS1iZyk7IH1cbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgaW5wdXRbdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1kYXJrLS1iZyk7IH1cbiAgICAgIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSBpbnB1dFt0eXBlPSdjaGVja2JveCddOmNoZWNrZWQ6OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDAuNzVyZW07XG4gICAgICAgIGhlaWdodDogMC4zNzVyZW07XG4gICAgICAgIGxlZnQ6IDAuMTg3NXJlbTtcbiAgICAgICAgdG9wOiAwLjI1cmVtO1xuICAgICAgICBib3JkZXI6IHNvbGlkIHZhcigtLWNvbG9yX19ibHVlLWdyZXktZGFyay0tYmcpO1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAwLjEyNXJlbSAwLjEyNXJlbTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgI2ZpZWxkX3N1Ym1pdCB7XG4gICAganVzdGlmeS1jb250ZW50OiB2YXIoLS1zdWJtaXRfX2p1c3RpZnkpO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXN1Ym1pdF9fbWFyZ2luLXRvcCk7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBqdXN0aWZ5LXNlbGY6IHZhcigtLXN1Ym1pdF9fanVzdGlmeS1zZWxmKTtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50OyB9XG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pICNmaWVsZF9zdWJtaXQgaW5wdXQge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAgIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSAjZmllbGRfc3VibWl0IGlucHV0OjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgI2ZpZWxkX3N1Ym1pdDo6YWZ0ZXIge1xuICAgICAgd2lkdGg6IDIuMTI1cmVtO1xuICAgICAgaGVpZ2h0OiAyLjEyNXJlbTtcbiAgICAgIHotaW5kZXg6IDA7IH1cbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkgI2ZpZWxkX3N1Ym1pdDpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIC5nZm9ybS1mb290ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSAuZ2Zvcm0tZm9vdGVyOmhhcyhpbnB1dFt0eXBlPSdzdWJtaXQnXSkge1xuICAgICAgbWFyZ2luLXRvcDogY2xhbXAoMS41cmVtLCAxLjE1Mzg1cmVtICsgMC45NjE1NHZ3LCAxLjg3NXJlbSk7IH1cbiAgICAgIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSAuZ2Zvcm0tZm9vdGVyOmhhcyhpbnB1dFt0eXBlPSdzdWJtaXQnXSk6OmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDIuMTI1cmVtO1xuICAgICAgICBoZWlnaHQ6IDIuMTI1cmVtOyB9XG4gIEBtZWRpYSAoLS1kZXNrdG9wLW1heCkge1xuICAgIC5nZm9ybV93cmFwcGVyIGZvcm06bm90KC5oLXNlYXJjaC1mb3JtKSB7XG4gICAgICAtLXN1Ym1pdF9fbWFyZ2luLXRvcDogMDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkge1xuICAgIC0tc3VibWl0X19qdXN0aWZ5OiBlbmQ7XG4gICAgLS1zdWJtaXRfX21hcmdpbi10b3A6IDA7XG4gICAgLS1zdWJtaXRfX2p1c3RpZnktc2VsZjogZW5kO1xuICAgIC0tY29uc2VudF9fbWFyZ2luLXRvcDogMDsgfSB9XG5cbi8qKlxuICogSW5wdXRcbiAqL1xuLyoqXG4gKiBJbnB1dCBvcHRpb25zXG4gKi9cbmlucHV0W3R5cGU9J2NoZWNrYm94J10sXG5pbnB1dFt0eXBlPSdyYWRpbyddIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLyoqXG4gKiBTdWJtaXQgYnV0dG9uXG4gKi9cbi8qKlxuICogVGV4dGFyZWFcbiAqL1xudGV4dGFyZWEge1xuICByZXNpemU6IHZlcnRpY2FsOyB9XG5cbi8qXG4qKiA8aD5cbioqL1xuOnJvb3Qge1xuICAtLWgxX19tYXJnaW4tdG9wOiBjbGFtcCg2Ljg3NXJlbSwgNi4yOTgwOHJlbSArIDEuNjAyNTZ2dywgNy41cmVtKTtcbiAgLS1oMV9fcF9fbWFyZ2luLXRvcDogMS44NzVyZW07XG4gIC0taDJfX21hcmdpbi10b3A6IDMuNzVyZW07XG4gIC0taDJfX3BfX21hcmdpbi10b3A6IDEuNTYyNXJlbTtcbiAgLS1oM19fbWFyZ2luLXRvcDogMy4xMjVyZW07XG4gIC0taDNfX3BfX21hcmdpbi10b3A6IGNsYW1wKDAuOTM3NXJlbSwgMC44MjIxMnJlbSArIDAuMzIwNTF2dywgMS4wNjI1cmVtKTtcbiAgLS1oNF9fbWFyZ2luLXRvcDogMS44NzVyZW07XG4gIC0taDRfX3BfX21hcmdpbi10b3A6IGNsYW1wKDAuNjI1cmVtLCAwLjUwOTYycmVtICsgMC4zMjA1MXZ3LCAwLjc1cmVtKTtcbiAgLS1oNV9fbWFyZ2luLXRvcDogMS44NzVyZW07XG4gIC0taDVfX3BfX21hcmdpbi10b3A6IGNsYW1wKDAuNjI1cmVtLCAwLjUwOTYycmVtICsgMC4zMjA1MXZ3LCAwLjc1cmVtKTsgfVxuICBAbWVkaWEgKC0tdGFibGV0KSB7XG4gICAgOnJvb3Qge1xuICAgICAgLS1oMV9fcF9fbWFyZ2luLXRvcDogMS40Mzc1cmVtO1xuICAgICAgLS1oMl9fbWFyZ2luLXRvcDogNC4zNzVyZW07XG4gICAgICAtLWgyX19wX19tYXJnaW4tdG9wOiAxLjE4NzVyZW07XG4gICAgICAtLWgzX19tYXJnaW4tdG9wOiAzLjQzNzVyZW07IH0gfVxuXG5oMSxcbi5pcy1zdHlsZS1oMSxcbi5pcy1zdHlsZS1oMS0tZGVjb3IsXG5oMixcbi5pcy1zdHlsZS1oMixcbi5pcy1zdHlsZS1oMi0tZGVjb3IsXG5oMyxcbi5pcy1zdHlsZS1oMyxcbi5pcy1zdHlsZS1oMy0tZGVjb3IsXG5oNCxcbi5pcy1zdHlsZS1oNCxcbmg1LFxuLmlzLXN0eWxlLWg1LFxuaDYsXG4uaXMtc3R5bGUtaDYge1xuICBtYXJnaW46IDA7XG4gIGh5cGhlbnM6IGF1dG87XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250X19oZWFkaW5nKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnRfX2hlYWRpbmctLXdlaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LWRhcmstLXRleHQpOyB9XG4gIGgxIGIsXG4gIGgxIHN0cm9uZyxcbiAgLmlzLXN0eWxlLWgxIGIsXG4gIC5pcy1zdHlsZS1oMSBzdHJvbmcsXG4gIC5pcy1zdHlsZS1oMS0tZGVjb3IgYixcbiAgLmlzLXN0eWxlLWgxLS1kZWNvciBzdHJvbmcsXG4gIGgyIGIsXG4gIGgyIHN0cm9uZyxcbiAgLmlzLXN0eWxlLWgyIGIsXG4gIC5pcy1zdHlsZS1oMiBzdHJvbmcsXG4gIC5pcy1zdHlsZS1oMi0tZGVjb3IgYixcbiAgLmlzLXN0eWxlLWgyLS1kZWNvciBzdHJvbmcsXG4gIGgzIGIsXG4gIGgzIHN0cm9uZyxcbiAgLmlzLXN0eWxlLWgzIGIsXG4gIC5pcy1zdHlsZS1oMyBzdHJvbmcsXG4gIC5pcy1zdHlsZS1oMy0tZGVjb3IgYixcbiAgLmlzLXN0eWxlLWgzLS1kZWNvciBzdHJvbmcsXG4gIGg0IGIsXG4gIGg0IHN0cm9uZyxcbiAgLmlzLXN0eWxlLWg0IGIsXG4gIC5pcy1zdHlsZS1oNCBzdHJvbmcsXG4gIGg1IGIsXG4gIGg1IHN0cm9uZyxcbiAgLmlzLXN0eWxlLWg1IGIsXG4gIC5pcy1zdHlsZS1oNSBzdHJvbmcsXG4gIGg2IGIsXG4gIGg2IHN0cm9uZyxcbiAgLmlzLXN0eWxlLWg2IGIsXG4gIC5pcy1zdHlsZS1oNiBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250X19oZWFkaW5nLS13ZWlnaHQtLWJvbGQpOyB9XG5cbmgxLFxuLmlzLXN0eWxlLWgxIHtcbiAgZm9udC1zaXplOiB2YXIoLS1oMV9fc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1oMV9fbGluZS1oZWlnaHQpO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1oMV9fbWFyZ2luLXRvcCk7IH1cbiAgaDEgKyBwLFxuICAuaXMtc3R5bGUtaDEgKyBwIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1oMV9fcF9fbWFyZ2luLXRvcCk7IH1cblxuLnRleHQtbW9kdWxlX19jb250ZW50LS1sZWZ0OmhhcyhoMSkgKyAudGV4dC1tb2R1bGVfX2NvbnRlbnQtLWJhc2UgPiBwOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0taDFfX3BfX21hcmdpbi10b3ApOyB9XG5cbi5pcy1zdHlsZS1oMS0tZGVjb3Ige1xuICBmb250LXNpemU6IHZhcigtLWgxX19zaXplLS1kZWNvcik7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1oMV9fbGluZS1oZWlnaHQtLWRlY29yKTsgfVxuXG5oMixcbi5pcy1zdHlsZS1oMiB7XG4gIGZvbnQtc2l6ZTogdmFyKC0taDJfX3NpemUpO1xuICBsaW5lLWhlaWdodDogdmFyKC0taDJfX2xpbmUtaGVpZ2h0KTtcbiAgbWFyZ2luLXRvcDogdmFyKC0taDJfX21hcmdpbi10b3ApOyB9XG4gIGgyICsgcCxcbiAgaDIgKyAudGV4dC1tb2R1bGVfX2NvbnRlbnQtLWJhc2UgPiBwOmZpcnN0LWNoaWxkLFxuICAuaXMtc3R5bGUtaDIgKyBwLFxuICAuaXMtc3R5bGUtaDIgKyAudGV4dC1tb2R1bGVfX2NvbnRlbnQtLWJhc2UgPiBwOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1oMl9fcF9fbWFyZ2luLXRvcCk7IH1cblxuLnRleHQtbW9kdWxlX19jb250ZW50LS1sZWZ0OmhhcyhoMikgKyAudGV4dC1tb2R1bGVfX2NvbnRlbnQtLWJhc2UgPiBwOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0taDJfX3BfX21hcmdpbi10b3ApOyB9XG5cbi5pcy1zdHlsZS1oMi0tZGVjb3Ige1xuICBmb250LXNpemU6IHZhcigtLWgyX19zaXplLS1kZWNvcik7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1oMl9fbGluZS1oZWlnaHQtLWRlY29yKTsgfVxuXG5oMyxcbi5pcy1zdHlsZS1oMyB7XG4gIGZvbnQtc2l6ZTogdmFyKC0taDNfX3NpemUpO1xuICBsaW5lLWhlaWdodDogdmFyKC0taDNfX2xpbmUtaGVpZ2h0KTtcbiAgbWFyZ2luLXRvcDogdmFyKC0taDNfX21hcmdpbi10b3ApOyB9XG4gIGgzICsgcCxcbiAgaDMgKyAudGV4dC1tb2R1bGVfX2NvbnRlbnQtLWJhc2UgPiBwOmZpcnN0LWNoaWxkLFxuICAuaXMtc3R5bGUtaDMgKyBwLFxuICAuaXMtc3R5bGUtaDMgKyAudGV4dC1tb2R1bGVfX2NvbnRlbnQtLWJhc2UgPiBwOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1oM19fcF9fbWFyZ2luLXRvcCk7IH1cblxuLnRleHQtbW9kdWxlX19jb250ZW50LS1sZWZ0OmhhcyhoMykgKyAudGV4dC1tb2R1bGVfX2NvbnRlbnQtLWJhc2UgPiBwOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0taDNfX3BfX21hcmdpbi10b3ApOyB9XG5cbi5pcy1zdHlsZS1oMy0tZGVjb3Ige1xuICBmb250LXNpemU6IHZhcigtLWgzX19zaXplLS1kZWNvcik7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1oM19fbGluZS1oZWlnaHQtLWRlY29yKTsgfVxuXG5oNCxcbi5pcy1zdHlsZS1oNCB7XG4gIGZvbnQtc2l6ZTogdmFyKC0taDRfX3NpemUpO1xuICBsaW5lLWhlaWdodDogdmFyKC0taDRfX2xpbmUtaGVpZ2h0KTtcbiAgbWFyZ2luLXRvcDogdmFyKC0taDRfX21hcmdpbi10b3ApO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udF9fY29weSk7IH1cbiAgaDQgKyBwLFxuICBoNCArIC50ZXh0LW1vZHVsZV9fY29udGVudC0tYmFzZSA+IHA6Zmlyc3QtY2hpbGQsXG4gIC5pcy1zdHlsZS1oNCArIHAsXG4gIC5pcy1zdHlsZS1oNCArIC50ZXh0LW1vZHVsZV9fY29udGVudC0tYmFzZSA+IHA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWg0X19wX19tYXJnaW4tdG9wKTsgfVxuXG4udGV4dC1tb2R1bGVfX2NvbnRlbnQtLWxlZnQ6aGFzKGg0KSArIC50ZXh0LW1vZHVsZV9fY29udGVudC0tYmFzZSA+IHA6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1oNF9fcF9fbWFyZ2luLXRvcCk7IH1cblxuaDUsXG4uaXMtc3R5bGUtaDUsXG5oNixcbi5pcy1zdHlsZS1oNiB7XG4gIGZvbnQtc2l6ZTogdmFyKC0taDVfX3NpemUpO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udF9faGVhZGluZy0td2VpZ2h0LS1ib2xkKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWg1X19saW5lLWhlaWdodCk7XG4gIG1hcmdpbi10b3A6IHZhcigtLWg1X19tYXJnaW4tdG9wKTsgfVxuICBoNSArIHAsXG4gIGg1ICsgLnRleHQtbW9kdWxlX19jb250ZW50LS1iYXNlID4gcDpmaXJzdC1jaGlsZCxcbiAgLmlzLXN0eWxlLWg1ICsgcCxcbiAgLmlzLXN0eWxlLWg1ICsgLnRleHQtbW9kdWxlX19jb250ZW50LS1iYXNlID4gcDpmaXJzdC1jaGlsZCxcbiAgaDYgKyBwLFxuICBoNiArIC50ZXh0LW1vZHVsZV9fY29udGVudC0tYmFzZSA+IHA6Zmlyc3QtY2hpbGQsXG4gIC5pcy1zdHlsZS1oNiArIHAsXG4gIC5pcy1zdHlsZS1oNiArIC50ZXh0LW1vZHVsZV9fY29udGVudC0tYmFzZSA+IHA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWg1X19wX19tYXJnaW4tdG9wKTsgfVxuXG4udGV4dC1tb2R1bGVfX2NvbnRlbnQtLWxlZnQ6aGFzKGg1KSArIC50ZXh0LW1vZHVsZV9fY29udGVudC0tYmFzZSA+IHA6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1oNV9fcF9fbWFyZ2luLXRvcCk7IH1cblxuLnRleHQtbW9kdWxlX19jb250ZW50LS1sZWZ0OmhhcyhoNikgKyAudGV4dC1tb2R1bGVfX2NvbnRlbnQtLWJhc2UgPiBwOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0taDVfX3BfX21hcmdpbi10b3ApOyB9XG5cbmhyLndwLWJsb2NrLXNlcGFyYXRvciB7XG4gIC0tc2VwYXJhdG9yX19zaXplLS1oZWlnaHQ6IDAuMTI1cmVtO1xuICAtLXNlcGFyYXRvcl9fc2l6ZS0td2lkdGg6IDVyZW07XG4gIC0tc2VwYXJhdG9yX19zaXplLS1tYXJnaW46IDEuMjVyZW07XG4gIC0tc2VwYXJhdG9yX19jb2xvci0tYmFja2dyb3VuZDogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1tZWRpdW0tLWJnKTtcbiAgaGVpZ2h0OiB2YXIoLS1zZXBhcmF0b3JfX3NpemUtLWhlaWdodCk7XG4gIHdpZHRoOiB2YXIoLS1zZXBhcmF0b3JfX3NpemUtLXdpZHRoKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tc2VwYXJhdG9yX19jb2xvci0tYmFja2dyb3VuZCk7XG4gIG1hcmdpbjogdmFyKC0tc2VwYXJhdG9yX19zaXplLS1tYXJnaW4pIGF1dG8gdmFyKC0tc2VwYXJhdG9yX19zaXplLS1tYXJnaW4pIDA7XG4gIGJvcmRlcjogMDsgfVxuICBoci53cC1ibG9jay1zZXBhcmF0b3IuaXMtc3R5bGUtd2lkZSB7XG4gICAgLS1zZXBhcmF0b3JfX3NpemUtLXdpZHRoOiAxMDAlOyB9XG4gIGhyLndwLWJsb2NrLXNlcGFyYXRvci5pcy1zdHlsZS1kb3RzIHtcbiAgICAtLXNlcGFyYXRvcl9fc2l6ZS0td2lkdGg6IDEwMCU7IH1cbiAgICBoci53cC1ibG9jay1zZXBhcmF0b3IuaXMtc3R5bGUtZG90czo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1zZXBhcmF0b3JfX2NvbG9yLS1iYWNrZ3JvdW5kKTsgfVxuXG4vKipcbiAqIDxodG1sPlxuICovXG4vKipcbiAqIDxpbWc+XG4gKi9cbmltZyB7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogYXV0bzsgfVxuXG4vKipcbiAqIDxhPlxuICovXG5hIHtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAwcztcbiAgY29sb3I6IHZhcigtLWNvbG9yX19saW5rcyk7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGEuZG93bmxvYWQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvcl9fZ3JleS1tZWRpdW0tLXRhYmxlLWxpbmtzKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAwczsgfVxuICAgIGEuZG93bmxvYWQ6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1tZWRpdW0tLWJnKTtcbiAgICAgIG1hc2staW1hZ2U6IHVybCguLi9pbWcvZG93bmxvYWQtZmlsbGVkLnN2Zyk7XG4gICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgd2lkdGg6IDEuNzVyZW07XG4gICAgICBoZWlnaHQ6IDEuNzVyZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDUwJTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tYW5pbWF0aW9uX19kdXJhdGlvbikgdmFyKC0tYW5pbWF0aW9uX190aW1pbmctZnVuY3Rpb24pIDBzOyB9XG4gICAgYS5kb3dubG9hZDpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3JfX2dyZXktbGlnaHQtLWJnKTtcbiAgICAgIGJvdHRvbTogY2FsYyg1MCUgKyAwLjEyNXJlbSk7IH1cbiAgLmpvYnMtb3ZlcnZpZXctbW9kdWxlIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIGE6aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yX19saW5rcy0taG92ZXIpOyB9IH1cbiAgLnRhYmxlcHJlc3MgYTpub3QoW2NsYXNzXSkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3JfX2dyZXktbWVkaXVtLS10YWJsZS1saW5rcyk7IH1cbiAgYTpub3QoW2NsYXNzXSk6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICBAbWVkaWEgKC0tdGFibGV0LW1heCkge1xuICAgIGEuZG93bmxvYWQ6OmFmdGVyIHtcbiAgICAgIGJvdHRvbTogMC44NzVyZW07XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgICBhLmRvd25sb2FkOmhvdmVyOjphZnRlciB7XG4gICAgICBib3R0b206IDFyZW07IH0gfVxuXG4vKipcbiAqIExpc3RzXG4gKi9cbnVsOm5vdChbY2xhc3NdKSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG5cbi50ZXh0LW1vZHVsZV9fY29udGVudC0tYmFzZSA+IHVsLFxudWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgLnRleHQtbW9kdWxlX19jb250ZW50LS1iYXNlID4gdWwgPiBsaSxcbiAgdWwgPiBsaSB7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWZvbnRfX2NvcHktLWxpbmUtaGVpZ2h0KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnRleHQtbW9kdWxlX19jb250ZW50LS1iYXNlID4gdWwgPiBsaTo6YmVmb3JlLFxuICAgIHVsID4gbGk6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIuKAolwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogLTFyZW07XG4gICAgICBsaW5lLWhlaWdodDogdmFyKC0tZm9udF9fY29weS0tbGluZS1oZWlnaHQpOyB9XG5cbi50ZXh0LW1vZHVsZV9fY29udGVudC0tYmFzZSBoMiArIHVsLFxuaDIgKyB1bCB7XG4gIG1hcmdpbi10b3A6IDEuNXJlbTsgfVxuXG4vKipcbiAqIE1haW4gY29udGVudCBjb250YWluZXJcbiAqL1xuLmNvbnRlbnQge1xuICBmbGV4OiAxO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7IH1cbiAgLmNvbnRlbnQgLmVudHJ5X19jb250ZW50ID4gLndwLWJsb2NrLWltYWdlLFxuICAuY29udGVudCAuZW50cnlfX2NvbnRlbnQgPiAud3AtYmxvY2stbWVkaWEtdGV4dCxcbiAgLmNvbnRlbnQgLmVudHJ5X19jb250ZW50ID4gc2VjdGlvbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5jb250ZW50IC5lbnRyeV9fY29udGVudCA+IC53cC1ibG9jay1pbWFnZSBzZWN0aW9uLmFsaWduZnVsbCxcbiAgICAuY29udGVudCAuZW50cnlfX2NvbnRlbnQgPiAud3AtYmxvY2stbWVkaWEtdGV4dCBzZWN0aW9uLmFsaWduZnVsbCxcbiAgICAuY29udGVudCAuZW50cnlfX2NvbnRlbnQgPiBzZWN0aW9uIHNlY3Rpb24uYWxpZ25mdWxsIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbGVmdDogYXV0bzsgfVxuICAgIC5jb250ZW50IC5lbnRyeV9fY29udGVudCA+IC53cC1ibG9jay1pbWFnZSBzZWN0aW9uID4gLmNvbnRhaW5lcixcbiAgICAuY29udGVudCAuZW50cnlfX2NvbnRlbnQgPiAud3AtYmxvY2stbWVkaWEtdGV4dCBzZWN0aW9uID4gLmNvbnRhaW5lcixcbiAgICAuY29udGVudCAuZW50cnlfX2NvbnRlbnQgPiBzZWN0aW9uIHNlY3Rpb24gPiAuY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAuY29udGVudCAuZW50cnlfX2NvbnRlbnQgPiAud3AtYmxvY2stZ3JvdXAgc2VjdGlvbiBzZWN0aW9uLmFsaWduZnVsbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuY29udGVudCAuZW50cnlfX2NvbnRlbnQgPiAud3AtYmxvY2stZ3JvdXAgc2VjdGlvbiBzZWN0aW9uID4gLmNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi8qKlxuICogPG5hdj5cbiAqL1xubmF2IHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbm5hdiBsaSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuICBuYXYgbGk6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG5uYXYgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKipcbiAqIDxwPlxuICovXG5wIHtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWZvbnRfX2NvcHktLWxpbmUtaGVpZ2h0KTtcbiAgbWFyZ2luLXRvcDogdmFyKC0tZm9udF9fY29weS0tbWFyZ2luLXRvcCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWZvbnRfX2NvcHktLW1hcmdpbi1ib3R0b20pOyB9XG4gIHA6aXMoOmhhcygrIC53cC1ibG9jay1idXR0b25zKSkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmRpcmVjdGlvbnMtbWFwLW1vZHVsZV9fY29udGVudC0tbWFwIC5icmxicy1jbXBudC1jb250YWluZXIuYnJsYnMtY21wbnQtY29udGVudC1ibG9ja2VyIC5icmxicy1jbXBudC1jYi1wcmVzZXQtYSB7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMnJlbSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxcmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5kaXJlY3Rpb25zLW1hcC1tb2R1bGVfX2NvbnRlbnQtLW1hcCAuYnJsYnMtY21wbnQtY29udGFpbmVyLmJybGJzLWNtcG50LWNvbnRlbnQtYmxvY2tlciAuYnJsYnMtY21wbnQtY2ItcHJlc2V0LWEgLmJybGJzLWNtcG50LWNiLWJ1dHRvbnMge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbkBtZWRpYSAoLS1tb2JpbGUtbWF4KSB7XG4gIC5icmxicy1jbXBudC1jb250YWluZXIuYnJsYnMtY21wbnQtY29udGVudC1ibG9ja2VyIHtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfSB9XG5cbi5icmVhZGNydW1icyB7XG4gIHBhZGRpbmctdG9wOiBjbGFtcCgyLjgxMjVyZW0sIDEuODMxNzNyZW0gKyAyLjcyNDM2dncsIDMuODc1cmVtKTsgfVxuICAuYnJlYWRjcnVtYnMtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB6LWluZGV4OiAyOyB9XG4gIC5icmVhZGNydW1icyBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuYnJlYWRjcnVtYnMgYTpob3ZlciB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1kYXJrLS10ZXh0KTsgfVxuICAuYnJlYWRjcnVtYnMgc3BhbixcbiAgLmJyZWFkY3J1bWJzIGEge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LW1lZGl1bS0tdGV4dCk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRfX2hlYWRpbmcpO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xMjVyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDMxMjVyZW07IH1cblxuLmZvb3RlciB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42MjVyZW07XG4gIG1hcmdpbi10b3A6IDQuNjg3NXJlbTsgfVxuICAuZm9vdGVyIGxpOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmZvb3RlciAubWV0YV9fbmF2aWdhdGlvbiA+IHVsID4gbGksXG4gIC5mb290ZXJfX25hdmlnYXRpb24gPiBuYXYgPiB1bCA+IGxpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtOyB9XG4gIC5mb290ZXIgLm1ldGFfX25hdmlnYXRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjE4NzVyZW07IH1cbiAgICAuZm9vdGVyIC5tZXRhX19uYXZpZ2F0aW9uLS13cmFwcGVyIHVsIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IH1cbiAgICAgIC5mb290ZXIgLm1ldGFfX25hdmlnYXRpb24tLXdyYXBwZXIgdWwgbGk6aGFzKC5zdWItbWVudSkgYSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGN1cnNvcjogdW5zZXQ7IH1cbiAgICAgICAgLmZvb3RlciAubWV0YV9fbmF2aWdhdGlvbi0td3JhcHBlciB1bCBsaTpoYXMoLnN1Yi1tZW51KSBhOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1tZWRpdW0tLXRleHQpOyB9XG4gICAgICAuZm9vdGVyIC5tZXRhX19uYXZpZ2F0aW9uLS13cmFwcGVyIHVsIGxpOmhhcyguc3ViLW1lbnUpIC5zdWItbWVudSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMC41NjI1cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjMxMjVyZW07IH1cbiAgICAgICAgLmZvb3RlciAubWV0YV9fbmF2aWdhdGlvbi0td3JhcHBlciB1bCBsaTpoYXMoLnN1Yi1tZW51KSAuc3ViLW1lbnUgbGkgYSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgaHlwaGVuczogYXV0bzsgfVxuICAgICAgLmZvb3RlciAubWV0YV9fbmF2aWdhdGlvbi0td3JhcHBlciB1bCBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gYSB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5mb290ZXJfX25hdmlnYXRpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXRvcDogMS4wOTM3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAzLjI1cmVtOyB9XG4gICAgLmZvb3Rlcl9fbmF2aWdhdGlvbjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZykgKiAyICsgdmFyKC0tY29udGVudC13aWR0aCkpO1xuICAgICAgaGVpZ2h0OiAwLjA2MjVyZW07XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LW1lZGl1bS0tYmcpO1xuICAgICAgb3BhY2l0eTogMC41OyB9XG4gICAgLmZvb3Rlcl9fbmF2aWdhdGlvbi0td3JhcHBlciA+IHVsIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IH1cbiAgICAgIC5mb290ZXJfX25hdmlnYXRpb24tLXdyYXBwZXIgPiB1bCBsaSA+IGEge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1tZWRpdW0tLXRleHQpOyB9XG4gICAgICAgIC5mb290ZXJfX25hdmlnYXRpb24tLXdyYXBwZXIgPiB1bCBsaSA+IGE6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LWRhcmstLXRleHQpOyB9XG4gIC5mb290ZXJfX2NvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi44MTI1cmVtOyB9XG4gICAgLmZvb3Rlcl9fY29udGFpbmVyLS1zb2NpYWwtbWVkaWEgLnNvY2lhbC1tZWRpYS1pY29uLW5hdmlnYXRpb24gdWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGdhcDogMS40Mzc1cmVtO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgIC5mb290ZXJfX2NvbnRhaW5lci0tc29jaWFsLW1lZGlhIC5zb2NpYWwtbWVkaWEtaWNvbi1uYXZpZ2F0aW9uIHVsIGxpIGE6aG92ZXIgc3ZnIHBhdGgge1xuICAgICAgICBmaWxsOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LW1lZGl1bS0tYmcpOyB9XG4gICAgICAuZm9vdGVyX19jb250YWluZXItLXNvY2lhbC1tZWRpYSAuc29jaWFsLW1lZGlhLWljb24tbmF2aWdhdGlvbiB1bCBsaSBhOmhvdmVyIHN2ZyBjaXJjbGUge1xuICAgICAgICBzdHJva2U6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktbWVkaXVtLS1iZyk7IH1cbiAgICAuZm9vdGVyX19jb250YWluZXItLWxvZ28sIC5mb290ZXJfX2NvbnRhaW5lci0tY29weXJpZ2h0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhICgtLXRhYmxldCkge1xuICAuZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtcm93OiByZXBlYXQoMiwgYXV0byk7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTIsIDFmcik7XG4gICAgZ2FwOiB2YXIoLS1ncmlkX19nYXApO1xuICAgIG1hcmdpbi10b3A6IDguMDYyNXJlbTsgfVxuICAgIC5mb290ZXIgLm1ldGFfX25hdmlnYXRpb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogdW5zZXQ7IH1cbiAgICAgIC5mb290ZXIgLm1ldGFfX25hdmlnYXRpb24tLXdyYXBwZXIgdWwgbGk6aGFzKC5zdWItbWVudSkgLnN1Yi1tZW51IHtcbiAgICAgICAgZ2FwOiAwOyB9XG4gICAgICAuZm9vdGVyIC5tZXRhX19uYXZpZ2F0aW9uLS13cmFwcGVyIGxpIHtcbiAgICAgICAgd2lkdGg6IDExLjE4NzVyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNTYyNXJlbTsgfVxuICAgICAgICAuZm9vdGVyIC5tZXRhX19uYXZpZ2F0aW9uLS13cmFwcGVyIGxpIC5zdWItbWVudSB7XG4gICAgICAgICAgZ2FwOiAwLjQ2ODc1cmVtOyB9XG4gICAgICAgICAgLmZvb3RlciAubWV0YV9fbmF2aWdhdGlvbi0td3JhcHBlciBsaSAuc3ViLW1lbnUgPiBsaSA+IGEge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjI1cmVtOyB9XG4gICAgLmZvb3Rlcl9fbmF2aWdhdGlvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07XG4gICAgICBncmlkLXJvdzogMjtcbiAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICBwYWRkaW5nLXRvcDogMi4xMjVyZW07IH1cbiAgICAgIC5mb290ZXJfX25hdmlnYXRpb246OmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICAgICAgbGVmdDogNTAlOyB9XG4gICAgICAuZm9vdGVyX19uYXZpZ2F0aW9uIHVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAycmVtO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDsgfVxuICAgIC5mb290ZXJfX2NvbnRhaW5lciB7XG4gICAgICAtLXNvY2lhbGljb25zLXJvd3M6IDY7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzLjYyNXJlbTtcbiAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDExO1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2ljb24td2FsbC1mb290ZXIuc3ZnXCIpIHJpZ2h0IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAxMDAlO1xuICAgICAgbWluLWhlaWdodDogMTguOTM3NXJlbTtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCh2YXIoLS1zb2NpYWxpY29ucy1yb3dzKSwgMi41cmVtKTtcbiAgICAgIHJvdy1nYXA6IDAuODc1cmVtOyB9XG4gICAgICAuZm9vdGVyX19jb250YWluZXItLXNvY2lhbC1tZWRpYSB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogc3ViZ3JpZDtcbiAgICAgICAgZ3JpZC1yb3c6IDMgLyAtMTsgfVxuICAgICAgICAuZm9vdGVyX19jb250YWluZXItLXNvY2lhbC1tZWRpYSAuc29jaWFsLW1lZGlhLWljb24tbmF2aWdhdGlvbiB1bCB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogZW5kO1xuICAgICAgICAgIGdhcDogMC44NzVyZW07IH1cbiAgICAgICAgICAuZm9vdGVyX19jb250YWluZXItLXNvY2lhbC1tZWRpYSAuc29jaWFsLW1lZGlhLWljb24tbmF2aWdhdGlvbiB1bCBsaSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvcl9fc2l0ZS1iYWNrZ3JvdW5kKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDMuMTI1cmVtOyB9IH1cblxuLyoqXG4gKiBIZWFkZXJcbiAqL1xuLmhlYWRlciAuYnJhbmQtbG9nby1tb2R1bGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOyB9XG4gIC5uYXYtaXMtLXZpc2libGUgLmhlYWRlciAuYnJhbmQtbG9nby1tb2R1bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmhlYWRlciAuYnJhbmQtbG9nby1tb2R1bGVfX2NvbnRlbnQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLmhlYWRlciAuYnJhbmQtbG9nby1tb2R1bGVfX2NvbnRlbnQgaW1nIHtcbiAgICAgIHdpZHRoOiBjbGFtcCgxMS4yNXJlbSwgMC4yODg0NnJlbSArIDMwLjQ0ODcydncsIDIzLjEyNXJlbSk7IH1cblxuLm5vdGlmaWNhdGlvbi1tZXNzYWdlX193cmFwcGVyIHtcbiAgYmFja2dyb3VuZDogI2RkZjVmZDtcbiAgYm9yZGVyOiAuMDYyNXJlbSBzb2xpZCAjODNiNGQ3O1xuICBib3JkZXItcmFkaXVzOiAuMzEyNXJlbTtcbiAgY29sb3I6ICMxQTQwNTY7XG4gIG1hcmdpbjogMS4yNXJlbSAwO1xuICBwYWRkaW5nOiAuNjI1cmVtIDEuMjVyZW07XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gMWZyO1xuICBncmlkLWdhcDogMS4yNXJlbTsgfVxuICAubm90aWZpY2F0aW9uLW1lc3NhZ2VfX3dyYXBwZXIgc3ZnIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWluLWhlaWdodDogMi41cmVtO1xuICAgIG1heC1oZWlnaHQ6IDVyZW07IH1cblxuLm5vdGlmaWNhdGlvbi1tZXNzYWdlX190ZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbkBtZWRpYSAoLS1tb2JpbGUpIHtcbiAgLm5vdGlmaWNhdGlvbi1tZXNzYWdlX193cmFwcGVyIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyOyB9IH1cblxuLyoqXG4gKiBIZWFkZXJcbiAqL1xuLmhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3JfX3doaXRlLS1iZyk7XG4gIG1pbi1oZWlnaHQ6IDUuNjg3NXJlbTtcbiAgcGFkZGluZy10b3A6IDEuMDYyNXJlbTtcbiAgei1pbmRleDogNDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS1hbmltYXRpb25fX2R1cmF0aW9uKSB2YXIoLS1hbmltYXRpb25fX3RpbWluZy1mdW5jdGlvbikgMHM7IH1cbiAgLm5hdi1pcy0tdmlzaWJsZSAuaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LWRhcmstLWJnKTtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG1heC1oZWlnaHQ6IDIwMHZoOyB9XG4gICAgQHN1cHBvcnRzIChoZWlnaHQ6IDEwMHN2aCkge1xuICAgICAgLm5hdi1pcy0tdmlzaWJsZSAuaGVhZGVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDBzdmg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDIwMHN2aDtcbiAgICAgICAgb3ZlcmZsb3c6IHNjcm9sbDsgfSB9XG4gIC5oZWFkZXI6aGFzKC5zdWJuYXYtaXMtLXZpc2libGUpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LW1lZGl1bS0tYmcpOyB9XG4gIC5oZWFkZXJfX2NvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmhlYWRlcl9fY29udGFpbmVyLS1sb2dvLS1tb2JpbGUge1xuICAgICAgZmxleDogMCAwIDMuMTI1cmVtO1xuICAgICAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDEwMTsgfVxuICAgICAgLmhlYWRlcl9fY29udGFpbmVyLS1sb2dvLS1tb2JpbGUgPiBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDsgfVxuICAgICAgICAuaGVhZGVyX19jb250YWluZXItLWxvZ28tLW1vYmlsZSA+IGltZy5kZWZhdWx0IHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tYW5pbWF0aW9uX19kdXJhdGlvbikgdmFyKC0tYW5pbWF0aW9uX190aW1pbmctZnVuY3Rpb24pIDBzOyB9XG4gICAgICAgIC5oZWFkZXJfX2NvbnRhaW5lci0tbG9nby0tbW9iaWxlID4gaW1nLm5lZ2F0aXZlIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAwcztcbiAgICAgICAgICBvcGFjaXR5OiAwOyB9XG4gICAgICAuaGVhZGVyX19jb250YWluZXItLWxvZ28tLW1vYmlsZS5hY3RpdmUgPiBpbWcubmVnYXRpdmUge1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAuaGVhZGVyX19jb250YWluZXItLWxvZ28tLW1vYmlsZS5hY3RpdmUgPiBpbWcuZGVmYXVsdCB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7IH1cbiAgICAuaGVhZGVyX19jb250YWluZXItLW5hdmlnYXRpb24ge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgY29sdW1uLWdhcDogMXJlbTsgfVxuICAgICAgLmhlYWRlcl9fY29udGFpbmVyLS1uYXZpZ2F0aW9uIC50b2dnbGUtbmF2LS1zZWFyY2gge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGhlaWdodDogMy4xMjVyZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGdhcDogMS4zMTI1cmVtO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKCh2YXIoLS1jb250YWluZXItcGFkZGluZykgKiAyKSArIHZhcigtLWNvbnRlbnQtd2lkdGgpKTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1jb250YWluZXItcGFkZGluZyk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWNvbnRhaW5lci1wYWRkaW5nKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuaGVhZGVyX19jb250YWluZXItLXNlYXJjaCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tbGVmdDogNC4xMjVyZW07XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICAgIC5uYXYtaXMtLXZpc2libGUgLmhlYWRlcl9fY29udGFpbmVyLS1zZWFyY2gge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgICAgIC5uYXYtaXMtLXZpc2libGUgLmhlYWRlcl9fY29udGFpbmVyLS1zZWFyY2ggLnNlYXJjaC1pY29uIHtcbiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgICAuaGVhZGVyX19jb250YWluZXItLXNlYXJjaC5hY3RpdmUgLmgtc2VhcmNoLWZvcm0ge1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgICAgICAgYW5pbWF0aW9uOiBmbHlpbiAwLjNzIGVhc2Utb3V0OyB9XG4gICAgICAgIC5oZWFkZXJfX2NvbnRhaW5lci0tc2VhcmNoLmFjdGl2ZSAuaC1zZWFyY2gtZm9ybSA+IGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICAgIHotaW5kZXg6IDk5OTk7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAuc3VibmF2LWlzLS12aXNpYmxlIC5oZWFkZXJfX2NvbnRhaW5lci0tc2VhcmNoIC5oLXNlYXJjaC1mb3JtID4gaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwLjA2MjVyZW0gc29saWQgdmFyKC0tY29sb3JfX3doaXRlLS1iZyk7IH1cbiAgICAgIC5oZWFkZXJfX2NvbnRhaW5lci0tc2VhcmNoIC5zZWFyY2gtaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwOyB9XG4gICAgICAgIC5oZWFkZXJfX2NvbnRhaW5lci0tc2VhcmNoIC5zZWFyY2gtaWNvbiAuc2VhcmNoIHtcbiAgICAgICAgICB3aWR0aDogMS4zMTI1cmVtO1xuICAgICAgICAgIGhlaWdodDogMS4zNzVyZW07XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9pY29uLXNlYXJjaC5zdmcpO1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgIGZsZXgtc2hyaW5rOiAwOyB9XG4gICAgICAgIC5oZWFkZXJfX2NvbnRhaW5lci0tc2VhcmNoIC5zZWFyY2gtaWNvbiAuc2VhcmNoLXRleHQge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250X19jb3B5KTtcbiAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udF9fY29weS0td2VpZ2h0KTtcbiAgICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnRfX2NvcHktLXNpemUpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1mb250X19jb3B5LS1saW5lLWhlaWdodCk7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1hbmltYXRpb25fX2R1cmF0aW9uKSB2YXIoLS1hbmltYXRpb25fX3RpbWluZy1mdW5jdGlvbikgMHM7IH1cbiAgICAgIC5oZWFkZXJfX2NvbnRhaW5lci0tc2VhcmNoIC5oLXNlYXJjaC1mb3JtIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yX193aGl0ZS0tYmcpO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgICAgIC5oZWFkZXJfX2NvbnRhaW5lci0tc2VhcmNoIC5oLXNlYXJjaC1mb3JtIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgaGVpZ2h0OiAyLjI1cmVtO1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvcl9fd2hpdGUtLWJnKTtcbiAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDAuMDYyNXJlbSBzb2xpZCB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LW1lZGl1bS0tYmcpO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgICAgICAgIHdpZHRoOiAxMy4xODc1cmVtO1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgICAgLmhlYWRlcl9fY29udGFpbmVyLS1zZWFyY2ggLmgtc2VhcmNoLWZvcm0gaW5wdXRbdHlwZT1cInRleHRcIl06OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvcl9fd2hpdGUtLWJnKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgICAgLmhlYWRlcl9fY29udGFpbmVyLS1zZWFyY2ggLmgtc2VhcmNoLWZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRfX2NvcHkpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250X19jb3B5LS13ZWlnaHQpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udF9fY29weS0tc2l6ZSk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWZvbnRfX2NvcHktLWxpbmUtaGVpZ2h0KTtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3JfX3doaXRlLS1iZyk7XG4gICAgICAgICAgd2lkdGg6IDEuNzVyZW07XG4gICAgICAgICAgaGVpZ2h0OiAxLjc1cmVtO1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgICAgICAgIHRleHQtaW5kZW50OiAtOTk5OTk5cHg7XG4gICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgICAgICAuaGVhZGVyX19jb250YWluZXItLXNlYXJjaCAuaC1zZWFyY2gtZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdOjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgLmhlYWRlcl9fY29udGFpbmVyLS1zZWFyY2ggLmgtc2VhcmNoLWZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yX193aGl0ZS0tYmcpO1xuICAgICAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgICAgIC5oZWFkZXJfX2NvbnRhaW5lci0tc2VhcmNoIC5oLXNlYXJjaC1mb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMtdmlzaWJsZTo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMDsgfVxuICBAbWVkaWEgKC0td2lkZS1tYXgpIHtcbiAgICAuaGVhZGVyX19jb250YWluZXItLWxvZ28tLWRlc2t0b3Age1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5oZWFkZXJfX2NvbnRhaW5lci0tbGFuZ3VhZ2UtbGVnYWwge1xuICAgICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgICBvcmRlcjogMjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1jb250YWluZXItcGFkZGluZykgKiAyKTtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAuaGVhZGVyX19jb250YWluZXItLWxhbmd1YWdlLXN3aXRjaGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDAuMDYyNXJlbSBzb2xpZCByZ2JhKHZhcigtLWNvbG9yX193aGl0ZS0tcmdiKSwgMC4yKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjYyNXJlbTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tYW5pbWF0aW9uX19kdXJhdGlvbikgdmFyKC0tYW5pbWF0aW9uX190aW1pbmctZnVuY3Rpb24pIDBzLCBib3JkZXItYm90dG9tLWNvbG9yIHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAwczsgfVxuICAgICAgLnN1Ym5hdi1pcy0tdmlzaWJsZSAuaGVhZGVyX19jb250YWluZXItLWxhbmd1YWdlLXN3aXRjaGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSh2YXIoLS1jb2xvcl9fd2hpdGUtLXJnYiksIDAuNDQpOyB9XG4gICAgICAuaGVhZGVyX19jb250YWluZXItLWxhbmd1YWdlLXN3aXRjaGVyID4gdWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gICAgICAgIC5oZWFkZXJfX2NvbnRhaW5lci0tbGFuZ3VhZ2Utc3dpdGNoZXIgPiB1bCBsaSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cbiAgICAgICAgICAuaGVhZGVyX19jb250YWluZXItLWxhbmd1YWdlLXN3aXRjaGVyID4gdWwgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgICAgICAuaGVhZGVyX19jb250YWluZXItLWxhbmd1YWdlLXN3aXRjaGVyID4gdWwgbGkgPiBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgICAgICBjb2xvcjogcmdiYSh2YXIoLS1jb2xvcl9fd2hpdGUtLXJnYiksIDAuMyk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1hbmltYXRpb25fX2R1cmF0aW9uKSB2YXIoLS1hbmltYXRpb25fX3RpbWluZy1mdW5jdGlvbikgMHM7IH1cbiAgICAgICAgICAuaGVhZGVyX19jb250YWluZXItLWxhbmd1YWdlLXN3aXRjaGVyID4gdWwgbGkud3BtbC1scy1jdXJyZW50LWxhbmd1YWdlID4gYSxcbiAgICAgICAgICAuaGVhZGVyX19jb250YWluZXItLWxhbmd1YWdlLXN3aXRjaGVyID4gdWwgbGkud3BtbC1scy1jdXJyZW50LWxhbmd1YWdlIC53cG1sLWxzLW5hdGl2ZSB7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSh2YXIoLS1jb2xvcl9fd2hpdGUtLXJnYiksIDEpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnRfX2hlYWRpbmctLXdlaWdodC0tYm9sZCk7IH1cbiAgICAgICAgICAuaGVhZGVyX19jb250YWluZXItLWxhbmd1YWdlLXN3aXRjaGVyID4gdWwgbGk6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIG9yZGVyOiAyOyB9XG4gICAgICAgICAgLmhlYWRlcl9fY29udGFpbmVyLS1sYW5ndWFnZS1zd2l0Y2hlciA+IHVsIGxpOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBvcmRlcjogMzsgfVxuICAgIC5oZWFkZXJfX2NvbnRhaW5lci0tbGVnYWwge1xuICAgICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAgIC5oZWFkZXJfX2NvbnRhaW5lci0tbGVnYWwgPiBuYXYgPiB1bCB7XG4gICAgICAgIGNvbHVtbnM6IDI7IH1cbiAgICAgICAgLmhlYWRlcl9fY29udGFpbmVyLS1sZWdhbCA+IG5hdiA+IHVsID4gbGkgPiBhIHtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1tZWRpdW0tLXRleHQpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tYW5pbWF0aW9uX19kdXJhdGlvbikgdmFyKC0tYW5pbWF0aW9uX190aW1pbmctZnVuY3Rpb24pIDBzOyB9XG4gICAgICAgICAgLnN1Ym5hdi1pcy0tdmlzaWJsZSAuaGVhZGVyX19jb250YWluZXItLWxlZ2FsID4gbmF2ID4gdWwgPiBsaSA+IGEge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yX19ncmV5LWxpZ2h0LS10ZXh0KTsgfSB9XG4gIEBtZWRpYSAoLS13aWRlKSB7XG4gICAgLmhlYWRlciB7XG4gICAgICBwYWRkaW5nLXRvcDogMS44MTI1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDIuNXJlbTtcbiAgICAgIGhlaWdodDogOS4yNXJlbTsgfVxuICAgICAgLmhlYWRlcl9fY29udGFpbmVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAgIC5oZWFkZXJfX2NvbnRhaW5lciAubmF2aWdhdGlvbi10b2dnbGUsIC5oZWFkZXJfX2NvbnRhaW5lci0tbGVnYWwge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgLmhlYWRlcl9fY29udGFpbmVyLS1uYXZpZ2F0aW9uIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAgIC5oZWFkZXJfX2NvbnRhaW5lci0tbG9nby0tbW9iaWxlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIC5oZWFkZXJfX2NvbnRhaW5lci0tbG9nby0tZGVza3RvcCB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHotaW5kZXg6IDk3OyB9XG4gICAgICAgICAgLmhlYWRlcl9fY29udGFpbmVyLS1sb2dvLS1kZXNrdG9wID4gaW1nIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAuNjI1cmVtOyB9XG4gICAgICAgIC5oZWFkZXJfX2NvbnRhaW5lciAudG9nZ2xlLW5hdi0tc2VhcmNoIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGluaXRpYWw7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogaW5pdGlhbDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICAgIHdpZHRoOiAxLjYyNXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDJyZW07XG4gICAgICAgICAgdG9wOiAzLjM3NXJlbTtcbiAgICAgICAgICB6LWluZGV4OiAxMDA7IH1cbiAgICAgICAgICAuaGVhZGVyX19jb250YWluZXIgLnRvZ2dsZS1uYXYtLXNlYXJjaC5hY3RpdmUgKyAubWFpbi1uYXZpZ2F0aW9uID4gZGl2IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICAgICAgLmhlYWRlcl9fY29udGFpbmVyLS1sYW5ndWFnZS1sZWdhbCB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDMuNjg3NXJlbTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzLjgxMjVyZW07XG4gICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgdG9wOiAwOyB9XG4gICAgICAgIC5oZWFkZXJfX2NvbnRhaW5lci0tbGFuZ3VhZ2Utc3dpdGNoZXItLXdyYXBwZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAwczsgfVxuICAgICAgICAgIC5zZWFyY2gtaXMtLXZpc2libGUgLmhlYWRlcl9fY29udGFpbmVyLS1sYW5ndWFnZS1zd2l0Y2hlci0td3JhcHBlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgICAgIC5oZWFkZXJfX2NvbnRhaW5lci0tbGFuZ3VhZ2Utc3dpdGNoZXIge1xuICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tYW5pbWF0aW9uX19kdXJhdGlvbikgdmFyKC0tYW5pbWF0aW9uX190aW1pbmctZnVuY3Rpb24pIDBzOyB9XG4gICAgICAgICAgLmhlYWRlcl9fY29udGFpbmVyLS1sYW5ndWFnZS1zd2l0Y2hlciA+IHVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAgICAgICAgICAgLmhlYWRlcl9fY29udGFpbmVyLS1sYW5ndWFnZS1zd2l0Y2hlciA+IHVsIGxpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cbiAgICAgICAgICAgICAgLmhlYWRlcl9fY29udGFpbmVyLS1sYW5ndWFnZS1zd2l0Y2hlciA+IHVsIGxpOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgICAgICAgICAuaGVhZGVyX19jb250YWluZXItLWxhbmd1YWdlLXN3aXRjaGVyID4gdWwgbGkud3BtbC1scy1jdXJyZW50LWxhbmd1YWdlID4gYSxcbiAgICAgICAgICAgICAgLmhlYWRlcl9fY29udGFpbmVyLS1sYW5ndWFnZS1zd2l0Y2hlciA+IHVsIGxpLndwbWwtbHMtY3VycmVudC1sYW5ndWFnZSAud3BtbC1scy1uYXRpdmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LWRhcmstLXRleHQpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250X19oZWFkaW5nLS13ZWlnaHQtLWJvbGQpOyB9XG4gICAgICAgICAgICAgIC5oZWFkZXJfX2NvbnRhaW5lci0tbGFuZ3VhZ2Utc3dpdGNoZXIgPiB1bCBsaSA+IGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LW1lZGl1bS0tdGV4dCk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgICAgICAuaGVhZGVyX19jb250YWluZXItLXNlYXJjaCB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgIGFuaW1hdGlvbjogbm9uZTsgfVxuICAgICAgICAgIC5oZWFkZXJfX2NvbnRhaW5lci0tc2VhcmNoIC5oLXNlYXJjaC1mb3JtIHtcbiAgICAgICAgICAgIGNvbHVtbi1nYXA6IDAuNzVyZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS1hbmltYXRpb25fX2R1cmF0aW9uKSB2YXIoLS1hbmltYXRpb25fX3RpbWluZy1mdW5jdGlvbikgMHM7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAwLjVyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogMC41cmVtIDA7IH1cbiAgICAgICAgICAgIC5oZWFkZXJfX2NvbnRhaW5lci0tc2VhcmNoIC5oLXNlYXJjaC1mb3JtIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktbWVkaXVtLS10ZXh0KTtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMC4wNjI1cmVtIHNvbGlkIHZhcigtLWNvbG9yX19ncmV5LWxpZ2h0LS1iZyk7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAwcztcbiAgICAgICAgICAgICAgcGFkZGluZzogMC4yNXJlbSAwOyB9XG4gICAgICAgICAgICAgIC5oZWFkZXJfX2NvbnRhaW5lci0tc2VhcmNoIC5oLXNlYXJjaC1mb3JtIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktbWVkaXVtLS10ZXh0KTsgfVxuICAgICAgICAgICAgLmhlYWRlcl9fY29udGFpbmVyLS1zZWFyY2ggLmgtc2VhcmNoLWZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgICAgICAgLmhlYWRlcl9fY29udGFpbmVyLS1zZWFyY2ggLmgtc2VhcmNoLWZvcm0gLnNlYXJjaC1pY29uIHtcbiAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgcGFkZGluZzogMC4zNzVyZW0gMC4yNXJlbSAwLjI1cmVtIDAuMTI1cmVtOyB9XG4gICAgICAgICAgICAgIC5oZWFkZXJfX2NvbnRhaW5lci0tc2VhcmNoIC5oLXNlYXJjaC1mb3JtIC5zZWFyY2gtaWNvbiAuc2VhcmNoIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMS4zNzVyZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxLjM3NXJlbTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2ljb24tc2VhcmNoLWRhcmsuc3ZnKTsgfVxuICAgICAgICAgIC5oZWFkZXJfX2NvbnRhaW5lci0tc2VhcmNoLmFjdGl2ZSAuaC1zZWFyY2gtZm9ybSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvcl9fd2hpdGUtLWJnKTtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDk7IH1cbiAgICAgICAgICAgIC5oZWFkZXJfX2NvbnRhaW5lci0tc2VhcmNoLmFjdGl2ZSAuaC1zZWFyY2gtZm9ybSBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICAgICAgICAgIHdpZHRoOiBjbGFtcCg3LjVyZW0sIC0xNC4zNzVyZW0gKyAyOS4xNjY2N3Z3LCAxMS44NzVyZW0pO1xuICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZTogMC4yNXJlbTsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbHlpbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDApIHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMSkgdHJhbnNsYXRlWSgtNTAlKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmx5aW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKSB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpIHRyYW5zbGF0ZVkoLTUwJSk7IH0gfVxuXG4vKipcbiAqIExvZ29cbiAqXG4gKiBhLmN1c3RvbS1sb2dvLWxpbmtcbiAqICAgaW1nLmN1c3RvbS1sb2dvXG4gKi9cbi5tZWRpYS1wcm92aWRlcl9fd3JhcHBlciB7XG4gIG1hcmdpbjogMy4xMjVyZW0gMDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIGdyaWQtZ2FwOiAzLjEyNXJlbSB2YXIoLS1ncmlkX19nYXApOyB9XG5cbi5tZWRpYS1wcm92aWRlcl9fbGlzdCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIGdyaWQtZ2FwOiAxLjg3NXJlbSB2YXIoLS1ncmlkX19nYXApOyB9XG5cbi5tZWRpYS1wcm92aWRlcl9faXRlbSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICBncmlkLWdhcDogdmFyKC0tZ3JpZF9fZ2FwKTsgfVxuXG4ubWVkaWEtcHJvdmlkZXJfX2ltYWdlIHtcbiAgbWF4LWhlaWdodDogOS4zNzVyZW07XG4gIG1heC13aWR0aDogOS4zNzVyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLm1lZGlhLXByb3ZpZGVyX19pbWFnZSBpbWcge1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5tZWRpYS1wcm92aWRlcl9fZGVzY3JpcHRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIG1heC13aWR0aDogMTguNzVyZW07IH1cblxuLm1lZGlhLXByb3ZpZGVyX19hdXRob3Ige1xuICBtYXJnaW4tdG9wOiAwLjMxMjVyZW07XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbkBtZWRpYSAoLS1tb2JpbGUpIHtcbiAgLm1lZGlhLXByb3ZpZGVyX19pdGVtIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyOyB9IH1cblxuQG1lZGlhICgtLXRhYmxldCkge1xuICAubWVkaWEtcHJvdmlkZXJfX2xpc3Qge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICBncmlkLWdhcDogdmFyKC0tZ3JpZF9fZ2FwKTsgfSB9XG5cbkBtZWRpYSAoLS13aWRlKSB7XG4gIC5tZWRpYS1wcm92aWRlcl9fbGlzdCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjsgfSB9XG5cbi8qKlxuICogRm9vdGVyIG5hdmlnYXRpb25cbiAqXG4gKiBuYXZcbiAqIC0gdWxcbiAqIC0tIGxpXG4gKiAtLS0gYVxuICovXG4uZm9vdGVyLW5hdmlnYXRpb24gbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXG4gKiBIZWFkZXIgbmF2aWdhdGlvblxuICpcbiAqIG5hdlxuICogLSB1bFxuICogLS0gbGlcbiAqIC0tLSBhXG4gKiAtLS0gdWxcbiAqIC0tLS0g4oCmXG4gKi9cbi5tYWluLW5hdmlnYXRpb24gdWwgbGkgYSBzcGFuIHtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnRfX2hlYWRpbmctLXdlaWdodCk7IH1cblxuQG1lZGlhICgtLXdpZGUtbWF4KSB7XG4gIC5tYWluLW5hdmlnYXRpb24ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgdG9wOiA0LjYyNXJlbTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogLTEwMCU7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDUuMjVyZW0pO1xuICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDUuMjVyZW0pO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGxlZnQgMC4zcztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LWRhcmstLWJnKTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWNvbnRhaW5lci1wYWRkaW5nKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1jb250YWluZXItcGFkZGluZyk7XG4gICAgcGFkZGluZy10b3A6IDAuNjg3NXJlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tYW5pbWF0aW9uX19kdXJhdGlvbikgdmFyKC0tYW5pbWF0aW9uX190aW1pbmctZnVuY3Rpb24pIDBzO1xuICAgIC8qIFJlbmRlcmVkIGJ5IEpTIGFzIHRoZSBmaXJzdCBjaGlsZCBvZiB0aGUgYWN0aXZlIHN1Yi1tZW51IHNvIGl0IHNjcm9sbHMgd2l0aCB0aGUgaXRlbXMgKi9cbiAgICAvKiBTaG93IG1vYmlsZSBtZW51IHRyaWdnZXIgYW5kIGJhY2sgYnV0dG9uICovIH1cbiAgICBAc3VwcG9ydHMgKGhlaWdodDogMTAwc3ZoKSB7XG4gICAgICAubWFpbi1uYXZpZ2F0aW9uIHtcbiAgICAgICAgaGVpZ2h0OiAxMDBzdmg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDIwMHN2aDsgfSB9XG4gICAgLm1haW4tbmF2aWdhdGlvbjpub3QoI21haW4tbmF2aWdhdGlvbikge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICB0b3A6IDQuNzVyZW07IH1cbiAgICAgIC5tYWluLW5hdmlnYXRpb246bm90KCNtYWluLW5hdmlnYXRpb24pOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDIuNjI1cmVtOyB9XG4gICAgLm1haW4tbmF2aWdhdGlvbiAjYnJlYWRjcnVtYnMge1xuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRfX2hlYWRpbmcpO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yX19ncmV5LWxpZ2h0LS10ZXh0KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAtMC4yNXJlbTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjY4NzVyZW07XG4gICAgICB6LWluZGV4OiA5OTsgfVxuICAgICAgLm1haW4tbmF2aWdhdGlvbiAjYnJlYWRjcnVtYnMgPiAuYnJlYWRjcnVtYi1pdGVtLnRvcCwgLm1haW4tbmF2aWdhdGlvbiAjYnJlYWRjcnVtYnMgPiAuYnJlYWRjcnVtYi1pdGVtLnN1YiB7XG4gICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjQzNzVyZW07IH1cbiAgICAgIC5tYWluLW5hdmlnYXRpb24gI2JyZWFkY3J1bWJzID4gLmJyZWFkY3J1bWItaXRlbS50b3Age1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udF9faGVhZGluZy0td2VpZ2h0LS1ib2xkKTsgfVxuICAgICAgLm1haW4tbmF2aWdhdGlvbiAjYnJlYWRjcnVtYnM6aGFzKC5zdWIpIC50b3Age1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udF9faGVhZGluZy0td2VpZ2h0KTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDJjaDsgfVxuICAgICAgICAubWFpbi1uYXZpZ2F0aW9uICNicmVhZGNydW1iczpoYXMoLnN1YikgLnRvcDo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwifFwiO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogLTEuNzVjaDtcbiAgICAgICAgICB3aWR0aDogMWNoOyB9XG4gICAgICAubWFpbi1uYXZpZ2F0aW9uICNicmVhZGNydW1iczpoYXMoLnN1YikgLnN1YiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250X19oZWFkaW5nLS13ZWlnaHQtLWJvbGQpOyB9XG4gICAgLm1haW4tbmF2aWdhdGlvbiA+IG5hdiB7XG4gICAgICBvcmRlcjogMTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMy40Mzc1cmVtOyB9XG4gICAgLm1haW4tbmF2aWdhdGlvbiAubW9iaWxlLW1lbnUtdHJpZ2dlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLm5hdi1pcy0tdmlzaWJsZSAubWFpbi1uYXZpZ2F0aW9uIHtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgICAubWFpbi1uYXZpZ2F0aW9uOmhhcyguc3VibmF2LWlzLS12aXNpYmxlKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LW1lZGl1bS0tYmcpOyB9XG4gICAgLm1haW4tbmF2aWdhdGlvbiB1bCB7XG4gICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG4gICAgICAvKiBJRSBhbmQgRWRnZSAqL1xuICAgICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAgICAgLyogRmlyZWZveCAqLyB9XG4gICAgICAubWFpbi1uYXZpZ2F0aW9uIHVsOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5tYWluLW5hdmlnYXRpb24gdWw6aGFzKD4gbGkuc3VibmF2LWlzLS12aXNpYmxlKSB7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gICAgICAubWFpbi1uYXZpZ2F0aW9uIHVsIGxpLm1vYmlsZS1tZW51LWJhY2staXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBoZWlnaHQ6IDMuMjVyZW07IH1cbiAgICAgICAgLm1haW4tbmF2aWdhdGlvbiB1bCBsaS5tb2JpbGUtbWVudS1iYWNrLWl0ZW0gPiBhIHtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3JfX3doaXRlLS10ZXh0KTtcbiAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udF9fY29weSk7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udF9fY29weS0td2VpZ2h0KTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wODMxM3JlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4wNjI1cmVtO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMi4zNzVyZW07XG4gICAgICAgICAgcGFkZGluZy10b3A6IDAuMzEyNXJlbTtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgICAgICAgIC5tYWluLW5hdmlnYXRpb24gdWwgbGkubW9iaWxlLW1lbnUtYmFjay1pdGVtID4gYTo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvc3VibWVudS1iYWNrLnN2Zyk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMS42MjVyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDEuNjI1cmVtO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRvcDogMDsgfVxuICAgIC5tYWluLW5hdmlnYXRpb24gPiB1bCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAwcztcbiAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwc3ZoIC0gMTguNzVyZW0pO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5tYWluLW5hdmlnYXRpb24gPiB1bCA+IGxpIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgaGVpZ2h0OiAzLjY4NzVyZW07XG4gICAgICAgIGJvcmRlci1ib3R0b206IDAuMDYyNXJlbSBzb2xpZCByZ2JhKHZhcigtLWNvbG9yX19ibHVlLWdyZXktbWVkaXVtLS1iZy0tcmdiKSwgMC41KTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIC8qIEhpZ2hsaWdodCBMVkwgMSAqL1xuICAgICAgICAvKiBMVkwgMiAqLyB9XG4gICAgICAgIC5tYWluLW5hdmlnYXRpb24gPiB1bCA+IGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItdG9wOiAwLjA2MjVyZW0gc29saWQgcmdiYSh2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LW1lZGl1bS0tYmctLXJnYiksIDAuNSk7IH1cbiAgICAgICAgLm1haW4tbmF2aWdhdGlvbiA+IHVsID4gbGkgPiBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3JfX2dyZXktbGlnaHQtLXRleHQpO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250X19oZWFkaW5nKTtcbiAgICAgICAgICBmb250LXNpemU6IDEuNTYyNXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udF9faGVhZGluZy0td2VpZ2h0LS1ib2xkKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMi4yNXJlbTtcbiAgICAgICAgICBwYWRkaW5nOiAwLjY4NzVyZW0gMCAwLjY1NjI1cmVtO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgICAgICAubWFpbi1uYXZpZ2F0aW9uID4gdWwgPiBsaSA+IGEgc3BhbiB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udF9faGVhZGluZy0td2VpZ2h0KTsgfVxuICAgICAgICAubWFpbi1uYXZpZ2F0aW9uID4gdWwgPiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCI+XCI7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yX19ncmV5LWxpZ2h0LS10ZXh0KTtcbiAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udF9fY29weSk7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnRfX2NvcHktLXdlaWdodCk7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMTA0MzdyZW07XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRvcDogLTIuNzVyZW07XG4gICAgICAgICAgbGVmdDogY2FsYygxMDAlIC0gMXJlbSk7IH1cbiAgICAgICAgLm1haW4tbmF2aWdhdGlvbiA+IHVsID4gbGkuY3VycmVudC1tZW51LWl0ZW0gPiBhLCAubWFpbi1uYXZpZ2F0aW9uID4gdWwgPiBsaS5jdXJyZW50LW1lbnUtYW5jZXN0b3IgPiBhLCAubWFpbi1uYXZpZ2F0aW9uID4gdWwgPiBsaS5jdXJyZW50X3BhZ2VfaXRlbSA+IGEsIC5tYWluLW5hdmlnYXRpb24gPiB1bCA+IGxpLmN1cnJlbnQtcGFnZS1wYXJlbnQgPiBhLCAubWFpbi1uYXZpZ2F0aW9uID4gdWwgPiBsaS5jdXJyZW50LXBhZ2UtYW5jZXN0b3IgPiBhIHtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3JfX3doaXRlLS10ZXh0KTsgfVxuICAgICAgICAubWFpbi1uYXZpZ2F0aW9uID4gdWwgPiBsaS5jdXJyZW50LW1lbnUtaXRlbTo6YWZ0ZXIsIC5tYWluLW5hdmlnYXRpb24gPiB1bCA+IGxpLmN1cnJlbnQtbWVudS1hbmNlc3Rvcjo6YWZ0ZXIsIC5tYWluLW5hdmlnYXRpb24gPiB1bCA+IGxpLmN1cnJlbnRfcGFnZV9pdGVtOjphZnRlciwgLm1haW4tbmF2aWdhdGlvbiA+IHVsID4gbGkuY3VycmVudC1wYWdlLXBhcmVudDo6YWZ0ZXIsIC5tYWluLW5hdmlnYXRpb24gPiB1bCA+IGxpLmN1cnJlbnQtcGFnZS1hbmNlc3Rvcjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvcl9fd2hpdGUtLWJnKTsgfVxuICAgICAgICAubWFpbi1uYXZpZ2F0aW9uID4gdWwgPiBsaS5zdWJuYXYtaXMtLXZpc2libGUgPiAuc3ViLW1lbnUge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgdmFyKC0tYW5pbWF0aW9uX19kdXJhdGlvbikgdmFyKC0tYW5pbWF0aW9uX190aW1pbmctZnVuY3Rpb24pIDBzLCBtaW4taGVpZ2h0IHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAwcywgdHJhbnNmb3JtIHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAwcywgb3BhY2l0eSB2YXIoLS1hbmltYXRpb25fX2R1cmF0aW9uKSB2YXIoLS1hbmltYXRpb25fX3RpbWluZy1mdW5jdGlvbikgMHM7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAwcywgb3BhY2l0eSB2YXIoLS1hbmltYXRpb25fX2R1cmF0aW9uKSB2YXIoLS1hbmltYXRpb25fX3RpbWluZy1mdW5jdGlvbikgMjUwbXM7XG4gICAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDBzdmggLSAxOC43NXJlbSk7XG4gICAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgICAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG4gICAgICAgICAgLyogSUUgYW5kIEVkZ2UgKi9cbiAgICAgICAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gICAgICAgICAgLyogRmlyZWZveCAqLyB9XG4gICAgICAgIC5tYWluLW5hdmlnYXRpb24gPiB1bCA+IGxpID4gdWwge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHRvcDogLTMuMTg3NXJlbTtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMC4yNXJlbTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCB2YXIoLS1hbmltYXRpb25fX2R1cmF0aW9uKSB2YXIoLS1hbmltYXRpb25fX3RpbWluZy1mdW5jdGlvbikgMHMsIG1pbi1oZWlnaHQgdmFyKC0tYW5pbWF0aW9uX19kdXJhdGlvbikgdmFyKC0tYW5pbWF0aW9uX190aW1pbmctZnVuY3Rpb24pIDBzLCB0cmFuc2Zvcm0gdmFyKC0tYW5pbWF0aW9uX19kdXJhdGlvbikgdmFyKC0tYW5pbWF0aW9uX190aW1pbmctZnVuY3Rpb24pIDBzLCBvcGFjaXR5IHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAxNTBtcztcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tYW5pbWF0aW9uX19kdXJhdGlvbikgdmFyKC0tYW5pbWF0aW9uX190aW1pbmctZnVuY3Rpb24pIDBzLCBvcGFjaXR5IHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAyNTBtczsgfVxuICAgICAgICAgIC5zdWJuYXYtaXMtLXZpc2libGUgLm1haW4tbmF2aWdhdGlvbiA+IHVsID4gbGkgPiB1bCB7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgdmFyKC0tYW5pbWF0aW9uX19kdXJhdGlvbikgdmFyKC0tYW5pbWF0aW9uX190aW1pbmctZnVuY3Rpb24pIDBzLCBtaW4taGVpZ2h0IHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAwcywgdHJhbnNmb3JtIHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAwcywgb3BhY2l0eSB2YXIoLS1hbmltYXRpb25fX2R1cmF0aW9uKSB2YXIoLS1hbmltYXRpb25fX3RpbWluZy1mdW5jdGlvbikgMHM7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tYW5pbWF0aW9uX19kdXJhdGlvbikgdmFyKC0tYW5pbWF0aW9uX190aW1pbmctZnVuY3Rpb24pIDBzLCBvcGFjaXR5IHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAyNTBtcztcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwc3ZoIC0gMTguNzVyZW0pO1xuICAgICAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgICAgICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgLyogSUUgYW5kIEVkZ2UgKi9cbiAgICAgICAgICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbiAgICAgICAgICAgIC8qIEZpcmVmb3ggKi8gfVxuICAgICAgICAgICAgLnN1Ym5hdi1pcy0tdmlzaWJsZSAubWFpbi1uYXZpZ2F0aW9uID4gdWwgPiBsaSA+IHVsOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICAgIC5zdWJuYXYtaXMtLXZpc2libGUgLm1haW4tbmF2aWdhdGlvbiA+IHVsID4gbGkgPiB1bDpoYXMoPiBsaS5zdWJuYXYtaXMtLXZpc2libGUpIHtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgICAgICAgICAubWFpbi1uYXZpZ2F0aW9uID4gdWwgPiBsaSA+IHVsID4gbGkge1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwLjA2MjVyZW0gc29saWQgcmdiYSh2YXIoLS1jb2xvcl9fd2hpdGUtLXJnYiksIDAuNSk7XG4gICAgICAgICAgICBoZWlnaHQ6IDMuNjg3NXJlbTtcbiAgICAgICAgICAgIC8qIEhvdmVyIExWTCAyICovXG4gICAgICAgICAgICAvKiBMVkwgMyAqLyB9XG4gICAgICAgICAgICAubWFpbi1uYXZpZ2F0aW9uID4gdWwgPiBsaSA+IHVsID4gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb250ZW50OiBcIj5cIjtcbiAgICAgICAgICAgICAgY29sb3I6IHJnYmEodmFyKC0tY29sb3JfX3doaXRlLS1yZ2IpLCAwLjUpO1xuICAgICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udF9fY29weSk7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udF9fY29weS0td2VpZ2h0KTtcbiAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMTA0MzdyZW07XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgdG9wOiAtMi43NXJlbTtcbiAgICAgICAgICAgICAgbGVmdDogY2FsYygxMDAlIC0gMXJlbSk7IH1cbiAgICAgICAgICAgIC5tYWluLW5hdmlnYXRpb24gPiB1bCA+IGxpID4gdWwgPiBsaS5jdXJyZW50LW1lbnUtaXRlbSA+IGEsIC5tYWluLW5hdmlnYXRpb24gPiB1bCA+IGxpID4gdWwgPiBsaS5jdXJyZW50LW1lbnUtYW5jZXN0b3IgPiBhLCAubWFpbi1uYXZpZ2F0aW9uID4gdWwgPiBsaSA+IHVsID4gbGkuY3VycmVudF9wYWdlX2l0ZW0gPiBhLCAubWFpbi1uYXZpZ2F0aW9uID4gdWwgPiBsaSA+IHVsID4gbGkuY3VycmVudC1wYWdlLXBhcmVudCA+IGEsIC5tYWluLW5hdmlnYXRpb24gPiB1bCA+IGxpID4gdWwgPiBsaS5jdXJyZW50LXBhZ2UtYW5jZXN0b3IgPiBhIHtcbiAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yX193aGl0ZS0tdGV4dCk7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250X19oZWFkaW5nLS13ZWlnaHQtLWJvbGQpO1xuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgICAgICAgIC5tYWluLW5hdmlnYXRpb24gPiB1bCA+IGxpID4gdWwgPiBsaS5tb2JpbGUtbWVudS1iYWNrLWl0ZW0ge1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMC4yNXJlbTsgfVxuICAgICAgICAgICAgLm1haW4tbmF2aWdhdGlvbiA+IHVsID4gbGkgPiB1bCA+IGxpID4gYSB7XG4gICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvcl9fZ3JleS1saWdodC0tdGV4dCk7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRfX2hlYWRpbmcpO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250X19oZWFkaW5nLS13ZWlnaHQtLWJvbGQpO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuNTYyNXJlbTtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIuMjVyZW07XG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAuNjg3NXJlbSAwIDAuNjU2MjVyZW07XG4gICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgICAgICAgIC5tYWluLW5hdmlnYXRpb24gPiB1bCA+IGxpID4gdWwgPiBsaS5zdWJuYXYtaXMtLXZpc2libGUgPiAuc3ViLW1lbnUge1xuICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgdmFyKC0tYW5pbWF0aW9uX19kdXJhdGlvbikgdmFyKC0tYW5pbWF0aW9uX190aW1pbmctZnVuY3Rpb24pIDBzLCBtaW4taGVpZ2h0IHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAwcywgdHJhbnNmb3JtIHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAwcywgb3BhY2l0eSB2YXIoLS1hbmltYXRpb25fX2R1cmF0aW9uKSB2YXIoLS1hbmltYXRpb25fX3RpbWluZy1mdW5jdGlvbikgMHM7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS1hbmltYXRpb25fX2R1cmF0aW9uKSB2YXIoLS1hbmltYXRpb25fX3RpbWluZy1mdW5jdGlvbikgMHMsIG9wYWNpdHkgdmFyKC0tYW5pbWF0aW9uX19kdXJhdGlvbikgdmFyKC0tYW5pbWF0aW9uX190aW1pbmctZnVuY3Rpb24pIDI1MG1zO1xuICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHN2aCAtIDE1LjYyNXJlbSk7XG4gICAgICAgICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgICAgICAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgIC8qIElFIGFuZCBFZGdlICovXG4gICAgICAgICAgICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbiAgICAgICAgICAgICAgLyogRmlyZWZveCAqLyB9XG4gICAgICAgICAgICAubWFpbi1uYXZpZ2F0aW9uID4gdWwgPiBsaSA+IHVsID4gbGkgPiB1bCB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgIHRvcDogLTEwLjM3NXJlbTtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCB2YXIoLS1hbmltYXRpb25fX2R1cmF0aW9uKSB2YXIoLS1hbmltYXRpb25fX3RpbWluZy1mdW5jdGlvbikgMHMsIG1pbi1oZWlnaHQgdmFyKC0tYW5pbWF0aW9uX19kdXJhdGlvbikgdmFyKC0tYW5pbWF0aW9uX190aW1pbmctZnVuY3Rpb24pIDBzLCB0cmFuc2Zvcm0gdmFyKC0tYW5pbWF0aW9uX19kdXJhdGlvbikgdmFyKC0tYW5pbWF0aW9uX190aW1pbmctZnVuY3Rpb24pIDBzLCBvcGFjaXR5IHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAxNTBtcztcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAwcywgb3BhY2l0eSB2YXIoLS1hbmltYXRpb25fX2R1cmF0aW9uKSB2YXIoLS1hbmltYXRpb25fX3RpbWluZy1mdW5jdGlvbikgMjUwbXM7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgIHRvcDogLTcuMzc1cmVtO1xuICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCB2YXIoLS1hbmltYXRpb25fX2R1cmF0aW9uKSB2YXIoLS1hbmltYXRpb25fX3RpbWluZy1mdW5jdGlvbikgMHMsIG1pbi1oZWlnaHQgdmFyKC0tYW5pbWF0aW9uX19kdXJhdGlvbikgdmFyKC0tYW5pbWF0aW9uX190aW1pbmctZnVuY3Rpb24pIDBzLCB0cmFuc2Zvcm0gdmFyKC0tYW5pbWF0aW9uX19kdXJhdGlvbikgdmFyKC0tYW5pbWF0aW9uX190aW1pbmctZnVuY3Rpb24pIDBzLCBvcGFjaXR5IHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAwLjE1cztcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAwcywgb3BhY2l0eSB2YXIoLS1hbmltYXRpb25fX2R1cmF0aW9uKSB2YXIoLS1hbmltYXRpb25fX3RpbWluZy1mdW5jdGlvbikgMC4yNXM7IH1cbiAgICAgICAgICAgICAgLmhhcy1jdXJyZW50LXBhZ2UgLm1haW4tbmF2aWdhdGlvbiA+IHVsID4gbGkgPiB1bCA+IGxpID4gdWwge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yX19ncmV5LS1saWdodCk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDBzdmg7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwdmg7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCB2YXIoLS1hbmltYXRpb25fX2R1cmF0aW9uKSB2YXIoLS1hbmltYXRpb25fX3RpbWluZy1mdW5jdGlvbikgMHMsIG1pbi1oZWlnaHQgdmFyKC0tYW5pbWF0aW9uX19kdXJhdGlvbikgdmFyKC0tYW5pbWF0aW9uX190aW1pbmctZnVuY3Rpb24pIDBzLCB0cmFuc2Zvcm0gdmFyKC0tYW5pbWF0aW9uX19kdXJhdGlvbikgdmFyKC0tYW5pbWF0aW9uX190aW1pbmctZnVuY3Rpb24pIDBzLCBvcGFjaXR5IHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAyNTBtczsgfVxuICAgICAgICAgICAgICAubWFpbi1uYXZpZ2F0aW9uID4gdWwgPiBsaSA+IHVsID4gbGkgPiB1bCA+IGxpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIuMjVyZW07IH1cbiAgICAgICAgICAgICAgICAubWFpbi1uYXZpZ2F0aW9uID4gdWwgPiBsaSA+IHVsID4gbGkgPiB1bCA+IGxpOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMC4wNjI1cmVtIHNvbGlkIHJnYmEodmFyKC0tY29sb3JfX3doaXRlLS1yZ2IpLCAwLjUpOyB9XG4gICAgICAgICAgICAgICAgLm1haW4tbmF2aWdhdGlvbiA+IHVsID4gbGkgPiB1bCA+IGxpID4gdWwgPiBsaS5jdXJyZW50LW1lbnUtaXRlbSA+IGEsIC5tYWluLW5hdmlnYXRpb24gPiB1bCA+IGxpID4gdWwgPiBsaSA+IHVsID4gbGkuY3VycmVudC1tZW51LWFuY2VzdG9yID4gYSwgLm1haW4tbmF2aWdhdGlvbiA+IHVsID4gbGkgPiB1bCA+IGxpID4gdWwgPiBsaS5jdXJyZW50X3BhZ2VfaXRlbSA+IGEsIC5tYWluLW5hdmlnYXRpb24gPiB1bCA+IGxpID4gdWwgPiBsaSA+IHVsID4gbGkuY3VycmVudC1wYWdlLXBhcmVudCA+IGEsIC5tYWluLW5hdmlnYXRpb24gPiB1bCA+IGxpID4gdWwgPiBsaSA+IHVsID4gbGkuY3VycmVudC1wYWdlLWFuY2VzdG9yID4gYSB7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3JfX3doaXRlLS10ZXh0KTtcbiAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250X19oZWFkaW5nLS13ZWlnaHQtLWJvbGQpOyB9XG4gICAgICAgICAgICAgICAgLm1haW4tbmF2aWdhdGlvbiA+IHVsID4gbGkgPiB1bCA+IGxpID4gdWwgPiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogcmdiYSh2YXIoLS1jb2xvcl9fd2hpdGUtLXJnYiksIDAuNSk7IH1cbiAgICAgICAgICAgICAgICAubWFpbi1uYXZpZ2F0aW9uID4gdWwgPiBsaSA+IHVsID4gbGkgPiB1bCA+IGxpID4gYSB7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3JfX2dyZXktbGlnaHQtLXRleHQpO1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udF9fY29weSk7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udF9fY29weS0td2VpZ2h0KTtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xuICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjI1cmVtIDA7IH1cbiAgICAgIC5tYWluLW5hdmlnYXRpb24gPiB1bDpoYXMoPiBsaS5zdWJuYXYtaXMtLXZpc2libGUpIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICAgICAgICAubWFpbi1uYXZpZ2F0aW9uID4gdWw6aGFzKD4gbGkuc3VibmF2LWlzLS12aXNpYmxlKSA+IGxpOm5vdCguc3VibmF2LWlzLS12aXNpYmxlKSxcbiAgICAgICAgLmhhcy1jdXJyZW50LXBhZ2UgLm1haW4tbmF2aWdhdGlvbiA+IHVsOmhhcyg+IGxpLnN1Ym5hdi1pcy0tdmlzaWJsZSkgPiBsaSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSAoLS13aWRlKSB7XG4gIC5tYWluLW5hdmlnYXRpb24ge1xuICAgIC8qIExWTCAxICovIH1cbiAgICAubWFpbi1uYXZpZ2F0aW9uOm5vdCgjbWFpbi1uYXZpZ2F0aW9uKSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAubWFpbi1uYXZpZ2F0aW9uICNicmVhZGNydW1icyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm1haW4tbmF2aWdhdGlvbiAubW9iaWxlLW1lbnUtYmFjay1pdGVtIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAubWFpbi1uYXZpZ2F0aW9uID4gdWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiBjbGFtcCgxMi41cmVtLCAtNDcuODEyNXJlbSArIDgwLjQxNjY3dncsIDI0LjU2MjVyZW0pO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAubWFpbi1uYXZpZ2F0aW9uID4gdWwgPiBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogMy42MjVyZW0gMS42ODc1cmVtIDMuNjI1cmVtO1xuICAgICAgICAvKiAmLmluYWN0aXZlIHtcbiAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yX19ncmV5LWxpZ2h0LS10ZXh0KTtcbiAgICAgICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yX19ncmV5LWxpZ2h0LS10ZXh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0gKi9cbiAgICAgICAgLyogTFZMIDIgKi8gfVxuICAgICAgICAubWFpbi1uYXZpZ2F0aW9uID4gdWwgPiBsaSA+IGEge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LW1lZGl1bS0tdGV4dCk7XG4gICAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxcmVtLCAwLjM3NXJlbSArIDAuODMzMzN2dywgMS4xMjVyZW0pO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM3NXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udF9faGVhZGluZy0td2VpZ2h0LS1ib2xkKTtcbiAgICAgICAgICBwYWRkaW5nOiAxLjMxMjVyZW0gMDsgfVxuICAgICAgICAubWFpbi1uYXZpZ2F0aW9uID4gdWwgPiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcbiAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS4zMTI1cmVtO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IGNsYW1wKDAuNjI1cmVtLCAtNS42MjVyZW0gKyA4LjMzMzMzdncsIDEuODc1cmVtKTsgfVxuICAgICAgICAgIC5tYWluLW5hdmlnYXRpb24gPiB1bCA+IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAgICAgLm1haW4tbmF2aWdhdGlvbiA+IHVsID4gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IGE6OmJlZm9yZSwgLm1haW4tbmF2aWdhdGlvbiA+IHVsID4gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IGE6OmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1tZWRpdW0tLXRleHQpO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICAgIHdpZHRoOiAwLjQzNzVyZW07XG4gICAgICAgICAgICAgIGhlaWdodDogMC4xMjVyZW07XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgdG9wOiBjYWxjKDUwJSArIDAuMDYyNXJlbSk7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS1hbmltYXRpb25fX2R1cmF0aW9uKSB2YXIoLS1hbmltYXRpb25fX3RpbWluZy1mdW5jdGlvbikgMHM7IH1cbiAgICAgICAgICAgIC5tYWluLW5hdmlnYXRpb24gPiB1bCA+IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhOjpiZWZvcmUge1xuICAgICAgICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgKyAwLjI1cmVtKTsgfVxuICAgICAgICAgICAgLm1haW4tbmF2aWdhdGlvbiA+IHVsID4gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IGE6OmFmdGVyIHtcbiAgICAgICAgICAgICAgcmlnaHQ6IC0wLjY4NzVyZW07XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7IH1cbiAgICAgICAgICAubWFpbi1uYXZpZ2F0aW9uID4gdWwgPiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmhvdmVyID4gYTo6YWZ0ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH1cbiAgICAgICAgLm1haW4tbmF2aWdhdGlvbiA+IHVsID4gbGk6aG92ZXIgPiBhIHtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1kYXJrLS10ZXh0KTsgfVxuICAgICAgICAgIC5tYWluLW5hdmlnYXRpb24gPiB1bCA+IGxpOmhvdmVyID4gYTo6YmVmb3JlLCAubWFpbi1uYXZpZ2F0aW9uID4gdWwgPiBsaTpob3ZlciA+IGE6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LWRhcmstLXRleHQpOyB9XG4gICAgICAgIC5tYWluLW5hdmlnYXRpb24gPiB1bCA+IGxpLmN1cnJlbnQtbWVudS1pdGVtID4gYSwgLm1haW4tbmF2aWdhdGlvbiA+IHVsID4gbGkuY3VycmVudC1tZW51LWFuY2VzdG9yID4gYSwgLm1haW4tbmF2aWdhdGlvbiA+IHVsID4gbGkuY3VycmVudF9wYWdlX2l0ZW0gPiBhLCAubWFpbi1uYXZpZ2F0aW9uID4gdWwgPiBsaS5jdXJyZW50LXBhZ2UtcGFyZW50ID4gYSwgLm1haW4tbmF2aWdhdGlvbiA+IHVsID4gbGkuY3VycmVudC1wYWdlLWFuY2VzdG9yID4gYSB7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktZGFyay0tdGV4dCk7IH1cbiAgICAgICAgICAubWFpbi1uYXZpZ2F0aW9uID4gdWwgPiBsaS5jdXJyZW50LW1lbnUtaXRlbSA+IGE6OmJlZm9yZSwgLm1haW4tbmF2aWdhdGlvbiA+IHVsID4gbGkuY3VycmVudC1tZW51LWl0ZW0gPiBhOjphZnRlciwgLm1haW4tbmF2aWdhdGlvbiA+IHVsID4gbGkuY3VycmVudC1tZW51LWFuY2VzdG9yID4gYTo6YmVmb3JlLCAubWFpbi1uYXZpZ2F0aW9uID4gdWwgPiBsaS5jdXJyZW50LW1lbnUtYW5jZXN0b3IgPiBhOjphZnRlciwgLm1haW4tbmF2aWdhdGlvbiA+IHVsID4gbGkuY3VycmVudF9wYWdlX2l0ZW0gPiBhOjpiZWZvcmUsIC5tYWluLW5hdmlnYXRpb24gPiB1bCA+IGxpLmN1cnJlbnRfcGFnZV9pdGVtID4gYTo6YWZ0ZXIsIC5tYWluLW5hdmlnYXRpb24gPiB1bCA+IGxpLmN1cnJlbnQtcGFnZS1wYXJlbnQgPiBhOjpiZWZvcmUsIC5tYWluLW5hdmlnYXRpb24gPiB1bCA+IGxpLmN1cnJlbnQtcGFnZS1wYXJlbnQgPiBhOjphZnRlciwgLm1haW4tbmF2aWdhdGlvbiA+IHVsID4gbGkuY3VycmVudC1wYWdlLWFuY2VzdG9yID4gYTo6YmVmb3JlLCAubWFpbi1uYXZpZ2F0aW9uID4gdWwgPiBsaS5jdXJyZW50LXBhZ2UtYW5jZXN0b3IgPiBhOjphZnRlciB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1kYXJrLS10ZXh0KTsgfVxuICAgICAgICAubWFpbi1uYXZpZ2F0aW9uID4gdWwgPiBsaS5jdXJyZW50LW1lbnUtaXRlbTpob3ZlciA+IGEsIC5tYWluLW5hdmlnYXRpb24gPiB1bCA+IGxpLmN1cnJlbnQtbWVudS1hbmNlc3Rvcjpob3ZlciA+IGEsIC5tYWluLW5hdmlnYXRpb24gPiB1bCA+IGxpLmN1cnJlbnRfcGFnZV9pdGVtOmhvdmVyID4gYSwgLm1haW4tbmF2aWdhdGlvbiA+IHVsID4gbGkuY3VycmVudC1wYWdlLXBhcmVudDpob3ZlciA+IGEsIC5tYWluLW5hdmlnYXRpb24gPiB1bCA+IGxpLmN1cnJlbnQtcGFnZS1hbmNlc3Rvcjpob3ZlciA+IGEge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LWRhcmstLXRleHQpOyB9XG4gICAgICAgICAgLm1haW4tbmF2aWdhdGlvbiA+IHVsID4gbGkuY3VycmVudC1tZW51LWl0ZW06aG92ZXIgPiBhOjpiZWZvcmUsIC5tYWluLW5hdmlnYXRpb24gPiB1bCA+IGxpLmN1cnJlbnQtbWVudS1pdGVtOmhvdmVyID4gYTo6YWZ0ZXIsIC5tYWluLW5hdmlnYXRpb24gPiB1bCA+IGxpLmN1cnJlbnQtbWVudS1hbmNlc3Rvcjpob3ZlciA+IGE6OmJlZm9yZSwgLm1haW4tbmF2aWdhdGlvbiA+IHVsID4gbGkuY3VycmVudC1tZW51LWFuY2VzdG9yOmhvdmVyID4gYTo6YWZ0ZXIsIC5tYWluLW5hdmlnYXRpb24gPiB1bCA+IGxpLmN1cnJlbnRfcGFnZV9pdGVtOmhvdmVyID4gYTo6YmVmb3JlLCAubWFpbi1uYXZpZ2F0aW9uID4gdWwgPiBsaS5jdXJyZW50X3BhZ2VfaXRlbTpob3ZlciA+IGE6OmFmdGVyLCAubWFpbi1uYXZpZ2F0aW9uID4gdWwgPiBsaS5jdXJyZW50LXBhZ2UtcGFyZW50OmhvdmVyID4gYTo6YmVmb3JlLCAubWFpbi1uYXZpZ2F0aW9uID4gdWwgPiBsaS5jdXJyZW50LXBhZ2UtcGFyZW50OmhvdmVyID4gYTo6YWZ0ZXIsIC5tYWluLW5hdmlnYXRpb24gPiB1bCA+IGxpLmN1cnJlbnQtcGFnZS1hbmNlc3Rvcjpob3ZlciA+IGE6OmJlZm9yZSwgLm1haW4tbmF2aWdhdGlvbiA+IHVsID4gbGkuY3VycmVudC1wYWdlLWFuY2VzdG9yOmhvdmVyID4gYTo6YWZ0ZXIge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktZGFyay0tdGV4dCk7IH1cbiAgICAgICAgLm1haW4tbmF2aWdhdGlvbiA+IHVsID4gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogNC4zNzVyZW07IH1cbiAgICAgICAgLm1haW4tbmF2aWdhdGlvbiA+IHVsID4gbGkgPiAuc3ViLW1lbnUge1xuICAgICAgICAgIC0tc3ViZ3JpZC1jb2x1bW5zOiA0O1xuICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgY29sdW1uLWdhcDogMS42MjVyZW07XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoY2FsYyh2YXIoLS1jb250ZW50LXdpZHRoKSAvIHZhcigtLXN1YmdyaWQtY29sdW1ucykgLSB2YXIoLS1ncmlkX19nYXApICogNCksIDFmcikpO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yX193aGl0ZS0tYmcpO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDcuMzc1cmVtO1xuICAgICAgICAgIGxlZnQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmcpICogLTEpO1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoMCk7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS1hbmltYXRpb25fX2R1cmF0aW9uKSB2YXIoLS1hbmltYXRpb25fX3RpbWluZy1mdW5jdGlvbikgMHM7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgIHBhZGRpbmc6IDMuOTM3NXJlbSB2YXIoLS1jb250YWluZXItcGFkZGluZykgNC44MTI1cmVtO1xuICAgICAgICAgIG1heC13aWR0aDogY2FsYyh2YXIoLS1jb250ZW50LXdpZHRoKSArIHZhcigtLWNvbnRhaW5lci1wYWRkaW5nKSAqIDIpO1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gdmFyKC0tY29udGFpbmVyLXBhZGRpbmcpICogMik7XG4gICAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICAgIHotaW5kZXg6IDk5OyB9XG4gICAgICAgICAgLm1haW4tbmF2aWdhdGlvbiA+IHVsID4gbGkgPiAuc3ViLW1lbnU6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvcl9fd2hpdGUtLWJnKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IC01MHZ3O1xuICAgICAgICAgICAgd2lkdGg6IDE1MHZ3O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgei1pbmRleDogLTE7IH1cbiAgICAgICAgICAubWFpbi1uYXZpZ2F0aW9uID4gdWwgPiBsaSA+IC5zdWItbWVudSA+IGxpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNjI1cmVtIDA7IH1cbiAgICAgICAgICAgIC5tYWluLW5hdmlnYXRpb24gPiB1bCA+IGxpID4gLnN1Yi1tZW51ID4gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IGEge1xuICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgICAgICAgICAubWFpbi1uYXZpZ2F0aW9uID4gdWwgPiBsaSA+IC5zdWItbWVudSA+IGxpID4gYSB7XG4gICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LWRhcmstLXRleHQpO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250X19oZWFkaW5nLS13ZWlnaHQtLWJvbGQpO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRfX2hlYWRpbmcpO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjgxMjVyZW07XG4gICAgICAgICAgICAgIGJvcmRlci10b3A6IDAuMDYyNXJlbSBzb2xpZCByZ2JhKHZhcigtLWNvbG9yX19ibHVlLWdyZXktbWVkaXVtLS1iZy0tcmdiKSwgMC4yKTtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMC4yNXJlbSBzb2xpZCByZ2JhKHZhcigtLWNvbG9yX19ibHVlLWdyZXktbWVkaXVtLS1iZy0tcmdiKSwgMC4yKTtcbiAgICAgICAgICAgICAgcGFkZGluZzogMC41NjI1cmVtIDA7XG4gICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgICAgICAgIC5tYWluLW5hdmlnYXRpb24gPiB1bCA+IGxpID4gLnN1Yi1tZW51ID4gbGkgPiBhID4gc3BhbiB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnRfX2hlYWRpbmctLXdlaWdodCk7IH1cbiAgICAgICAgICAgIC5tYWluLW5hdmlnYXRpb24gPiB1bCA+IGxpID4gLnN1Yi1tZW51ID4gbGkgPiAuc3ViLW1lbnUge1xuICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogM3JlbTsgfVxuICAgICAgICAgICAgICAubWFpbi1uYXZpZ2F0aW9uID4gdWwgPiBsaSA+IC5zdWItbWVudSA+IGxpID4gLnN1Yi1tZW51ID4gbGkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNTYyNXJlbTsgfVxuICAgICAgICAgICAgICAgIC5tYWluLW5hdmlnYXRpb24gPiB1bCA+IGxpID4gLnN1Yi1tZW51ID4gbGkgPiAuc3ViLW1lbnUgPiBsaSA+IGEge1xuICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktbWVkaXVtLS10ZXh0KTtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjMxMjVyZW07XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAgICAgICAgIC5tYWluLW5hdmlnYXRpb24gPiB1bCA+IGxpID4gLnN1Yi1tZW51ID4gbGkgPiAuc3ViLW1lbnUgPiBsaS5jdXJyZW50LW1lbnUtaXRlbSA+IGEsIC5tYWluLW5hdmlnYXRpb24gPiB1bCA+IGxpID4gLnN1Yi1tZW51ID4gbGkgPiAuc3ViLW1lbnUgPiBsaS5jdXJyZW50LW1lbnUtYW5jZXN0b3IgPiBhLCAubWFpbi1uYXZpZ2F0aW9uID4gdWwgPiBsaSA+IC5zdWItbWVudSA+IGxpID4gLnN1Yi1tZW51ID4gbGkuY3VycmVudF9wYWdlX2l0ZW0gPiBhLCAubWFpbi1uYXZpZ2F0aW9uID4gdWwgPiBsaSA+IC5zdWItbWVudSA+IGxpID4gLnN1Yi1tZW51ID4gbGkuY3VycmVudC1wYWdlLXBhcmVudCA+IGEge1xuICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktZGFyay0tdGV4dCk7XG4gICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udF9faGVhZGluZy0td2VpZ2h0LS1ib2xkKTsgfVxuICAgICAgICAgICAgICAgIC5tYWluLW5hdmlnYXRpb24gPiB1bCA+IGxpID4gLnN1Yi1tZW51ID4gbGkgPiAuc3ViLW1lbnUgPiBsaTpob3ZlciA+IGEge1xuICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktZGFyay0tdGV4dCk7IH1cbiAgICAgICAgLm1haW4tbmF2aWdhdGlvbiA+IHVsID4gbGk6aG92ZXIgPiB1bCB7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoMSk7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTByZW0pIHtcbiAgLm1haW4tbmF2aWdhdGlvbiA+IHVsID4gbGkgPiAuc3ViLW1lbnUge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KGNhbGModmFyKC0tY29udGVudC13aWR0aCkgLyB2YXIoLS1zdWJncmlkLWNvbHVtbnMpIC0gdmFyKC0tZ3JpZF9fZ2FwKSksIDFmcikpOyB9IH1cblxuLyoqXG4gKiBNZXRhIG5hdmlnYXRpb25cbiAqXG4gKiBuYXZcbiAqIC0gdWxcbiAqIC0tIGxpXG4gKiAtLS0gYVxuICovXG4ubWV0YS1uYXZpZ2F0aW9uIGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICogVG9nZ2xlIG5hdmlnYXRpb24gYnV0dG9uXG4gKi9cbi5uYXZpZ2F0aW9uLXRvZ2dsZSB7XG4gIHdpZHRoOiAxLjYyNXJlbTtcbiAgaGVpZ2h0OiAxLjE4NzVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWluZGVudDogLTk5OTk5OXB4OyB9XG4gIC5uYXZpZ2F0aW9uLXRvZ2dsZTo6YmVmb3JlLCAubmF2aWdhdGlvbi10b2dnbGU6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAwLjE4NzVyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktZGFyay0tYmcpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAwLjA5Mzc1cmVtO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjQ1cyBlYXNlLWluLW91dDsgfVxuICAubmF2aWdhdGlvbi10b2dnbGU6OmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9XG4gIC5uYXZpZ2F0aW9uLXRvZ2dsZTo6YWZ0ZXIge1xuICAgIGJvdHRvbTogMDtcbiAgICBib3gtc2hhZG93OiAwIC04cHggY3VycmVudENvbG9yOyB9XG4gIC5uYXYtaXMtLXZpc2libGUgLm5hdmlnYXRpb24tdG9nZ2xlOjpiZWZvcmUsIC5uYXYtaXMtLXZpc2libGUgLm5hdmlnYXRpb24tdG9nZ2xlOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3JfX3doaXRlLS1iZyk7IH1cbiAgLm5hdi1pcy0tdmlzaWJsZSAubmF2aWdhdGlvbi10b2dnbGU6OmJlZm9yZSB7XG4gICAgdG9wOiA4cHg7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG4gIC5uYXYtaXMtLXZpc2libGUgLm5hdmlnYXRpb24tdG9nZ2xlOjphZnRlciB7XG4gICAgYm94LXNoYWRvdzogMCAwIGN1cnJlbnRDb2xvcjtcbiAgICBib3R0b206IDhweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gIC5uYXZpZ2F0aW9uLXRvZ2dsZS13cmFwcGVyIHtcbiAgICB3aWR0aDogMS42MjVyZW07XG4gICAgaGVpZ2h0OiAxLjE4NzVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgIC5uYXYtaXMtLXZpc2libGUgLm5hdmlnYXRpb24tdG9nZ2xlLXdyYXBwZXIge1xuICAgICAgd2lkdGg6IDEuMjVyZW07XG4gICAgICBoZWlnaHQ6IDEuMjVyZW07IH1cbiAgICBAbWVkaWEgKC0td2lkZSkge1xuICAgICAgLm5hdmlnYXRpb24tdG9nZ2xlLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLyoqXG4gKiBQYWdpbmF0aW9uXG4gKlxuICogbmF2LnBhZ2luYXRpb25cbiAqICAgICBoMi5zY3JlZW4tcmVhZGVyLXRleHRcbiAqICAgICBkaXYubmF2LWxpbmtzXG4gKiAgICAgICAgIGEucHJldlxuICogICAgICAgICBzcGFuLmN1cnJlbnRcbiAqICAgICAgICAgYS5wYWdlLW51bWJlcnNcbiAqICAgICAgICAgc3Bhbi5kb3RzXG4gKiAgICAgICAgIGEucGFnZS1udW1iZXJzXG4gKiAgICAgICAgIGEubmV4dFxuICovXG4ucGFnaW5hdGlvbiB7XG4gIG1hcmdpbi10b3A6IDRlbTsgfVxuXG4ubmF2LWxpbmtzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICBnYXA6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ucGFnZS1udW1iZXJzIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktZGFyay0tdGV4dCk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMXJlbSwgMC43NzAzM3JlbSArIDAuNjM3OTZ2dywgMS4yNXJlbSk7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiBjbGFtcCgxLjI1cmVtLCAxLjAyMDMzcmVtICsgMC42Mzc5NnZ3LCAxLjVyZW0pO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHBhZGRpbmctaW5saW5lOiAxcmVtO1xuICBwYWRkaW5nLWJsb2NrOiAwLjVyZW07IH1cbiAgLnBhZ2UtbnVtYmVyczpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgLnBhZ2UtbnVtYmVyczpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktbWVkaXVtLS10ZXh0KTsgfVxuXG4uZG90cyB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LWRhcmstLXRleHQpO1xuICBib3gtc2hhZG93OiBub25lO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmctaW5saW5lOiAwO1xuICB3aWR0aDogYXV0bzsgfVxuXG4ucHJldixcbi5uZXh0IHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktZGFyay0tdGV4dCk7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IGF1dG87XG4gIHRvcDogLTAuMTI1cmVtOyB9XG4gIC5wcmV2OjpiZWZvcmUsIC5wcmV2OjphZnRlcixcbiAgLm5leHQ6OmJlZm9yZSxcbiAgLm5leHQ6OmFmdGVyIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMC41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjg7IH1cbiAgLnByZXY6OmJlZm9yZSxcbiAgLm5leHQ6OmJlZm9yZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5wcmV2OjphZnRlcixcbiAgLm5leHQ6OmFmdGVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5wcmV2OmhvdmVyLFxuICAubmV4dDpob3ZlciB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAucHJldjpob3Zlcjo6YmVmb3JlLCAucHJldjpob3Zlcjo6YWZ0ZXIsXG4gICAgLm5leHQ6aG92ZXI6OmJlZm9yZSxcbiAgICAubmV4dDpob3Zlcjo6YWZ0ZXIge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktbWVkaXVtLS10ZXh0KTsgfVxuXG4ucHJldiB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgLnByZXY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLigLlcIjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtOyB9XG5cbi5uZXh0IHtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9XG4gIC5uZXh0OjphZnRlciB7XG4gICAgY29udGVudDogXCLigLpcIjtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07IH1cblxuLmN1cnJlbnQge1xuICBmb250LXdlaWdodDogNjAwO1xuICBib3gtc2hhZG93OiBub25lO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbkBtZWRpYSAoLS10YWJsZXQtbWF4KSB7XG4gIC5wcmV2LFxuICAubmV4dCB7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAyLjI1cmVtOyB9XG4gICAgLnByZXY6OmJlZm9yZSwgLnByZXY6OmFmdGVyLFxuICAgIC5uZXh0OjpiZWZvcmUsXG4gICAgLm5leHQ6OmFmdGVyIHtcbiAgICAgIHRvcDogLTAuMTI1cmVtOyB9XG4gIC5uYXYtbGlua3Mge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIC5uYXYtbGlua3M6aGFzKC5uZXh0KTpub3QoOmhhcygucHJldikpIC5uZXh0IHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG4uc2VhcmNoIC5jb250ZW50IC5jb250YWluZXIgLm1haW4gaDIuYXJjaGl2ZS10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDYuNzVyZW07XG4gIG1heC13aWR0aDogNDkuODc1cmVtO1xuICBtYXgtaGVpZ2h0OiA1LjEyNXJlbTtcbiAgbWFyZ2luLXRvcDogMi44NzVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnNlYXJjaCAuY29udGVudCAuY29udGFpbmVyIC5tYWluIC50cmVmZmVyOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiA2LjYyNXJlbTsgfVxuXG4uc2VhcmNoIC5jb250ZW50IC5jb250YWluZXIgLm1haW4gLnRyZWZmZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKTtcbiAgbWF4LXdpZHRoOiA1NS44MTI1cmVtOyB9XG4gIC5zZWFyY2ggLmNvbnRlbnQgLmNvbnRhaW5lciAubWFpbiAudHJlZmZlcl9faGVhZGxpbmUgPiBoMyB7XG4gICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjA2MjVyZW07XG4gICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5zZWFyY2ggLmNvbnRlbnQgLmNvbnRhaW5lciAubWFpbiAudHJlZmZlcl9fZXJnZWJuaXMgLnRyZWZmZXJfX2NvbnRlbnQge1xuICAgIG1heC13aWR0aDogNDkuNDM3NXJlbTsgfVxuICAuc2VhcmNoIC5jb250ZW50IC5jb250YWluZXIgLm1haW4gLnRyZWZmZXI6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LW1lZGl1bS0tdGV4dCk7IH1cbiAgICAuc2VhcmNoIC5jb250ZW50IC5jb250YWluZXIgLm1haW4gLnRyZWZmZXI6aG92ZXIgaDMge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktbWVkaXVtLS10ZXh0KTsgfVxuXG4vKipcbiAqIFNpZGViYXJcbiAqL1xuLmVudHJ5X19jb250ZW50IC50YWJsZXByZXNzIHtcbiAgLS1ib3JkZXItY29sb3I6IHJnYmEodmFyKC0tY29sb3JfX2JsdWUtZ3JleS1tZWRpdW0tLWJnLS1yZ2IpLCAwLjUpO1xuICBtYXJnaW4tdG9wOiAxLjg3NXJlbTsgfVxuICAuZW50cnlfX2NvbnRlbnQgLnRhYmxlcHJlc3Mud29sbCA+ICogKyB0Ym9keSA+ICogPiAqLFxuICAuZW50cnlfX2NvbnRlbnQgLnRhYmxlcHJlc3Mud29sbCA+IHRib2R5ID4gKiB+ICogPiAqLFxuICAuZW50cnlfX2NvbnRlbnQgLnRhYmxlcHJlc3Mud29sbCA+IHRmb290ID4gKiA+ICoge1xuICAgIGJvcmRlci10b3A6IG5vbmU7IH1cbiAgLmVudHJ5X19jb250ZW50IC50YWJsZXByZXNzIHRib2R5IHRyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKHZhcigtLWNvbG9yX19ibHVlLWdyZXktbWVkaXVtLS1iZy0tcmdiKSwgMC41KTtcbiAgICBib3JkZXItdG9wOiAwLjA2MjVyZW0gc29saWQgcmdiYSh2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LW1lZGl1bS0tYmctLXJnYiksIDAuNSk7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSh2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LW1lZGl1bS0tYmctLXJnYiksIDAuNSk7IH1cbiAgICAuZW50cnlfX2NvbnRlbnQgLnRhYmxlcHJlc3MgdGJvZHkgdHI6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcDogMC4wNjI1cmVtIHNvbGlkIHJnYmEodmFyKC0tY29sb3JfX2JsdWUtZ3JleS1tZWRpdW0tLWJnLS1yZ2IpLCAwLjUpOyB9XG4gICAgLmVudHJ5X19jb250ZW50IC50YWJsZXByZXNzIHRib2R5IHRyOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMC4wNjI1cmVtIHNvbGlkIHJnYmEodmFyKC0tY29sb3JfX2JsdWUtZ3JleS1tZWRpdW0tLWJnLS1yZ2IpLCAwLjUpOyB9XG4gICAgLmVudHJ5X19jb250ZW50IC50YWJsZXByZXNzIHRib2R5IHRyOmhhcyhhLmRvd25sb2FkKSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuZW50cnlfX2NvbnRlbnQgLnRhYmxlcHJlc3MgdGJvZHkgdHIgdGQge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktZGFyay0tdGV4dCk7XG4gICAgICBsaW5lLWhlaWdodDogMS4zMTI1cmVtO1xuICAgICAgcGFkZGluZzogMC41OTM3NXJlbSAwIDAuNXJlbTtcbiAgICAgIGJvcmRlcjogbm9uZTsgfVxuICBAbWVkaWEgKC0tdGFibGV0LW1heCkge1xuICAgIC5lbnRyeV9fY29udGVudCAudGFibGVwcmVzcyB0Ym9keSB0ciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAgMC44NDM3NXJlbTsgfVxuICAgICAgLmVudHJ5X19jb250ZW50IC50YWJsZXByZXNzIHRib2R5IHRyIHRkIHtcbiAgICAgICAgcGFkZGluZzogMC41NjI1cmVtIDA7XG4gICAgICAgIG1heC13aWR0aDogODIuODUlOyB9XG4gICAgICAgIC5lbnRyeV9fY29udGVudCAudGFibGVwcmVzcyB0Ym9keSB0ciB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDA7IH1cbiAgICAgICAgLmVudHJ5X19jb250ZW50IC50YWJsZXByZXNzIHRib2R5IHRyIHRkOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cblxuLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWdsb2JhbF9fcmFkaXVzKTsgfVxuICAudmFsaWRhdGlvbi1tZXNzYWdlX19pY29uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tZ2xvYmFsX19yYWRpdXMpO1xuICAgIGhlaWdodDogMy4yNXJlbTtcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMy4yNXJlbTsgfVxuXG4ud3AtYmxvY2stYnV0dG9uczp3aGVyZSguaXMtbGF5b3V0LWZsZXgpIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAud3AtYmxvY2stYnV0dG9uczp3aGVyZSguaXMtbGF5b3V0LWZsZXgpIC53cC1ibG9jay1idXR0b246Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbjogMi4xODc1cmVtIDA7IH1cblxuLndwLWJsb2NrLWJ1dHRvbnMgPiAud3AtYmxvY2stYnV0dG9uIHtcbiAgbWFyZ2luOiAyLjE4NzVyZW0gMDsgfVxuICAud3AtYmxvY2stYnV0dG9ucyA+IC53cC1ibG9jay1idXR0b246bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjE4NzVyZW07IH1cblxuLnRleHQtbW9kdWxlIC53cC1ibG9jay1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMi4xODc1cmVtIGNsYW1wKDEuODc1cmVtLCAwLjQzMjY5cmVtICsgNC4wMDY0MXZ3LCAzLjQzNzVyZW0pIDIuMTg3NXJlbSAwOyB9XG4gIC50ZXh0LW1vZHVsZSAud3AtYmxvY2stYnV0dG9uOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi53aWRlLWltYWdlLXRleHQtYmVsb3ctbW9kdWxlIC53cC1ibG9jay1idXR0b246bGFzdC1vZi10eXBlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5AbWVkaWEgKC0tdGFibGV0LW1heCkge1xuICAud3AtYmxvY2stZ3JvdXAgLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXIgPiAud3AtYmxvY2staGVhZGluZyB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogY2FsYygodmFyKC0tY29udGFpbmVyLXBhZGRpbmcpICogMikgKyB2YXIoLS1jb250ZW50LXdpZHRoKSk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1jb250YWluZXItcGFkZGluZyk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tY29udGFpbmVyLXBhZGRpbmcpO1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhICgtLXRhYmxldCkge1xuICAud3AtYmxvY2stZ3JvdXAuaXMtc3R5bGUtc2NocmFlZ2UgPiBbY2xhc3MqPVwiX2lubmVyLWNvbnRhaW5lclwiXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogY2FsYygodmFyKC0tY29udGFpbmVyLXBhZGRpbmcpICogMikgKyB2YXIoLS1jb250ZW50LXdpZHRoKSk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1jb250YWluZXItcGFkZGluZyk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tY29udGFpbmVyLXBhZGRpbmcpO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLndwLWJsb2NrLWdyb3VwLmlzLXN0eWxlLXNjaHJhZWdlID4gW2NsYXNzKj1cIl9pbm5lci1jb250YWluZXJcIl06YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB6LWluZGV4OiAtMjtcbiAgICAgIG1hc2staW1hZ2U6IHVybCguLi9pbWcvYmctcy0xMDAuc3ZnKTtcbiAgICAgIG1hc2stcG9zaXRpb246IHRvcCBsZWZ0O1xuICAgICAgbWFzay1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tY29sb3JfX2dyZXktbGlnaHQtLWJnLS1yZ2IpLCAwLjE1KTsgfVxuICAgIC53cC1ibG9jay1ncm91cC5pcy1zdHlsZS1zY2hyYWVnZSA+IFtjbGFzcyo9XCJfaW5uZXItY29udGFpbmVyXCJdOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tY29sb3JfX2dyZXktbGlnaHQtLWJnLS1yZ2IpLCAwLjE1KTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICBtaXgtYmxlbmQtbW9kZTogbHVtaW5vc2l0eTsgfVxuICAud3AtYmxvY2stZ3JvdXAuaXMtc3R5bGUtdzpoYXMoLnRocmVlLWNvbHVtbnMtaW1hZ2UtYnV0dG9uLW1vZHVsZSkge1xuICAgIHotaW5kZXg6IDI7IH1cbiAgLndwLWJsb2NrLWdyb3VwLmlzLXN0eWxlLXcgPiBbY2xhc3MqPVwiX2lubmVyLWNvbnRhaW5lclwiXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogY2FsYygodmFyKC0tY29udGFpbmVyLXBhZGRpbmcpICogMikgKyB2YXIoLS1jb250ZW50LXdpZHRoKSk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1jb250YWluZXItcGFkZGluZyk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tY29udGFpbmVyLXBhZGRpbmcpO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLndwLWJsb2NrLWdyb3VwLmlzLXN0eWxlLXcgPiBbY2xhc3MqPVwiX2lubmVyLWNvbnRhaW5lclwiXTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgei1pbmRleDogLTI7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQxLjgxMjVyZW0pO1xuICAgICAgd2lkdGg6IDYxLjVyZW07XG4gICAgICBoZWlnaHQ6IDU5LjM3NXJlbTtcbiAgICAgIG1hc2staW1hZ2U6IHVybCguLi9pbWcvYmctdy0xMDAuc3ZnKTtcbiAgICAgIG1hc2stcG9zaXRpb246IHRvcCBsZWZ0O1xuICAgICAgbWFzay1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tY29sb3JfX2dyZXktbGlnaHQtLWJnLS1yZ2IpLCAwLjE1KTsgfSB9XG5cbi8qKlxuICogQXJjaGl2ZSB0ZW1wbGF0ZVxuICovXG4vKipcbiAqIEZyb250IHBhZ2VcbiAqL1xuLmFsaWdubGVmdCB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5hbGlnbnJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi8qKlxuICogQ29udGFpbmVyXG4gKi9cbi5zY3JlZW4tcmVhZGVyLXRleHQge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIHdvcmQtd3JhcDogbm9ybWFsICFpbXBvcnRhbnQ7IH1cblxuLnNjcmVlbi1yZWFkZXItdGV4dDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgY2xpcC1wYXRoOiBub25lO1xuICBjb2xvcjogIzQ0NDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBoZWlnaHQ6IGF1dG87XG4gIGxlZnQ6IDVweDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgcGFkZGluZzogMTVweCAyM3B4IDE0cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdG9wOiA1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICB6LWluZGV4OiAxMDAwMDA7XG4gIC8qIEFib3ZlIFdQIHRvb2xiYXIuICovIH1cbiIsIiRib3hTcGFjZXM6IG1hcmdpbiwgcGFkZGluZztcbiRwb3NpdGlvbnM6IHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdCwgaG9yaXpvbnRhbCwgdmVydGljYWw7XG5cbjpyb290e1xuICAgIC0tcmVzcG9uc2l2ZS1zcGFjZXMtZml4OiAuNjtcblxuICAgIEBtZWRpYSAoLS1tb2JpbGUpe1xuICAgICAgICAtLXJlc3BvbnNpdmUtc3BhY2VzLWZpeDogLjc1O1xuICAgIH1cblxuICAgIEBtZWRpYSAoLS10YWJsZXQpe1xuICAgICAgICAtLXJlc3BvbnNpdmUtc3BhY2VzLWZpeDogLjg7XG4gICAgfVxuXG4gICAgQG1lZGlhICgtLWRlc2t0b3Ape1xuICAgICAgICAtLXJlc3BvbnNpdmUtc3BhY2VzLWZpeDogLjk7XG4gICAgfVxuXG4gICAgQG1lZGlhICgtLXdpZGUpe1xuICAgICAgICAtLXJlc3BvbnNpdmUtc3BhY2VzLWZpeDogMTtcbiAgICB9XG59XG5cbkBlYWNoICRib3hTcGFjZSBpbiAkYm94U3BhY2VzIHtcbiAgICAuI3skYm94U3BhY2V9e1xuICAgICAgICBAZWFjaCAkc3BhY2VOYW1lLCAkc3BhY2VWYWx1ZSBpbiAkc3BhY2VzIHtcbiAgICAgICAgICAgICYtLSN7JHNwYWNlTmFtZX17XG4gICAgICAgICAgICAgICAgI3skYm94U3BhY2V9OiAjeyRzcGFjZVZhbHVlfTtcblxuICAgICAgICAgICAgICAgIEBpZiAkYWxsb3ctaW1wb3J0YW50IHtcbiAgICAgICAgICAgICAgICAgICAgJlxcIWltcG9ydGFudHtcbiAgICAgICAgICAgICAgICAgICAgICAgICN7JGJveFNwYWNlfTogI3skc3BhY2VWYWx1ZX0gIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRwb3NpdGlvbiBpbiAkcG9zaXRpb25zIHtcbiAgICAgICAgICAgICZfXyN7JHBvc2l0aW9ufXtcbiAgICAgICAgICAgICAgICBAaWYgJHBvc2l0aW9uID09IGhvcml6b250YWwge1xuICAgICAgICAgICAgICAgICAgICBAZWFjaCAkc3BhY2VOYW1lLCAkc3BhY2VWYWx1ZSBpbiAkc3BhY2VzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICYtLSN7JHNwYWNlTmFtZX17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgI3skYm94U3BhY2V9LXRvcDogI3skc3BhY2VWYWx1ZX07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgI3skYm94U3BhY2V9LWJvdHRvbTogI3skc3BhY2VWYWx1ZX07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgJGFsbG93LWltcG9ydGFudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZcXCFpbXBvcnRhbnR7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjeyRib3hTcGFjZX0tdG9wOiAjeyRzcGFjZVZhbHVlfSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI3skYm94U3BhY2V9LWJvdHRvbTogI3skc3BhY2VWYWx1ZX0gIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdmVydGljYWwge1xuICAgICAgICAgICAgICAgICAgICBAZWFjaCAkc3BhY2VOYW1lLCAkc3BhY2VWYWx1ZSBpbiAkc3BhY2VzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICYtLSN7JHNwYWNlTmFtZX17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgI3skYm94U3BhY2V9LWxlZnQ6ICN7JHNwYWNlVmFsdWV9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICN7JGJveFNwYWNlfS1yaWdodDogI3skc3BhY2VWYWx1ZX07XG5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAkYWxsb3ctaW1wb3J0YW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlxcIWltcG9ydGFudHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICN7JGJveFNwYWNlfS1sZWZ0OiAjeyRzcGFjZVZhbHVlfSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI3skYm94U3BhY2V9LXJpZ2h0OiAjeyRzcGFjZVZhbHVlfSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgQGVhY2ggJHNwYWNlTmFtZSwgJHNwYWNlVmFsdWUgaW4gJHNwYWNlcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmLS0jeyRzcGFjZU5hbWV9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICN7JGJveFNwYWNlfS0jeyRwb3NpdGlvbn06ICN7JHNwYWNlVmFsdWV9O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmICRhbGxvdy1pbXBvcnRhbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmXFwhaW1wb3J0YW50e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI3skYm94U3BhY2V9LSN7JHBvc2l0aW9ufTogI3skc3BhY2VWYWx1ZX0gIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIvKipcbiAqIDxib2R5PlxuICovXG5ib2R5IHtcblx0Y29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktZGFyay0tdGV4dCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yX19zaXRlLWJhY2tncm91bmQpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udF9fY29weSk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250X19jb3B5LS13ZWlnaHQpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnRfX2NvcHktLXNpemUpO1xuXHRtaW4taGVpZ2h0OiAxMDB2aDtcblx0b3ZlcmZsb3cteDogaGlkZGVuO1xuXHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblxuXHQmLmFkbWluLWJhciB7XG5cdFx0bWluLWhlaWdodDogY2FsYygxMDB2aCAtIHZhcigtLWFkbWluYmFyX19oZWlnaHQtLW5hcnJvdykpO1xuXG5cdFx0QG1lZGlhICgtLWRlc2t0b3ApIHtcblx0XHRcdG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSB2YXIoLS1hZG1pbmJhcl9faGVpZ2h0KSk7XG5cdFx0fVxuXHR9XG5cdCYubmF2LWlzLS12aXNpYmxlIHtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHR9XG59XG4iLCIvKipcbiAqIDxmaWd1cmU+XG4gKi9cbmZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG4iLCIuZ2Zvcm0ge1xuICAgICZfd3JhcHBlci5ncmF2aXR5LXRoZW1lIHtcbiAgICAgICAgJiAuZ2ZpZWxkLmdmaWVsZC0tdHlwZS10ZXh0YXJlYSB0ZXh0YXJlYS50ZXh0YXJlYSB7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbSg5NHB4KTtcbiAgICAgICAgICAgICsgLmdpbnB1dF9jb3VudGVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1kYXJrLS10ZXh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIGlucHV0Om5vdChbdHlwZT0ncmFkaW8nXSk6bm90KFt0eXBlPSdjaGVja2JveCddKTpub3QoW3R5cGU9J2ltYWdlJ10pOm5vdChbdHlwZT0nZmlsZSddKSB7XG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MXB4KSB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgyMXB4KSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9oZWFkaW5nIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0bztcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZW0oMjJweCkgYXV0bztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDEycHgpO1xuICAgICAgICAmOmhhcyguZ2Zvcm1fdGl0bGUpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxN3B4KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1oNF9fc2l6ZSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1oNF9fbGluZS1oZWlnaHQpO1xuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1oNF9fbWFyZ2luLXRvcCk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250X19jb3B5KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnRfX2hlYWRpbmctLXdlaWdodC0tYm9sZCk7XG4gICAgICAgIG1hcmdpbi1ibG9jazogMDtcbiAgICAgICAgb3JkZXI6IDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1bnNldDtcbiAgICB9XG4gICAgJl9yZXF1aXJlZF9sZWdlbmQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LW1lZGl1bS0tdGV4dCk7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gICAgJl9kZXNjcmlwdGlvbiB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAmOmVtcHR5IHtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jazogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX2ZpZWxkcyB7XG4gICAgICAgIC8vIEFkZCBleHRyYSBtYXJnaW4gdG8gdG9wIG9mIGZvcm0gZmllbGRzXG4gICAgICAgIC5leHRyYS1tYXJnaW4ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogY2FsY0NsYW1wKDI0LCAzMCwgNTc2LCAxMjAwKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmdmb3JtX3dyYXBwZXIgZm9ybTpub3QoLmgtc2VhcmNoLWZvcm0pIHtcbiAgICAtLXN1Ym1pdF9fanVzdGlmeTogc3RhcnQ7XG4gICAgLS1zdWJtaXRfX21hcmdpbi10b3A6ICN7cmVtKDE2KX07XG4gICAgLS1zdWJtaXRfX2p1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgLS1jb25zZW50X19tYXJnaW4tdG9wOiAje3JlbSgxMCl9O1xuICAgIGlucHV0LFxuICAgIGlucHV0W3R5cGU9J3RleHQnXSxcbiAgICBpbnB1dFt0eXBlPSdlbWFpbCddLFxuICAgIGlucHV0W3R5cGU9J3Bhc3N3b3JkJ10sXG4gICAgaW5wdXRbdHlwZT0nbnVtYmVyJ10sXG4gICAgdGV4dGFyZWEsXG4gICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSxcbiAgICBpbnB1dFt0eXBlPSdyYWRpbyddLFxuICAgIHNlbGVjdCxcbiAgICAuY3VzdG9tLWdmb3JtLXNlbGVjdCAuc2VsZWN0LWJ1dHRvbixcbiAgICAuY3VzdG9tLWdmb3JtLXNlbGVjdCAuc2VsZWN0LWRyb3Bkb3duIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktZGFyay0tdGV4dCk7XG4gICAgICAgIGJvcmRlcjogcmVtKDFweCkgc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3JfX2dyZXktbGlnaHQtLWJnKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiByZW0oMXB4KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgyMXB4KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICY6bm90KFt0eXBlPSdzdWJtaXQnXSk6bm90KFt0eXBlPSdjaGVja2JveCddKTpub3QoOmhhcyhsaSkpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgxMykgcmVtKDE2KSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgICY6bm90KC5zZWxlY3QtYnV0dG9uKTpob3ZlciB7XG4gICAgICAgICAgICBjdXJzb3I6IHRleHQ7XG4gICAgICAgIH1cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiB1bnNldDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1kYXJrLS10ZXh0KTtcbiAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1kYXJrLS10ZXh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1tZWRpdW0tLWZvcm0tdGV4dCk7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jdXN0b20tZ2Zvcm0tc2VsZWN0IC5zZWxlY3QtYnV0dG9uLFxuICAgIC5jdXN0b20tZ2Zvcm0tc2VsZWN0IC5zZWxlY3QtZHJvcGRvd24ge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1tZWRpdW0tLWZvcm0tdGV4dCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICB9XG4gICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSxcbiAgICBpbnB1dFt0eXBlPSdyYWRpbyddLFxuICAgIGlucHV0W3R5cGU9J3N1Ym1pdCddLFxuICAgICNmaWVsZF9zdWJtaXQsXG4gICAgc2VsZWN0LFxuICAgIC5jdXN0b20tZ2Zvcm0tc2VsZWN0LFxuICAgIC5jdXN0b20tZ2Zvcm0tc2VsZWN0IC5zZWxlY3QtYnV0dG9uIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaW5wdXQsXG4gICAgaW5wdXRbdHlwZT0ndGV4dCddLFxuICAgIGlucHV0W3R5cGU9J2VtYWlsJ10sXG4gICAgaW5wdXRbdHlwZT0ncGFzc3dvcmQnXSxcbiAgICBpbnB1dFt0eXBlPSdudW1iZXInXSxcbiAgICB0ZXh0YXJlYSxcbiAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddLFxuICAgIGlucHV0W3R5cGU9J3JhZGlvJ10ge1xuICAgICAgICAgICAgJjpub3QoOnBsYWNlaG9sZGVyLXNob3duKSB7XG4gICAgICAgICAgICBvdXRsaW5lOiB1bnNldDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1tZWRpdW0tLWJnKSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktbWVkaXVtLS10ZXh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuY3VzdG9tLWdmb3JtLXNlbGVjdCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLnNlbGVjdC1idXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICZbYXJpYS1leHBhbmRlZD0ndHJ1ZSddIC5hcnJvdyB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aGFzKCsgdWwgbGkuc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiB1bnNldDtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktZGFyay0tdGV4dCkhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LWRhcmstLXRleHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5hcnJvdyB7XG4gICAgICAgICAgICB3aWR0aDogcmVtKDkpO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0oNSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9zZWxlY3QtZHJvcGRvd24uc3ZnJyk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gZWFzZS1pbi1vdXQgMC4zcztcbiAgICAgICAgfVxuICAgICAgICAuc2VsZWN0LWRyb3Bkb3duIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1tZWRpdW0tLWZvcm0tdGV4dCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvcl9fc2l0ZS1iYWNrZ3JvdW5kKTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgcmVtKDEwKSByZW0oMjUpIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IHJlbSgyMDApO1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICAmLmhpZGRlbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0oMTMpIHJlbSgxNik7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGdhcDogMC41cmVtO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgLy9ib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAmLnNlbGVjdGVkLFxuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LWRhcmstLXRleHQpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvcl9fZ3JleS1saWdodC0tYmcpO1xuICAgICAgICAgICAgICAgICAgICAvL2JvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yX19ibHVlLWdyZXktZGFyay0tdGV4dCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiByZW0oNyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2YxZjFmMTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiByZW0oMjUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNjY2M7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtKDI1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBzZWxlY3Qge1xuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9zZWxlY3QtZHJvcGRvd24uc3ZnJyk7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCByZW0oMTRweCk7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgfVxuICAgIGZpZWxkc2V0LmdmaWVsZC0taW5wdXQtdHlwZS1jb25zZW50IHtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tY29uc2VudF9fbWFyZ2luLXRvcCkgIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMyk7XG5cbiAgICAgICAgLmdpbnB1dF9jb250YWluZXJfY29uc2VudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZ2FwOiByZW0oMTApO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICA+IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICAgICAgICB3aWR0aDogcmVtKDIwKTtcbiAgICAgICAgICAgIGhlaWdodDogcmVtKDIwKTtcbiAgICAgICAgfVxuICAgICAgICBsYWJlbCxcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1tZWRpdW0tLXRleHQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiByZW0oNjQwKSkge1xuICAgICAgICAgICAgJjpoYXMoKyAuZ2ZpZWxkLS10eXBlLXN1Ym1pdCkge1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICsgLmdmaWVsZC0tdHlwZS1zdWJtaXQge1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSxcbiAgICBpbnB1dFt0eXBlPSdzdWJtaXQnXSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgICAgIG91dGxpbmU6IDFweCBzb2xpZCB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LWRhcmstLXRleHQpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlucHV0W3R5cGU9J3N1Ym1pdCddIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddIHtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogcmVtKDIwcHgpO1xuICAgICAgICBhc3BlY3QtcmF0aW86IDE7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LW1lZGl1bS0tYmcpO1xuICAgICAgICAmOmNoZWNrZWQge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LWRhcmstLWJnKTtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHJlbSgxMnB4KTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbSg2cHgpO1xuICAgICAgICAgICAgICAgIGxlZnQ6IHJlbSgzcHgpO1xuICAgICAgICAgICAgICAgIHRvcDogcmVtKDRweCk7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LWRhcmstLWJnKTtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMCByZW0oMnB4KSByZW0oMnB4KTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICNmaWVsZF9zdWJtaXQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHZhcigtLXN1Ym1pdF9fanVzdGlmeSk7XG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXN1Ym1pdF9fbWFyZ2luLXRvcCk7XG4gICAgICAgIEBleHRlbmQgJWJ1dHRvbjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAganVzdGlmeS1zZWxmOiB2YXIoLS1zdWJtaXRfX2p1c3RpZnktc2VsZik7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBAZXh0ZW5kICVidXR0b247XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiByZW0oMzQpO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0oMzQpO1xuICAgICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5nZm9ybS1mb290ZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICY6aGFzKGlucHV0W3R5cGU9J3N1Ym1pdCddKSB7XG4gICAgICAgICAgICBAZXh0ZW5kICVidXR0b24tLXByaW1hcnkgIW9wdGlvbmFsO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogY2FsY0NsYW1wKDI0LCAzMCwgNTc2LCAxMjAwKTtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogcmVtKDM0KTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbSgzNCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKC0tZGVza3RvcC1tYXgpIHtcbiAgICAgICAgLS1zdWJtaXRfX21hcmdpbi10b3A6IDA7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtOm5vdCguaC1zZWFyY2gtZm9ybSkge1xuICAgICAgICAtLXN1Ym1pdF9fanVzdGlmeTogZW5kO1xuICAgICAgICAtLXN1Ym1pdF9fbWFyZ2luLXRvcDogMDtcbiAgICAgICAgLS1zdWJtaXRfX2p1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICAtLWNvbnNlbnRfX21hcmdpbi10b3A6IDA7XG4gICAgfVxufVxuXG4vKipcbiAqIElucHV0XG4gKi9cbmlucHV0W3R5cGU9J3RleHQnXSxcbmlucHV0W3R5cGU9J2VtYWlsJ10sXG5pbnB1dFt0eXBlPSdwYXNzd29yZCddLFxuaW5wdXRbdHlwZT0nbnVtYmVyJ10sXG50ZXh0YXJlYSB7XG59XG5cbi8qKlxuICogSW5wdXQgb3B0aW9uc1xuICovXG5pbnB1dFt0eXBlPSdjaGVja2JveCddLFxuaW5wdXRbdHlwZT0ncmFkaW8nXSB7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi8qKlxuICogU3VibWl0IGJ1dHRvblxuICovXG5idXR0b25bdHlwZT0nc3VibWl0J10sXG5pbnB1dFt0eXBlPSdzdWJtaXQnXSB7XG4gICAgQGV4dGVuZCAlYnV0dG9uLS1wcmltYXJ5ICFvcHRpb25hbDtcbn1cblxuLyoqXG4gKiBUZXh0YXJlYVxuICovXG50ZXh0YXJlYSB7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbn0iLCIvKlxuKiogPGg+XG4qKi9cblxuOnJvb3Qge1xuICAvLyAtLWgxX19tYXJnaW4tdG9wOiAje2NhbGNDbGFtcCg3MCwgMTIwLCA1NzYsIDEyMDApfTsgXG4gIC0taDFfX21hcmdpbi10b3A6ICN7Y2FsY0NsYW1wKDExMCwgMTIwLCA1NzYsIDEyMDApfTsgXG4gIC0taDFfX3BfX21hcmdpbi10b3A6ICN7cmVtKDMwKX07XG5cbiAgLS1oMl9fbWFyZ2luLXRvcDogI3tyZW0oNjApfTtcbiAgLS1oMl9fcF9fbWFyZ2luLXRvcDogI3tyZW0oMjUpfTtcblxuICAtLWgzX19tYXJnaW4tdG9wOiAje3JlbSg1MCl9O1xuICAtLWgzX19wX19tYXJnaW4tdG9wOiAje2NhbGNDbGFtcCgxNSwgMTcsIDU3NiwgMTIwMCl9O1xuXG4gIC0taDRfX21hcmdpbi10b3A6ICN7cmVtKDMwKX07XG4gIC0taDRfX3BfX21hcmdpbi10b3A6ICN7Y2FsY0NsYW1wKDEwLCAxMiwgNTc2LCAxMjAwKX07XG5cbiAgLS1oNV9fbWFyZ2luLXRvcDogI3tyZW0oMzApfTtcbiAgLS1oNV9fcF9fbWFyZ2luLXRvcDogI3tjYWxjQ2xhbXAoMTAsIDEyLCA1NzYsIDEyMDApfTtcblxuICBAbWVkaWEgKC0tdGFibGV0KSB7XG4gICAgLS1oMV9fcF9fbWFyZ2luLXRvcDogI3tyZW0oMjMpfTtcblxuICAgIC0taDJfX21hcmdpbi10b3A6ICN7cmVtKDcwKX07XG4gICAgLS1oMl9fcF9fbWFyZ2luLXRvcDogI3tyZW0oMTkpfTtcblxuICAgIC0taDNfX21hcmdpbi10b3A6ICN7cmVtKDU1KX07XG4gIH1cbn1cblxuaDEsXG4uaXMtc3R5bGUtaDEsXG4uaXMtc3R5bGUtaDEtLWRlY29yLFxuaDIsXG4uaXMtc3R5bGUtaDIsXG4uaXMtc3R5bGUtaDItLWRlY29yLFxuaDMsXG4uaXMtc3R5bGUtaDMsXG4uaXMtc3R5bGUtaDMtLWRlY29yLFxuaDQsXG4uaXMtc3R5bGUtaDQsXG5oNSxcbi5pcy1zdHlsZS1oNSxcbmg2LFxuLmlzLXN0eWxlLWg2IHtcbiAgbWFyZ2luOiAwO1xuICBoeXBoZW5zOiBhdXRvO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udF9faGVhZGluZyk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250X19oZWFkaW5nLS13ZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1kYXJrLS10ZXh0KTtcblxuICBiLFxuICBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250X19oZWFkaW5nLS13ZWlnaHQtLWJvbGQpO1xuICB9XG59XG5cbmgxLFxuLmlzLXN0eWxlLWgxIHtcbiAgZm9udC1zaXplOiB2YXIoLS1oMV9fc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1oMV9fbGluZS1oZWlnaHQpO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1oMV9fbWFyZ2luLXRvcCk7XG4gICsgcCB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0taDFfX3BfX21hcmdpbi10b3ApO1xuICB9XG59XG5cbi50ZXh0LW1vZHVsZV9fY29udGVudC0tbGVmdDpoYXMoaDEpIHtcbiAgKyAudGV4dC1tb2R1bGVfX2NvbnRlbnQtLWJhc2UgPiBwOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1oMV9fcF9fbWFyZ2luLXRvcCk7XG4gIH1cbn1cblxuLmlzLXN0eWxlLWgxLS1kZWNvciB7XG4gIGZvbnQtc2l6ZTogdmFyKC0taDFfX3NpemUtLWRlY29yKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWgxX19saW5lLWhlaWdodC0tZGVjb3IpO1xufVxuXG5oMixcbi5pcy1zdHlsZS1oMiB7XG4gIGZvbnQtc2l6ZTogdmFyKC0taDJfX3NpemUpO1xuICBsaW5lLWhlaWdodDogdmFyKC0taDJfX2xpbmUtaGVpZ2h0KTtcbiAgbWFyZ2luLXRvcDogdmFyKC0taDJfX21hcmdpbi10b3ApO1xuICArIHAsXG4gICsgLnRleHQtbW9kdWxlX19jb250ZW50LS1iYXNlID4gcDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0taDJfX3BfX21hcmdpbi10b3ApO1xuICB9XG59XG5cbi50ZXh0LW1vZHVsZV9fY29udGVudC0tbGVmdDpoYXMoaDIpIHtcbiAgKyAudGV4dC1tb2R1bGVfX2NvbnRlbnQtLWJhc2UgPiBwOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1oMl9fcF9fbWFyZ2luLXRvcCk7XG4gIH1cbn1cblxuLmlzLXN0eWxlLWgyLS1kZWNvciB7XG4gIGZvbnQtc2l6ZTogdmFyKC0taDJfX3NpemUtLWRlY29yKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWgyX19saW5lLWhlaWdodC0tZGVjb3IpO1xufVxuXG5oMyxcbi5pcy1zdHlsZS1oMyB7XG4gIGZvbnQtc2l6ZTogdmFyKC0taDNfX3NpemUpO1xuICBsaW5lLWhlaWdodDogdmFyKC0taDNfX2xpbmUtaGVpZ2h0KTtcbiAgbWFyZ2luLXRvcDogdmFyKC0taDNfX21hcmdpbi10b3ApO1xuICArIHAsXG4gICsgLnRleHQtbW9kdWxlX19jb250ZW50LS1iYXNlID4gcDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0taDNfX3BfX21hcmdpbi10b3ApO1xuICB9XG59XG5cbi50ZXh0LW1vZHVsZV9fY29udGVudC0tbGVmdDpoYXMoaDMpIHtcbiAgKyAudGV4dC1tb2R1bGVfX2NvbnRlbnQtLWJhc2UgPiBwOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1oM19fcF9fbWFyZ2luLXRvcCk7XG4gIH1cbn1cblxuLmlzLXN0eWxlLWgzLS1kZWNvciB7XG4gIGZvbnQtc2l6ZTogdmFyKC0taDNfX3NpemUtLWRlY29yKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWgzX19saW5lLWhlaWdodC0tZGVjb3IpO1xufVxuXG5oNCxcbi5pcy1zdHlsZS1oNCB7XG4gIGZvbnQtc2l6ZTogdmFyKC0taDRfX3NpemUpO1xuICBsaW5lLWhlaWdodDogdmFyKC0taDRfX2xpbmUtaGVpZ2h0KTtcbiAgbWFyZ2luLXRvcDogdmFyKC0taDRfX21hcmdpbi10b3ApO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udF9fY29weSk7XG4gICsgcCxcbiAgKyAudGV4dC1tb2R1bGVfX2NvbnRlbnQtLWJhc2UgPiBwOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1oNF9fcF9fbWFyZ2luLXRvcCk7XG4gIH1cbn1cblxuLnRleHQtbW9kdWxlX19jb250ZW50LS1sZWZ0OmhhcyhoNCkge1xuICArIC50ZXh0LW1vZHVsZV9fY29udGVudC0tYmFzZSA+IHA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWg0X19wX19tYXJnaW4tdG9wKTtcbiAgfVxufVxuXG5oNSxcbi5pcy1zdHlsZS1oNSxcbmg2LFxuLmlzLXN0eWxlLWg2IHtcbiAgZm9udC1zaXplOiB2YXIoLS1oNV9fc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250X19oZWFkaW5nLS13ZWlnaHQtLWJvbGQpO1xuICBsaW5lLWhlaWdodDogdmFyKC0taDVfX2xpbmUtaGVpZ2h0KTtcbiAgbWFyZ2luLXRvcDogdmFyKC0taDVfX21hcmdpbi10b3ApO1xuICArIHAsXG4gICsgLnRleHQtbW9kdWxlX19jb250ZW50LS1iYXNlID4gcDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0taDVfX3BfX21hcmdpbi10b3ApO1xuICB9XG59XG5cbi50ZXh0LW1vZHVsZV9fY29udGVudC0tbGVmdDpoYXMoaDUpIHtcbiAgKyAudGV4dC1tb2R1bGVfX2NvbnRlbnQtLWJhc2UgPiBwOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1oNV9fcF9fbWFyZ2luLXRvcCk7XG4gIH1cbn1cblxuLnRleHQtbW9kdWxlX19jb250ZW50LS1sZWZ0OmhhcyhoNikge1xuICArIC50ZXh0LW1vZHVsZV9fY29udGVudC0tYmFzZSA+IHA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWg1X19wX19tYXJnaW4tdG9wKTtcbiAgfVxufVxuIiwiaHIud3AtYmxvY2stc2VwYXJhdG9yIHtcblx0LS1zZXBhcmF0b3JfX3NpemUtLWhlaWdodDogMC4xMjVyZW07XG5cdC0tc2VwYXJhdG9yX19zaXplLS13aWR0aDogNXJlbTtcblx0LS1zZXBhcmF0b3JfX3NpemUtLW1hcmdpbjogMS4yNXJlbTtcblx0LS1zZXBhcmF0b3JfX2NvbG9yLS1iYWNrZ3JvdW5kOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LW1lZGl1bS0tYmcpO1xuXG5cdGhlaWdodDogdmFyKC0tc2VwYXJhdG9yX19zaXplLS1oZWlnaHQpO1xuXHR3aWR0aDogdmFyKC0tc2VwYXJhdG9yX19zaXplLS13aWR0aCk7XG5cdGJhY2tncm91bmQ6IHZhcigtLXNlcGFyYXRvcl9fY29sb3ItLWJhY2tncm91bmQpO1xuXHRtYXJnaW46IHZhcigtLXNlcGFyYXRvcl9fc2l6ZS0tbWFyZ2luKSBhdXRvIHZhcigtLXNlcGFyYXRvcl9fc2l6ZS0tbWFyZ2luKSAwO1xuXHRib3JkZXI6IDA7XG5cblx0Ji5pcy1zdHlsZS13aWRlIHtcblx0XHQtLXNlcGFyYXRvcl9fc2l6ZS0td2lkdGg6IDEwMCU7XG5cdH1cblxuXHQmLmlzLXN0eWxlLWRvdHMge1xuXHRcdC0tc2VwYXJhdG9yX19zaXplLS13aWR0aDogMTAwJTtcblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0Y29sb3I6IHZhcigtLXNlcGFyYXRvcl9fY29sb3ItLWJhY2tncm91bmQpO1xuXHRcdH1cblx0fVxufVxuIiwiLyoqXG4gKiA8aW1nPlxuICovXG5pbWcge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IGF1dG87XG59XG4iLCIvKipcbiAqIDxhPlxuICovXG5hIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tYW5pbWF0aW9uX19kdXJhdGlvbikgdmFyKC0tYW5pbWF0aW9uX190aW1pbmctZnVuY3Rpb24pIDBzO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvcl9fbGlua3MpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICYuZG93bmxvYWQge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3JfX2dyZXktbWVkaXVtLS10YWJsZS1saW5rcyk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1hbmltYXRpb25fX2R1cmF0aW9uKSB2YXIoLS1hbmltYXRpb25fX3RpbWluZy1mdW5jdGlvbikgMHM7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1tZWRpdW0tLWJnKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybCguLi9pbWcvZG93bmxvYWQtZmlsbGVkLnN2Zyk7XG4gICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgd2lkdGg6IHJlbSgyOCk7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbSgyOCk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDUwJTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tYW5pbWF0aW9uX19kdXJhdGlvbikgdmFyKC0tYW5pbWF0aW9uX190aW1pbmctZnVuY3Rpb24pIDBzO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yX19ncmV5LWxpZ2h0LS1iZyk7XG4gICAgICAgICAgICAgICAgYm90dG9tOiBjYWxjKDUwJSArICN7cmVtKDIpfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmpvYnMtb3ZlcnZpZXctbW9kdWxlICYge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3JfX2xpbmtzLS1ob3Zlcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdChbY2xhc3NdKSB7XG4gICAgICAgIC8vIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgLnRhYmxlcHJlc3MgJiB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3JfX2dyZXktbWVkaXVtLS10YWJsZS1saW5rcyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgKC0tdGFibGV0LW1heCkge1xuICAgICAgICAmLmRvd25sb2FkIHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBib3R0b206IHJlbSgxNCk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IHJlbSgxNik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBNYWluIGNvbnRlbnQgY29udGFpbmVyXG4gKi9cbi5jb250ZW50IHtcbiAgZmxleDogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuXG4gIC5lbnRyeV9fY29udGVudCB7XG4gICAgPiAud3AtYmxvY2staW1hZ2UsXG4gICAgPiAud3AtYmxvY2stbWVkaWEtdGV4dCxcbiAgICA+IHNlY3Rpb24ge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHNlY3Rpb24ge1xuICAgICAgICAmLmFsaWduZnVsbCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmNvbnRhaW5lciB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgID4gLndwLWJsb2NrLWdyb3VwIHtcbiAgICAgIHNlY3Rpb24ge1xuICAgICAgICBzZWN0aW9uIHtcbiAgICAgICAgICAmLmFsaWduZnVsbCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgPiAuY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogPG5hdj5cbiAqL1xubmF2IHtcblx0dWwge1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cblxuXHRsaSB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0YSB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR9XG59XG4iLCIvKipcbiAqIDxwPlxuICovXG5wIHtcblx0bGluZS1oZWlnaHQ6IHZhcigtLWZvbnRfX2NvcHktLWxpbmUtaGVpZ2h0KTtcblx0bWFyZ2luLXRvcDogdmFyKC0tZm9udF9fY29weS0tbWFyZ2luLXRvcCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLWZvbnRfX2NvcHktLW1hcmdpbi1ib3R0b20pO1xuXG5cdCY6aXMoOmhhcygrLndwLWJsb2NrLWJ1dHRvbnMpKSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufSIsIi5icmxicy1jbXBudC1jb250YWluZXIuYnJsYnMtY21wbnQtY29udGVudC1ibG9ja2VyIHtcblx0LmRpcmVjdGlvbnMtbWFwLW1vZHVsZV9fY29udGVudC0tbWFwICYge1xuXHRcdC5icmxicy1jbXBudC1jYi1wcmVzZXQtYSB7XG5cdFx0XHRoZWlnaHQ6IGNhbGMoMTAwJSAtIDJyZW0pO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFx0dG9wOiAxcmVtO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHQuYnJsYnMtY21wbnQtY2ItYnV0dG9ucyB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5AbWVkaWEgKC0tbW9iaWxlLW1heCkge1xuXHQuYnJsYnMtY21wbnQtY29udGFpbmVyLmJybGJzLWNtcG50LWNvbnRlbnQtYmxvY2tlciB7XG5cdFx0aGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG5cdFx0LmJybGJzLWNtcG50LWNiLXByZXNldC1jIHtcblx0XHRcdC8vIEFsdGVybmF0aXZlbHkgdXNlIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB0byBtYWtlIG1ha2UgY29udGFpbmVyIHNjcm9sbGFibGUgZnJvbSBzdGFydCBhbmQgc2VlIGFsbCBpbmZvcm1hdGlvblxuXHRcdFx0Ly8ganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG59XG4iLCIuYnJlYWRjcnVtYnMge1xuICAmLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgei1pbmRleDogMjtcbiAgfVxuICBwYWRkaW5nLXRvcDogY2FsY0NsYW1wKDQ1LCA2MiwgNTc2LCAxMjAwKTtcblxuICBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1kYXJrLS10ZXh0KTtcbiAgICB9XG4gIH1cbiAgc3BhbixcbiAgYSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktbWVkaXVtLS10ZXh0KTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udF9faGVhZGluZyk7XG4gICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0oMTgpO1xuICAgIGxldHRlci1zcGFjaW5nOiByZW0oMC41KTtcbiAgfVxuXG4gIC8vICsgLndwLWJsb2NrLWdyb3VwIHtcbiAgLy8gICA+IC53cC1ibG9jay1ncm91cF9faW5uZXItY29udGFpbmVyIHtcbiAgLy8gICAgID4gLnRleHQtbW9kdWxlOmZpcnN0LW9mLXR5cGUge1xuICAvLyAgICAgICAtLWgxX19tYXJnaW4tdG9wOiAje2NhbGNDbGFtcCgyNSwgMzUsIDU3NiwgMTIwMCl9O1xuICAvLyAgICAgfVxuICAvLyAgIH1cbiAgLy8gfVxufVxuIiwiLmZvb3RlciB7XG4gICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0oMjYpO1xuICAgIG1hcmdpbi10b3A6IHJlbSg3NSk7XG5cbiAgICBsaTo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubWV0YV9fbmF2aWdhdGlvbiA+IHVsID4gbGksXG4gICAgJl9fbmF2aWdhdGlvbiA+IG5hdiA+IHVsID4gbGkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDgpO1xuICAgIH1cblxuICAgIC5tZXRhX19uYXZpZ2F0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDE5LjUpO1xuXG4gICAgICAgICYtLXdyYXBwZXIgdWwge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcblxuICAgICAgICAgICAgbGk6aGFzKC5zdWItbWVudSkge1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHVuc2V0O1xuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktbWVkaXVtLS10ZXh0KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5zdWItbWVudSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIGdhcDogcmVtKDkpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0oMjEpO1xuXG4gICAgICAgICAgICAgICAgICAgIGxpIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGh5cGhlbnM6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ge1xuICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX25hdmlnYXRpb24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0oMTcuNSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg1Mik7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZykgKiAyICsgdmFyKC0tY29udGVudC13aWR0aCkpO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0oMSk7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LW1lZGl1bS0tYmcpO1xuICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICB9XG5cbiAgICAgICAgJi0td3JhcHBlciA+IHVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG5cbiAgICAgICAgICAgIGxpID4gYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktbWVkaXVtLS10ZXh0KTtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktZGFyay0tdGV4dCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDQ1KTtcblxuICAgICAgICAmLS1zb2NpYWwtbWVkaWEgLnNvY2lhbC1tZWRpYS1pY29uLW5hdmlnYXRpb24gdWwge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGdhcDogcmVtKDIzKTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgYTpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LW1lZGl1bS0tYmcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2lyY2xlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktbWVkaXVtLS1iZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1sb2dvLFxuICAgICAgICAmLS1jb3B5cmlnaHQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhICgtLXRhYmxldCkge1xuICAgIC5mb290ZXIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXJvdzogcmVwZWF0KDIsIGF1dG8pO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMiwgMWZyKTtcbiAgICAgICAgZ2FwOiB2YXIoLS1ncmlkX19nYXApO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0oMTI5KTtcblxuICAgICAgICAubWV0YV9fbmF2aWdhdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiB1bnNldDtcblxuICAgICAgICAgICAgJi0td3JhcHBlciB7XG4gICAgICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhhcyguc3ViLW1lbnUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc3ViLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYXA6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi0td3JhcHBlciBsaSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHJlbSgxNzkpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbSgyNSk7XG5cbiAgICAgICAgICAgICAgICAuc3ViLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICBnYXA6IHJlbSg3LjUpO1xuICAgICAgICAgICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgyNik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19uYXZpZ2F0aW9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgyNSk7XG4gICAgICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtKDM0KTtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGdhcDogcmVtKDMyKTtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgICAgICAtLXNvY2lhbGljb25zLXJvd3M6IDY7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNTgpO1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMTE7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaWNvbi13YWxsLWZvb3Rlci5zdmdcIikgcmlnaHQgbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDEwMCU7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiByZW0oMzAzKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCh2YXIoLS1zb2NpYWxpY29ucy1yb3dzKSwgI3tyZW0oNDApfSk7XG4gICAgICAgICAgICByb3ctZ2FwOiByZW0oMTQpO1xuXG4gICAgICAgICAgICAmLS1zb2NpYWwtbWVkaWEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBzdWJncmlkO1xuICAgICAgICAgICAgICAgIGdyaWQtcm93OiAzIC8gLTE7XG4gICAgICAgICAgICAgICAgLnNvY2lhbC1tZWRpYS1pY29uLW5hdmlnYXRpb24gdWwge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZW5kO1xuICAgICAgICAgICAgICAgICAgICBnYXA6IHJlbSgxNCk7XG5cbiAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3JfX3NpdGUtYmFja2dyb3VuZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiByZW0oNTApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBIZWFkZXJcbiAqL1xuLmhlYWRlciB7XG5cdC5icmFuZC1sb2dvLW1vZHVsZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgICAgIC5uYXYtaXMtLXZpc2libGUgJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGNDbGFtcCgxODAsIDM3MCwgNTc2LCAxMjAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5ub3RpZmljYXRpb24tbWVzc2FnZXtcblxuICAgICZfX3dyYXBwZXJ7XG4gICAgICAgIGJhY2tncm91bmQ6ICNkZGY1ZmQ7XG4gICAgICAgIGJvcmRlcjogLjA2MjVyZW0gc29saWQgIzgzYjRkNztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogLjMxMjVyZW07XG4gICAgICAgIGNvbG9yOiAjMUE0MDU2O1xuICAgICAgICBtYXJnaW46IDEuMjVyZW0gMDtcbiAgICAgICAgcGFkZGluZzogLjYyNXJlbSAxLjI1cmVtO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDFmcjtcbiAgICAgICAgZ3JpZC1nYXA6IDEuMjVyZW07XG5cbiAgICAgICAgc3Zne1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAyLjVyZW07XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGV4dHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuXG4gICAgQG1lZGlhICgtLW1vYmlsZSkge1xuXG4gICAgICAgICZfX3dyYXBwZXJ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEhlYWRlclxuICovXG4uaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvcl9fd2hpdGUtLWJnKTtcbiAgbWluLWhlaWdodDogcmVtKDkxKTtcbiAgcGFkZGluZy10b3A6IHJlbSgxNyk7XG4gIHotaW5kZXg6IDQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tYW5pbWF0aW9uX19kdXJhdGlvbikgdmFyKC0tYW5pbWF0aW9uX190aW1pbmctZnVuY3Rpb24pIDBzO1xuICAubmF2LWlzLS12aXNpYmxlICYge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktZGFyay0tYmcpO1xuICAgIGhlaWdodDogMTAwdmg7IC8vIEZhbGxiYWNrXG4gICAgbWF4LWhlaWdodDogMjAwdmg7XG4gICAgLy8gb3ZlcmZsb3c6IGF1dG87XG4gICAgQHN1cHBvcnRzIChoZWlnaHQ6IDEwMHN2aCkge1xuICAgICAgaGVpZ2h0OiAxMDBzdmg7XG4gICAgICBtYXgtaGVpZ2h0OiAyMDBzdmg7XG4gICAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICAgIH1cbiAgfVxuICAmOmhhcyguc3VibmF2LWlzLS12aXNpYmxlKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1tZWRpdW0tLWJnKTtcbiAgfVxuICAmX19jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmLS1sb2dvIHtcbiAgICAgICYtLW1vYmlsZSB7XG4gICAgICAgIGZsZXg6IDAgMCByZW0oNTApO1xuICAgICAgICBoZWlnaHQ6IHJlbSg1MCk7XG4gICAgICAgIC8vIG1hcmdpbi1yaWdodDogcmVtKDE2KTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxMDE7XG4gICAgICAgID4gaW1nIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgJi5kZWZhdWx0IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAwcztcbiAgICAgICAgICB9XG4gICAgICAgICAgJi5uZWdhdGl2ZSB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAwcztcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICA+IGltZyB7XG4gICAgICAgICAgICAmLm5lZ2F0aXZlIHtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuZGVmYXVsdCB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYtLW5hdmlnYXRpb24ge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgY29sdW1uLWdhcDogcmVtKDE2KTtcblxuICAgICAgLnRvZ2dsZS1uYXYtLXNlYXJjaCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiByZW0oNTApO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBnYXA6IHJlbSgyMSk7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgICB9XG4gICAgfVxuICAgICYtLXNlYXJjaCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtKDY2KTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgICAgLm5hdi1pcy0tdmlzaWJsZSAmIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgLnNlYXJjaC1pY29uIHtcbiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgLmgtc2VhcmNoLWZvcm0ge1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gICAgICAgICAgYW5pbWF0aW9uOiBmbHlpbiAwLjNzIGVhc2Utb3V0O1xuICAgICAgICAgID4gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgICAgICB6LWluZGV4OiA5OTk5O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuc3VibmF2LWlzLS12aXNpYmxlICYge1xuICAgICAgICAuaC1zZWFyY2gtZm9ybSB7XG4gICAgICAgICAgPiBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwLjA2MjVyZW0gc29saWQgdmFyKC0tY29sb3JfX3doaXRlLS1iZyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5zZWFyY2gtaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG5cbiAgICAgICAgLnNlYXJjaCB7XG4gICAgICAgICAgd2lkdGg6IHJlbSgyMSk7XG4gICAgICAgICAgaGVpZ2h0OiByZW0oMjIpO1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvaWNvbi1zZWFyY2guc3ZnKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWFyY2gtdGV4dCB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRfX2NvcHkpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250X19jb3B5LS13ZWlnaHQpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udF9fY29weS0tc2l6ZSk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWZvbnRfX2NvcHktLWxpbmUtaGVpZ2h0KTtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAwcztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuaC1zZWFyY2gtZm9ybSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvcl9fd2hpdGUtLWJnKTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblxuICAgICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIGhlaWdodDogcmVtKDM2KTtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3JfX3doaXRlLS1iZyk7XG4gICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiByZW0oMSkgc29saWQgdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1tZWRpdW0tLWJnKTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbSg4KTtcbiAgICAgICAgICB3aWR0aDogcmVtKDIxMSk7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3JfX3doaXRlLS1iZyk7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250X19jb3B5KTtcbiAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udF9fY29weS0td2VpZ2h0KTtcbiAgICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnRfX2NvcHktLXNpemUpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1mb250X19jb3B5LS1saW5lLWhlaWdodCk7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yX193aGl0ZS0tYmcpO1xuICAgICAgICAgIHdpZHRoOiByZW0oMjgpO1xuICAgICAgICAgIGhlaWdodDogcmVtKDI4KTtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbSg4KTtcbiAgICAgICAgICB0ZXh0LWluZGVudDogLTk5OTk5OXB4O1xuICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG5cbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvcl9fd2hpdGUtLWJnKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBtZWRpYSAoLS13aWRlLW1heCkge1xuICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAmLS1sb2dvIHtcbiAgICAgICAgJi0tZGVza3RvcCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLS1sYW5ndWFnZS1sZWdhbCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0oMTYpO1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1jb250YWluZXItcGFkZGluZykgKiAyKTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgIH1cbiAgICAgICYtLWxhbmd1YWdlLXN3aXRjaGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogcmVtKDEpIHNvbGlkIHJnYmEodmFyKC0tY29sb3JfX3doaXRlLS1yZ2IpLCAwLjIpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDI2KTtcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICBvcGFjaXR5IHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAwcyxcbiAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yIHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAwcztcbiAgICAgICAgLnN1Ym5hdi1pcy0tdmlzaWJsZSAmIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKHZhcigtLWNvbG9yX193aGl0ZS0tcmdiKSwgMC40NCk7XG4gICAgICAgIH1cbiAgICAgICAgPiB1bCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oOCk7XG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMjQpO1xuICAgICAgICAgICAgICBjb2xvcjogcmdiYSh2YXIoLS1jb2xvcl9fd2hpdGUtLXJnYiksIDAuMyk7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAwcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYud3BtbC1scy1jdXJyZW50LWxhbmd1YWdlIHtcbiAgICAgICAgICAgICAgPiBhLFxuICAgICAgICAgICAgICAud3BtbC1scy1uYXRpdmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKHZhcigtLWNvbG9yX193aGl0ZS0tcmdiKSwgMSk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnRfX2hlYWRpbmctLXdlaWdodC0tYm9sZCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgIG9yZGVyOiAzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi0tbGVnYWwge1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtKDE2KTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSgzMCk7XG4gICAgICAgID4gbmF2IHtcbiAgICAgICAgICA+IHVsIHtcbiAgICAgICAgICAgIGNvbHVtbnM6IDI7XG4gICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1tZWRpdW0tLXRleHQpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMjQpO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAwcztcbiAgICAgICAgICAgICAgICAuc3VibmF2LWlzLS12aXNpYmxlICYge1xuICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yX19ncmV5LWxpZ2h0LS10ZXh0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKC0td2lkZSkge1xuICAgIHBhZGRpbmctdG9wOiByZW0oMjkpO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0oNDApO1xuICAgIGhlaWdodDogcmVtKDE0OCk7XG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIC5uYXZpZ2F0aW9uLXRvZ2dsZSxcbiAgICAgICYtLWxlZ2FsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJi0tbmF2aWdhdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICAgICYtLWxvZ28ge1xuICAgICAgICAmLS1tb2JpbGUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJi0tZGVza3RvcCB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHotaW5kZXg6IDk3O1xuICAgICAgICAgID4gaW1nIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogcmVtKDE3MCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAudG9nZ2xlLW5hdi0tc2VhcmNoIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBpbml0aWFsO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBpbml0aWFsO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiByZW0oMTApO1xuICAgICAgICB3aWR0aDogcmVtKDI2KTtcbiAgICAgICAgaGVpZ2h0OiByZW0oMzIpO1xuICAgICAgICB0b3A6IHJlbSg1NCk7XG4gICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICsgLm1haW4tbmF2aWdhdGlvbiB7XG4gICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYtLWxhbmd1YWdlLWxlZ2FsIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbSg1OSk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbSg2MSk7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cbiAgICAgICYtLWxhbmd1YWdlLXN3aXRjaGVyLS13cmFwcGVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1hbmltYXRpb25fX2R1cmF0aW9uKSB2YXIoLS1hbmltYXRpb25fX3RpbWluZy1mdW5jdGlvbikgMHM7XG4gICAgICAgIC5zZWFyY2gtaXMtLXZpc2libGUgJiB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYtLWxhbmd1YWdlLXN3aXRjaGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1hbmltYXRpb25fX2R1cmF0aW9uKSB2YXIoLS1hbmltYXRpb25fX3RpbWluZy1mdW5jdGlvbikgMHM7XG4gICAgICAgID4gdWwge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtKDgpO1xuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi53cG1sLWxzLWN1cnJlbnQtbGFuZ3VhZ2Uge1xuICAgICAgICAgICAgICA+IGEsXG4gICAgICAgICAgICAgIC53cG1sLWxzLW5hdGl2ZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktZGFyay0tdGV4dCk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnRfX2hlYWRpbmctLXdlaWdodC0tYm9sZCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LW1lZGl1bS0tdGV4dCk7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYtLXNlYXJjaCB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICAgICAgLmgtc2VhcmNoLWZvcm0ge1xuICAgICAgICAgIGNvbHVtbi1nYXA6IHJlbSgxMik7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS1hbmltYXRpb25fX2R1cmF0aW9uKSB2YXIoLS1hbmltYXRpb25fX3RpbWluZy1mdW5jdGlvbikgMHM7XG4gICAgICAgICAgcGFkZGluZy1ibG9jazogcmVtKDgpO1xuICAgICAgICAgIHBhZGRpbmctaW5saW5lOiByZW0oOCkgMDtcblxuICAgICAgICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LW1lZGl1bS0tdGV4dCk7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwLjA2MjVyZW0gc29saWQgdmFyKC0tY29sb3JfX2dyZXktbGlnaHQtLWJnKTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0oMzIpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAwcztcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSg0KSAwO1xuXG4gICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LW1lZGl1bS0tdGV4dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuc2VhcmNoLWljb24ge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oNikgcmVtKDQpIHJlbSg0KSByZW0oMik7XG4gICAgICAgICAgICAuc2VhcmNoIHtcbiAgICAgICAgICAgICAgd2lkdGg6IHJlbSgyMik7XG4gICAgICAgICAgICAgIGhlaWdodDogcmVtKDIyKTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9pY29uLXNlYXJjaC1kYXJrLnN2Zyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAuaC1zZWFyY2gtZm9ybSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvcl9fd2hpdGUtLWJnKTtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDk7XG4gICAgICAgICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICAgICAgICAgIHdpZHRoOiBjYWxjQ2xhbXAoMTIwLCAxOTAsIDEyMDAsIDE0NDApO1xuICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZTogcmVtKDQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmx5aW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKSB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZseWluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMCkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cbn1cbiIsIi5tZWRpYS1wcm92aWRlcntcbiAgICAmX193cmFwcGVye1xuICAgICAgICBtYXJnaW46IDMuMTI1cmVtIDA7XG4gICAgICAgIEBleHRlbmQgJW1hcmdpbl9faG9yaXpvbnRhbF9fbGFyZ2UgIW9wdGlvbmFsO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgZ3JpZC1nYXA6IDMuMTI1cmVtIHZhcigtLWdyaWRfX2dhcCk7XG4gICAgfVxuXG4gICAgJl9fbGlzdHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgZ3JpZC1nYXA6IDEuODc1cmVtIHZhcigtLWdyaWRfX2dhcCk7XG4gICAgfVxuXG4gICAgJl9faXRlbXtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIGdyaWQtZ2FwOiB2YXIoLS1ncmlkX19nYXApO1xuICAgIH1cblxuICAgICZfX2ltYWdle1xuICAgICAgICBtYXgtaGVpZ2h0OiA5LjM3NXJlbTtcbiAgICAgICAgbWF4LXdpZHRoOiA5LjM3NXJlbTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICBpbWd7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZGVzY3JpcHRpb257XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgbWF4LXdpZHRoOiAxOC43NXJlbTtcbiAgICB9XG5cbiAgICAmX19hdXRob3J7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuMzEyNXJlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgJi0tbGlua3tcblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbmFtZXtcbiAgICB9XG5cbiAgICBAbWVkaWEgKC0tbW9iaWxlKSB7XG5cbiAgICAgICAgJl9faXRlbXtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKC0tdGFibGV0KSB7XG4gICAgICAgICZfX2xpc3R7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICAgICAgICBncmlkLWdhcDogdmFyKC0tZ3JpZF9fZ2FwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAoLS13aWRlKSB7XG4gICAgICAgICZfX2xpc3R7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xuICAgICAgICB9XG4gICAgfVxuXG59IiwiLyoqXG4gKiBGb290ZXIgbmF2aWdhdGlvblxuICpcbiAqIG5hdlxuICogLSB1bFxuICogLS0gbGlcbiAqIC0tLSBhXG4gKi9cbi5mb290ZXItbmF2aWdhdGlvbiB7XG4gICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmN1cnJlbnQtbWVudS1pdGVtIHtcbiAgICB9XG59XG4iLCIvKipcbiAqIEhlYWRlciBuYXZpZ2F0aW9uXG4gKlxuICogbmF2XG4gKiAtIHVsXG4gKiAtLSBsaVxuICogLS0tIGFcbiAqIC0tLSB1bFxuICogLS0tLSDigKZcbiAqL1xuLm1haW4tbmF2aWdhdGlvbiB7XG4gIHVsIHtcbiAgICBsaSB7XG4gICAgICBhIHtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnRfX2hlYWRpbmctLXdlaWdodCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQG1lZGlhICgtLXdpZGUtbWF4KSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB0b3A6IHJlbSg3NCk7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IC0xMDAlO1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAje3JlbSg4NCl9KTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAje3JlbSg4NCl9KTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuM3M7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1kYXJrLS1iZyk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1jb250YWluZXItcGFkZGluZyk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tY29udGFpbmVyLXBhZGRpbmcpO1xuICAgIHBhZGRpbmctdG9wOiByZW0oMTEpO1xuICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS1hbmltYXRpb25fX2R1cmF0aW9uKSB2YXIoLS1hbmltYXRpb25fX3RpbWluZy1mdW5jdGlvbikgMHM7XG4gICAgLy8gei1pbmRleDogMTtcbiAgICBAc3VwcG9ydHMgKGhlaWdodDogMTAwc3ZoKSB7XG4gICAgICBoZWlnaHQ6IDEwMHN2aDtcbiAgICAgIG1heC1oZWlnaHQ6IDIwMHN2aDtcbiAgICB9XG4gICAgJjpub3QoI21haW4tbmF2aWdhdGlvbikge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICB0b3A6IHJlbSg3Nik7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IHJlbSg0Mik7XG4gICAgICB9XG4gICAgfVxuICAgIC8qIFJlbmRlcmVkIGJ5IEpTIGFzIHRoZSBmaXJzdCBjaGlsZCBvZiB0aGUgYWN0aXZlIHN1Yi1tZW51IHNvIGl0IHNjcm9sbHMgd2l0aCB0aGUgaXRlbXMgKi9cbiAgICAjYnJlYWRjcnVtYnMge1xuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRfX2hlYWRpbmcpO1xuICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbSgyMCk7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3JfX2dyZXktbGlnaHQtLXRleHQpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IHJlbSgtNCk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDExKTtcbiAgICAgIHotaW5kZXg6IDk5O1xuXG4gICAgICA+IC5icmVhZGNydW1iIHtcbiAgICAgICAgJi1pdGVtIHtcbiAgICAgICAgICAmLnRvcCxcbiAgICAgICAgICAmLnN1YiB7XG4gICAgICAgICAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbSg3KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi50b3Age1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnRfX2hlYWRpbmctLXdlaWdodC0tYm9sZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmhhcyguc3ViKSB7XG4gICAgICAgIC50b3Age1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250X19oZWFkaW5nLS13ZWlnaHQpO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDJjaDtcbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcInxcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAtMS43NWNoO1xuICAgICAgICAgICAgd2lkdGg6IDFjaDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnN1YiB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnRfX2hlYWRpbmctLXdlaWdodC0tYm9sZCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgPiBuYXYge1xuICAgICAgb3JkZXI6IDE7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcGFkZGluZy10b3A6IHJlbSg1NSk7XG4gICAgfVxuICAgIC8qIFNob3cgbW9iaWxlIG1lbnUgdHJpZ2dlciBhbmQgYmFjayBidXR0b24gKi9cbiAgICAubW9iaWxlLW1lbnUtdHJpZ2dlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgICAubmF2LWlzLS12aXNpYmxlICYge1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gICAgJjpoYXMoLnN1Ym5hdi1pcy0tdmlzaWJsZSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1tZWRpdW0tLWJnKTtcbiAgICB9XG4gICAgLy8gYWxsIHN1Ym5hdnNcbiAgICB1bCB7XG4gICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7IC8qIElFIGFuZCBFZGdlICovXG4gICAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7IC8qIEZpcmVmb3ggKi9cbiAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICAgICY6aGFzKD4gbGkuc3VibmF2LWlzLS12aXNpYmxlKSB7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgfVxuICAgICAgbGkge1xuICAgICAgICAmLm1vYmlsZS1tZW51LWJhY2staXRlbSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICBoZWlnaHQ6IHJlbSg1Mik7XG4gICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvcl9fd2hpdGUtLXRleHQpO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRfX2NvcHkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnRfX2NvcHktLXdlaWdodCk7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogcmVtKDEuMzMpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgxNyk7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0oMzgpO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbSg1KTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvc3VibWVudS1iYWNrLnN2Zyk7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgd2lkdGg6IHJlbSgyNik7XG4gICAgICAgICAgICAgIGhlaWdodDogcmVtKDI2KTtcbiAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyA+IGxpIHtcbiAgICAgIC8vICAgJi5zdWJuYXYtaXMtLXZpc2libGUge1xuICAgICAgLy8gICAgID4gYTpoYXMoKyB1bC5zdWItbWVudSkge1xuICAgICAgLy8gICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgLy8gICAgICAgcmlnaHQ6IC0xMDAlO1xuICAgICAgLy8gICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICAgIC8vICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgIC8vICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAvLyAgICAgICBjb2xvcjogdmFyKC0tY29sb3JfX2dyZXktbGlnaHQtLXRleHQpO1xuICAgICAgLy8gICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAvLyAgICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICAvLyAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAvLyAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgLy8gICAgICAgKyB1bC5zdWItbWVudSB7XG4gICAgICAvLyAgICAgICAgID4gbGkge1xuICAgICAgLy8gICAgICAgICAgICYuc3VibmF2LWlzLS12aXNpYmxlIHtcbiAgICAgIC8vICAgICAgICAgICAgID4gYTpoYXMoKyB1bC5zdWItbWVudSkge1xuICAgICAgLy8gICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAvLyAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgLy8gICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAvLyAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgje3JlbSgtNil9KTtcbiAgICAgIC8vICAgICAgICAgICAgIH1cbiAgICAgIC8vICAgICAgICAgICB9XG4gICAgICAvLyAgICAgICAgIH1cbiAgICAgIC8vICAgICAgIH1cbiAgICAgIC8vICAgICB9XG5cbiAgICAgIC8vICAgICA+IGE6aGFzKCsgdWwuc3ViLW1lbnUgPiBsaS5zdWJuYXYtaXMtLXZpc2libGUpIHtcbiAgICAgIC8vICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7XG4gICAgICAvLyAgICAgfVxuICAgICAgLy8gICB9XG4gICAgICAvLyB9XG4gICAgfVxuXG4gICAgLy8gQnkgaGllcmFyY2h5XG4gICAgPiB1bCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAwcztcbiAgICAgIC8vIENhbGN1bGF0ZSBtYXgtaGVpZ2h0OiAxMDBzdmggLSAxMzVweCAodG9wIGFyZWEpIC0gMTUwcHggKGJvdHRvbSBhcmVhKVxuICAgICAgbWF4LWhlaWdodDogY2FsYygxMDBzdmggLSAje3JlbSgzMDApfSk7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgPiBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIGhlaWdodDogcmVtKDU5KTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogcmVtKDEpIHNvbGlkIHJnYmEodmFyKC0tY29sb3JfX2JsdWUtZ3JleS1tZWRpdW0tLWJnLS1yZ2IpLCAwLjUpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogcmVtKDEpIHNvbGlkIHJnYmEodmFyKC0tY29sb3JfX2JsdWUtZ3JleS1tZWRpdW0tLWJnLS1yZ2IpLCAwLjUpO1xuICAgICAgICB9XG4gICAgICAgID4gYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yX19ncmV5LWxpZ2h0LS10ZXh0KTtcbiAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udF9faGVhZGluZyk7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMjUpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250X19oZWFkaW5nLS13ZWlnaHQtLWJvbGQpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMzYpO1xuICAgICAgICAgIHBhZGRpbmc6IHJlbSgxMSkgMCByZW0oMTAuNSk7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250X19oZWFkaW5nLS13ZWlnaHQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ge1xuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiPlwiO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yX19ncmV5LWxpZ2h0LS10ZXh0KTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250X19jb3B5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDI1KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250X19jb3B5LS13ZWlnaHQpO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHJlbSgxLjY3KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogLSN7cmVtKDQ0KX07XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgLSAxcmVtKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvKiBIaWdobGlnaHQgTFZMIDEgKi9cbiAgICAgICAgLy8gJjpob3ZlcixcbiAgICAgICAgJi5jdXJyZW50LW1lbnUtaXRlbSxcbiAgICAgICAgJi5jdXJyZW50LW1lbnUtYW5jZXN0b3IsXG4gICAgICAgICYuY3VycmVudF9wYWdlX2l0ZW0sXG4gICAgICAgICYuY3VycmVudC1wYWdlLXBhcmVudCxcbiAgICAgICAgJi5jdXJyZW50LXBhZ2UtYW5jZXN0b3Ige1xuICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3JfX3doaXRlLS10ZXh0KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yX193aGl0ZS0tYmcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuc3VibmF2LWlzLS12aXNpYmxlIHtcbiAgICAgICAgICA+IC5zdWItbWVudSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgICAgbWF4LWhlaWdodCB2YXIoLS1hbmltYXRpb25fX2R1cmF0aW9uKSB2YXIoLS1hbmltYXRpb25fX3RpbWluZy1mdW5jdGlvbikgMHMsXG4gICAgICAgICAgICAgIG1pbi1oZWlnaHQgdmFyKC0tYW5pbWF0aW9uX19kdXJhdGlvbikgdmFyKC0tYW5pbWF0aW9uX190aW1pbmctZnVuY3Rpb24pIDBzLFxuICAgICAgICAgICAgICB0cmFuc2Zvcm0gdmFyKC0tYW5pbWF0aW9uX19kdXJhdGlvbikgdmFyKC0tYW5pbWF0aW9uX190aW1pbmctZnVuY3Rpb24pIDBzLFxuICAgICAgICAgICAgICBvcGFjaXR5IHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAwcztcbiAgICAgICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgICAgIHRyYW5zZm9ybSB2YXIoLS1hbmltYXRpb25fX2R1cmF0aW9uKSB2YXIoLS1hbmltYXRpb25fX3RpbWluZy1mdW5jdGlvbikgMHMsXG4gICAgICAgICAgICAgIG9wYWNpdHkgdmFyKC0tYW5pbWF0aW9uX19kdXJhdGlvbikgdmFyKC0tYW5pbWF0aW9uX190aW1pbmctZnVuY3Rpb24pIDI1MG1zO1xuXG4gICAgICAgICAgICAvLyBDYWxjdWxhdGUgbWF4LWhlaWdodDogMTAwc3ZoIC0gMTM1cHggKHRvcCBhcmVhKSAtIDE1MHB4IChib3R0b20gYXJlYSlcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwc3ZoIC0gI3tyZW0oMzAwKX0pO1xuICAgICAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgICAgICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lOyAvKiBJRSBhbmQgRWRnZSAqL1xuICAgICAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lOyAvKiBGaXJlZm94ICovXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLyogTFZMIDIgKi9cbiAgICAgICAgPiB1bCB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgdG9wOiAtI3tyZW0oNTEpfTtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtKDQpO1xuICAgICAgICAgIC8vIHRvcDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgIG1heC1oZWlnaHQgdmFyKC0tYW5pbWF0aW9uX19kdXJhdGlvbikgdmFyKC0tYW5pbWF0aW9uX190aW1pbmctZnVuY3Rpb24pIDBzLFxuICAgICAgICAgICAgbWluLWhlaWdodCB2YXIoLS1hbmltYXRpb25fX2R1cmF0aW9uKSB2YXIoLS1hbmltYXRpb25fX3RpbWluZy1mdW5jdGlvbikgMHMsXG4gICAgICAgICAgICB0cmFuc2Zvcm0gdmFyKC0tYW5pbWF0aW9uX19kdXJhdGlvbikgdmFyKC0tYW5pbWF0aW9uX190aW1pbmctZnVuY3Rpb24pIDBzLFxuICAgICAgICAgICAgb3BhY2l0eSB2YXIoLS1hbmltYXRpb25fX2R1cmF0aW9uKSB2YXIoLS1hbmltYXRpb25fX3RpbWluZy1mdW5jdGlvbikgMTUwbXM7XG4gICAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgIHRyYW5zZm9ybSB2YXIoLS1hbmltYXRpb25fX2R1cmF0aW9uKSB2YXIoLS1hbmltYXRpb25fX3RpbWluZy1mdW5jdGlvbikgMHMsXG4gICAgICAgICAgICBvcGFjaXR5IHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAyNTBtcztcbiAgICAgICAgICAuc3VibmF2LWlzLS12aXNpYmxlICYge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgICBtYXgtaGVpZ2h0IHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAwcyxcbiAgICAgICAgICAgICAgbWluLWhlaWdodCB2YXIoLS1hbmltYXRpb25fX2R1cmF0aW9uKSB2YXIoLS1hbmltYXRpb25fX3RpbWluZy1mdW5jdGlvbikgMHMsXG4gICAgICAgICAgICAgIHRyYW5zZm9ybSB2YXIoLS1hbmltYXRpb25fX2R1cmF0aW9uKSB2YXIoLS1hbmltYXRpb25fX3RpbWluZy1mdW5jdGlvbikgMHMsXG4gICAgICAgICAgICAgIG9wYWNpdHkgdmFyKC0tYW5pbWF0aW9uX19kdXJhdGlvbikgdmFyKC0tYW5pbWF0aW9uX190aW1pbmctZnVuY3Rpb24pIDBzO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgICAgdHJhbnNmb3JtIHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAwcyxcbiAgICAgICAgICAgICAgb3BhY2l0eSB2YXIoLS1hbmltYXRpb25fX2R1cmF0aW9uKSB2YXIoLS1hbmltYXRpb25fX3RpbWluZy1mdW5jdGlvbikgMjUwbXM7XG5cbiAgICAgICAgICAgIC8vIENhbGN1bGF0ZSBtYXgtaGVpZ2h0OiAxMDBzdmggLSAxMzVweCAodG9wIGFyZWEpIC0gMTUwcHggKGJvdHRvbSBhcmVhKVxuICAgICAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDBzdmggLSAje3JlbSgzMDApfSk7XG4gICAgICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICAgICAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7IC8qIElFIGFuZCBFZGdlICovXG4gICAgICAgICAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7IC8qIEZpcmVmb3ggKi9cbiAgICAgICAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aGFzKD4gbGkuc3VibmF2LWlzLS12aXNpYmxlKSB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiByZW0oMSkgc29saWQgcmdiYSh2YXIoLS1jb2xvcl9fd2hpdGUtLXJnYiksIDAuNSk7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbSg1OSk7XG4gICAgICAgICAgICAmLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ge1xuICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCI+XCI7XG4gICAgICAgICAgICAgICAgY29sb3I6IHJnYmEodmFyKC0tY29sb3JfX3doaXRlLS1yZ2IpLCAwLjUpO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250X19jb3B5KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgyNSk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnRfX2NvcHktLXdlaWdodCk7XG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHJlbSgxLjY3KTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgdG9wOiAtI3tyZW0oNDQpfTtcbiAgICAgICAgICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgLSAxcmVtKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvKiBIb3ZlciBMVkwgMiAqL1xuICAgICAgICAgICAgLy8gJjpob3ZlcixcbiAgICAgICAgICAgICYuY3VycmVudC1tZW51LWl0ZW0sXG4gICAgICAgICAgICAmLmN1cnJlbnQtbWVudS1hbmNlc3RvcixcbiAgICAgICAgICAgICYuY3VycmVudF9wYWdlX2l0ZW0sXG4gICAgICAgICAgICAmLmN1cnJlbnQtcGFnZS1wYXJlbnQsXG4gICAgICAgICAgICAmLmN1cnJlbnQtcGFnZS1hbmNlc3RvciB7XG4gICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yX193aGl0ZS0tdGV4dCk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnRfX2hlYWRpbmctLXdlaWdodC0tYm9sZCk7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLm1vYmlsZS1tZW51LWJhY2staXRlbSB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0je3JlbSg0KX07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvcl9fZ3JleS1saWdodC0tdGV4dCk7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRfX2hlYWRpbmcpO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250X19oZWFkaW5nLS13ZWlnaHQtLWJvbGQpO1xuICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgyNSk7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMzYpO1xuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBwYWRkaW5nOiByZW0oMTEpIDAgcmVtKDEwLjUpO1xuICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnN1Ym5hdi1pcy0tdmlzaWJsZSB7XG4gICAgICAgICAgICAgID4gLnN1Yi1tZW51IHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodCB2YXIoLS1hbmltYXRpb25fX2R1cmF0aW9uKSB2YXIoLS1hbmltYXRpb25fX3RpbWluZy1mdW5jdGlvbikgMHMsXG4gICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0IHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAwcyxcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSB2YXIoLS1hbmltYXRpb25fX2R1cmF0aW9uKSB2YXIoLS1hbmltYXRpb25fX3RpbWluZy1mdW5jdGlvbikgMHMsXG4gICAgICAgICAgICAgICAgICBvcGFjaXR5IHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAwcztcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAwcyxcbiAgICAgICAgICAgICAgICAgIG9wYWNpdHkgdmFyKC0tYW5pbWF0aW9uX19kdXJhdGlvbikgdmFyKC0tYW5pbWF0aW9uX190aW1pbmctZnVuY3Rpb24pIDI1MG1zO1xuXG4gICAgICAgICAgICAgICAgLy8gQ2FsY3VsYXRlIG1heC1oZWlnaHQ6IDEwMHN2aCAtIDEzNXB4ICh0b3AgYXJlYSkgLSAxNTBweCAoYm90dG9tIGFyZWEpXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDBzdmggLSAje3JlbSgyNTApfSk7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgICAgICAgICAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7IC8qIElFIGFuZCBFZGdlICovXG4gICAgICAgICAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lOyAvKiBGaXJlZm94ICovXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLyogTFZMIDMgKi9cbiAgICAgICAgICAgID4gdWwge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICB0b3A6IC0je3JlbSgxNjYpfTtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0IHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAwcyxcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0IHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAwcyxcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gdmFyKC0tYW5pbWF0aW9uX19kdXJhdGlvbikgdmFyKC0tYW5pbWF0aW9uX190aW1pbmctZnVuY3Rpb24pIDBzLFxuICAgICAgICAgICAgICAgIG9wYWNpdHkgdmFyKC0tYW5pbWF0aW9uX19kdXJhdGlvbikgdmFyKC0tYW5pbWF0aW9uX190aW1pbmctZnVuY3Rpb24pIDE1MG1zO1xuXG4gICAgICAgICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtIHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAwcyxcbiAgICAgICAgICAgICAgICBvcGFjaXR5IHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAyNTBtcztcblxuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICB0b3A6IC0je3JlbSgxMTgpfTtcbiAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodCB2YXIoLS1hbmltYXRpb25fX2R1cmF0aW9uKSB2YXIoLS1hbmltYXRpb25fX3RpbWluZy1mdW5jdGlvbikgMHMsXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodCB2YXIoLS1hbmltYXRpb25fX2R1cmF0aW9uKSB2YXIoLS1hbmltYXRpb25fX3RpbWluZy1mdW5jdGlvbikgMHMsXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtIHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAwcyxcbiAgICAgICAgICAgICAgICBvcGFjaXR5IHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKSAwLjE1cztcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gdmFyKC0tYW5pbWF0aW9uX19kdXJhdGlvbikgdmFyKC0tYW5pbWF0aW9uX190aW1pbmctZnVuY3Rpb24pIDBzLFxuICAgICAgICAgICAgICAgIG9wYWNpdHkgdmFyKC0tYW5pbWF0aW9uX19kdXJhdGlvbikgdmFyKC0tYW5pbWF0aW9uX190aW1pbmctZnVuY3Rpb24pIDAuMjVzO1xuXG4gICAgICAgICAgICAgIC5oYXMtY3VycmVudC1wYWdlICYge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yX19ncmV5LS1saWdodCk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDBzdmg7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwdmg7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQgdmFyKC0tYW5pbWF0aW9uX19kdXJhdGlvbikgdmFyKC0tYW5pbWF0aW9uX190aW1pbmctZnVuY3Rpb24pIDBzLFxuICAgICAgICAgICAgICAgICAgbWluLWhlaWdodCB2YXIoLS1hbmltYXRpb25fX2R1cmF0aW9uKSB2YXIoLS1hbmltYXRpb25fX3RpbWluZy1mdW5jdGlvbikgMHMsXG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gdmFyKC0tYW5pbWF0aW9uX19kdXJhdGlvbikgdmFyKC0tYW5pbWF0aW9uX190aW1pbmctZnVuY3Rpb24pIDBzLFxuICAgICAgICAgICAgICAgICAgb3BhY2l0eSB2YXIoLS1hbmltYXRpb25fX2R1cmF0aW9uKSB2YXIoLS1hbmltYXRpb25fX3RpbWluZy1mdW5jdGlvbikgMjUwbXM7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgzNik7XG5cbiAgICAgICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogcmVtKDEpIHNvbGlkIHJnYmEodmFyKC0tY29sb3JfX3doaXRlLS1yZ2IpLCAwLjUpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuY3VycmVudC1tZW51LWl0ZW0sXG4gICAgICAgICAgICAgICAgJi5jdXJyZW50LW1lbnUtYW5jZXN0b3IsXG4gICAgICAgICAgICAgICAgJi5jdXJyZW50X3BhZ2VfaXRlbSxcbiAgICAgICAgICAgICAgICAmLmN1cnJlbnQtcGFnZS1wYXJlbnQsXG4gICAgICAgICAgICAgICAgJi5jdXJyZW50LXBhZ2UtYW5jZXN0b3Ige1xuICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yX193aGl0ZS0tdGV4dCk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250X19oZWFkaW5nLS13ZWlnaHQtLWJvbGQpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XG4gICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKHZhcigtLWNvbG9yX193aGl0ZS0tcmdiKSwgMC41KTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yX19ncmV5LWxpZ2h0LS10ZXh0KTtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRfX2NvcHkpO1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnRfX2NvcHktLXdlaWdodCk7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtKDM2KTtcbiAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzogcmVtKDQpIDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmhhcyg+IGxpLnN1Ym5hdi1pcy0tdmlzaWJsZSkge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgICA+IGxpIHtcbiAgICAgICAgICAmOm5vdCguc3VibmF2LWlzLS12aXNpYmxlKSxcbiAgICAgICAgICAuaGFzLWN1cnJlbnQtcGFnZSAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhICgtLXdpZGUpIHtcbiAgICAmOm5vdCgjbWFpbi1uYXZpZ2F0aW9uKSB7XG4gICAgICAvLyBkaXNwbGF5OiBmbGV4O1xuICAgICAgLy8ganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gICAgI2JyZWFkY3J1bWJzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5tb2JpbGUtbWVudS1iYWNrLWl0ZW0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLyogTFZMIDEgKi9cbiAgICA+IHVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAvLyBjb2x1bW4tZ2FwOiByZW0oNDApO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IGNhbGNDbGFtcCgyMDAsIDM5MywgMTIwMCwgMTQ0MCk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsZWZ0OiAwO1xuXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgPiBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogcmVtKDU4KSByZW0oMjcpIHJlbSg1OCk7XG5cbiAgICAgICAgPiBhIHtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1tZWRpdW0tLXRleHQpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogY2FsY0NsYW1wKDE2LCAxOCwgMTIwMCwgMTQ0MCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgyMik7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnRfX2hlYWRpbmctLXdlaWdodC0tYm9sZCk7XG4gICAgICAgICAgcGFkZGluZzogcmVtKDIxKSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcbiAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDIxKTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjQ2xhbXAoMTAsIDMwLCAxMjAwLCAxNDQwKTtcbiAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LW1lZGl1bS0tdGV4dCk7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgICAgd2lkdGg6IHJlbSg3KTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiByZW0oMik7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgdG9wOiBjYWxjKDUwJSArICN7cmVtKDEpfSk7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS1hbmltYXRpb25fX2R1cmF0aW9uKSB2YXIoLS1hbmltYXRpb25fX3RpbWluZy1mdW5jdGlvbikgMHM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgKyAje3JlbSg0KX0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICByaWdodDogLSN7cmVtKDExKX07XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LWRhcmstLXRleHQpO1xuICAgICAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1kYXJrLS10ZXh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmN1cnJlbnQtbWVudS1pdGVtLFxuICAgICAgICAmLmN1cnJlbnQtbWVudS1hbmNlc3RvcixcbiAgICAgICAgJi5jdXJyZW50X3BhZ2VfaXRlbSxcbiAgICAgICAgJi5jdXJyZW50LXBhZ2UtcGFyZW50LFxuICAgICAgICAmLmN1cnJlbnQtcGFnZS1hbmNlc3RvciB7XG4gICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LWRhcmstLXRleHQpO1xuICAgICAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1kYXJrLS10ZXh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1kYXJrLS10ZXh0KTtcbiAgICAgICAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktZGFyay0tdGV4dCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvKiAmLmluYWN0aXZlIHtcbiAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yX19ncmV5LWxpZ2h0LS10ZXh0KTtcbiAgICAgICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yX19ncmV5LWxpZ2h0LS10ZXh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0gKi9cblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbSg3MCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBMVkwgMlxuICAgICAgICA+IC5zdWItbWVudSB7XG4gICAgICAgICAgLS1zdWJncmlkLWNvbHVtbnM6IDQ7XG4gICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICBjb2x1bW4tZ2FwOiByZW0oMjYpO1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KGNhbGModmFyKC0tY29udGVudC13aWR0aCkgLyB2YXIoLS1zdWJncmlkLWNvbHVtbnMpIC0gdmFyKC0tZ3JpZF9fZ2FwKSAqIDQpLCAxZnIpKTtcblxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yX193aGl0ZS0tYmcpO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IHJlbSgxMTgpO1xuICAgICAgICAgIGxlZnQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmcpICogLTEpO1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoMCk7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS1hbmltYXRpb25fX2R1cmF0aW9uKSB2YXIoLS1hbmltYXRpb25fX3RpbWluZy1mdW5jdGlvbikgMHM7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgIHBhZGRpbmc6IHJlbSg2MykgdmFyKC0tY29udGFpbmVyLXBhZGRpbmcpIHJlbSg3Nyk7XG4gICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKHZhcigtLWNvbnRlbnQtd2lkdGgpICsgdmFyKC0tY29udGFpbmVyLXBhZGRpbmcpICogMik7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSB2YXIoLS1jb250YWluZXItcGFkZGluZykgKiAyKTtcbiAgICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgICAgei1pbmRleDogOTk7XG5cbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3JfX3doaXRlLS1iZyk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAtNTB2dztcbiAgICAgICAgICAgIHdpZHRoOiAxNTB2dztcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgIH1cblxuICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDEwKSAwO1xuXG4gICAgICAgICAgICAmLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ge1xuICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktZGFyay0tdGV4dCk7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE1KTtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgxNik7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250X19oZWFkaW5nLS13ZWlnaHQtLWJvbGQpO1xuXG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udF9faGVhZGluZyk7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgyOSk7XG4gICAgICAgICAgICAgIGJvcmRlci10b3A6IHJlbSgxKSBzb2xpZCByZ2JhKHZhcigtLWNvbG9yX19ibHVlLWdyZXktbWVkaXVtLS1iZy0tcmdiKSwgMC4yKTtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogcmVtKDQpIHNvbGlkIHJnYmEodmFyKC0tY29sb3JfX2JsdWUtZ3JleS1tZWRpdW0tLWJnLS1yZ2IpLCAwLjIpO1xuICAgICAgICAgICAgICBwYWRkaW5nOiByZW0oOSkgMDtcbiAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnRfX2hlYWRpbmctLXdlaWdodCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gTFZMIDNcbiAgICAgICAgICAgID4gLnN1Yi1tZW51IHtcbiAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbSg0OCk7XG4gICAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg5KTtcbiAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktbWVkaXVtLS10ZXh0KTtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMjEpO1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5jdXJyZW50LW1lbnUtaXRlbSxcbiAgICAgICAgICAgICAgICAmLmN1cnJlbnQtbWVudS1hbmNlc3RvcixcbiAgICAgICAgICAgICAgICAmLmN1cnJlbnRfcGFnZV9pdGVtLFxuICAgICAgICAgICAgICAgICYuY3VycmVudC1wYWdlLXBhcmVudCB7XG4gICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1kYXJrLS10ZXh0KTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnRfX2hlYWRpbmctLXdlaWdodC0tYm9sZCk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktZGFyay0tdGV4dCk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLyogTFZMIDIgKi9cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgPiB1bCB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgxKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDkwcmVtKSB7XG4gICAgPiB1bCB7XG4gICAgICA+IGxpIHtcbiAgICAgICAgPiAuc3ViLW1lbnUge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KGNhbGModmFyKC0tY29udGVudC13aWR0aCkgLyB2YXIoLS1zdWJncmlkLWNvbHVtbnMpIC0gdmFyKC0tZ3JpZF9fZ2FwKSksIDFmcikpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIE1ldGEgbmF2aWdhdGlvblxuICpcbiAqIG5hdlxuICogLSB1bFxuICogLS0gbGlcbiAqIC0tLSBhXG4gKi9cbi5tZXRhLW5hdmlnYXRpb24ge1xuICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jdXJyZW50LW1lbnUtaXRlbSB7XG4gICAgfVxufVxuIiwiLyoqXG4gKiBUb2dnbGUgbmF2aWdhdGlvbiBidXR0b25cbiAqL1xuLm5hdmlnYXRpb24tdG9nZ2xlIHtcblx0d2lkdGg6IHJlbSgyNik7XG5cdGhlaWdodDogcmVtKDE5KTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRleHQtaW5kZW50OiAtOTk5OTk5cHg7XG5cblx0Jjo6YmVmb3JlLFxuXHQmOjphZnRlciB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogcmVtKDMpO1xuXHRcdGNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LWRhcmstLWJnKTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdFx0Ym9yZGVyLXJhZGl1czogcmVtKDEuNSk7XG5cdFx0dHJhbnNpdGlvbjogYWxsIDAuNDVzIGVhc2UtaW4tb3V0O1xuXHR9XG5cdCY6OmJlZm9yZSB7XG5cdFx0dG9wOiAwO1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDApO1xuXHR9XG5cdCY6OmFmdGVyIHtcblx0XHRib3R0b206IDA7XG5cdFx0Ym94LXNoYWRvdzogMCAtOHB4IGN1cnJlbnRDb2xvcjtcblx0fVxuXG5cdC5uYXYtaXMtLXZpc2libGUgJiB7XG5cdFx0Jjo6YmVmb3JlLFxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yX193aGl0ZS0tYmcpO1xuXHRcdH1cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0dG9wOiA4cHg7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cdFx0fVxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdGJveC1zaGFkb3c6IDAgMCBjdXJyZW50Q29sb3I7XG5cdFx0XHRib3R0b206IDhweDtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG5cdFx0fVxuXHR9XG5cdCYtd3JhcHBlciB7XG5cdFx0d2lkdGg6IHJlbSgyNik7XG5cdFx0aGVpZ2h0OiByZW0oMTkpO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRyaWdodDogMDtcblx0XHR0b3A6IDUwJTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0Lm5hdi1pcy0tdmlzaWJsZSAmIHtcblx0XHRcdHdpZHRoOiByZW0oMjApO1xuXHRcdFx0aGVpZ2h0OiByZW0oMjApO1xuXHRcdH1cblx0XHRAbWVkaWEgKC0td2lkZSkge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cbn1cbiIsIi8qKlxuICogUGFnaW5hdGlvblxuICpcbiAqIG5hdi5wYWdpbmF0aW9uXG4gKiAgICAgaDIuc2NyZWVuLXJlYWRlci10ZXh0XG4gKiAgICAgZGl2Lm5hdi1saW5rc1xuICogICAgICAgICBhLnByZXZcbiAqICAgICAgICAgc3Bhbi5jdXJyZW50XG4gKiAgICAgICAgIGEucGFnZS1udW1iZXJzXG4gKiAgICAgICAgIHNwYW4uZG90c1xuICogICAgICAgICBhLnBhZ2UtbnVtYmVyc1xuICogICAgICAgICBhLm5leHRcbiAqL1xuLnBhZ2luYXRpb24ge1xuICBtYXJnaW4tdG9wOiA0ZW07XG59XG5cbi5uYXYtbGlua3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucGFnZS1udW1iZXJzIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktZGFyay0tdGV4dCk7XG4gIGZvbnQtc2l6ZTogY2FsY0NsYW1wKDE2LCAyMCwgNTc2LCAxMjAzKTtcbiAgZm9udC1zaXplOiByZW0oMTgpO1xuICBsaW5lLWhlaWdodDogY2FsY0NsYW1wKDIwLCAyNCwgNTc2LCAxMjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBwYWRkaW5nLWlubGluZTogcmVtKDE2KTtcbiAgcGFkZGluZy1ibG9jazogcmVtKDgpO1xuICBcbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IHJlbSgxNik7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktbWVkaXVtLS10ZXh0KTtcbiAgfVxufVxuLmRvdHMge1xuICBjb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1kYXJrLS10ZXh0KTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nLWlubGluZTogMDtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5wcmV2LFxuLm5leHQge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1kYXJrLS10ZXh0KTtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogYXV0bztcbiAgdG9wOiByZW0oLTIpO1xuXG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogcmVtKDgpO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjg7XG4gIH1cbiAgJjo6YmVmb3JlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbiAgJjo6YWZ0ZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbiAgXG4gICY6aG92ZXIge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3JfX2JsdWUtZ3JleS1tZWRpdW0tLXRleHQpO1xuICAgIH1cbiAgfVxufVxuLnByZXYge1xuICBwYWRkaW5nLXJpZ2h0OiByZW0oMTYpO1xuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oC5XCI7XG4gICAgcGFkZGluZy1yaWdodDogcmVtKDEyKTtcbiAgfVxufVxuLm5leHQge1xuICBwYWRkaW5nLWxlZnQ6IHJlbSgxNik7XG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIuKAulwiO1xuICAgIHBhZGRpbmctbGVmdDogcmVtKDEyKTtcbiAgfVxufVxuXG4uY3VycmVudCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbkBtZWRpYSAoLS10YWJsZXQtbWF4KSB7XG4gIC5wcmV2LFxuICAubmV4dCB7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIHdpZHRoOiByZW0oMjQpO1xuICAgIGhlaWdodDogcmVtKDM2KTtcbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdG9wOiByZW0oLTIpO1xuICAgIH1cbiAgfVxuICAubmF2LWxpbmtzIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgJjpoYXMoLm5leHQpOm5vdCg6aGFzKC5wcmV2KSkge1xuICAgICAgLm5leHQge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5zZWFyY2gge1xuICAuY29udGVudCB7XG4gICAgQGV4dGVuZCAlbWFyZ2luX190b3AtLW1lZGl1bTtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgIC5tYWluIHtcbiAgICAgICAgaDIuYXJjaGl2ZS10aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwOCk7XG4gICAgICAgICAgbWF4LXdpZHRoOiByZW0oNzk4KTtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiByZW0oODIpO1xuICAgICAgICAgIG1hcmdpbi10b3A6IHJlbSg0Nik7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgICAgICAudHJlZmZlcjpsYXN0LWNoaWxkKCkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMDYpO1xuICAgICAgICB9XG4gICAgICAgIC50cmVmZmVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKTtcbiAgICAgICAgICBtYXgtd2lkdGg6IHJlbSg4OTMpO1xuICAgICAgICAgICZfX2hlYWRsaW5lIHtcbiAgICAgICAgICA+IGgzIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbSg0OCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTcpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWFuaW1hdGlvbl9fZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbl9fdGltaW5nLWZ1bmN0aW9uKTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2VyZ2VibmlzIHtcbiAgICAgICAgICAgIC50cmVmZmVyX19jb250ZW50IHtcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0oNzkxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LW1lZGl1bS0tdGV4dCk7XG5cbiAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktbWVkaXVtLS10ZXh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuZW50cnlfX2NvbnRlbnQgLnRhYmxlcHJlc3Mge1xuXHQtLWJvcmRlci1jb2xvcjogcmdiYSh2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LW1lZGl1bS0tYmctLXJnYiksIDAuNSk7XG5cdCYud29sbCA+ICogKyB0Ym9keSA+ICogPiAqLFxuXHQmLndvbGwgPiB0Ym9keSA+ICogfiAqID4gKixcblx0Ji53b2xsID4gdGZvb3QgPiAqID4gKiB7XG5cdFx0Ym9yZGVyLXRvcDogbm9uZTtcblx0fVxuXHRtYXJnaW4tdG9wOiByZW0oMzApO1xuXHR0Ym9keSB7XG5cdFx0dHIge1xuXHRcdFx0Ym9yZGVyLXRvcC1jb2xvcjogcmdiYSh2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LW1lZGl1bS0tYmctLXJnYiksIDAuNSk7XG5cdFx0XHRib3JkZXItdG9wOiByZW0oMSkgc29saWQgcmdiYSh2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LW1lZGl1bS0tYmctLXJnYiksIDAuNSk7XG5cdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKHZhcigtLWNvbG9yX19ibHVlLWdyZXktbWVkaXVtLS1iZy0tcmdiKSwgMC41KTtcblx0XHRcdC8vIGJvcmRlci1ib3R0b206IHJlbSgxKSBzb2xpZCByZ2JhKHZhcigtLWNvbG9yX19ibHVlLWdyZXktbWVkaXVtLS1iZy0tcmdiKSwgMC41KTtcblx0XHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRib3JkZXItdG9wOiByZW0oMSkgc29saWQgcmdiYSh2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LW1lZGl1bS0tYmctLXJnYiksIDAuNSk7XG5cdFx0XHR9XG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiByZW0oMSkgc29saWQgcmdiYSh2YXIoLS1jb2xvcl9fYmx1ZS1ncmV5LW1lZGl1bS0tYmctLXJnYiksIDAuNSk7XG5cdFx0XHR9XG5cdFx0XHQmOmhhcyhhLmRvd25sb2FkKSB7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdH1cblx0XHRcdHRkIHtcblx0XHRcdFx0Y29sb3I6IHZhcigtLWNvbG9yX19ibHVlLWdyZXktZGFyay0tdGV4dCk7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiByZW0oMjEpO1xuXHRcdFx0XHRwYWRkaW5nOiByZW0oOS41KSAwIHJlbSg4KTtcblx0XHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRAbWVkaWEgKC0tdGFibGV0LW1heCkge1xuXHRcdHRib2R5IHtcblx0XHRcdHRyIHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdFx0cGFkZGluZzogcmVtKDEwKSAwIHJlbSgxMy41KTtcblx0XHRcdFx0dGQge1xuXHRcdFx0XHRcdHBhZGRpbmc6IHJlbSg5KSAwO1xuXHRcdFx0XHRcdG1heC13aWR0aDogODIuODUlO1xuXHRcdFx0XHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRcdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi52YWxpZGF0aW9uLW1lc3NhZ2V7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tZ2xvYmFsX19yYWRpdXMpO1xuXG4gICAgJl9faWNvbntcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1nbG9iYWxfX3JhZGl1cyk7XG4gICAgICAgIGhlaWdodDogMy4yNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzLjI1cmVtO1xuICAgIH1cbn0iLCIud3AtYmxvY2stYnV0dG9ucyB7XG4gICY6d2hlcmUoLmlzLWxheW91dC1mbGV4KSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAud3AtYmxvY2stYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbjogcmVtKDM1KSAwO1xuICAgIH1cbiAgfVxuICA+IC53cC1ibG9jay1idXR0b24ge1xuICAgIG1hcmdpbjogcmVtKDM1KSAwO1xuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbSgzNSk7XG4gICAgfVxuICB9XG59XG4ud3AtYmxvY2stYnV0dG9uIHtcbiAgLnRleHQtbW9kdWxlICYge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IHJlbSgzNSkgY2FsY0NsYW1wKDMwLCA1NSwgNTc2LCAxMjAwKSByZW0oMzUpIDA7XG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuICAud2lkZS1pbWFnZS10ZXh0LWJlbG93LW1vZHVsZSAmIHtcbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuLndwLWJsb2NrLWJ1dHRvbixcbi5pcy1zdHlsZS1vdXRsaW5lLFxuLmlzLXN0eWxlLW91dGxpbmUtLTEsXG4uaXMtc3R5bGUtZmlsdGVyIHtcbiAgPiAud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgICBAZXh0ZW5kICVidXR0b247XG4gIH1cbn1cbi53cC1ibG9jay1idXR0b24ge1xuICAvLyAmLmlzLXN0eWxlLWZpbHRlciB7XG4gIC8vIFx0PiAud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgLy8gXHRcdEBleHRlbmQgJWJ1dHRvbi0tZmlsdGVyO1xuICAvLyBcdH1cbiAgLy8gfVxuICAmLmlzLXN0eWxlLWRvd25sb2FkIHtcbiAgICA+IC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICAgICAgQGV4dGVuZCAlYnV0dG9uLS1kb3dubG9hZDtcbiAgICB9XG4gIH1cbiAgJi5pcy1zdHlsZS1uZWdhdGl2ZSB7XG4gICAgPiAud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgICAgIEBleHRlbmQgJWJ1dHRvbi0tbmVnYXRpdmU7XG4gICAgICAmLmlzLXN0eWxlLW91dGxpbmUtLW5lZ2F0aXZlIHtcbiAgICAgICAgQGV4dGVuZCAlYnV0dG9uLS1uZWdhdGl2ZS0tb3V0bGluZTtcbiAgICAgIH0gXG4gICAgfVxuICB9XG59XG4iLCIud3AtYmxvY2stZ3JvdXAge1xuICAmX19pbm5lci1jb250YWluZXIge1xuICAgID4gc2VjdGlvbjpsYXN0LWNoaWxkOm5vdCguZnVsbC12aWRlby1tb2R1bGUpOm5vdChcbiAgICAgICAgLmN0YS10ZXh0LWltYWdlLW1vZHVsZVxuICAgICAgKTpub3QoLmhhcy1iZy1ibHVlKSB7XG4gICAgICBAZXh0ZW5kICVwYWRkaW5nX19ib3R0b20tLW1lZGl1bTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhICgtLXRhYmxldC1tYXgpIHtcbiAgICAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lciB7XG4gICAgICA+IC53cC1ibG9jay1oZWFkaW5nIHtcbiAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tdGFibGV0KSB7XG4gIC53cC1ibG9jay1ncm91cC5pcy1zdHlsZS1zY2hyYWVnZSB7XG4gICAgPiBbY2xhc3MqPVwiX2lubmVyLWNvbnRhaW5lclwiXSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAtMjtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKC4uL2ltZy9iZy1zLTEwMC5zdmcpO1xuICAgICAgICBtYXNrLXBvc2l0aW9uOiB0b3AgbGVmdDtcbiAgICAgICAgbWFzay1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1jb2xvcl9fZ3JleS1saWdodC0tYmctLXJnYiksIDAuMTUpO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tY29sb3JfX2dyZXktbGlnaHQtLWJnLS1yZ2IpLCAwLjE1KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgICAgbWl4LWJsZW5kLW1vZGU6IGx1bWlub3NpdHk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLndwLWJsb2NrLWdyb3VwLmlzLXN0eWxlLXcge1xuICAgICY6aGFzKC50aHJlZS1jb2x1bW5zLWltYWdlLWJ1dHRvbi1tb2R1bGUpIHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuICAgID4gW2NsYXNzKj1cIl9pbm5lci1jb250YWluZXJcIl0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiAtMjtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHJlbSg2NjkpKTtcbiAgICAgICAgd2lkdGg6IHJlbSg5ODQpO1xuICAgICAgICBoZWlnaHQ6IHJlbSg5NTApO1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoLi4vaW1nL2JnLXctMTAwLnN2Zyk7XG4gICAgICAgIG1hc2stcG9zaXRpb246IHRvcCBsZWZ0O1xuICAgICAgICBtYXNrLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLWNvbG9yX19ncmV5LWxpZ2h0LS1iZy0tcmdiKSwgMC4xNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuYWxpZ24ge1xuXG4gICAgJmxlZnQge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAmcmlnaHQge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG4gICAgJndpZGUge1xuICAgICAgICBAZXh0ZW5kICVjb250YWluZXItLXdpZGU7XG4gICAgfVxuXG4gICAgJmZ1bGwge1xuICAgICAgICBAZXh0ZW5kICVjb250YWluZXItLWZ1bGw7XG4gICAgfVxufVxuIiwiLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICB3b3JkLXdyYXA6IG5vcm1hbCAhaW1wb3J0YW50O1xufVxuXG4uc2NyZWVuLXJlYWRlci10ZXh0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICAgIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgICBjbGlwLXBhdGg6IG5vbmU7XG4gICAgY29sb3I6ICM0NDQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIHBhZGRpbmc6IDE1cHggMjNweCAxNHB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0b3A6IDVweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICB6LWluZGV4OiAxMDAwMDA7IC8qIEFib3ZlIFdQIHRvb2xiYXIuICovXG59XG4iXX0= */
