.body-header .icon,.main-nav .menu-item .icon-plus,.utility-nav .svg span,.utility-nav .svg i,.utility-nav .close-icon svg,.utility-nav .search-form-submit svg,.close-toggle svg,.accordion-title .accordion-icon .horizontal,.accordion-title .accordion-icon .vertical,.single-properties .interior-billboard .map-marker,.single-unit .interior-billboard .map-marker,.logo-slider .flickity-enabled .logo-slide a,.team-tiles .gridder-list .meta,.testimonials-carousel .logo img,.testimonials-carousel .logo svg{position:absolute;left:50%;top:50%;transform:translateX(-50%) translateY(-50%)}.tig-pagination .prev,.tig-pagination .next{position:absolute;top:50%;transform:translateY(-50%)}.group:after,.main-nav .menu-item-has-children:after,.utility-nav .search-form:after,.capabilities-block-body:after,.email-signup-bar form:after,.property-intro-lists:after,.filter-bar .more-toggle:after,.filter-bar-filters:after,.post-search:after,.related-articles-body:after,.single .post-header-top:after{content:'';display:table;clear:both}.coverer,.image-overlay,.featured-properties .darken,.team-tiles .gridder-list .content:after{position:absolute;top:0;left:0;width:100%;height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.screen-reader-text,.full-name .gfield_label,.email-signup-bar label{position:absolute !important;clip:rect(1px 1px 1px 1px);clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;width:1px}.container.padded{padding:0 1.5rem}html{text-size-adjust:100%}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}button{overflow:visible}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:none;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}select,textarea,button,html input[type="button"],input[type="reset"],input[type="submit"],input[type="text"],input[type="url"],input[type="email"],input[type="tel"],input[type="number"],input[type="search"],input[type="password"]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0}@font-face{font-family:'Lato';src:url("./assets/fonts/lato-regular.eot");src:url("./assets/fonts/lato-regular.eot?#iefix") format("embedded-opentype"),url("./assets/fonts/lato-regular.woff2") format("woff2"),url("./assets/fonts/lato-regular.woff") format("woff"),url("./assets/fonts/lato-regular.ttf") format("truetype"),url("./assets/fonts/lato-regular.svg#latoregular") format("svg");font-weight:normal;font-style:normal}@font-face{font-family:'Lato';src:url("./assets/fonts/lato-bold.eot");src:url("./assets/fonts/lato-bold.eot?#iefix") format("embedded-opentype"),url("./assets/fonts/lato-bold.woff2") format("woff2"),url("./assets/fonts/lato-bold.woff") format("woff"),url("./assets/fonts/lato-bold.ttf") format("truetype"),url("./assets/fonts/lato-bold.svg#latobold") format("svg");font-weight:700;font-style:normal}@font-face{font-family:'Lato';src:url("./assets/fonts/lato-light.eot");src:url("./assets/fonts/lato-light.eot?#iefix") format("embedded-opentype"),url("./assets/fonts/lato-light.woff2") format("woff2"),url("./assets/fonts/lato-light.woff") format("woff"),url("./assets/fonts/lato-light.ttf") format("truetype"),url("./assets/fonts/lato-light.svg#latolight") format("svg");font-weight:300;font-style:normal}@font-face{font-family:'Lato';src:url("./assets/fonts/lato-lightitalic.eot");src:url("./assets/fonts/lato-lightitalic.eot?#iefix") format("embedded-opentype"),url("./assets/fonts/lato-lightitalic.woff2") format("woff2"),url("./assets/fonts/lato-lightitalic.woff") format("woff"),url("./assets/fonts/lato-lightitalic.ttf") format("truetype"),url("./assets/fonts/lato-lightitalic.svg#latolight_italic") format("svg");font-weight:300;font-style:italic}@font-face{font-family:'Tinos';src:url("./assets/fonts/tinos-regular.eot");src:url("./assets/fonts/tinos-regular.eot?#iefix") format("embedded-opentype"),url("./assets/fonts/tinos-regular.woff2") format("woff2"),url("./assets/fonts/tinos-regular.woff") format("woff"),url("./assets/fonts/tinos-regular.ttf") format("truetype"),url("./assets/fonts/tinos-regular.svg#tinosregular") format("svg");font-weight:normal;font-style:normal}::selection{background:#76964c;color:#fff;text-shadow:none}html{box-sizing:border-box;font-size:59%}@media screen and (min-width: 37.5em){html{font-size:61%}}@media screen and (min-width: 62.5em){html{font-size:62.5%}}*,*:before,*:after{box-sizing:inherit}body{background:#fff;color:#53585b;font-family:"Lato",sans-serif;font-size:1.6rem;font-style:normal;font-weight:300;line-height:1.25}.main{overflow-x:hidden}a{color:#63833a}img{display:block;max-width:100%}.body-header .nav-toggle,.interior-billboard .property-map .gmnoprint,.timeline-nav-item{-webkit-tap-highlight-color:rgba(0,0,0,0)}@media screen and (max-width: 37.5em){#wpadminbar{position:fixed}}.coverer{z-index:2}.container{max-width:1500px;margin-left:auto;margin-right:auto}@media screen and (min-width: 95.625em){.container{padding:0}}.container:after{content:" ";display:block;clear:both}@media screen and (min-width: 95.625em){.container.padded{padding:0}}.nav-open .main,.fancy-select-open .main{position:fixed}.nav-open .body-header,.nav-open .main-nav{position:absolute}.nav-open .sub-menu-toggle{will-change:transform}.fancy-select-open .fancy-select-options{position:absolute}.utility-nav,.gform_footer,.capabilities-block,.centered-headline-icon,.dual-cta,.expandable-icon-grid .grid-item,.featured-properties-header,.featured-properties-property,.four-column-icon-grid,.homepage-billboard-header,.homepage-billboard .or,.homepage-billboard .property-search-footer,.interior-billboard-header,.interior-billboard-content,.single-properties .interior-billboard,.single-unit .interior-billboard,.building-gallery-header,.location-overview-header,.location-overview-list h3,.logo-slider .no-flickity,.rotating-text,.specs-header,.testimonials-carousel .logo,.text-content.centered .text-content-header,.text-content.three .text-content-header,.text-content.centered,.property-amenities-header,.timeline-nav-item,.two-column-cta{text-align:center}.block{margin:2rem 0}.main{overflow-x:hidden}i svg{display:block;max-width:100%}.error-message{font-size:1.8rem;line-height:1.8}.error-message .container{max-width:100rem}.entry strong,.mce-content-body strong{font-weight:700}.entry em,.mce-content-body em{font-style:italic}.entry a,.mce-content-body a{color:#63833a}.entry a.button,.mce-content-body a.button{color:#fff}.entry h1,.mce-content-body h1{font-size:3.8rem;line-height:1.42;margin-bottom:0.8rem;margin-top:2.5rem}.entry h1+h2,.mce-content-body h1+h2{margin-top:1.2rem}.entry h2,.mce-content-body h2{font-size:3.4rem;line-height:1.3;margin:1.9rem 0 1.24rem}.entry h2+h3,.mce-content-body h2+h3{margin-bottom:0.32rem;margin-top:-1.24rem}.entry h3,.mce-content-body h3{color:#76964c;font-size:3rem;line-height:1.5;margin:2.88rem 0 1.24rem}.entry h3+h4,.mce-content-body h3+h4{margin-top:-0.48em}.entry h4,.mce-content-body h4{font-size:1.4rem;font-weight:700;line-height:1.7;margin:2.88rem 0 1.24rem;text-transform:uppercase}.entry h4+h5,.mce-content-body h4+h5{margin-top:-0.48rem}.entry h5,.mce-content-body h5{font-size:1.4rem;line-height:1.7;margin:2.88rem 0 1.24rem}.entry h5+h6,.mce-content-body h5+h6{margin-top:-0.32rem}.entry h6,.mce-content-body h6{font-size:1.4rem;line-height:1.7;margin:2.88rem 0 1.24rem}.entry h1:first-child,.entry h2:first-child,.entry h3:first-child,.entry h4:first-child,.entry h5:first-child,.entry h6:first-child,.mce-content-body h1:first-child,.mce-content-body h2:first-child,.mce-content-body h3:first-child,.mce-content-body h4:first-child,.mce-content-body h5:first-child,.mce-content-body h6:first-child{margin-top:0;padding-top:0}.entry p,.entry address,.mce-content-body p,.mce-content-body address{font-size:1.8rem;margin:1.6rem 0 0}.entry p,.mce-content-body p{font-size:1.8rem;hyphens:auto;line-height:1.85;word-wrap:break-word}.entry p:first-child,.mce-content-body p:first-child{margin-top:0}.entry blockquote,.mce-content-body blockquote{font-style:italic;line-height:1.5;margin:2.8rem 2.5em}.entry code,.entry pre,.mce-content-body code,.mce-content-body pre{font-size:1.6rem}.entry pre,.mce-content-body pre{margin:1.6rem 0 0;white-space:pre-wrap;word-wrap:break-word}.entry sub,.mce-content-body sub{font-size:75%;line-height:0;vertical-align:sub}.entry sup,.mce-content-body sup{font-size:75%;line-height:0;vertical-align:super}.entry abbr,.mce-content-body abbr{cursor:help}.entry address,.mce-content-body address{line-height:1.5}.entry dl,.mce-content-body dl{line-height:1.5}.entry dt,.entry dd,.mce-content-body dt,.mce-content-body dd{font-size:1.6rem}.entry dt,.mce-content-body dt{font-weight:700}.entry dd,.mce-content-body dd{margin:0 0 1.6rem}.entry ul,.entry ol,.mce-content-body ul,.mce-content-body ol{margin:1.6rem 0;padding:0 0 0 2.5em}.entry ul,.mce-content-body ul{list-style-type:disc}.entry ul ul,.mce-content-body ul ul{list-style-type:circle;margin:0}.entry ul ul ul,.mce-content-body ul ul ul{list-style-type:square}.entry ol,.mce-content-body ol{list-style-type:decimal}.entry li,.mce-content-body li{font-size:1.6rem;line-height:1.5;margin-top:0.8rem}.entry table,.mce-content-body table{margin:0;padding:0}@media screen and (min-width: 30em){.entry table,.mce-content-body table{display:block;-webkit-overflow-scrolling:touch;overflow-x:auto}}.entry th,.entry td,.mce-content-body th,.mce-content-body td{border-bottom-color:#555;border-bottom-style:solid;border-bottom-width:1px;font-size:1.6rem;padding:1rem 2rem;text-align:left}@media screen and (min-width: 30em){.entry th,.entry td,.mce-content-body th,.mce-content-body td{font-size:1.6rem}}.entry th,.mce-content-body th{border-width:2px}.entry tr:last-child td,.mce-content-body tr:last-child td{border-bottom:0}.entry tr:nth-child(even),.mce-content-body tr:nth-child(even){background:#555}.entry img,.entry img[class*="align"],.entry img[class*="wp-image-"],.mce-content-body img,.mce-content-body img[class*="align"],.mce-content-body img[class*="wp-image-"]{border:0;height:auto;max-width:100%}.entry img.alignright,.entry img.alignleft,.entry img.aligncenter,.mce-content-body img.alignright,.mce-content-body img.alignleft,.mce-content-body img.aligncenter{display:block;margin:1.6rem auto}@media screen and (min-width: 30em){.entry img.alignright,.mce-content-body img.alignright{float:right;margin:1.6rem 0 1.6rem 1.6rem}}@media screen and (min-width: 30em){.entry img.alignleft,.mce-content-body img.alignleft{float:left;margin:1.6rem 1.6rem 1.6rem 0}}.entry .wp-caption,.mce-content-body .wp-caption{max-width:96%;padding:0.5rem 0.3rem 1rem;text-align:center}.entry .wp-caption.alignnone,.entry .wp-caption.alignleft,.mce-content-body .wp-caption.alignnone,.mce-content-body .wp-caption.alignleft{margin:0.5rem 2rem 2rem 0}.entry .wp-caption.alignright,.mce-content-body .wp-caption.alignright{margin:0.5rem 0 2rem 2rem}.entry .wp-caption img,.mce-content-body .wp-caption img{border:0 none;height:auto;margin:0;max-width:98.5%;padding:0;width:auto}.entry .wp-caption .wp-caption-text,.mce-content-body .wp-caption .wp-caption-text{font-size:1.6rem;line-height:1.5;margin:0;padding:0 0.4rem 0.5rem}.entry .entry-caption,.mce-content-body .entry-caption{font-size:1.6rem;line-height:1.5;margin:0;padding:0 0.4rem 0.5rem}.entry .gallery,.mce-content-body .gallery{float:left;left:50%;margin:3.2rem 0;position:relative}.entry .gallery+*,.mce-content-body .gallery+*{clear:left}.entry .gallery-item,.mce-content-body .gallery-item{float:left;left:-50%;margin:0 0.4rem 0.4rem 0;position:relative}.entry .gallery-item:hover .gallery-caption,.mce-content-body .gallery-item:hover .gallery-caption{opacity:1}.entry .gallery-columns-1 .gallery-item,.mce-content-body .gallery-columns-1 .gallery-item{margin:0 0 0.4rem;max-width:100%}.entry .gallery-columns-2 .gallery-item,.mce-content-body .gallery-columns-2 .gallery-item{max-width:calc(50% - 0.4rem)}.entry .gallery-columns-3 .gallery-item,.mce-content-body .gallery-columns-3 .gallery-item{max-width:calc(33.3% - 0.4rem)}.entry .gallery-columns-4 .gallery-item,.mce-content-body .gallery-columns-4 .gallery-item{max-width:calc(25% - 0.4rem)}.entry .gallery-columns-5 .gallery-item,.mce-content-body .gallery-columns-5 .gallery-item{max-width:calc(20% - 0.4rem)}.entry .gallery-columns-6 .gallery-item,.mce-content-body .gallery-columns-6 .gallery-item{max-width:calc(16.7% - 0.4rem)}.entry .gallery-columns-7 .gallery-item,.mce-content-body .gallery-columns-7 .gallery-item{max-width:calc(14.28% - 0.4rem)}.entry .gallery-columns-8 .gallery-item,.mce-content-body .gallery-columns-8 .gallery-item{max-width:calc(12.5% - 0.4rem)}.entry .gallery-columns-9 .gallery-item,.mce-content-body .gallery-columns-9 .gallery-item{max-width:calc(11.1% - 0.4rem)}.entry .gallery-columns-2 .gallery-item:nth-child(2n),.entry .gallery-columns-3 .gallery-item:nth-child(3n),.entry .gallery-columns-4 .gallery-item:nth-child(4n),.entry .gallery-columns-5 .gallery-item:nth-child(5n),.entry .gallery-columns-6 .gallery-item:nth-child(6n),.entry .gallery-columns-7 .gallery-item:nth-child(7n),.entry .gallery-columns-8 .gallery-item:nth-child(8n),.entry .gallery-columns-9 .gallery-item:nth-child(9n),.mce-content-body .gallery-columns-2 .gallery-item:nth-child(2n),.mce-content-body .gallery-columns-3 .gallery-item:nth-child(3n),.mce-content-body .gallery-columns-4 .gallery-item:nth-child(4n),.mce-content-body .gallery-columns-5 .gallery-item:nth-child(5n),.mce-content-body .gallery-columns-6 .gallery-item:nth-child(6n),.mce-content-body .gallery-columns-7 .gallery-item:nth-child(7n),.mce-content-body .gallery-columns-8 .gallery-item:nth-child(8n),.mce-content-body .gallery-columns-9 .gallery-item:nth-child(9n){margin-right:0}.entry .gallery-columns-1 .gallery-item:nth-child(1n+1),.entry .gallery-columns-2 .gallery-item:nth-child(2n+3),.entry .gallery-columns-3 .gallery-item:nth-child(3n+4),.entry .gallery-columns-4 .gallery-item:nth-child(4n+5),.entry .gallery-columns-5 .gallery-item:nth-child(5n+6),.entry .gallery-columns-6 .gallery-item:nth-child(6n+7),.entry .gallery-columns-7 .gallery-item:nth-child(7n+8),.entry .gallery-columns-8 .gallery-item:nth-child(8n+9),.entry .gallery-columns-9 .gallery-item:nth-child(9n+10),.mce-content-body .gallery-columns-1 .gallery-item:nth-child(1n+1),.mce-content-body .gallery-columns-2 .gallery-item:nth-child(2n+3),.mce-content-body .gallery-columns-3 .gallery-item:nth-child(3n+4),.mce-content-body .gallery-columns-4 .gallery-item:nth-child(4n+5),.mce-content-body .gallery-columns-5 .gallery-item:nth-child(5n+6),.mce-content-body .gallery-columns-6 .gallery-item:nth-child(6n+7),.mce-content-body .gallery-columns-7 .gallery-item:nth-child(7n+8),.mce-content-body .gallery-columns-8 .gallery-item:nth-child(8n+9),.mce-content-body .gallery-columns-9 .gallery-item:nth-child(9n+10){clear:left}.entry .gallery-caption,.mce-content-body .gallery-caption{background-color:rgba(0,0,0,0.7);bottom:0;color:#fff;font-size:1.6rem;left:0;line-height:1.5;margin:0;max-height:50%;opacity:0;padding:6px 8px;position:absolute;text-align:left;width:100%}.entry .gallery-caption:before,.mce-content-body .gallery-caption:before{content:'';height:100%;left:0;min-height:49px;position:absolute;top:0;width:100%}.entry hr,.mce-content-body hr{border:0;border-top:1px solid #555;box-sizing:content-box;clear:both;height:1px;margin-top:1.6rem;padding:0}.entry .entry-oembed,.mce-content-body .entry-oembed{height:auto;max-width:100%;overflow:hidden;padding-bottom:56.25%;position:relative}.entry .entry-oembed iframe,.mce-content-body .entry-oembed iframe{height:100%;left:0;position:absolute;top:0;width:100%}.entry .alignnone,.mce-content-body .alignnone{margin:1.6rem 1.6rem 0 0}.entry .aligncenter,.entry .alignright,.entry .alignleft,.entry .aligncenter,.mce-content-body .aligncenter,.mce-content-body .alignright,.mce-content-body .alignleft,.mce-content-body .aligncenter{display:block;margin:1.6rem auto}@media screen and (min-width: 30em){.entry .alignright,.mce-content-body .alignright{float:right;margin:0 0 1.6rem 1.6rem}}@media screen and (min-width: 30em){.entry .alignleft,.mce-content-body .alignleft{float:left;margin:0 1.6rem 1.6rem 0}}.entry .gform_wrapper ul,.mce-content-body .gform_wrapper ul{margin:0;padding:0}.entry .gform_wrapper li,.mce-content-body .gform_wrapper li{list-style:none}.entry .gform_wrapper label,.mce-content-body .gform_wrapper label{display:block;font-weight:700}.entry .gform_wrapper select,.entry .gform_wrapper textarea,.mce-content-body .gform_wrapper select,.mce-content-body .gform_wrapper textarea{border:1px solid #555;display:block;font-size:1.6rem;padding:0.8rem;width:100%}.entry .gform_wrapper input[type=text],.entry .gform_wrapper input[type=url],.entry .gform_wrapper input[type=email],.entry .gform_wrapper input[type=tel],.entry .gform_wrapper input[type=number],.entry .gform_wrapper input[type=password],.mce-content-body .gform_wrapper input[type=text],.mce-content-body .gform_wrapper input[type=url],.mce-content-body .gform_wrapper input[type=email],.mce-content-body .gform_wrapper input[type=tel],.mce-content-body .gform_wrapper input[type=number],.mce-content-body .gform_wrapper input[type=password]{border:1px solid #555;display:block;font-size:1.6rem;padding:0.8rem;width:100%}.entry .gfield,.mce-content-body .gfield{margin-bottom:1.6rem}.entry .ginput_complex .ginput_left,.entry .ginput_complex .ginput_right,.entry .ginput_complex .ginput_full,.mce-content-body .ginput_complex .ginput_left,.mce-content-body .ginput_complex .ginput_right,.mce-content-body .ginput_complex .ginput_full{display:block;margin-bottom:1.6rem}@media screen and (min-width: 30em){.entry .ginput_complex .ginput_left,.entry .ginput_complex .ginput_right,.mce-content-body .ginput_complex .ginput_left,.mce-content-body .ginput_complex .ginput_right{width:48%}}@media screen and (min-width: 30em){.entry .ginput_complex .ginput_left,.mce-content-body .ginput_complex .ginput_left{float:left}}@media screen and (min-width: 30em){.entry .ginput_complex .ginput_right,.mce-content-body .ginput_complex .ginput_right{float:right}}.entry .ginput_complex .ginput_left label,.entry .ginput_complex .ginput_right label,.entry .ginput_complex .ginput_full label,.mce-content-body .ginput_complex .ginput_left label,.mce-content-body .ginput_complex .ginput_right label,.mce-content-body .ginput_complex .ginput_full label{display:block;font-size:1.6rem;font-weight:normal}.entry .gfield_checkbox input,.entry .gfield_checkbox label,.entry .gfield_radio input,.entry .gfield_radio label,.mce-content-body .gfield_checkbox input,.mce-content-body .gfield_checkbox label,.mce-content-body .gfield_radio input,.mce-content-body .gfield_radio label{display:inline;font-weight:normal;vertical-align:middle}.entry .gfield_checkbox li,.entry .gfield_radio li,.mce-content-body .gfield_checkbox li,.mce-content-body .gfield_radio li{padding-left:2rem;text-indent:-2rem}.entry .gform_fileupload_multifile .gform_drop_area,.mce-content-body .gform_fileupload_multifile .gform_drop_area{border:2px dashed #ddd;color:#aaa;margin-bottom:1rem;padding:2.5rem;text-align:center}.entry .gfield_description,.mce-content-body .gfield_description{font-size:1.2rem}.entry .validation_message,.mce-content-body .validation_message{color:#d9534f;font-size:1.2rem;font-weight:700}.entry .validation_error,.mce-content-body .validation_error{border-left:5px solid #d9534f;color:#d9534f;font-size:1.6rem;font-weight:700;line-height:1.5;margin:2.4rem 0;padding:2.4rem}.mce-content-body{margin:20px;max-width:58em}.body-header{height:64px;left:0;position:fixed;right:0;top:0;will-change:background-color;z-index:10}.admin-bar .body-header{top:46px}@media screen and (min-width: 783px){.admin-bar .body-header{top:32px}}@media screen and (min-width: 68.75em){.body-header[data-size="small"] .utility-nav:before{background-color:#53585b;transition:background-color 0.2s cubic-bezier(0.55, 0.085, 0.68, 0.53)}}.body-header .container{align-items:center;display:flex;height:100%;position:relative}.body-header .container:after{display:none}.body-header .logo{margin-left:1.5rem;max-width:34.6rem;width:65.62%}.body-header .logo svg{display:block;max-width:100%}.body-header .logo .text,.body-header .logo .globe{fill:#fff;will-change:fill}.body-header .logo a{display:block}.body-header .nav-toggle{background:transparent;border:0;height:40px;position:absolute;right:1.2rem;top:50%;transform:translateY(-50%);width:40px}@media screen and (min-width: 68.75em){.body-header .nav-toggle{display:none}}.body-header .nav-toggle:focus{outline:0}.body-header .icon{display:block;height:18px;transform:translateX(-50%) translateY(-50%);transform-origin:13.5px 9px;width:27px;will-change:transform}.body-header .icon span{background-color:#fff;border-radius:1px;height:3px;left:0;position:absolute;width:100%;will-change:background-color, transform}.body-header .icon span.top,.body-header .icon span.bottom{z-index:1}.body-header .icon span.top{top:0}.body-header .icon span.middle{top:50%;transform:translateY(-50%)}.body-header .icon span.bottom{bottom:0}.body-footer{color:#afafaf;font-size:1.3rem;padding:4rem 0}.body-footer-left{margin-bottom:2rem}@media screen and (min-width: 47.5em){.body-footer-left{float:left;margin-bottom:0}}.body-footer-right{font-size:1.2rem;font-weight:700;text-transform:uppercase}@media screen and (min-width: 47.5em){.body-footer-right{float:right;text-align:right}}.body-footer-right .top{margin-bottom:1rem}@media screen and (min-width: 47.5em){.body-footer-right .top{margin-bottom:2.4rem}}.body-footer-right .top div{border-right:1px solid #afafaf;display:inline-block;margin-right:0.8rem;padding-right:0.8rem;vertical-align:middle}.body-footer-right .top div:last-child{border:0;margin-right:0;padding-right:0}.body-footer a{color:inherit;text-decoration:none}.body-footer .logo{margin-bottom:1rem}.body-footer .logo a{display:block}.body-footer .logo svg{display:block;max-width:100%}.body-footer .copyright{color:#828282;text-indent:3.8rem}.body-footer .social svg path{fill:currentColor}.body-footer .social-link{display:inline-block;margin-right:1.4rem;overflow:hidden;vertical-align:middle}.body-footer .social-link:last-child{margin-right:0}.body-footer .social-link svg{height:13px;width:13px}.main-nav{background-color:#76964c;left:0;min-height:calc(100vh - 64px);position:fixed;top:64px;transform:translateX(150%);width:100%;will-change:transform}.admin-bar .main-nav{top:110px}@media screen and (min-width: 783px){.admin-bar .main-nav{top:96px}}@media screen and (min-width: 68.75em){.main-nav{align-items:center;background-color:transparent;display:flex;margin-left:auto;min-height:0;position:static;text-align:right;transform:translateX(0);width:auto}}.main-nav .menu-item{background-color:#fff;display:block}@media screen and (min-width: 68.75em){.main-nav .menu-item{background-color:transparent}}.main-nav .menu-item-link,.main-nav .menu-item button{-webkit-tap-highlight-color:rgba(118,150,76,0.4);border-bottom:1px solid #76964c}@media screen and (min-width: 68.75em){.main-nav .menu-item-link,.main-nav .menu-item button{border:0}}.main-nav .menu-item-link{color:#606060;display:block;font-size:1.6rem;height:40px;line-height:38px;padding-left:1.5rem;position:relative;text-decoration:none}@media screen and (min-width: 68.75em){.main-nav .menu-item-link{height:auto;line-height:1;padding-left:0}}.main-nav .menu-item-link:focus{outline:0}@media screen and (min-width: 68.75em){.main-nav .menu-item-top-level{cursor:pointer;display:inline-block;margin-right:0.6rem;padding:1.2rem 0.2rem;position:relative}}@media screen and (min-width: 68.75em){.main-nav .menu-item-top-level.menu-item-active>.menu-item-link span,.main-nav .menu-item-top-level:hover>.menu-item-link span{opacity:0;transition:opacity 0.2s cubic-bezier(0.165, 0.84, 0.44, 1)}.main-nav .menu-item-top-level.menu-item-active>.menu-item-link:before,.main-nav .menu-item-top-level:hover>.menu-item-link:before{opacity:1;transition:opacity 0.2s cubic-bezier(0.165, 0.84, 0.44, 1)}}@media screen and (min-width: 68.75em){.main-nav .menu-item-top-level:hover>.sub-menu{display:block}}@media screen and (min-width: 68.75em){.main-nav .menu-item-top-level:last-child{margin-right:0}}@media screen and (min-width: 68.75em){.main-nav .menu-item-top-level>.menu-item-link{color:#fff;padding:0 1rem}.main-nav .menu-item-top-level>.menu-item-link span{letter-spacing:0.2px;opacity:1;transition:opacity 0.15s cubic-bezier(0.895, 0.03, 0.685, 0.22)}.main-nav .menu-item-top-level>.menu-item-link:before{content:attr(data-title);font-weight:700;left:10px;opacity:0;position:absolute;top:50%;transform:translateY(-8px);transition:opacity 0.15s cubic-bezier(0.895, 0.03, 0.685, 0.22)}}.main-nav .menu-item-has-children>.menu-item-link{float:left;width:calc(100% - 40px)}@media screen and (min-width: 68.75em){.main-nav .menu-item-has-children>.menu-item-link{float:none;width:auto}}.main-nav .menu-item .sub-menu{clear:both;display:none}@media screen and (min-width: 68.75em){.main-nav .menu-item .sub-menu{background-color:#fff;border-top:4px solid #7fa153;left:1rem;padding:2rem 0;position:absolute;text-align:left;top:100%;width:260px}}.main-nav .menu-item .sub-menu-toggle{height:40px;width:40px;background:transparent;border-width:0 0 1px;float:right;position:relative}@media screen and (min-width: 68.75em){.main-nav .menu-item .sub-menu-toggle{display:none}}.main-nav .menu-item .sub-menu-toggle:focus{outline:0}.main-nav .menu-item .sub-menu .menu-item{border:0}.main-nav .menu-item .sub-menu .menu-item-link{border:0;padding-left:1.5rem}@media screen and (min-width: 68.75em){.main-nav .menu-item .sub-menu .menu-item-link{background-color:transparent;color:#606060;padding:1rem 2.2rem;transition:background-color 0.15s cubic-bezier(0.895, 0.03, 0.685, 0.22)}}@media screen and (min-width: 68.75em){.main-nav .menu-item .sub-menu .menu-item-link:hover{background-color:#efefef;transition:background-color 0.2s cubic-bezier(0.165, 0.84, 0.44, 1)}}.utility-nav{background-color:#76964c;color:#fff;padding:2rem 1.5rem}@media screen and (min-width: 68.75em){.utility-nav{align-items:center;background-color:transparent;display:flex;margin:0 0 0 1.5rem;padding:0 0 0 1.5rem;position:relative}}.utility-nav:before{background-color:#fff;content:'';display:none;height:20px;left:0;position:absolute;top:50%;transform:translateY(-50%);transition:background-color 0.2s cubic-bezier(0.55, 0.085, 0.68, 0.53);width:1px}@media screen and (min-width: 68.75em){.utility-nav:before{display:block}}.utility-nav .button{border:1px solid #fff;margin:2.5rem 0 0;min-width:0;padding:1rem 1.5rem}@media screen and (min-width: 68.75em){.utility-nav .button{border:0;margin:0 0 0 1.5rem}}.utility-nav .utility-link{color:#fff;font-size:1.2rem;font-weight:700;padding:0 0.4rem;text-decoration:none;text-transform:uppercase}@media screen and (min-width: 62.5em){.utility-nav .utility-link{font-size:1.05rem}}.utility-nav svg{height:12px;width:12px;fill:currentColor;margin-right:0.4rem}.utility-nav .svg{height:13px;width:13px;position:relative}.utility-nav .svg span,.utility-nav .svg i{height:100%;width:100%}.utility-nav .svg,.utility-nav .value{display:inline-block;vertical-align:middle}.utility-nav .search-toggle{display:none}@media screen and (min-width: 68.75em){.utility-nav .search-toggle{display:block}}.utility-nav .tenants{display:block;margin:1.2rem 0;padding:0.9rem 0}@media screen and (min-width: 68.75em){.utility-nav .tenants{border-right:2px solid #fff;margin:0;padding:0 1rem}}.utility-nav .close-icon{display:none;position:relative}.utility-nav .close-icon svg{height:12px;width:12px}@media screen and (min-width: 68.75em){.utility-nav .tenants,.utility-nav .search-toggle{line-height:1;padding:1.25rem 1rem}}@media screen and (min-width: 68.75em){.utility-nav .search{background-color:#76964c;display:none;position:absolute;right:0;top:100%;width:24rem}}.utility-nav .search-form-field:focus,.utility-nav .search-form-submit:focus{outline:0}.utility-nav .search-form-field{background:transparent;border:0;border-bottom:2px solid #fff;color:#fff;float:left;height:40px;line-height:38px;text-indent:0.5rem;width:calc(100% - 40px)}@media screen and (min-width: 68.75em){.utility-nav .search-form-field{border-bottom:0;height:30px;line-height:28px}}.utility-nav .search-form-field::placeholder{color:#fff}.utility-nav .search-form-submit{height:40px;width:40px;background:transparent;border:0;float:right;padding:0;position:relative}@media screen and (min-width: 68.75em){.utility-nav .search-form-submit{height:30px;width:30px}}.utility-nav .search-form-submit svg{height:18px;width:18px}@media screen and (min-width: 68.75em){.utility-nav .search-form-submit svg{height:12px;width:12px}}.button{background-color:#76964c;border:0;box-shadow:none;color:#fff;display:inline-block;font-family:"Tinos",serif;font-size:1.5rem;font-weight:400;letter-spacing:0.225rem;min-width:162px;padding:1.5rem;text-align:center;text-decoration:none;text-transform:uppercase;transition:0.15s cubic-bezier(0.895, 0.03, 0.685, 0.22)}@media screen and (min-width: 47.5em){.button{padding:1.5rem 3rem}}.button:hover{background-color:#63833a;transition:0.2s cubic-bezier(0.165, 0.84, 0.44, 1)}.button.border{background-color:transparent;border:3px solid #fff}.button.border:hover{background-color:transparent}.button.view-all{font-size:1.7rem;width:100%}@media screen and (min-width: 62.5em){.button.view-all{padding:2.8rem 0}}.fancy-select{font-size:1.5rem;margin:0 auto;max-width:242px;text-align:left;width:100%}@media screen and (min-width: 68.75em){.fancy-select{max-width:300px;position:relative}}@media screen and (min-width: 62.5em){.fancy-select{display:inline-block;margin-right:1.06657%;vertical-align:middle}}.fancy-select-top{cursor:pointer;height:48px;line-height:46px;padding:0 1.6rem;position:relative}.fancy-select .handle{height:14px;width:14px;cursor:pointer;position:absolute;right:2rem;top:50%;transform:translateY(-50%)}.fancy-select .handle svg{display:block}.fancy-select-options{display:none;font-size:1.7rem;max-height:22rem;overflow-y:scroll;padding:1.6rem;position:absolute;text-align:left;width:calc(100% - 3rem);z-index:3}@media screen and (max-width: 68.75em){.fancy-select-options{position:absolute;left:50%;top:50%;transform:translateX(-50%) translateY(-50%);height:100%;max-height:30rem;opacity:0;width:300px}}@media screen and (min-width: 68.75em){.fancy-select-options{left:0;max-height:170px;top:100%;width:100%}.fancy-select-options::-webkit-scrollbar{width:.8rem;height:.8rem}.fancy-select-options::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.5);border-radius:1rem}.fancy-select-options::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.fancy-select-options{scrollbar-face-color:rgba(0,0,0,0.5);scrollbar-track-color:rgba(0,0,0,0)}}@media screen and (max-width: 68.75em){.fancy-select-options.open{display:block;position:fixed}}@media screen and (max-width: 68.75em){.fancy-select-options.open .close-toggle{display:inline-block}}.fancy-select-options .query-toggle{background-position:90% 50%;background-repeat:no-repeat;background-size:9px;border-color:transparent;border-style:solid;border-width:1px;color:#53585b;display:inline-block;padding:1.2rem 4rem 1.2rem 0.8rem;text-decoration:none;transition:border-color 0.15s cubic-bezier(0.895, 0.03, 0.685, 0.22)}@media screen and (min-width: 68.75em){.fancy-select-options .query-toggle{background-color:transparent;border-width:0;display:block;transition:color 0.15s cubic-bezier(0.895, 0.03, 0.685, 0.22),background-color 0.15s cubic-bezier(0.895, 0.03, 0.685, 0.22)}}.fancy-select-options .query-toggle:hover,.fancy-select-options .query-toggle.active{border-color:rgba(161,161,161,0.66);transition:border-color 0.2s cubic-bezier(0.165, 0.84, 0.44, 1)}@media screen and (min-width: 68.75em){.fancy-select-options .query-toggle:hover,.fancy-select-options .query-toggle.active{background-color:#797979;color:#fff;transition:color 0.2s cubic-bezier(0.165, 0.84, 0.44, 1),background-color 0.2s cubic-bezier(0.165, 0.84, 0.44, 1)}}.fancy-select-options .query-toggle.active{background-image:url("/wp-content/themes/tig/assets/images/svg/close.svg")}.fancy-select-options .query-toggle:focus{outline:0}.fancy-select .list-item{margin-bottom:0.8rem}.fancy-select .list-item:last-child{margin-bottom:0}.close-toggle{-webkit-tap-highlight-color:rgba(0,0,0,0);height:30px;width:30px;border-radius:50%;display:none;position:absolute;right:0;top:0;z-index:4}.close-toggle svg{height:12px;width:12px;fill:#53585b}@media screen and (min-width: 62.5em){.or{color:#76964c;display:inline-block;font-family:"Tinos",serif;margin-right:1.06657%;text-transform:uppercase;vertical-align:middle}}.no-flexbox .or{width:6rem}.or .properties{color:#76964c;font-family:"Tinos",serif;text-transform:uppercase}.property-search{text-align:center}@media screen and (min-width: 62.5em){.property-search-footer{display:inline-block;vertical-align:middle}}@media screen and (min-width: 62.5em){.flexbox .property-search,.flexboxlegacy .property-search{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:700px;position:relative;z-index:2}}@media screen and (min-width: 62.5em){body:not(.properties) .flexbox .property-search,body:not(.properties) .flexboxlegacy .property-search{transform:translateX(10%)}}@media screen and (min-width: 62.5em){.flexbox .property-search-footer,.flexboxlegacy .property-search-footer{margin-left:2rem}}@media screen and (min-width: 62.5em){.flexbox .fancy-select,.flexboxlegacy .fancy-select{margin-right:0;max-width:none}}@media screen and (min-width: 62.5em){.flexbox .or,.flexboxlegacy .or{flex:1 0 6rem;margin-right:0}}.flickity-enabled .flickity-prev-next-button{background:transparent}.flickity-enabled .flickity-prev-next-button:hover{background:transparent}.flickity-enabled .flickity-prev-next-button:focus{outline:0}.gform_wrapper ul{margin:0;padding:0}.gform_wrapper li{list-style:none}.gfield{margin-bottom:1.6rem}.gform_wrapper label{display:block;font-weight:bold}.gform_wrapper select,.gform_wrapper textarea{background-color:#f9f9f9;border-color:#ebebeb;border-style:solid;border-width:1px;color:#727272;display:block;width:100%;padding:0.8rem;font-size:1.6rem;transition:border-color 0.15s cubic-bezier(0.895, 0.03, 0.685, 0.22)}.gform_wrapper select:hover,.gform_wrapper textarea:hover{will-change:border-color}.gform_wrapper select:focus,.gform_wrapper textarea:focus{border-color:#76964c;outline:0;transition:border-color 0.2s cubic-bezier(0.165, 0.84, 0.44, 1)}.gform_wrapper input[type=text],.gform_wrapper input[type=url],.gform_wrapper input[type=email],.gform_wrapper input[type=tel],.gform_wrapper input[type=number],.gform_wrapper input[type=password]{background-color:#f9f9f9;border-color:#ebebeb;border-style:solid;border-width:1px;color:#727272;display:block;width:100%;padding:0.8rem;font-size:1.6rem;transition:border-color 0.15s cubic-bezier(0.895, 0.03, 0.685, 0.22)}.gform_wrapper input[type=text]:hover,.gform_wrapper input[type=url]:hover,.gform_wrapper input[type=email]:hover,.gform_wrapper input[type=tel]:hover,.gform_wrapper input[type=number]:hover,.gform_wrapper input[type=password]:hover{will-change:border-color}.gform_wrapper input[type=text]:focus,.gform_wrapper input[type=url]:focus,.gform_wrapper input[type=email]:focus,.gform_wrapper input[type=tel]:focus,.gform_wrapper input[type=number]:focus,.gform_wrapper input[type=password]:focus{border-color:#76964c;outline:0;transition:border-color 0.2s cubic-bezier(0.165, 0.84, 0.44, 1)}.gform_wrapper input[type=tel]{display:inline-block;width:auto}.gform_wrapper input[type=checkbox]{border-color:#ebebeb;border-style:solid;border-width:1px}.gform_wrapper input[type=checkbox]:focus{border-color:#76964c;outline:0;transition:border-color 0.2s cubic-bezier(0.165, 0.84, 0.44, 1)}.ginput_complex .ginput_left,.ginput_complex .ginput_right,.ginput_complex .ginput_full,.ginput_complex .name_first,.ginput_complex .name_last{display:block;margin-bottom:1.6rem}.ginput_complex .ginput_left input,.ginput_complex .ginput_right input,.ginput_complex .ginput_full input,.ginput_complex .name_first input,.ginput_complex .name_last input{margin-bottom:2rem}.ginput_complex .ginput_left label,.ginput_complex .ginput_right label,.ginput_complex .ginput_full label,.ginput_complex .name_first label,.ginput_complex .name_last label{display:block;font-size:1.4rem;font-weight:normal}@media screen and (min-width: 37.5em){.ginput_complex .ginput_left,.ginput_complex .name_first{width:49.46672%;float:left;margin-right:1.06657%}}@media screen and (min-width: 37.5em){.ginput_complex .ginput_right,.ginput_complex .name_last{width:49.46672%;float:right;margin-right:0}}.gfield_checkbox input,.gfield_checkbox label{display:inline;vertical-align:middle;font-weight:normal}.gfield_radio input,.gfield_radio label{display:inline;vertical-align:middle;font-weight:normal}.gfield_checkbox li,.gfield_radio li{padding-left:2.4rem;text-indent:-2.4rem}.gform_fileupload_multifile .gform_drop_area{margin-bottom:10px;padding:25px;border:2px dashed #ddd;color:#aaa;text-align:center}.gfield_description{font-size:.75em}.validation_message{color:#d9534f;font-size:.75em;font-weight:bold}.validation_error{margin:2.4rem 0;padding:2.4rem;border-left:5px solid #d9534f;color:#d9534f;font-size:1.4rem;font-weight:bold;line-height:1.5}@media screen and (min-width: 37.5em){.validation_error{font-size:1.6rem}}.gform_ajax_spinner{margin-left:1.6rem}.gform_validation_container{display:none}.gf_clear{clear:both}.gform_wrapper label{color:#777;font-size:1.3rem;font-weight:700;margin-bottom:1.1rem;text-transform:uppercase}.gform_footer{margin-top:4rem}.gform_footer .button{min-width:37.25%}.field-select .ginput_container{border-color:#ebebeb;border-style:solid;border-width:1px;overflow:hidden;position:relative}.field-select .ginput_container:before{background-image:url("/wp-content/themes/tig/assets/images/svg/thin-chevron.svg");background-repeat:no-repeat;background-size:cover;content:'';height:14px;pointer-events:none;position:absolute;right:1.2rem;top:50%;transform:translateY(-50%);width:14px;z-index:2}.field-select .ginput_container select{border-width:0;width:130%}.image-overlay,.featured-properties .darken{background-color:rgba(0,0,0,0.3);z-index:0}.image-overlay:focus,.featured-properties .darken:focus{outline:0}.overlay,.mobile-overlay{background-color:rgba(0,0,0,0.52);bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:1}.accordion+.accordion{border-top:1px solid #a1a1a1}.accordion .container{max-width:1200px;position:relative}.accordion-title{background-color:#efefef;cursor:pointer;font-size:2rem;padding:2rem 0;position:relative}@media screen and (min-width: 47.5em){.accordion-title{font-size:2.7rem;padding:3.7rem 0}}.accordion-title .title{line-height:1;width:calc(100% - 44px)}@media screen and (min-width: 47.5em){.accordion-title .title{width:calc(100% - 98px)}}.accordion-title .accordion-icon{height:100%;position:absolute;right:0;top:0;width:44px}@media screen and (min-width: 47.5em){.accordion-title .accordion-icon{width:98px}}.accordion-title .accordion-icon .horizontal,.accordion-title .accordion-icon .vertical{background-color:#76964c;height:3px;transform-origin:8px 1.5px;width:16px}.accordion-title .accordion-icon .vertical{transform:translate(-50%, -50%) rotateZ(90deg)}.accordion-content{display:none;padding:3rem 0}.available-units h3,.available-units h4{color:#76964c}.available-units h3{font-size:2.4rem}.available-units h4{font-size:1.4rem;font-weight:800;margin-bottom:10px;text-transform:uppercase}.available-units .container{max-width:1200px}.available-units-header{padding:3rem 0;text-align:center}.available-units-header h2{color:#76964c;font-size:3.4rem}.available-units .unit{border-bottom:1px solid #b7b7b7;margin-bottom:50px}.available-units .unit:last-child{border:0}@media screen and (min-width: 62.5em){.available-units .unit{display:flex}.available-units .container-col{width:50%}.available-units .left-container{margin-right:50px}}.available-units .unit-title{padding:0 0 3rem}.available-units .unit-thumb-img{padding-bottom:3rem;padding-right:50px}.available-units .unit-description{font-size:2rem;line-height:1.56}.available-units .unit-buttons{display:flex;flex-wrap:wrap;margin:20px 0 40px}@media screen and (min-width: 75em){.available-units .unit-buttons{flex-wrap:nowrap}}.available-units .unit-buttons a{flex:1 1 auto;margin:5px}@media screen and (min-width: 75em){.available-units .unit-buttons a{align-items:center;display:flex;flex:0 0 33%;font-size:1.2rem;justify-content:center;padding:10px}}@media screen and (min-width: 62.5em){.available-units .with-border{border-right:1px solid #b7b7b7}}.unit-details-container{display:flex}.unit-details-container div{flex:0 0 50%}.unit-details-container ul{margin-left:5px}.unit-details-container li{line-height:1.5;margin-bottom:4px;padding-left:10px;position:relative}.unit-details-container li:before{background-color:#555;border-radius:50%;content:"";display:block;height:4px;left:0;position:absolute;top:10px;width:4px}.unit-thumb .unit-thumb-img img{height:auto;width:100%}.unit-gallery{margin-top:50px}.unit-gallery ul{display:flex;flex-wrap:wrap}.unit-gallery li{border:5px solid #fff;flex:0 0 25%;overflow:hidden;padding-top:25%;position:relative}.unit-gallery li img{cursor:pointer;height:auto;max-width:none;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);width:250%}.unit-gallery .row>.column{padding:0 8px}.unit-gallery .row:after{content:"";display:table;clear:both}.unit-gallery .column{float:left;width:25%}.unit-gallery .modal{display:none;position:fixed;z-index:100000;padding-top:100px;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:black}.unit-gallery .modal-content{position:relative;background-color:#fefefe;margin:auto;padding:0;width:90%;max-width:1200px}.unit-gallery .close{color:white;position:absolute;top:10px;right:25px;font-size:35px;font-weight:bold}.unit-gallery .close:hover,.unit-gallery .close:focus{color:#999;text-decoration:none;cursor:pointer}.unit-gallery .mySlides{display:none}.unit-gallery .mySlides img{height:auto;margin:0 auto;max-width:50%}.unit-gallery .prev,.unit-gallery .next{cursor:pointer;position:absolute;top:50%;width:auto;padding:16px;margin-top:-50px;color:white;font-weight:bold;font-size:20px;transition:0.6s ease;border-radius:0 3px 3px 0;user-select:none;-webkit-user-select:none}.unit-gallery .next{right:0;border-radius:3px 0 0 3px}.unit-gallery .prev:hover,.unit-gallery .next:hover{background-color:rgba(0,0,0,0.8)}.unit-gallery img.demo{opacity:0.6}.unit-gallery .active,.unit-gallery .demo:hover{opacity:1}.blog-feed .container{max-width:1080px}.blog-feed-header{background-color:#76964c;color:#fff;padding:2.5rem 0;text-align:center}@media screen and (min-width: 30em){.blog-feed-header{text-align:left}}@media screen and (min-width: 50em){.blog-feed-header{padding:5rem 0}}.blog-feed-header h2{margin-bottom:2rem}@media screen and (min-width: 30em){.blog-feed-header h2{float:left}}@media screen and (min-width: 30em){.blog-feed-header .button{float:right}}.blog-feed-body{background-color:rgba(239,239,239,0.62);padding:2.5rem 0}@media screen and (min-width: 62.5em){.blog-feed-body{padding:4rem 0 6rem}}.blog-feed h2{font-size:3rem}.blog-feed .post{margin-bottom:6rem}@media screen and (min-width: 50em){.blog-feed .post{width:45.25561%;float:left;margin-right:1.06657%;margin-bottom:0}}@media screen and (min-width: 50em){.blog-feed .post:nth-child(2n){width:45.25561%;float:right;margin-right:0}}.blog-feed .post-header,.blog-feed .post-body{margin-bottom:3rem}.blog-feed .post a{text-decoration:none}.blog-feed .post .author,.blog-feed .post .excerpt{font-size:1.8rem}.blog-feed .post .author,.blog-feed .post .categories{display:inline-block;font-style:italic;vertical-align:middle}.blog-feed .post .author a,.blog-feed .post .categories a{color:#53585b}.blog-feed .post .author{border-right:1px solid #53585b;margin-right:1rem;padding-right:1rem}.blog-feed .post .meta{margin:2rem 0}@media screen and (min-width: 62.5em){.blog-feed .post .meta{margin:1rem 0 2rem}}@media screen and (min-width: 62.5em){.blog-feed .post-footer .button{float:left}}@media screen and (min-width: 62.5em){.blog-feed .post-footer .social-cher{float:right;margin-top:0}}@media screen and (min-width: 30em){.flexbox .blog-feed-header .container,.flexboxlegacy .blog-feed-header .container{align-items:center;display:flex;justify-content:space-between}}@media screen and (min-width: 30em){.flexbox .blog-feed-header .container h2,.flexboxlegacy .blog-feed-header .container h2{flex:1 0 auto}}@media screen and (min-width: 30em){.flexbox .blog-feed-header .container h2,.flexbox .blog-feed-header .container .button,.flexboxlegacy .blog-feed-header .container h2,.flexboxlegacy .blog-feed-header .container .button{float:none;margin:0}}@media screen and (min-width: 62.5em){.flexbox .blog-feed .post-footer,.flexboxlegacy .blog-feed .post-footer{align-items:center;display:flex;justify-content:space-between}}@media screen and (min-width: 62.5em){.flexbox .blog-feed .post-footer .button,.flexbox .blog-feed .post-footer .social-cher,.flexboxlegacy .blog-feed .post-footer .button,.flexboxlegacy .blog-feed .post-footer .social-cher{float:none}}.capabilities-block{background-color:#f4f4f4}.capabilities-block-header{padding:6rem 0}.capabilities-block h2{font-size:3.4rem}.capabilities-block h2+h3{margin-top:1.5rem}.capabilities-block-body{border-top:1px solid #dbdbdb}.capabilities-block-body .inner{background-color:#f4f4f4;padding:5rem 0 6.3rem}@media screen and (min-width: 68.75em){.capabilities-block-body .inner{height:100%;position:relative;transition:background-color 0.15s cubic-bezier(0.895, 0.03, 0.685, 0.22);width:100%}}@media screen and (min-width: 68.75em){.capabilities-block-body .content-center{position:absolute;left:50%;top:50%;transform:translateX(-50%) translateY(-50%);width:100%}}@media screen and (min-width: 68.75em){.capabilities-block .capability-footer{opacity:0;transform:translateY(1rem);transition:opacity 0.15s cubic-bezier(0.895, 0.03, 0.685, 0.22),transform 0.15s cubic-bezier(0.895, 0.03, 0.685, 0.22)}}.capabilities-block-capability{background-repeat:no-repeat;background-size:cover;border-color:#dbdbdb;border-style:solid;border-width:0 0 1px;color:#53585b;text-decoration:none}@media screen and (min-width: 47.5em){.capabilities-block-capability{border-width:0 0 1px 1px;float:left;width:50%}}@media screen and (min-width: 62.5em){.capabilities-block-capability{border-width:0;width:20%}}@media screen and (min-width: 68.75em){.capabilities-block-capability{height:40rem}}@media screen and (min-width: 62.5em){.capabilities-block-capability+.capabilities-block-capability{border-width:0 0 0 1px}}@media screen and (min-width: 68.75em){.capabilities-block-capability:hover .inner{background-color:rgba(37,50,63,0.2);transition:background-color 0.2s cubic-bezier(0.165, 0.84, 0.44, 1)}}@media screen and (min-width: 68.75em){.capabilities-block-capability:hover .capability-footer{opacity:1;transform:translateY(0);transition:opacity 0.2s cubic-bezier(0.165, 0.84, 0.44, 1),transform 0.2s cubic-bezier(0.165, 0.84, 0.44, 1)}}@media screen and (min-width: 68.75em){.capabilities-block-capability:hover .capability-icon{color:#fff;transform:translateY(0);transition:color 0.2s cubic-bezier(0.165, 0.84, 0.44, 1),transform 0.2s cubic-bezier(0.165, 0.84, 0.44, 1)}}@media screen and (min-width: 68.75em){.capabilities-block-capability:hover .capability-title{color:#fff;transform:translateY(0);transition:color 0.2s cubic-bezier(0.165, 0.84, 0.44, 1),transform 0.2s cubic-bezier(0.165, 0.84, 0.44, 1)}}.capabilities-block-capability-title{color:#53585b;transition:color 0.15s cubic-bezier(0.895, 0.03, 0.685, 0.22)}.capabilities-block .capability-icon{height:60px;width:60px;color:#76964c;margin:0 auto 5rem}@media screen and (min-width: 62.5em){.capabilities-block .capability-icon{margin:0 auto 2.5rem}}@media screen and (min-width: 68.75em){.capabilities-block .capability-icon{transform:translateY(48px);transition:color 0.15s cubic-bezier(0.895, 0.03, 0.685, 0.22),transform 0.15s cubic-bezier(0.895, 0.03, 0.685, 0.22)}}.capabilities-block .capability-icon path{fill:currentColor}.capabilities-block h3{font-size:1.4rem;font-weight:700;margin-bottom:4.3rem;text-transform:uppercase}@media screen and (min-width: 62.5em){.capabilities-block h3{margin-bottom:3rem}}@media screen and (min-width: 68.75em){.capabilities-block h3{transform:translateY(48px);transition:color 0.15s cubic-bezier(0.895, 0.03, 0.685, 0.22),transform 0.15s cubic-bezier(0.895, 0.03, 0.685, 0.22)}}@keyframes fade-in-up{0%{display:block}100%{opacity:1;transform:translateY(0)}}@media screen and (min-width: 62.5em){.flexbox .capabilities-block-body,.flexboxlegacy .capabilities-block-body{display:flex}}@media screen and (min-width: 62.5em){.flexbox .capabilities-block-body .content-center,.flexboxlegacy .capabilities-block-body .content-center{position:static;transform:none}}@media screen and (min-width: 62.5em){.flexbox .capabilities-block-body .inner,.flexboxlegacy .capabilities-block-body .inner{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:0}}@media screen and (min-width: 62.5em){.flexbox .capabilities-block-capability,.flexboxlegacy .capabilities-block-capability{float:none;width:auto}}@media screen and (min-width: 62.5em){.flexbox .capabilities-block.count-1 .capabilities-block-capability,.flexboxlegacy .capabilities-block.count-1 .capabilities-block-capability{flex:1 0 100%}}@media screen and (min-width: 62.5em){.flexbox .capabilities-block.count-2 .capabilities-block-capability,.flexboxlegacy .capabilities-block.count-2 .capabilities-block-capability{flex:1 0 50%}}@media screen and (min-width: 62.5em){.flexbox .capabilities-block.count-3 .capabilities-block-capability,.flexboxlegacy .capabilities-block.count-3 .capabilities-block-capability{flex:1 0 33.33333%}}@media screen and (min-width: 62.5em){.flexbox .capabilities-block.count-4 .capabilities-block-capability,.flexboxlegacy .capabilities-block.count-4 .capabilities-block-capability{flex:1 0 25%}}.centered-headline-icon .icon,.centered-headline-icon .text{display:inline-block;vertical-align:middle}.centered-headline-icon .icon{height:45px;width:45px;margin-right:1.9rem}.centered-headline-icon .text{color:#555;font-size:3.8rem}.contact-page .container{max-width:50em}@media screen and (min-width: 51.875em){.contact-page .container{padding:0}}.contact-page-caption,.contact-page-business-info{line-height:2}.contact-page-caption{font-size:1.9rem;margin-bottom:2rem}@media screen and (min-width: 37.5em){.contact-page-caption{width:49.46672%;float:left;margin-right:1.06657%}}@media screen and (min-width: 37.5em){.contact-page-business-info{width:49.46672%;float:right;margin-right:0;padding-left:2rem}}.contact-page-business-info h3{color:#76964c;font-size:1.3rem;font-weight:700;margin-bottom:0.5rem;text-transform:uppercase}.contact-page-business-info .address{line-height:1.414}.contact-page-business-info .icon,.contact-page-business-info .email{display:inline-block;vertical-align:middle}.contact-page-business-info .email{color:#53585b;font-size:1.5rem;font-style:italic;text-decoration:none}.contact-page-business-info .icon{height:1.8rem;width:1.8rem;margin-right:1.1rem}.contact-page-business-info .icon svg{display:block}.contact-page-form{border-top:1px solid rgba(172,172,172,0.31);margin-top:3.4rem;padding-top:6.1rem}.contact-page-form .gform_footer{margin-top:4rem}.cta-bar{background-color:#f4f4f4;padding:7.2rem 0 5rem;text-align:center}.cta-bar p{font-size:2.8rem;margin-bottom:4.4rem}.dual-cta .container{max-width:none}.dual-cta-cta{background-repeat:no-repeat;background-size:cover;display:table;margin-bottom:1.06657%}@media screen and (min-width: 62.5em){.dual-cta-cta{margin-bottom:0;width:calc(50% - 2px)}}@media screen and (min-width: 62.5em){.dual-cta-cta:first-child{float:left}}@media screen and (min-width: 62.5em){.dual-cta-cta:nth-child(2n){float:right}}.dual-cta-content{background-color:#76964c;color:#fff;display:table-cell;height:100%;padding:2.5rem 1.5rem;transition:background-color 0.15s cubic-bezier(0.895, 0.03, 0.685, 0.22);width:100%}@media screen and (min-width: 68.75em){.dual-cta-content{padding:7rem 13.8rem}}.dual-cta-content:hover{background-color:rgba(54,54,54,0.89);transition:background-color 0.2s cubic-bezier(0.165, 0.84, 0.44, 1)}.dual-cta .caption{font-size:2.6rem;line-height:1.654}.dual-cta .button{margin-top:4.4rem}.email-signup-bar{border-top:1px solid rgba(194,194,194,0.63);margin-top:3rem;padding:4.5rem 0;text-align:center}.email-signup-bar .container{max-width:920px}.email-signup-bar-title{font-size:2.8rem}@media screen and (min-width: 50em){.email-signup-bar-title{width:236px}}.email-signup-bar .gforms_confirmation_message{margin-top:1rem}.email-signup-bar .validation_error{display:none}@media screen and (min-width: 50em){.email-signup-bar-title,.email-signup-bar .gform_wrapper{display:inline-block;vertical-align:middle}}.email-signup-bar form{margin-top:2rem}@media screen and (min-width: 50em){.email-signup-bar form{margin-top:0}}@media screen and (min-width: 50em){.email-signup-bar .gform_wrapper{margin-left:1.06657%;width:calc(98.291% - 236px)}}@media screen and (min-width: 68.75em){.email-signup-bar .gform_wrapper{margin-left:48px;width:calc(98.291% - 284px)}}.email-signup-bar .gform_wrapper input[type=text]{background-color:transparent;border-color:#a1a1a1;color:#53585b;height:54px;line-height:52px}.email-signup-bar .gfield{margin-bottom:0}.email-signup-bar .gform_body,.email-signup-bar .gform_footer{float:left}.email-signup-bar .gform_footer{margin-top:0}.email-signup-bar .gform_footer .button{height:54px;line-height:52px;min-width:0;padding:0 1.5rem}@media screen and (min-width: 47.5em){.email-signup-bar .gform_footer .button{width:134px}}@media screen and (min-width: 50em){.email-signup-bar .gform_footer .button{padding:0 4rem;width:154px}}.email-signup-bar .gform_body{width:calc(100% - 86px)}@media screen and (min-width: 47.5em){.email-signup-bar .gform_body{width:calc(100% - 134px)}}@media screen and (min-width: 50em){.email-signup-bar .gform_body{width:calc(100% - 154px)}}.expandable-icon-grid{background-color:rgba(231,231,231,0.47)}.expandable-icon-grid .grid-item{border-color:#dbdbdb;border-style:solid;border-width:1px 0 0;padding:4rem 0}@media screen and (min-width: 50em){.expandable-icon-grid .grid-item{border-width:0 1px 0 0;float:left;padding:8rem;width:33.33%}}@media screen and (min-width: 50em){.expandable-icon-grid .grid-item:last-child{border-width:0}}.expandable-icon-grid .icon{height:60px;width:60px;margin:0 auto}.expandable-icon-grid h3{color:rgba(70,70,70,0.83);font-size:1.8rem;font-weight:700;margin:3rem 0;text-transform:uppercase}.expandable-icon-grid .content{font-size:1.7rem;line-height:1.576}.featured-properties-header{padding:4.4rem 0}.featured-properties-header h2{font-size:3.4rem;margin-bottom:2.5rem}@media screen and (min-width: 62.5em){.featured-properties-header h2{margin-bottom:4.4rem}}.featured-properties-body{font-size:0;position:relative}@media screen and (min-width: 62.5em){.featured-properties-body{min-height:489px}}.featured-properties-body .button{margin-top:2.5rem}.featured-properties-body .loading{background-image:url("/wp-content/themes/tig/assets/images/ajax/ajax-loader.gif");background-position:center;background-repeat:no-repeat;background-size:43px 11px;height:11px;left:50%;opacity:0;position:absolute;top:2rem;transform:translateX(-50%);transition:opacity 0.3s cubic-bezier(0.77, 0, 0.175, 1);width:43px}.featured-properties-body .loading.fetching{opacity:1}.featured-properties .fancy-select{margin:1.5rem auto}.featured-properties .fancy-select-top{border:1px solid #a1a1a1}.featured-properties .fancy-select-options{background-color:#fff;color:#53585b}@media screen and (min-width: 68.75em){.featured-properties .fancy-select-options{border-color:#a1a1a1;border-style:solid;border-width:0 1px 1px}}.featured-properties-property{color:#fff;display:block;margin-bottom:4.40729%}@media screen and (min-width: 62.5em){.featured-properties-property{display:inline-block;margin:0 1.06657% 1.06657% 0;vertical-align:top;width:32.62229%}}@media screen and (min-width: 95.625em){.featured-properties-property{margin:0 16px 16px 0;width:489px}}.featured-properties-property:last-child{margin-bottom:0}@media screen and (min-width: 62.5em){.featured-properties-property:nth-child(3n){margin-right:0}}@media screen and (min-width: 62.5em){.featured-properties-property:nth-last-child(-n+3){margin-bottom:0}}.featured-properties-property article{position:relative;background-repeat:no-repeat;background-size:cover}.featured-properties-property article:before{display:block;content:" ";width:100%;padding-top:100%}.featured-properties-property article>.content{position:absolute;top:0;left:0;right:0;bottom:0}.featured-properties-property h3{font-size:2.8rem}.featured-properties-property h4{font-size:2.4rem}@media screen and (min-width: 68.75em){.featured-properties-property h4{opacity:0;transform:scale(0, 0)}}.featured-properties-property .inner{padding:17.24% 1.2rem 0;position:relative;z-index:1}@media screen and (min-width: 68.75em){.featured-properties-property:hover .darken{opacity:1;transition:opacity 0.2s cubic-bezier(0.165, 0.84, 0.44, 1)}.featured-properties-property:hover .property-footer{opacity:1;transform:scale(1, 1);transition:0.2s cubic-bezier(0.165, 0.84, 0.44, 1) 0.1s}.featured-properties-property:hover .property-meta{transform:translateY(0);transition:transform 0.2s cubic-bezier(0.165, 0.84, 0.44, 1)}.featured-properties-property:hover h4{opacity:1;transform:scale(1, 1);transition:0.2s cubic-bezier(0.165, 0.84, 0.44, 1) 0.1s}}@media screen and (min-width: 68.75em){.featured-properties .property-footer{opacity:0;transform:scale(0, 0);transition:0.15s cubic-bezier(0.895, 0.03, 0.685, 0.22)}}.featured-properties-footer{clear:both}.featured-properties .single-properties .propert-meta{font-style:normal}.featured-properties .property-meta{font-size:1.5rem;font-weight:700;margin-top:2.9rem;text-transform:uppercase}@media screen and (min-width: 68.75em){.featured-properties .property-meta{transform:translateY(-4.5rem);transition:transform 0.15s cubic-bezier(0.895, 0.03, 0.685, 0.22)}}.featured-properties .property-meta .divider{padding:0 0.5rem}.featured-properties .property-meta a{color:#fff;text-decoration:none}.property-grid .featured-properties-property{display:none;transform:scale(0.8, 0.8)}.property-grid.no-results{font-size:2.5rem;line-height:1.85;margin:0 auto;max-width:81rem;opacity:0;text-align:center;transform:translateY(100%)}.property-grid .property-types .sep:last-child{display:none}.four-column-icon-grid{margin-bottom:0}.four-column-icon-grid-header{padding:6rem 0}.four-column-icon-grid-header h2{font-size:3.4rem}.four-column-icon-grid-body{border-top:1px solid rgba(97,97,97,0.32);font-size:0}.four-column-icon-grid-body .inner{margin:0 auto;max-width:18rem;padding:5rem 0 6.3rem;text-align:center}@media screen and (min-width: 62.5em){.four-column-icon-grid-body .inner{position:absolute;left:50%;top:50%;transform:translateX(-50%) translateY(-50%);padding:0;width:100%}}.four-column-icon-grid-body h3{font-size:1.4rem;font-weight:700;margin-bottom:4.3rem;text-transform:uppercase}@media screen and (min-width: 62.5em){.four-column-icon-grid-body h3{margin-bottom:3rem}}@media screen and (min-width: 68.75em){.four-column-icon-grid-body h3{transform:translateY(48px);transition:color 0.15s cubic-bezier(0.895, 0.03, 0.685, 0.22),transform 0.15s cubic-bezier(0.895, 0.03, 0.685, 0.22)}}@media screen and (min-width: 37.5em){.four-column-icon-grid-body.count-2 .four-column-icon-grid-cta,.four-column-icon-grid-body.count-3 .four-column-icon-grid-cta,.four-column-icon-grid-body.count-4 .four-column-icon-grid-cta{display:inline-block;width:50%}}@media screen and (min-width: 62.5em){.four-column-icon-grid-body.count-3 .four-column-icon-grid-cta{width:33.33%}}@media screen and (min-width: 62.5em){.four-column-icon-grid-body.count-4 .four-column-icon-grid-cta{width:25%}}.four-column-icon-grid-cta{border-color:rgba(97,97,97,0.32);border-style:solid;border-width:1px 0 0;color:#53585b}@media screen and (min-width: 37.5em){.four-column-icon-grid-cta{border-width:0 1px 1px 0}}@media screen and (min-width: 62.5em){.four-column-icon-grid-cta{border-width:0 1px 0 0;height:385px;position:relative}}@media screen and (min-width: 37.5em){.four-column-icon-grid-cta:nth-child(2n){border-width:0 0 1px;margin-right:0}}@media screen and (min-width: 62.5em){.four-column-icon-grid-cta:nth-child(2n){border-width:0 1px 0 0}}@media screen and (min-width: 37.5em){.four-column-icon-grid-cta:nth-child(3){border-width:0 1px 0 0}}@media screen and (min-width: 62.5em){.four-column-icon-grid-cta:nth-child(3){border-width:0 1px 0 0}}.four-column-icon-grid-cta:last-child{border-width:0}@media screen and (min-width: 37.5em){.four-column-icon-grid-cta:last-child{border-width:0}}@media screen and (min-width: 62.5em){.four-column-icon-grid-cta:last-child{border-width:0}}.four-column-icon-grid-cta .cta-icon{height:60px;width:60px;margin:0 auto 2rem}@media screen and (min-width: 62.5em){.four-column-icon-grid-cta .cta-icon{transform:translateY(48px);transition:transform 0.15s cubic-bezier(0.895, 0.03, 0.685, 0.22)}}@media screen and (min-width: 68.75em){.four-column-icon-grid-cta .button{opacity:0;transform:translateY(50%)}}@media screen and (min-width: 62.5em){.four-column-icon-grid-cta:hover .cta-icon,.four-column-icon-grid-cta:hover h3{transform:translateY(0);transition:transform 0.2s cubic-bezier(0.165, 0.84, 0.44, 1)}}@media screen and (min-width: 68.75em){.four-column-icon-grid-cta:hover .button{opacity:1;transform:translateY(0)}}.four-column-icon-grid h4{font-size:2.6rem;margin-bottom:3.5rem}.homepage-billboard{background-position:50%;background-repeat:no-repeat;background-size:cover;color:#fff;height:100vh}@media screen and (min-width: 47.5em){.homepage-billboard{height:62rem}}@media screen and (min-width: 95.625em){.homepage-billboard{height:72.4rem}}.homepage-billboard .container{height:100%;position:relative}.homepage-billboard-wrapper{padding-top:50%;z-index:2}@media screen and (min-width: 47.5em){.homepage-billboard-wrapper{bottom:17rem;left:0;padding:0;position:absolute;transform:translate(0);width:100%}}.homepage-billboard-header{font-size:2.5rem;margin-bottom:2rem}@media screen and (min-width: 47.5em){.homepage-billboard-header{font-size:5rem}}@media screen and (min-width: 62.5em){.homepage-billboard-header{font-size:5.8rem}}@media screen and (min-width: 68.75em){.homepage-billboard-header{margin-bottom:3rem}}.homepage-billboard .fancy-select.open .fancy-select-top{background-color:rgba(11,11,11,0.3)}.homepage-billboard .fancy-select-top{background-color:rgba(255,255,255,0.14);transition:0.25s cubic-bezier(0.455, 0.03, 0.515, 0.955)}.homepage-billboard .fancy-select-options{background-color:#fff}@media screen and (min-width: 68.75em){.homepage-billboard .fancy-select-options{background-color:rgba(94,112,125,0.29)}}.homepage-billboard .fancy-select-options .query-toggle{color:#53585b}@media screen and (min-width: 68.75em){.homepage-billboard .fancy-select-options .query-toggle{border-width:0;color:#fff}}@media screen and (min-width: 68.75em){.homepage-billboard .fancy-select-options .query-toggle.active,.homepage-billboard .fancy-select-options .query-toggle:hover{background-color:rgba(11,11,11,0.27);color:#fff}}.homepage-billboard .fancy-select .handle svg{height:14px;width:14px;fill:#fff}.homepage-billboard .or{color:#fff;font-family:"Tinos",serif;margin:1rem 0;text-transform:uppercase}.homepage-billboard .property-search-footer{margin-top:2rem}@media screen and (min-width: 62.5em){.homepage-billboard .property-search-footer{margin-top:0}}.interior-billboard{background-position:50%;background-repeat:no-repeat;background-size:cover;color:#fff;min-height:46vh;position:relative}.interior-billboard .content{height:100%}.interior-billboard.content .container,.interior-billboard.property .container{padding:84px 1.5rem 20px}@media screen and (min-width: 68.75em){.interior-billboard.content .container,.interior-billboard.property .container{padding:84px 1.5rem 4.6rem}}.interior-billboard.content .interior-billboard-header,.interior-billboard.property .interior-billboard-header{margin-bottom:2rem}@media screen and (min-width: 50em){.interior-billboard.none{height:34rem}}@media screen and (min-width: 68.75em){.interior-billboard.property{position:relative}.interior-billboard.property:before{display:block;content:" ";width:100%;padding-top:40%}.interior-billboard.property>.content{position:absolute;top:0;left:0;right:0;bottom:0}}.interior-billboard.property h1{color:#fff;line-height:1}.interior-billboard.property .container{max-width:62.5em;width:100%}@media screen and (min-width: 68.75em){.interior-billboard.property .container{position:absolute;left:50%;top:50%;transform:translateX(-50%) translateY(-50%);padding:0;transform:translateX(-50%) translateY(-30%)}}@media screen and (min-width: 75em){.interior-billboard.property .container{transform:translateX(-50%) translateY(-40%)}}@media screen and (min-width: 87.5em){.interior-billboard.property .container{transform:translateX(-50%) translateY(-50%)}}@media screen and (min-width: 47.5em){.interior-billboard.property .interior-billboard-content{float:left;width:65%}}@media screen and (min-width: 68.75em){.interior-billboard.property .interior-billboard-content{padding:5rem}}@media screen and (min-width: 47.5em){.interior-billboard.property .property-map{float:right;width:35%}}.interior-billboard.title{height:46vh}@media screen and (min-width: 62.5em){.interior-billboard.title{height:34.5rem}}.interior-billboard.title .container{height:100%;padding-top:84px;position:relative}@media screen and (min-width: 68.75em){.interior-billboard.title .container{align-items:center;display:flex;justify-content:center}}@media screen and (max-width: 68.6875em){.interior-billboard.title .interior-billboard-header{position:absolute;left:50%;top:50%;transform:translateX(-50%) translateY(-50%);width:calc(100% - 3rem)}}.interior-billboard-header{font-size:2.5rem}@media screen and (min-width: 47.5em){.interior-billboard-header{font-size:5.8rem}}.interior-billboard-content{background-color:rgba(10,10,10,0.8);padding:2.5rem 1.5rem}@media screen and (min-width: 68.75em){.interior-billboard-content{margin:0 auto;max-width:82rem;padding:9rem 6.3rem 5rem}}.interior-billboard-content p{font-size:2rem}@media screen and (min-width: 62.5em){.interior-billboard-content p{font-size:2.4rem}}.interior-billboard-footer{margin-top:1.5rem}@media screen and (min-width: 62.5em){.interior-billboard-footer{margin-top:3rem}}.interior-billboard .prop-anchor{color:#fff;font-weight:700;text-decoration:none;text-transform:uppercase}.interior-billboard .arrow{height:27px;width:27px;animation:bounce 1s linear infinite;color:#63833a;margin:1.5rem auto}@media screen and (min-width: 62.5em){.interior-billboard .arrow{margin-top:2.5rem}}.interior-billboard .arrow svg{height:27px;width:27px}.interior-billboard .arrow svg path{fill:currentColor}.interior-billboard .property-map{opacity:0;transform:scale(0.8, 0.8)}.interior-billboard .property-map.ready{opacity:1;transform:scale(1, 1);transition:opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94),transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94)}.interior-billboard .property-map a[href^="https://maps.google.com/maps"],.interior-billboard .property-map .gm-style-cc{display:none !important}@keyframes bounce{50%{transform:translate3d(0, -5px, 0)}75%{transform:translate3d(0, 5px, 0)}}.single-properties .interior-billboard h1,.single-unit .interior-billboard h1{font-size:2.5rem}@media screen and (min-width: 62.5em){.single-properties .interior-billboard h1,.single-unit .interior-billboard h1{font-size:4.367rem;margin-bottom:2rem}}.single-properties .interior-billboard h2,.single-unit .interior-billboard h2{font-size:2rem;font-weight:700;text-transform:uppercase}.single-properties .interior-billboard .property-meta,.single-unit .interior-billboard .property-meta{font-style:italic;margin-top:2.9rem}@media screen and (min-width: 62.5em){.single-properties .interior-billboard .property-meta,.single-unit .interior-billboard .property-meta{margin-top:6.7rem}}.single-properties .interior-billboard .property-meta a,.single-unit .interior-billboard .property-meta a{color:#fff;text-decoration:none}.single-properties .interior-billboard .property-meta .divider,.single-unit .interior-billboard .property-meta .divider{font-style:normal;padding:0 0.5rem}.single-properties .interior-billboard .map-marker,.single-unit .interior-billboard .map-marker{height:60px;width:60px;background-color:rgba(99,131,58,0.6);border-radius:50%;z-index:-1}.single-properties .interior-billboard .directions-link,.single-unit .interior-billboard .directions-link{bottom:1.6rem;color:#fff;font-family:"Tinos",serif;font-size:1.428rem;font-weight:400;letter-spacing:0.214rem;position:absolute;right:1.8rem;text-decoration:none;text-transform:uppercase}.building-gallery-header{padding:2.5rem 0}@media screen and (min-width: 47.5em){.building-gallery-header{padding:3rem 0}}.building-gallery-header h2{color:#76964c;font-size:3.4rem}.building-gallery .image-gallery .flickity-viewport{height:auto}.building-gallery .image-gallery .flickity-viewport .flickity-slider{top:0}.building-gallery .image-gallery .flickity-viewport:before{content:'';display:block;padding-top:53.53535%}@media screen and (min-width: 30em){.building-gallery .image-gallery .flickity-viewport:before{padding-top:calc(52.3723535354% - 44px)}}@media screen and (min-width: 62.5em){.building-gallery .image-gallery .flickity-viewport:before{padding-top:31.4986%}}.building-gallery .image-gallery img{display:block;width:100%;height:auto}.building-gallery .image-gallery .gallery-cell{margin-right:1.06657%;width:100%;position:relative}.building-gallery .image-gallery .gallery-cell:before{content:'';display:block;padding-top:53.53535%}@media screen and (min-width: 30em){.building-gallery .image-gallery .gallery-cell{width:calc(98.864% - 88px)}}@media screen and (min-width: 62.5em){.building-gallery .image-gallery .gallery-cell{width:58.837%}}.building-gallery .image-gallery .gallery-cell img{position:absolute;top:0;left:0}@media screen and (min-width: 95.625em){.building-gallery .image-gallery .gallery-cell img{max-width:none;width:100%}}.building-gallery .image-gallery .flickity-prev-next-button{background-color:rgba(0,0,0,0.6);border-radius:0;height:100%;padding:0}@media screen and (min-width: 62.5em){.building-gallery .image-gallery .flickity-prev-next-button{width:19.5%}}.building-gallery .image-gallery .flickity-prev-next-button:hover{background-color:rgba(0,0,0,0.6)}.building-gallery .image-gallery .flickity-prev-next-button.next{right:0}.building-gallery .image-gallery .flickity-prev-next-button.previous{left:0}@media screen and (min-width: 62.5em){.building-gallery .image-gallery .flickity-prev-next-button svg{position:absolute;left:50%;top:50%;transform:translateX(-50%) translateY(-50%);height:27px;width:27px}}.building-gallery .image-gallery .flickity-prev-next-button .arrow{fill:#fff}.building-gallery .image-gallery .single-img{margin:0 auto}.location-overview .container{max-width:none}.location-overview-header{padding:4rem 0}@media screen and (min-width: 47.5em){.location-overview-header{padding:5rem 0}}.location-overview-header .container{max-width:80rem}.location-overview-header h2{color:#76964c;font-size:3.4rem}.location-overview-header p{font-size:1.7rem;line-height:1.652;margin-top:3.8rem}.location-overview-list{background-color:#76964c;color:#fff;padding:2.5rem 1.5rem}@media screen and (min-width: 62.5em){.location-overview-list{padding:8.5rem 10rem}}.location-overview-list h3{font-size:3.4rem;margin-bottom:3.5rem}@media screen and (min-width: 50em){.location-overview-list h3{text-align:left}}.location-overview-list ul{font-size:1.8rem;line-height:1.213;padding-left:2.5rem}.location-overview-list li{list-style-type:disc;margin-bottom:2rem}.location-overview-image{background-repeat:no-repeat;background-size:cover}@media screen and (min-width: 50em){.location-overview-list,.location-overview-image{float:left;width:50%}}.logo-slider .logo-slide{text-align:center;width:100%}.logo-slider .logo-slide a{display:inline-block}.logo-slider .no-flickity .logo-slide{margin-bottom:2rem}@media screen and (min-width: 37.5em){.logo-slider .no-flickity .logo-slide{display:inline-block;margin-right:4rem;vertical-align:middle;width:auto}}.logo-slider .no-flickity .logo-slide:last-child{margin-right:0}.logo-slider .flickity-enabled .flickity-viewport{margin:0 auto;max-width:calc(100% - 88px)}.logo-slider .flickity-enabled .logo-slide{min-height:44px}@media screen and (min-width: 37.5em){.logo-slider .flickity-enabled .logo-slide{margin:0 4rem;width:calc(33.33% - 4rem)}}@media screen and (min-width: 47.5em){.logo-slider .flickity-enabled .logo-slide{width:calc(25% - 4rem)}}@media screen and (min-width: 62.5em){.logo-slider .flickity-enabled .logo-slide{margin:0 2rem;width:calc(20% - 2rem)}}.logo-slider .flickity-enabled .logo-slide img{margin:0 auto}@media screen and (min-width: 37.5em){.logo-slider .flickity-enabled .logo-slide a{display:block;left:auto;top:50%;transform:translateY(-50%)}}.logo-slider .flickity-prev-next-button .arrow{fill:#76964c}.logo-slider .flickity-prev-next-button.previous{left:0}.logo-slider .flickity-prev-next-button.next{right:0}@media screen and (min-width: 62.5em){.property-intro{padding:5rem 0 0}}.property-intro .container{max-width:1200px}.property-intro-content{border-color:rgba(149,149,149,0.32);border-style:solid;border-width:0 0 1px;margin-bottom:3rem;padding-bottom:3rem}@media screen and (min-width: 62.5em){.property-intro-content{width:49.46672%;float:left;margin-right:1.06657%;border-width:0 1px 0 0;margin-bottom:0;padding-bottom:0;padding-right:4rem}}@media screen and (min-width: 95.625em){.property-intro-content{padding-right:0}}.property-intro-content p{font-size:2rem;line-height:1.56}@media screen and (min-width: 62.5em){.property-intro-content p{max-width:51.5rem}}.property-intro-content .button{font-size:1.7rem;margin-top:3rem}@media screen and (min-width: 62.5em){.property-intro-lists{width:49.46672%;float:right;margin-right:0}}@media screen and (min-width: 68.75em){.property-intro-lists{width:41.0445%;float:right;margin-right:0}}.property-intro-lists .list{margin-bottom:3rem}.property-intro-lists .amenities ul,.property-intro-lists .sizes ul{padding-left:2.5rem}.property-intro-lists .amenities li,.property-intro-lists .sizes li{font-size:1.2rem;margin-bottom:0.8rem}.property-intro-lists .amenities li span,.property-intro-lists .sizes li span{font-size:1.6rem}@media screen and (min-width: 37.5em){.property-intro-lists .amenities{width:49.46672%;float:left;margin-right:1.06657%}}@media screen and (min-width: 95.625em){.property-intro-lists .amenities{width:38.44086%;float:left;margin-right:2.59857%}}.property-intro-lists .amenities li{list-style-type:disc}@media screen and (min-width: 37.5em){.property-intro-lists .sizes{width:49.46672%;float:right;margin-right:0}}@media screen and (min-width: 95.625em){.property-intro-lists .sizes{width:41%}}.property-intro-lists li{color:#7d7d7d;line-height:1.56}.property-intro-lists h3{color:#76964c;font-size:1.8rem;font-weight:700;margin-bottom:1.5rem;text-transform:uppercase}.property-intro-lists .label{font-weight:400}@media screen and (min-width: 68.75em){.flexbox .property-intro-lists,.flexboxlegacy .property-intro-lists{display:flex;flex-flow:row nowrap;justify-content:space-between}}@media screen and (min-width: 68.75em){.flexbox .property-intro-lists .amenities,.flexboxlegacy .property-intro-lists .amenities{flex:1 0 auto}}@media screen and (min-width: 68.75em){.flexbox .property-intro-lists .sizes,.flexboxlegacy .property-intro-lists .sizes{flex:0 1 auto}}@media screen and (min-width: 68.75em){.tax-property-type .interior-billboard-content{padding:5rem 6.3rem}}.tax-property-type .property-type-title{margin:2.5rem 0}@media screen and (min-width: 68.75em){.tax-property-type .property-type-title{margin:4rem 0}}.tax-property-type h1{font-size:2.5rem;margin-bottom:2rem;text-align:center}@media screen and (min-width: 62.5em){.tax-property-type h1{font-size:4rem}}.tax-property-type .featured-properties{margin-bottom:2rem}.rotating-text{padding:2rem 0}@media screen and (min-width: 95.625em){.rotating-text{padding:0}}.rotating-text .container{max-width:1030px}@media screen and (min-width: 47.5em){.rotating-text .container{height:41rem;position:relative}}@media screen and (min-width: 95.625em){.rotating-text .container{height:31rem}}.rotating-text .inner{margin:0 auto;text-align:center;width:calc(100% - 3rem)}@media screen and (min-width: 47.5em){.rotating-text .inner{position:absolute;left:50%;top:50%;transform:translateX(-50%) translateY(-50%)}}@media screen and (min-width: 95.625em){.rotating-text .inner{width:100%}}@media screen and (min-width: 47.5em){.rotating-text .static,.rotating-text .text-carousel{display:inline-block;vertical-align:middle}}.rotating-text .static{font-size:1.8rem;padding:2rem 0}@media screen and (min-width: 47.5em){.rotating-text .static{padding:0}}@media screen and (min-width: 75em){.rotating-text .static{font-size:2.2rem}}@media screen and (min-width: 47.5em){.rotating-text .text-carousel{width:70px}}.rotating-text .cite-carousel{color:#afafaf;font-size:1.3rem;font-weight:700;margin-top:1.8rem;text-transform:uppercase}@media screen and (min-width: 75em){.rotating-text .cite-carousel{margin-top:3.5rem}}.rotating-text .top{color:#76964c;display:inline-block;font-size:1.8rem;font-style:italic;vertical-align:middle}.rotating-text .text-cell{width:100%}.rotating-text .button{margin-top:4rem}@media screen and (min-width: 47.5em){.rotating-text .button{margin-top:8rem}}@media screen and (min-width: 62.5em){.specs .container{align-items:center;display:flex}}.specs-header{padding:2rem 0 4rem}@media screen and (min-width: 47.5em){.specs-header{padding:4rem 0}}@media screen and (min-width: 62.5em){.specs-header{padding:0;width:33.33%}}.specs-header h2{font-size:3.4rem}@media screen and (min-width: 62.5em){.specs-lists{display:flex;height:100%;width:66.67%}}.specs-list{border-color:#b7b7b7;border-style:solid;border-width:1px 0 0;padding:2rem 0}@media screen and (min-width: 47.5em){.specs-list{border-width:0 0 0 1px;padding:0 4rem}}@media screen and (min-width: 62.5em){.specs-list{padding:0 1.8rem;width:50%}}@media screen and (min-width: 68.75em){.specs-list{padding:0 3.4rem}}@media screen and (min-width: 75em){.specs-list{padding:0 4rem}}@media screen and (min-width: 95.625em){.specs-list{padding:0 7.5rem}}@media screen and (min-width: 47.5em){.specs-list:first-child{border-width:0}}@media screen and (min-width: 62.5em){.specs-list:first-child{border-width:0 0 0 1px}}.specs-list .label{color:#76964c;font-size:1.4rem;font-weight:700;text-transform:uppercase}@media screen and (min-width: 47.5em){.specs-list .label{margin-right:4px}}.specs-list .value{font-size:1.6rem}.specs li{margin-bottom:1rem}.team-tiles{padding:2rem 0}@media screen and (min-width: 62.5em){.team-tiles{padding:0 0 8rem}}.team-tiles .container{max-width:1240px}.team-tiles h3{font-size:3.2rem;margin-bottom:1rem}.team-tiles h4{font-size:1.4rem;font-weight:700;text-transform:uppercase}.team-tiles .gridder-list{position:relative;background-repeat:no-repeat;background-size:cover;color:#fff;margin-bottom:1.4rem}.team-tiles .gridder-list:before{display:block;content:" ";width:100%;padding-top:100%}.team-tiles .gridder-list>.content{position:absolute;top:0;left:0;right:0;bottom:0}@media screen and (min-width: 37.5em){.team-tiles .gridder-list{width:49.46672%}.team-tiles .gridder-list:nth-child(n){margin-bottom:1.06657%;margin-right:1.06657%}.team-tiles .gridder-list:nth-of-type(2n){margin-right:0;margin-bottom:0}}@media screen and (min-width: 62.5em){.team-tiles .gridder-list{width:32.62229%}.team-tiles .gridder-list:nth-child(n){margin-bottom:1.06657%;margin-right:1.06657%}.team-tiles .gridder-list:nth-of-type(3n){margin-right:0;margin-bottom:0}}.team-tiles .gridder-list:hover .content,.team-tiles .gridder-list.selectedItem .content{opacity:1;transition:opacity 0.2s cubic-bezier(0.165, 0.84, 0.44, 1)}.team-tiles .gridder-list .content{opacity:0;transition:opacity 0.15s cubic-bezier(0.895, 0.03, 0.685, 0.22)}.team-tiles .gridder-list .content:after{background-color:rgba(0,0,0,0.7);content:'';z-index:0}.team-tiles .gridder-list .meta{text-align:center;width:90%;z-index:1}.team-tiles .gridder-show{background-color:rgba(239,239,239,0.73);padding:4rem 1rem;margin-bottom:1.06657%}@media screen and (min-width: 62.5em){.team-tiles .gridder-show{padding:0 2.9rem 2.4rem}}.team-tiles .bio-image{margin-bottom:1.5rem}@media screen and (min-width: 62.5em){.team-tiles .bio-image{width:28.41118%;float:left;margin-right:1.06657%;margin-bottom:0}}@media screen and (min-width: 62.5em){.team-tiles .bio-content{width:66.31114%;float:right;margin-right:0}}.team-tiles .bio-content-header{margin-bottom:1rem}.team-tiles .bio-content h3{color:#76964c}.team-tiles .bio-content-footer h4{margin:1.6rem 0}.team-tiles .bio-content-footer svg{height:16px;width:16px;fill:#76964c}.team-tiles .bio-content-footer a{display:inline-block;vertical-align:middle;margin-right:1.5rem}.team-tiles .bio-content-footer a:last-child{margin-right:0}.team-tiles .prev,.team-tiles .next{display:none}.team-tiles .gridder-navigation{text-align:right}.team-tiles .gridder-close{display:inline-block;font-size:4rem;font-weight:400;text-decoration:none;transform:rotate(45deg)}.testimonials-carousel .testimonial{font-size:0;width:100%}.testimonials-carousel .testimonial-content{padding:3.5rem 3rem;position:relative}@media screen and (min-width: 47.5em){.testimonials-carousel .testimonial-content{padding:0 3rem}}@media screen and (min-width: 95.625em){.testimonials-carousel .testimonial-content{padding:0}}@media screen and (min-width: 47.5em){.testimonials-carousel .logo,.testimonials-carousel .testimonial-content{display:inline-block;vertical-align:middle}}.testimonials-carousel .logo{min-height:200px;padding:0 1.5rem;position:relative}@media screen and (min-width: 47.5em){.testimonials-carousel .logo{height:100%;width:50%}}.testimonials-carousel .logo img,.testimonials-carousel .logo svg{max-width:238px}.testimonials-carousel.hacked-bs .testimonial{height:100%}.testimonials-carousel.hacked-bs .testimonial-content{height:100%;position:relative}@media screen and (min-width: 95.625em){.testimonials-carousel.hacked-bs.color .flickity-viewport{min-height:477px}}.testimonials-carousel.white{padding:2rem 0}@media screen and (min-width: 95.625em){.testimonials-carousel.white .testimonial-content{width:45%}}.testimonials-carousel.white .no-logo .logo{display:none}@media screen and (min-width: 47.5em){.testimonials-carousel.white .no-logo .testimonial-content{display:block;margin:0 auto}}@media screen and (min-width: 47.5em){.testimonials-carousel.white .no-logo cite p{text-align:right}}.testimonials-carousel.white .logo:after{background-color:#ccc;bottom:0;content:'';height:2px;left:50%;position:absolute;transform:translateX(-50%);width:calc(100% - 3rem)}@media screen and (min-width: 47.5em){.testimonials-carousel.white .logo:after{display:none}}@media screen and (min-width: 47.5em){.testimonials-carousel.white.hacked-bs .testimonial-content blockquote{display:flex;flex-direction:column;height:100%;justify-content:center}}.testimonials-carousel.white .cite-1{color:#76964c}.testimonials-carousel.white .cite-2{color:#797979}.testimonials-carousel.white .flickity-prev-next-button .arrow{fill:#6d6d6d}.testimonials-carousel.color{color:#fff;margin:0}@media screen and (min-width: 95.625em){.testimonials-carousel.color{min-height:477px}}.testimonials-carousel.color .testimonial-content{background-color:#76964c}@media screen and (min-width: 47.5em){.testimonials-carousel.color .testimonial-content{padding:6rem}}.testimonials-carousel.color .container{background-position:50% 0;background-repeat:no-repeat;background-size:cover;max-width:none}.testimonials-carousel.color .flickity-prev-next-button .arrow{fill:#fff}@media screen and (min-width: 47.5em){.testimonials-carousel .testimonial-content{width:50%}}.testimonials-carousel .testimonial-content .quote{font-size:2.1rem;line-height:1.952;margin-bottom:3.5rem;padding:1rem}@media screen and (min-width: 47.5em){.testimonials-carousel .testimonial-content .quote{font-size:1.6rem}}@media screen and (min-width: 62.5em){.testimonials-carousel .testimonial-content .quote{font-size:2.1rem;line-height:1.952}}.testimonials-carousel .testimonial-content cite{font-size:1.6rem;font-weight:700;text-transform:uppercase}.testimonials-carousel .testimonial-content cite .cite-2{margin-top:1rem}.testimonials-carousel .flickity-prev-next-button.next{right:0;transform:translateX(1rem) translateY(-50%)}@media screen and (min-width: 50em){.testimonials-carousel .flickity-prev-next-button.next{right:1.5rem}}.testimonials-carousel .flickity-prev-next-button.previous{left:0;transform:translateX(-1rem) translateY(-50%)}@media screen and (min-width: 50em){.testimonials-carousel .flickity-prev-next-button.previous{left:1.5rem}}@media screen and (min-width: 47.5em){.text-content{margin-bottom:4rem}}.text-content.left .container{max-width:80rem}.text-content.centered .container{max-width:81.5rem}.text-content.two .container{max-width:113.2rem}@media screen and (min-width: 50em){.text-content.two .text-content-column{width:45.25561%;float:left;margin-right:1.06657%}}@media screen and (min-width: 50em){.text-content.two .text-content-column:nth-child(2n){width:45.25561%;float:right;margin-right:0}}@media screen and (min-width: 62.5em){.text-content.three .text-content-column{width:32.62229%;float:left;margin-right:1.06657%}}@media screen and (min-width: 62.5em){.text-content.three .text-content-column:nth-child(3n){margin-right:0}}.text-content h2{color:#7ba14b}.text-content-header{font-size:2.6rem;padding:3rem 0}@media screen and (min-width: 47.5em){.text-content-header{padding:0 0 3rem}}.text-content.grey{background-color:rgba(231,231,231,0.47);color:#707070;padding:2rem 0}@media screen and (min-width: 62.5em){.text-content.grey{padding:4rem 0}}@media screen and (min-width: 62.5em){.text-content.grey.three .text-content-column{border-right:1px solid #b7b7b7}}.text-content.grey.three .text-content-column:nth-child(3n){border-right:0}.text-content.grey.three .text-content-column:nth-child(n+1){padding:0 1.06657%}.text-content.grey.three ul{padding-left:2.5rem}.text-content.grey.three ul li{font-size:1.8rem;line-height:2;list-style-type:disc}.text-content-footer{margin-top:5.5rem}.property-amenities{background-color:rgba(231,231,231,0.47);padding:4rem 0}.property-amenities-header{color:#7ba14b;font-size:2.6rem;padding:4rem 0}@media screen and (min-width: 47.5em){.property-amenities-header{padding:6rem 0}}.property-amenities ul{color:#707070;padding-left:2.5rem}.property-amenities ul li{font-size:1.8rem;line-height:2;list-style-type:disc}.timeline .container{max-width:none}.timeline-carousel{background-color:#efefef;float:left;padding:4.5rem 1.5rem;width:84%}@media screen and (min-width: 37.5em){.timeline-carousel{float:none;width:auto}}.timeline-carousel h3{color:#76964c;font-size:3.3rem;margin-bottom:3.1rem}.timeline-carousel h4{color:#616161;font-size:1.7rem;line-height:1.706}@media screen and (min-width: 62.5em){.timeline .flickity-prev-next-button.next{right:9.8%}}@media screen and (min-width: 62.5em){.timeline .flickity-prev-next-button.previous{left:9.8%}}.timeline .flickity-prev-next-button .arrow{fill:#979797}.timeline-image{margin-bottom:2.5rem}@media screen and (min-width: 62.5em){.timeline-image{float:left;margin-right:7rem}}@media screen and (min-width: 37.5em){.timeline-image img{margin:0 auto}}.timeline-timeline{background:#76964c;float:right;position:relative;width:16%}@media screen and (min-width: 37.5em){.timeline-timeline{float:none;padding:7rem 0;width:auto}}.timeline-timeline .timeline-container{height:100%;margin:0 auto;max-width:76rem}.timeline-line{background-color:#fff;height:100%;left:50%;position:absolute;top:0;transform:translateX(-50%);width:4px;z-index:0}@media screen and (min-width: 37.5em){.timeline-line{height:4px;max-width:76rem;top:7rem;transform:translateX(-50%) translateY(100%);width:calc(100% - 3rem)}}.timeline-dot{height:13px;width:13px;background-color:#76964c;border-color:#fff;border-radius:50%;border-style:solid;border-width:2px;transition:border-width 0.15s cubic-bezier(0.895, 0.03, 0.685, 0.22)}@media screen and (min-width: 37.5em){.timeline-caption{text-align:center}}@media screen and (min-width: 62.5em){.timeline-caption{float:left;max-width:37.5rem;text-align:left}}.timeline-cell{width:100%}.timeline-cell .cell-wrapper{margin:0 auto;max-width:87.5rem}.timeline-year{color:#fff;font-size:1.3rem;font-weight:700;text-transform:uppercase}@media screen and (min-width: 37.5em){.timeline-year{margin-top:2rem}}.timeline-nav-item{background-color:#76964c;display:block;position:relative;text-decoration:none;z-index:1}@media screen and (min-width: 37.5em){.timeline-nav-item{background-color:transparent}}.timeline-nav-item.active .timeline-dot{border-width:3px;transition:border-width 0.2s cubic-bezier(0.165, 0.84, 0.44, 1)}.timeline-footer{background:#76964c;text-align:center}@media screen and (min-width: 37.5em){.timeline-footer{padding-bottom:7rem}}.timeline-footer .button:hover{background-color:#63833a}.flexbox .timeline-container,.flexboxlegacy .timeline-container{align-items:center;display:flex;flex-flow:column nowrap;justify-content:space-around}@media screen and (min-width: 37.5em){.flexbox .timeline-container,.flexboxlegacy .timeline-container{flex-flow:row nowrap}}.flexbox .timeline-container .timeline-nav-item,.flexboxlegacy .timeline-container .timeline-nav-item{align-items:center;display:flex;flex-flow:column nowrap;justify-content:center}@media screen and (min-width: 37.5em){.flexbox .timeline-container .timeline-nav-item,.flexboxlegacy .timeline-container .timeline-nav-item{flex:0 1 145px}}.two-column-cta .container{max-width:none}@media screen and (min-width: 62.5em){.flexbox .two-column-cta .container,.flexboxlegacy .two-column-cta .container{display:flex}}.two-column-cta-image{background-position:center;background-repeat:no-repeat;background-size:cover;min-height:26rem}.two-column-cta-content{background-color:#76964c;color:#fff;padding:6.35rem 1.5rem}@media screen and (min-width: 62.5em){.flexbox .two-column-cta-content,.flexboxlegacy .two-column-cta-content{align-items:center;display:flex;flex-direction:column;justify-content:center}}.two-column-cta-content h2{font-size:3rem}.two-column-cta-content h3{font-size:1.8rem;margin-top:1rem}.two-column-cta-content .button{margin-top:4.6rem}.two-column-cta-content .button:hover{background-color:#63833a}@media screen and (min-width: 62.5em){.two-column-cta-image,.two-column-cta-content{float:left;width:50%}}.unit-body{margin-top:100px}.unit-body .unit-buttons{margin-top:20px}.featured-post{margin:6rem 0}@media screen and (min-width: 47.5em){.featured-post{margin:6rem 0 12.9rem}}.featured-post .container{max-width:113.3rem}@media screen and (min-width: 47.5em){.featured-post article{font-size:0}}@media screen and (min-width: 47.5em){.featured-post-header,.featured-post-body{display:inline-block;vertical-align:top;width:49.46672%}}.featured-post-header{margin-bottom:3rem}@media screen and (min-width: 47.5em){.featured-post-header{margin-bottom:0;margin-right:1.06657%}}@media screen and (min-width: 62.5em){.featured-post-header{margin-right:4.7rem}}@media screen and (min-width: 62.5em){.featured-post-body{width:calc(49.419% - 4.7rem)}}@media screen and (min-width: 47.5em){.featured-post-footer{margin-top:3rem}}@media screen and (min-width: 47.5em){.featured-post-footer .button,.featured-post-footer .social-cher{display:inline-block;vertical-align:middle}}@media screen and (min-width: 47.5em){.featured-post-footer .button{margin-right:4.8rem}}.featured-post .title{font-size:3rem}.featured-post .title a{text-decoration:none}.featured-post .excerpt{font-size:1.8rem}.featured-post .social-cher{margin-top:2rem}@media screen and (min-width: 47.5em){.featured-post .social-cher{margin-top:0}}.featured-post .social-cher .share,.featured-post .social-cher .cher-container,.featured-post .social-cher .cher-button{display:inline-block;vertical-align:middle}.featured-post .social-cher .cher-button{margin-right:1.7rem}.featured-post .social-cher .cher-button:last-child{margin-right:0}.featured-post .social-cher .cher-button a{display:block}.featured-post .social-cher .share{color:#76964c;font-size:1.47rem;font-weight:700;margin-right:1.6rem;text-transform:uppercase}.filter-bar{background-color:rgba(239,239,239,0.64);margin-bottom:4rem}@media screen and (min-width: 47.5em){.filter-bar{margin-bottom:6rem}}.filter-bar .container{max-width:1085px}.filter-bar a{color:#53585b;display:block;font-size:2.1rem;padding-bottom:1rem;text-decoration:none;transition:color 0.15s cubic-bezier(0.895, 0.03, 0.685, 0.22)}@media screen and (min-width: 47.5em){.filter-bar a{font-size:1.8rem}}.filter-bar a:hover,.filter-bar a.active{color:#76964c;transition:color 0.2s cubic-bezier(0.165, 0.84, 0.44, 1)}.filter-bar .more-toggle span{margin-right:1rem}.filter-bar .more-toggle span,.filter-bar .more-toggle .icon{float:left}@media screen and (min-width: 47.5em){.filter-bar .more-toggle .icon{position:absolute;right:2rem;top:50%;transform:translateY(-50%) rotateX(0);transform-origin:center center}}.filter-bar .icon,.filter-bar .icon svg{height:12px;width:12px}.filter-bar .icon svg path{fill:currentColor}.filter-bar .additional{position:relative}.filter-bar .additional.hidden{display:none}.filter-bar .more-cats{display:none;padding:1rem 0}@media screen and (min-width: 47.5em){.filter-bar .more-cats{background-color:#e9e9e9;left:0;max-height:15rem;overflow-y:scroll;padding:2.5rem 0.4rem;position:absolute;text-align:left;top:100%;width:233px}}@media screen and (min-width: 62.5em){.filter-bar .more-cats{padding:2.5rem 2rem}}@media screen and (min-width: 62.5em){.filter-bar .more-cats li{padding:0.5rem 0}}@media screen and (min-width: 62.5em){.filter-bar .more-cats li a{padding-bottom:0}}@media screen and (min-width: 47.5em){.filter-bar-filters{width:66.31114%;float:left;margin-right:1.06657%;max-width:630px}}@media screen and (min-width: 47.5em){.filter-bar-filters>li{width:23.79368%;float:left;margin-right:1.60843%;padding:2.7rem 0.4rem;text-align:center}}@media screen and (min-width: 62.5em){.filter-bar-filters>li{padding:2.7rem 2rem}}.filter-bar-filters>li:last-of-type{margin-right:0}@media screen and (min-width: 47.5em){.filter-bar-filters>li>a{padding:0}}@media screen and (min-width: 47.5em){.filter-bar-search{width:32.62229%;float:right;margin-right:0;padding:1.9rem 0}}@media screen and (min-width: 47.5em){.flexbox .filter-bar .container,.flexboxlegacy .filter-bar .container{display:flex;justify-content:space-between}}@media screen and (min-width: 47.5em){.flexbox .filter-bar-filters,.flexbox .filter-bar-search,.flexboxlegacy .filter-bar-filters,.flexboxlegacy .filter-bar-search{float:none}}@media screen and (min-width: 47.5em){.flexbox .filter-bar-search,.flexboxlegacy .filter-bar-search{align-items:center;display:flex;padding:0}}@media screen and (min-width: 47.5em){.flexbox .filter-bar-search .post-search,.flexboxlegacy .filter-bar-search .post-search{flex:1 0 auto}}.tig-pagination{font-size:1.4rem;font-weight:700;text-align:center}@media screen and (min-width: 47.5em){.tig-pagination{padding:7rem 0}}.tig-pagination .container{max-width:22rem;position:relative}.tig-pagination .page-numbers{color:#53585b;display:inline-block;margin-right:2rem;text-decoration:none;vertical-align:middle}.tig-pagination .page-numbers.current{color:#76964c}.tig-pagination .prev,.tig-pagination .next{margin:0}.tig-pagination .prev{left:0}.tig-pagination .next{right:0}.meta{margin:1.8rem 0}.meta .author,.meta .type{font-size:1.7rem;font-style:italic}.meta .author a,.meta .type a{color:#53585b;text-decoration:none}.post-search{border-color:#acacac;border-style:solid;border-width:1px}.post-search-field,.post-search-submit{background:transparent;border:0;float:left;height:3.6rem}.post-search-field{line-height:3.4rem;text-indent:0.5rem;width:calc(100% - 3.6rem)}.post-search-field:focus{outline:0}.post-search-submit{position:relative;width:3.6rem}.post-search-submit svg{height:1.6rem;width:1.6rem;left:50%;position:absolute;top:50%;transform:translate(-50%, -50%) rotateY(180deg)}.post-search-submit svg path{fill:#76964c}.blog .posts .container,.category .posts .container,.archive .posts .container{max-width:113.3rem}.blog .post,.category .post,.archive .post{margin-bottom:6rem}@media screen and (min-width: 47.5em){.blog .post,.category .post,.archive .post{width:49.46672%;float:left;margin-right:1.06657%}}@media screen and (min-width: 68.75em){.blog .post,.category .post,.archive .post{width:47.36116%;float:left;margin-right:1.06657%;margin-bottom:10rem}}@media screen and (min-width: 47.5em){.blog .post:nth-child(2n),.category .post:nth-child(2n),.archive .post:nth-child(2n){margin-right:0}}@media screen and (min-width: 68.75em){.blog .post:nth-child(2n),.category .post:nth-child(2n),.archive .post:nth-child(2n){width:47.36116%;float:right;margin-right:0}}@media screen and (min-width: 68.75em){.blog .post:nth-child(3),.blog .post:nth-child(4),.category .post:nth-child(3),.category .post:nth-child(4),.archive .post:nth-child(3),.archive .post:nth-child(4){margin-bottom:0}}.blog .post-header,.blog .post-body,.category .post-header,.category .post-body,.archive .post-header,.archive .post-body{margin-bottom:3rem}.blog .post a,.category .post a,.archive .post a{text-decoration:none}.blog .post h2,.category .post h2,.archive .post h2{font-size:3rem}.blog .post .author,.blog .post .excerpt,.category .post .author,.category .post .excerpt,.archive .post .author,.archive .post .excerpt{font-size:1.8rem}.blog .post .author,.blog .post .categories,.category .post .author,.category .post .categories,.archive .post .author,.archive .post .categories{display:inline-block;font-style:italic;vertical-align:middle}.blog .post .author a,.blog .post .categories a,.category .post .author a,.category .post .categories a,.archive .post .author a,.archive .post .categories a{color:#53585b}.blog .post .author,.category .post .author,.archive .post .author{border-right:1px solid #53585b;margin-right:1rem;padding-right:1rem}.blog .post .meta,.category .post .meta,.archive .post .meta{margin-bottom:2rem}@media screen and (min-width: 47.5em){.blog .post .social-cher,.category .post .social-cher,.archive .post .social-cher{margin-top:0}}@media screen and (min-width: 47.5em){.blog .post-footer,.category .post-footer,.archive .post-footer{margin-top:3rem}}@media screen and (min-width: 47.5em){.blog .post-footer .button,.blog .post-footer .social-cher,.category .post-footer .button,.category .post-footer .social-cher,.archive .post-footer .button,.archive .post-footer .social-cher{display:inline-block;vertical-align:middle}}@media screen and (min-width: 47.5em){.blog .post-footer .button,.category .post-footer .button,.archive .post-footer .button{margin-right:4.8rem}}.tax-property-type .posts{padding:2.5rem 0}@media screen and (min-width: 68.75em){.tax-property-type .posts{padding:4rem 0}}@media screen and (min-width: 47.5em){.flexbox .blog .posts .container,.flexbox .category .posts .container,.flexbox .archive .posts .container,.flexboxlegacy .blog .posts .container,.flexboxlegacy .category .posts .container,.flexboxlegacy .archive .posts .container{display:flex;flex-flow:row wrap}}.related-articles{margin-top:3.6rem}@media screen and (min-width: 47.5em){.related-articles{margin-top:6.6rem}}.related-articles .container{max-width:100rem}.related-articles-header{border-top:1px solid rgba(172,172,172,0.4);color:#76964c;display:block;padding:3.6rem 0;text-align:center}.related-articles-header a{display:block}.related-articles-header h2{font-size:2.7rem}.related-articles-body{margin:2.7rem 0 3rem}.related-articles-body a{text-decoration:none}.related-articles-body h3{color:#76964c;font-size:2.2rem;margin-bottom:1.5rem}.related-articles-article{margin-bottom:2rem}@media screen and (min-width: 47.5em){.related-articles-article{width:49.46672%;float:left;margin-right:1.06657%}}@media screen and (min-width: 62.5em){.related-articles-article{width:45.25561%;float:left;margin-right:1.06657%}}@media screen and (min-width: 47.5em){.related-articles-article:nth-child(2n){margin-right:0}}@media screen and (min-width: 47.5em){.related-articles-article:nth-child(2n){width:49.46672%;float:right;margin-right:0}}@media screen and (min-width: 62.5em){.related-articles-article:nth-child(2n){width:45.25561%;float:right;margin-right:0}}.single h1{color:#76964c;font-size:3rem}.single-header{height:96px}.single .post-header{margin-bottom:3rem}@media screen and (min-width: 47.5em){.single .post-header{margin-bottom:6rem}}.single .post-header-top{padding:2rem 0}@media screen and (min-width: 47.5em){.single .post-header-top{padding:4rem 0}}@media screen and (min-width: 95.625em){.single .post-header img{max-width:none;width:100%}}.single .social-cher{width:49.46672%;float:left;margin-right:1.06657%;margin-top:0;transform:translateY(7px)}.single .social-cher svg{height:1.5rem;width:1.5rem}.single .social-cher .cher-button{margin-right:1rem}.single .post-search{width:49.46672%;float:right;margin-right:0}.single .email-signup-bar{background-color:#efefef;border:0}.single .meta{margin:2rem 0 5rem}.single-post .posts .container,.single-post .related-articles .container{max-width:100rem}.social-cher{margin-top:2rem}.social-cher .share,.social-cher .cher-container,.social-cher .cher-button{display:inline-block;vertical-align:middle}.social-cher .share{color:#76964c;font-size:1.47rem;font-weight:700;margin-right:1rem;text-transform:uppercase}.social-cher .cher-button{margin-right:1.7rem}.social-cher .cher-button:last-child{margin-right:0}.social-cher .cher-button .cher-link{display:block;color:#afafaf}.social-cher .cher-button .cher-link svg{height:18px;width:18px}.social-cher .cher-button .cher-link svg path{fill:currentColor}.gridder-content{display:none}@media screen and (min-width: 37.5em){.gridder{font-size:0;list-style-type:none;margin:0;padding:0}.gridder-list,.gridder-show{font-size:16px}.gridder-list{display:inline-block;vertical-align:top}.gridder-show{display:block;float:left;position:relative;width:100%}}.flickity-enabled{position:relative}.flickity-enabled:focus{outline:none}.flickity-viewport{overflow:hidden;position:relative;height:100%}.flickity-slider{position:absolute;width:100%;height:100%}.flickity-enabled.is-draggable{-webkit-tap-highlight-color:transparent;tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.flickity-enabled.is-draggable .flickity-viewport{cursor:move;cursor:-webkit-grab;cursor:grab}.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down{cursor:-webkit-grabbing;cursor:grabbing}.flickity-prev-next-button{position:absolute;top:50%;width:44px;height:44px;border:none;border-radius:50%;background:white;background:rgba(255,255,255,0.75);cursor:pointer;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.flickity-prev-next-button:hover{background:white}.flickity-prev-next-button:focus{outline:none;box-shadow:0 0 0 5px #09F}.flickity-prev-next-button:active{filter:alpha(opacity=60);opacity:0.6}.flickity-prev-next-button.previous{left:10px}.flickity-prev-next-button.next{right:10px}.flickity-rtl .flickity-prev-next-button.previous{left:auto;right:10px}.flickity-rtl .flickity-prev-next-button.next{right:auto;left:10px}.flickity-prev-next-button:disabled{filter:alpha(opacity=30);opacity:0.3;cursor:auto}.flickity-prev-next-button svg{position:absolute;left:20%;top:20%;width:60%;height:60%}.flickity-prev-next-button .arrow{fill:#333}.flickity-prev-next-button.no-svg{color:#333;font-size:26px}.flickity-page-dots{position:absolute;width:100%;bottom:-25px;padding:0;margin:0;list-style:none;text-align:center;line-height:1}.flickity-rtl .flickity-page-dots{direction:rtl}.flickity-page-dots .dot{display:inline-block;width:10px;height:10px;margin:0 8px;background:#333;border-radius:50%;filter:alpha(opacity=25);opacity:0.25;cursor:pointer}.flickity-page-dots .dot.is-selected{filter:alpha(opacity=100);opacity:1}@media screen and (min-width: 68.75em){.search-container{position:relative}}.search-content{padding:2rem 0}@media screen and (min-width: 62.5em){.search-content{padding:4rem 0}}.search-no-results p{font-size:3rem;text-align:center}.search a{text-decoration:none}.search h2{display:inline-block;font-size:3rem}.search h2 a{display:block;position:relative}.search h2 a:hover:after{transform:scale(1, 1);transition:transform 0.2s cubic-bezier(0.165, 0.84, 0.44, 1)}.search h2 a:after{background-color:#76964c;bottom:-0.2rem;content:'';display:block;height:1px;left:0;position:absolute;transform:scale(0, 0);transform-origin:center center;transition:transform 0.15s cubic-bezier(0.895, 0.03, 0.685, 0.22);width:100%}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwiZ2xvYmFsL19nbG9iYWwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3MvX3N1c3kuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9fc3VzeS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L19zdS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L3N1L191dGlsaXRpZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9zdS9fc2V0dGluZ3Muc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9zdS9fdmFsaWRhdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L3N1L19ncmlkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L19mbG9hdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9fc2hhcmVkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L19zdXBwb3J0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L3N1cHBvcnQvX3N1cHBvcnQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvc3VwcG9ydC9fcHJlZml4LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L3N1cHBvcnQvX2JhY2tncm91bmQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvc3VwcG9ydC9fYm94LXNpemluZy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9zdXBwb3J0L19yZW0uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvc3VwcG9ydC9fY2xlYXJmaXguc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvc2hhcmVkL19pbnNwZWN0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L3NoYXJlZC9fb3V0cHV0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L3NoYXJlZC9fZGlyZWN0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L3NoYXJlZC9fYmFja2dyb3VuZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9zaGFyZWQvX2NvbnRhaW5lci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9zaGFyZWQvX21hcmdpbnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvc2hhcmVkL19wYWRkaW5nLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L2Zsb2F0L19jb250YWluZXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvZmxvYXQvX3NwYW4uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvZmxvYXQvX2VuZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9mbG9hdC9faXNvbGF0ZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX3NldHRpbmdzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fdmFsaWRhdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX2dyaWRzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fYm94LXNpemluZy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX2NvbnRleHQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9zdXN5L19iYWNrZ3JvdW5kLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fY29udGFpbmVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fc3Bhbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX2d1dHRlcnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9zdXN5L19pc29sYXRlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fZ2FsbGVyeS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX3Jvd3Muc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9zdXN5L19tYXJnaW5zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fcGFkZGluZy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX2JsZWVkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fYnJlYWtwb2ludC1wbHVnaW4uc2NzcyIsImdsb2JhbC9oZWxwZXJzL19taXhpbnMuc2NzcyIsImdsb2JhbC9oZWxwZXJzL19yZXNldC5zY3NzIiwiZ2xvYmFsL19mb250cy5zY3NzIiwiZ2xvYmFsL2xheW91dC9fbGF5b3V0LnNjc3MiLCJnbG9iYWwvd29yZHByZXNzL19jb3JlLXN0eWxlcy5zY3NzIiwiZ2xvYmFsL2hlYWRlci9faGVhZGVyLnNjc3MiLCJnbG9iYWwvZm9vdGVyL19mb290ZXIuc2NzcyIsImdsb2JhbC9uYXZpZ2F0aW9uL19uYXZpZ2F0aW9uLnNjc3MiLCJnbG9iYWwvbmF2aWdhdGlvbi9fbWFpbi1uYXYuc2NzcyIsImdsb2JhbC9uYXZpZ2F0aW9uL191dGlsaXR5LW5hdi5zY3NzIiwiZ2xvYmFsL3VpLWVsZW1lbnRzL191aS1lbGVtZW50cy5zY3NzIiwiZ2xvYmFsL3VpLWVsZW1lbnRzL19idXR0b25zLnNjc3MiLCJnbG9iYWwvdWktZWxlbWVudHMvX2ZhbmN5LXNlbGVjdC5zY3NzIiwiZ2xvYmFsL3VpLWVsZW1lbnRzL19mbGlja2l0eS5zY3NzIiwiZ2xvYmFsL3VpLWVsZW1lbnRzL19mb3Jtcy5zY3NzIiwiZ2xvYmFsL3VpLWVsZW1lbnRzL19pbWFnZS1vdmVybGF5LnNjc3MiLCJnbG9iYWwvdWktZWxlbWVudHMvX292ZXJsYXkuc2NzcyIsImdsb2JhbC9ibG9ja3MvX2Jsb2Nrcy5zY3NzIiwiZ2xvYmFsL2Jsb2Nrcy9fYWNjb3JkaW9uLnNjc3MiLCJnbG9iYWwvYmxvY2tzL19hdmFpbGFibGUtdW5pdHMuc2NzcyIsImdsb2JhbC9ibG9ja3MvX2Jsb2ctZmVlZC5zY3NzIiwiZ2xvYmFsL2Jsb2Nrcy9fY2FwYWJpbGl0aWVzLnNjc3MiLCJnbG9iYWwvYmxvY2tzL19jZW50ZXJlZC1oZWFkbGluZS1pY29uLnNjc3MiLCJnbG9iYWwvYmxvY2tzL19jb250YWN0LXBhZ2Uuc2NzcyIsImdsb2JhbC9ibG9ja3MvX2N0YS1iYXIuc2NzcyIsImdsb2JhbC9ibG9ja3MvX2R1YWwtY3RhLnNjc3MiLCJnbG9iYWwvYmxvY2tzL19lbWFpbC1zaWdudXAtYmFyLnNjc3MiLCJnbG9iYWwvYmxvY2tzL19leHBhbmRhYmxlLWljb24tZ3JpZC5zY3NzIiwiZ2xvYmFsL2Jsb2Nrcy9fZmVhdHVyZWQtcHJvcGVydGllcy5zY3NzIiwiZ2xvYmFsL2Jsb2Nrcy9fZm91ci1jb2x1bW4taWNvbi1ncmlkLnNjc3MiLCJnbG9iYWwvYmxvY2tzL19ob21lcGFnZS1iaWxsYm9hcmQuc2NzcyIsImdsb2JhbC9ibG9ja3MvX2ludGVyaW9yLWJpbGxib2FyZC5zY3NzIiwiZ2xvYmFsL2Jsb2Nrcy9faW1hZ2UtZ2FsbGVyeS5zY3NzIiwiZ2xvYmFsL2Jsb2Nrcy9fbG9jYXRpb24tb3ZlcnZpZXcuc2NzcyIsImdsb2JhbC9ibG9ja3MvX2xvZ28tc2xpZGVyLnNjc3MiLCJnbG9iYWwvYmxvY2tzL19wcm9qZWN0LWdyaWQuc2NzcyIsImdsb2JhbC9ibG9ja3MvX3Byb3BlcnR5LWludHJvLnNjc3MiLCJnbG9iYWwvYmxvY2tzL19wcm9wZXJ0eS10eXBlLnNjc3MiLCJnbG9iYWwvYmxvY2tzL19yb3RhdGluZy10ZXh0LnNjc3MiLCJnbG9iYWwvYmxvY2tzL19zcGVjcy5zY3NzIiwiZ2xvYmFsL2Jsb2Nrcy9fdGVhbS10aWxlcy5zY3NzIiwiZ2xvYmFsL2Jsb2Nrcy9fdGVzdGltb25pYWxzLWNhcm91c2VsLnNjc3MiLCJnbG9iYWwvYmxvY2tzL190ZXh0LWNvbnRlbnQuc2NzcyIsImdsb2JhbC9ibG9ja3MvX3RocmVlLWNvbHVtbi1sb2NrdXAuc2NzcyIsImdsb2JhbC9ibG9ja3MvX3RpbWVsaW5lLnNjc3MiLCJnbG9iYWwvYmxvY2tzL190d28tY29sdW1uLWN0YS5zY3NzIiwiZ2xvYmFsL2Jsb2Nrcy9fdW5pdC1ib2R5LnNjc3MiLCJ0ZW1wbGF0ZXMvX2hvbWUuc2NzcyIsImdsb2JhbC9ibG9nL19ibG9nLnNjc3MiLCJnbG9iYWwvYmxvZy9fZmVhdHVyZWQtcG9zdC5zY3NzIiwiZ2xvYmFsL2Jsb2cvX2ZpbHRlci1iYXIuc2NzcyIsImdsb2JhbC9ibG9nL19wYWdpbmF0aW9uLnNjc3MiLCJnbG9iYWwvYmxvZy9fcG9zdC1tZXRhLnNjc3MiLCJnbG9iYWwvYmxvZy9fcG9zdC1zZWFyY2guc2NzcyIsImdsb2JhbC9ibG9nL19wb3N0cy1saXN0LnNjc3MiLCJnbG9iYWwvYmxvZy9fcmVsYXRlZC1hcnRpY2xlcy5zY3NzIiwiZ2xvYmFsL2Jsb2cvX3NpbmdsZS5zY3NzIiwiZ2xvYmFsL2Jsb2cvX3NvY2lhbC5zY3NzIiwiZ2xvYmFsL2xpYnJhcmllcy9fbGlicmFyaWVzLnNjc3MiLCJnbG9iYWwvbGlicmFyaWVzL19ncmlkZGVyLnNjc3MiLCJnbG9iYWwvbGlicmFyaWVzL19mbGlja2l0eS5zY3NzIiwidGVtcGxhdGVzL19zZWFyY2guc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0ICdnbG9iYWwvZ2xvYmFsJztcbkBpbXBvcnQgJ2dsb2JhbC9sYXlvdXQvbGF5b3V0JztcbkBpbXBvcnQgJ2dsb2JhbC93b3JkcHJlc3MvY29yZS1zdHlsZXMnO1xuQGltcG9ydCAnZ2xvYmFsL2hlYWRlci9oZWFkZXInO1xuQGltcG9ydCAnZ2xvYmFsL2Zvb3Rlci9mb290ZXInO1xuQGltcG9ydCAnZ2xvYmFsL25hdmlnYXRpb24vbmF2aWdhdGlvbic7XG5AaW1wb3J0ICdnbG9iYWwvdWktZWxlbWVudHMvdWktZWxlbWVudHMnO1xuQGltcG9ydCAnZ2xvYmFsL2Jsb2Nrcy9ibG9ja3MnO1xuQGltcG9ydCAndGVtcGxhdGVzL2hvbWUnO1xuQGltcG9ydCAnZ2xvYmFsL2Jsb2cvYmxvZyc7XG5AaW1wb3J0ICdnbG9iYWwvbGlicmFyaWVzL2xpYnJhcmllcyc7XG5AaW1wb3J0ICd0ZW1wbGF0ZXMvc2VhcmNoJztcbiIsIkBpbXBvcnQgJ3N1c3knO1xuQGltcG9ydCAnaGVscGVycy9taXhpbnMnOyAgICAgICAgICAgICAgICAgICAvLyBoZWxwZXJzL2dsb2JhbC9fbWl4aW5zLnNjc3NcbkBpbXBvcnQgJ2hlbHBlcnMvcmVzZXQnOyAgICAgICAgICAgICAgICAgICAgLy8gaGVscGVycy9fcmVzZXQuc2Nzc1xuQGltcG9ydCAnZm9udHMnO1xuLy8gIC8qXG4vLyAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gICAgICAgICA6OlN1c3kgTGF5b3V0IC0gRXhhbXBsZVxuLy8gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICAqL1xuXG4vLyAgVGhpcyAkc3VzeSBtYXAgb25seSBuZWVkcyB0byBiZSBpbmNsdWRlZCBpZiB5b3UncmUgcGxhbm5pbmcgdG8gY2hhbmdlIHRoZSBnbG9iYWwgZGVmYXVsdHNcbi8vICBUaGUgZm9sbG93aW5nIGV4YW1wbGUgaXMgdGhlIGxheW91dCB1c2VkIG9uIEFMUENPXG5cbiRzdXN5OiAoXG4gICAgY29udGFpbmVyOiAxNTAwcHgsXG4gICAgY29sdW1uczogMTIsXG4gICAgZ3V0dGVyczogMC4xNDUsXG4gICAgY2xlYXJmaXg6IHRydWVcbik7XG5cbkBpbmNsdWRlIGxheW91dCgkc3VzeSk7XG5cbi8vICAvKlxuLy8gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICAgICAgICAgOjpDb2xvcnNcbi8vICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgKi9cblxuJHdoaXRlOiAjZmZmO1xuJGJsYWNrOiAjMDAwO1xuJGJvZHktY29weTogIzUzNTg1YjtcbiRncmVlbjogIzc2OTY0YztcbiRkYXJrLWdyZWVuOiAjNjM4MzNhO1xuJG1pZC1ncmVlbjogIzdmYTE1MztcbiRsaWdodC1ncmV5OiAjNzk3OTc5O1xuJG1pZC1ncmV5OiAjZWZlZmVmO1xuJGRhcmstZ3JleTogIzU1NTtcbiRib3JkZXJzOiAjYWNhY2FjO1xuJGxvZ28tdGV4dDogIzQ4NDc0ODtcblxuLy9zY3NzLWxpbnQ6ZGlzYWJsZSBDb2xvclZhcmlhYmxlXG4kY29sb3JzOiAoXG4gICAgYm9keS1iZzogJHdoaXRlLFxuICAgIGJvZHktY29weTogJGJvZHktY29weSxcbiAgICBzZWxlY3Rpb24tY29sb3I6ICR3aGl0ZSxcbiAgICBzZWxlY3Rpb24tYmc6ICRncmVlbixcbiAgICBhLWNvbG9yOiAkZGFyay1ncmVlbixcbiAgICBsb2dvLWluYWN0aXZlOiAkd2hpdGUsXG4gICAgaWNvbi1iZzogJHdoaXRlLFxuICAgIG5hdi1jb2xvcjogIzYwNjA2MCxcbiAgICBuYXYtYmc6ICR3aGl0ZSxcbiAgICBuYXYtYWN0aXZlOiAkbWlkLWdyZXksXG4gICAgbmF2LWJvcmRlcjogJGdyZWVuLFxuICAgIHV0aWxpdHktYmc6ICRncmVlbixcbiAgICB1dGlsaXR5LWNvbG9yOiAkd2hpdGUsXG4gICAgb3ZlcmxheTogcmdiYSgkYmxhY2ssIDAuNTIpLFxuICAgIGJ1dHRvbi1jb2xvcjogJHdoaXRlLFxuICAgIGJ1dHRvbi1iZzogJGdyZWVuLFxuICAgIGJ1dHRvbi1ob3ZlcjogJGRhcmstZ3JlZW4sXG4gICAgYmlsbGJvYXJkLWNvbG9yOiAkd2hpdGUsXG4gICAgaW1hZ2Utb3ZlcmxheTogcmdiYSgkYmxhY2ssIDAuMyksXG4gICAgaG9tZS1zZWxlY3QtdG9wOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTQpLFxuICAgIGhvbWUtc2VsZWN0LWFjdGl2ZTogcmdiYSgxMSwgMTEsIDExLCAwLjMpLFxuICAgIGhvbWUtc2VsZWN0LW9wdGlvbnM6IHJnYmEoOTQsIDExMiwgMTI1LCAwLjI5KSxcbiAgICBob21lLXNlbGVjdC1tb2JpbGU6ICR3aGl0ZSxcbiAgICBiaWxsYm9hcmQtY29udGVudDogcmdiYSgxMCwgMTAsIDEwLCAwLjgpLFxuICAgIHByb3AtYW5jaG9yOiAkZGFyay1ncmVlbixcbiAgICBmYW5jeS1zZWxlY3QtYm9yZGVyOiByZ2JhKCNhMWExYTEsIDAuNjYpLFxuICAgIGZlYXR1cmVkLXByb3BlcnRpZXM6ICR3aGl0ZSxcbiAgICB0ZXN0aW1vbmlhbHMtYm9yZGVyOiAjY2NjLFxuICAgIHRlc3RpbW9uaWFsLXdoaXRlLWNpdGUtMTogJGdyZWVuLFxuICAgIHRlc3RpbW9uaWFsLXdoaXRlLWNpdGUtMjogJGxpZ2h0LWdyZXksXG4gICAgdGVzdGltb25pYWwtY29sb3I6ICR3aGl0ZSxcbiAgICB0ZXN0aW1vbmlhbC1jb2xvci1iZzogJGdyZWVuLFxuICAgIHRlc3RpbW9uaWFsLXdoaXRlLWZsaWNraXR5LWJ1dHRvbjogIzZkNmQ2ZCxcbiAgICBjYXBhYmlsaXRpZXMtYmc6ICNmNGY0ZjQsXG4gICAgY2FwYWJpbGl0aWVzLWJvcmRlcjogI2RiZGJkYixcbiAgICBncmVlbi1jb2xvcjogJGdyZWVuLFxuICAgIGdyZXktY29sb3I6ICNhZmFmYWYsXG4gICAgcm90YXRpbmctYm9yZGVyOiByZ2JhKCM1NjVhNWUsIDAuMzYpLFxuICAgIGN0YS1jb250ZW50LWJnOiAkZ3JlZW4sXG4gICAgY3RhLWNvbnRlbnQtY29sb3I6ICR3aGl0ZSxcbiAgICBmb3VyLWNvbHVtbi1jdGEtYm9yZGVyOiByZ2JhKCM2MTYxNjEsIDAuMzIpLFxuICAgIHRpbWVsaW5lLWFycm93OiAjOTc5Nzk3LFxuICAgIHRpbWVsaW5lLXRvcC1iZzogJG1pZC1ncmV5LFxuICAgIHRpbWVsaW5lLWJvdHRvbS1iZzogJGdyZWVuLFxuICAgIHRpbWVsaW5lLXRvcC15ZWFyOiAkZ3JlZW4sXG4gICAgdGltZWxpbmUtYm90dG9tLWNvbG9yOiAkd2hpdGUsXG4gICAgdGltZWxpbmUtY2FwdGlvbi1jb2xvcjogIzYxNjE2MSxcbiAgICBpbnRyby1ib3JkZXI6IHJnYmEoIzk1OTU5NSwgMC4zMiksXG4gICAgaW50cm8tbGlzdHMtdGl0bGU6ICRncmVlbixcbiAgICBpbnRyby1saXN0cy1jb2xvcjogIzdkN2Q3ZCxcbiAgICBnYWxsZXJ5LWNvbnRyb2xzOiAkd2hpdGUsXG4gICAgZ2FsbGVyeS1jb250cm9scy1iZzogcmdiYSgkYmxhY2ssIDAuNiksXG4gICAgb3ZlcnZpZXctdGl0bGU6ICRncmVlbixcbiAgICBvdmVydmlldy1saXN0LWJnOiAkZ3JlZW4sXG4gICAgb3ZlcnZpZXctbGlzdC1jb2xvcjogJHdoaXRlLFxuICAgIG1hcC1tYXJrZXI6IHJnYmEoIzYzODMzYSwgMC42KSxcbiAgICBhbWVuaXRpZXMtYmc6IHJnYmEoMjMxLCAyMzEsIDIzMSwgMC40NyksXG4gICAgYW1lbml0aWVzLWhlYWRlci1jb2xvcjogIzdiYTE0YixcbiAgICBhbWVuaXRpZXMtbGlzdDogIzcwNzA3MCxcbiAgICBjdGEtYmc6ICRncmVlbixcbiAgICBjdGEtaG92ZXI6IHJnYmEoIzM2MzYzNiwgMC44OSksXG4gICAgYnVzaW5lc3MtdGl0bGU6ICRncmVlbixcbiAgICBmb3JtLWxhYmVsOiAjNzc3LFxuICAgIGNvbnRhY3QtYm9yZGVyOiByZ2JhKCRib3JkZXJzLCAwLjMxKSxcbiAgICBpbnB1dC1ib3JkZXI6ICNlYmViZWIsXG4gICAgaW5wdXQtYm9yZGVyLWFjdGl2ZTogJGdyZWVuLFxuICAgIGlucHV0LWJnOiAjZjlmOWY5LFxuICAgIGlucHV0LWNvbG9yOiAjNzI3MjcyLFxuICAgIGV4cGFuZGFibGUtYmc6IHJnYmEoMjMxLCAyMzEsIDIzMSwgMC40NyksXG4gICAgZXhwYW5kYWJsZS1obDogcmdiYSg3MCwgNzAsIDcwLCAwLjgzKSxcbiAgICBncmlkLWJvcmRlcjogI2RiZGJkYixcbiAgICBpY29uLWhlYWRsaW5lOiAjNTU1LFxuICAgIHRhYmxlLWJvcmRlcjogJGRhcmstZ3JleSxcbiAgICBnYWxsZXJ5LWNhcDogcmdiYSgkYmxhY2ssIDAuNyksXG4gICAgZmlsZS1ib3JkZXI6ICNkZGQsXG4gICAgZmlsZS1jb2xvcjogI2FhYSxcbiAgICB2YWxpZGF0aW9uLW1lc3NhZ2U6ICNkOTUzNGYsXG4gICAgZmlsdGVyLWJnOiByZ2JhKDIzOSwgMjM5LCAyMzksIDAuNjQpLFxuICAgIHBvc3Qtc2VhcmNoLWJvcmRlcjogJGJvcmRlcnMsXG4gICAgc2lnbnVwLWJvcmRlcjogcmdiYSgjYzJjMmMyLCAwLjYzKSxcbiAgICBzaWdudXAtaW5wdXQ6ICNhMWExYTEsXG4gICAgZmlsdGVyLWhvdmVyOiAjZTllOWU5LFxuICAgIHJlbGF0ZWQtYm9yZGVyOiByZ2JhKCRib3JkZXJzLCAwLjQpLFxuICAgIHJlbGF0ZWQtaGVhZGVyOiAkZ3JlZW4sXG4gICAgc2luZ2xlLXNpZ251cDogJG1pZC1ncmV5LFxuICAgIGFjY29yZGlvbi10aXRsZTogJG1pZC1ncmV5LFxuICAgIHRpdGxlLWFjdGl2ZTogJGdyZWVuLFxuICAgIHRpdGxlLWljb246ICRncmVlbixcbiAgICBpY29uLWFjdGl2ZTogJHdoaXRlLFxuICAgIGFjY29yZGlvbi1ib3JkZXI6ICNhMWExYTEsXG4gICAgY29weXJpZ2h0OiAjODI4MjgyLFxuICAgIGN0YS1iYXI6ICNmNGY0ZjQsXG4gICAgZmVlZC1oZWFkZXItYmc6ICRncmVlbixcbiAgICBmZWVkLWhlYWRlci1jb2xvcjogJHdoaXRlLFxuICAgIGZlZWQtYm9keS1iZzogcmdiYSgyMzksIDIzOSwgMjM5LCAwLjYyKSxcbiAgICBmYW5jeS1zZWxlY3Qtd2hpdGU6ICNhMWExYTEsXG4gICAgc3ViLWxpbms6ICM2MDYwNjAsXG4gICAgZ3JleS1jb250ZW50LWJvcmRlcjogI2I3YjdiNyxcbiAgICBmaWx0ZXItYWN0aXZlLWJnOiAjZTllOWU5LFxuICAgIGNhcC1ob3Zlci1iZzogcmdiYSgzNywgNTAsIDYzLCAwLjIpXG5cbik7XG5cbkBmdW5jdGlvbiBjKCRrZXkpIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGNvbG9ycywgJGtleSkge1xuICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJGNvbG9ycywgJGtleSk7XG4gICAgfVxuXG4gICAgQHdhcm4gdW5xdW90ZSgnXCJVbmtub3duIFwiI3ska2V5fVwiIGluICRjb2xvcnMuXCInKTtcbiAgICBAcmV0dXJuIG51bGw7XG59XG5cblxuLy8gIC8qXG4vLyAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gICAgICAgICA6OkJyZWFrcG9pbnQgVmFyaWFibGVzIGFuZCBNaXhpblxuLy8gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICAqL1xuXG5cbiRicmVha3BvaW50czogKFxuICAgIHNtYWxsOiBlbSg0ODBweCksXG4gICAgc2l4OiBlbSg2MDBweCksXG4gICAgbWVkaXVtOiBlbSg3NjBweCksXG4gICAgZWlnaHQ6IGVtKDgwMHB4KSxcbiAgICBlaWdodC10aGlydHk6IGVtKDgzMHB4KSxcbiAgICBsYXJnZTogZW0oMTAwMHB4KSxcbiAgICBlbGV2ZW46IGVtKDExMDBweCksXG4gICAgdHdlbHZlOiBlbSgxMjAwcHgpLFxuICAgIGZvdXJ0ZWVuOiBlbSgxNDAwcHgpLFxuICAgIGZ1bGw6IGVtKDE1MzBweCksXG4gICAgbmluZXRlZW46IGVtKDE5MDBweClcbik7XG5cbkBtaXhpbiByZXNwb25kLXRvKCRicmVha3BvaW50LCAkbWlubWF4OidtaW4nKSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKCN7JG1pbm1heH0td2lkdGg6ICN7bWFwLWdldCgkYnJlYWtwb2ludHMsICRicmVha3BvaW50KX0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICgjeyRtaW5tYXh9LXdpZHRoOiBlbSgkYnJlYWtwb2ludCkpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4kdGlub3M6ICdUaW5vcycsIHNlcmlmO1xuJGxhdG86ICdMYXRvJywgc2Fucy1zZXJpZjtcbiRmb250czogKFxuICAgIHRpbm9zOiAkdGlub3MsXG4gICAgbGF0bzogJGxhdG9cbik7XG5cbkBmdW5jdGlvbiBmYW1pbHkoJGtleSkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkZm9udHMsICRrZXkpIHtcbiAgICAgICAgQHJldHVybiBtYXAtZ2V0KCRmb250cywgJGtleSk7XG4gICAgfVxuXG4gICAgQHdhcm4gdW5xdW90ZSgnXCJVbmtvd24gXCIjeyRrZXl9XCIgaW4gJGZvbnRzLlwiJyk7XG4gICAgQHJldHVybiBudWxsO1xufVxuXG4vLyAgLypcbi8vICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgICAgICAgIDo6Rm9udCBXZWlnaHRzXG4vLyAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gICovXG5cbiR3ZWlnaHRzOiAoXG4gICAgbGlnaHQ6IDMwMCxcbiAgICByZWd1bGFyOiA0MDAsXG4gICAgYm9sZDogNzAwXG4pO1xuXG5AZnVuY3Rpb24gZncoJGtleSkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkd2VpZ2h0cywgJGtleSkge1xuICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJHdlaWdodHMsICRrZXkpO1xuICAgIH1cblxuICAgIEB3YXJuIHVucXVvdGUoJ1wiVW5rb3duIFwiI3ska2V5fVwiIGluICR3ZWlnaHRzLlwiJyk7XG4gICAgQHJldHVybiBudWxsO1xufVxuXG4vLyAgLypcbi8vICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgICAgICAgIDo6WiBJbmRleCBNYXAgYW5kIEZ1bmN0aW9uXG4vLyAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gICovXG5cbiR6LWluZGV4OiAoXG4gICAgaGVhZGVyOiAxMCxcbiAgICBvdmVybGF5OiAxLFxuICAgIGZhbmN5LW9wdGlvbnM6IDMsXG4gICAgY2xvc2UtdG9nZ2xlOiA0LFxuICAgIGJpbGxib2FyZC13cmFwOiAyLFxuICAgIGltYWdlLW92ZXJsYXk6IDAsXG4gICAgdGltZWxpbmUtbGluZTogMCxcbiAgICB0aW1lbGluZS1kb3Q6IDEsXG4gICAgbWFwLW1hcmtlcjogLTEsXG4gICAgZ29kLXRpZXI6IDEwMDAwMFxuKTtcblxuQGZ1bmN0aW9uIHooJGtleSkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkei1pbmRleCwgJGtleSkge1xuICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJHotaW5kZXgsICRrZXkpO1xuICAgIH1cblxuICAgIEB3YXJuIHVucXVvdGUoJ1wiVW5rb3duIFwiI3ska2V5fVwiIGluICR6LWluZGV4LlwiJyk7XG4gICAgQHJldHVybiBudWxsO1xufVxuXG5cbi8vICAvKlxuLy8gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICAgICAgICAgOjpHbG9iYWwgU3R5bGVzXG4vLyAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gICovXG5cbiRoZWFkZXItaGVpZ2h0LXNtOiA2NHB4O1xuJGhlYWRlci1oZWlnaHQtbGc6IDExNHB4O1xuJHRyYW5zZm9ybS1pbjogMC4zcyBlYXNlKGluLXF1YXJ0KTtcbiR0cmFuc2Zvcm0tb3V0OiAwLjNzIGVhc2Uob3V0LXF1YXJ0KTtcbiRob3Zlci1vdXQ6IDAuMnMgZWFzZShvdXQtcXVhcnQpO1xuJGhvdmVyLWluOiAwLjE1cyBlYXNlKGluLXF1YXJ0KTtcblxuOjpzZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6IGMoc2VsZWN0aW9uLWJnKTtcbiAgICBjb2xvcjogYyhzZWxlY3Rpb24tY29sb3IpO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xufVxuXG5odG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogNTklO1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzaXgpIHtcbiAgICAgICAgZm9udC1zaXplOiA2MSU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhsYXJnZSkge1xuICAgICAgICBmb250LXNpemU6IDYyLjUlO1xuICAgIH1cbn1cblxuKixcbio6YmVmb3JlLFxuKjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxuYm9keSB7XG4gICAgQGluY2x1ZGUgZm9udC1zbW9vdGhpbmc7XG4gICAgYmFja2dyb3VuZDogYyhib2R5LWJnKTtcbiAgICBjb2xvcjogYyhib2R5LWNvcHkpO1xuICAgIGZvbnQtZmFtaWx5OiBmYW1pbHkobGF0byk7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBmdyhsaWdodCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG59XG5cbi5tYWluIHtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbmEge1xuICAgIGNvbG9yOiBjKGEtY29sb3IpO1xufVxuXG4uZ3JvdXAge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgICBAaW5jbHVkZSBzY3JlZW4tcmVhZGVyLXRleHQ7XG59XG5cbmltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4lbm8taGlnaGxpZ2h0IHtcbiAgICBAaW5jbHVkZSB0YXAtY29sb3I7XG59XG5cbiN3cGFkbWluYmFyIHtcbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNpeCwgbWF4KSB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG59XG5cbi5jb3ZlcmVyIHtcbiAgICBAaW5jbHVkZSBjb3ZlcmVyO1xuICAgIHotaW5kZXg6IDI7XG59IiwiLy8gU3VzeVxuLy8gPT09PVxuXG5AaW1wb3J0ICdzdXN5L2xhbmd1YWdlL3N1c3knO1xuIiwiLy8gU3VzeSBOZXh0IFN5bnRheFxuLy8gPT09PT09PT09PT09PT09PVxuXG4kc3VzeS12ZXJzaW9uOiAyLjE7XG5cbkBpbXBvcnQgXCIuLi9zdVwiO1xuQGltcG9ydCBcIi4uL291dHB1dC9mbG9hdFwiO1xuXG5AaW1wb3J0IFwic3VzeS9zZXR0aW5nc1wiO1xuQGltcG9ydCBcInN1c3kvdmFsaWRhdGlvblwiO1xuQGltcG9ydCBcInN1c3kvZ3JpZHNcIjtcbkBpbXBvcnQgXCJzdXN5L2JveC1zaXppbmdcIjtcbkBpbXBvcnQgXCJzdXN5L2NvbnRleHRcIjtcbkBpbXBvcnQgXCJzdXN5L2JhY2tncm91bmRcIjtcbkBpbXBvcnQgXCJzdXN5L2NvbnRhaW5lclwiO1xuQGltcG9ydCBcInN1c3kvc3BhblwiO1xuQGltcG9ydCBcInN1c3kvZ3V0dGVyc1wiO1xuQGltcG9ydCBcInN1c3kvaXNvbGF0ZVwiO1xuQGltcG9ydCBcInN1c3kvZ2FsbGVyeVwiO1xuQGltcG9ydCBcInN1c3kvcm93c1wiO1xuQGltcG9ydCBcInN1c3kvbWFyZ2luc1wiO1xuQGltcG9ydCBcInN1c3kvcGFkZGluZ1wiO1xuQGltcG9ydCBcInN1c3kvYmxlZWRcIjtcbkBpbXBvcnQgXCJzdXN5L2JyZWFrcG9pbnQtcGx1Z2luXCI7XG4iLCIvLyBTdVxuLy8gPT1cblxuQGltcG9ydCBcInN1L3V0aWxpdGllc1wiO1xuQGltcG9ydCBcInN1L3NldHRpbmdzXCI7XG5AaW1wb3J0IFwic3UvdmFsaWRhdGlvblwiO1xuQGltcG9ydCBcInN1L2dyaWRcIjtcbiIsIi8vIE1hcCBGdW5jdGlvbnNcbi8vID09PT09PT09PT09PT1cblxuXG4vLyBUcnVuY2F0ZSBMaXN0XG4vLyAtLS0tLS0tLS0tLS0tXG4vLyAtIFJldHVybiBhIGxpc3QsIHRydW5jYXRlZCB0byBhIGdpdmVuIGxlbmd0aFxuQGZ1bmN0aW9uIF9zdXN5LXRydW5jYXRlLWxpc3QoXG4gICRsaXN0LFxuICAkbGVuZ3RoXG4pIHtcbiAgJF9yZXR1cm46ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCRsaXN0KSB7XG4gICAgJF9yZXR1cm46IGlmKCRpIDw9ICRsZW5ndGgsIGFwcGVuZCgkX3JldHVybiwgbnRoKCRsaXN0LCAkaSkpLCAkX3JldHVybik7XG4gIH1cblxuICBAcmV0dXJuICRfcmV0dXJuO1xufVxuXG5cbi8vIERlZXAgR2V0XG4vLyAtLS0tLS0tLVxuLy8gLSBSZXR1cm4gYSB2YWx1ZSBkZWVwIGluIG5lc3RlZCBtYXBzXG5AZnVuY3Rpb24gX3N1c3ktZGVlcC1nZXQoXG4gICRtYXAsXG4gICRrZXlzLi4uXG4pIHtcbiAgJF9yZXR1cm46ICRtYXA7XG5cbiAgQGVhY2ggJGtleSBpbiAka2V5cyB7XG4gICAgQGlmIHR5cGUtb2YoJF9yZXR1cm4pID09IG1hcCB7XG4gICAgICAkX3JldHVybjogbWFwLWdldCgkX3JldHVybiwgJGtleSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkX3JldHVybjtcbn1cblxuXG4vLyBEZWVwIFNldFxuLy8gLS0tLS0tLS1cbi8vIC0gU2V0IGEgdmFsdWUgZGVlcCBpbiBuZXN0ZWQgbWFwc1xuQGZ1bmN0aW9uIF9zdXN5LWRlZXAtc2V0KFxuICAkbWFwLFxuICAka2V5cy12YWx1ZS4uLlxuKSB7XG4gICRfdmFsdWU6IG50aCgka2V5cy12YWx1ZSwgLTEpO1xuICAkX2tleXM6IF9zdXN5LXRydW5jYXRlLWxpc3QoJGtleXMtdmFsdWUsIGxlbmd0aCgka2V5cy12YWx1ZSkgLSAxKTtcbiAgJF9sZW5ndGg6IGxlbmd0aCgkX2tleXMpO1xuICAkX3JldHVybjogKCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkX2xlbmd0aCB7XG4gICAgJF9uOiAwIC0gJGk7XG4gICAgJF9sZXZlbDogX3N1c3ktdHJ1bmNhdGUtbGlzdCgkX2tleXMsICRfbGVuZ3RoICsgJF9uKTtcbiAgICAkX2xldmVsOiBfc3VzeS1kZWVwLWdldCgkbWFwLCAkX2xldmVsLi4uKTtcbiAgICAkX21lcmdlOiBudGgoJF9rZXlzLCAkX24pO1xuICAgICRfbWVyZ2U6ICgkX21lcmdlOiAkX3ZhbHVlKTtcbiAgICAkX3JldHVybjogaWYoJF9sZXZlbCwgbWFwLW1lcmdlKCRfbGV2ZWwsICRfbWVyZ2UpLCAkX21lcmdlKTtcbiAgICAkX3ZhbHVlOiAkX3JldHVybjtcbiAgfVxuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG5cblxuLy8gRGVlcCBNZXJnZVxuLy8gLS0tLS0tLS0tLVxuLy8gUmV0dXJuIDIgb2JqZWN0cyBvZiBhbnkgZGVwdGgsIG1lcmdlZFxuQGZ1bmN0aW9uIF9zdXN5LWRlZXAtbWVyZ2UoXG4gICRtYXAxLFxuICAkbWFwMlxuKSB7XG5cbiAgQGlmIHR5cGUtb2YoJG1hcDEpICE9IG1hcCBvciB0eXBlLW9mKCRtYXAyKSAhPSBtYXAge1xuICAgICRtYXAxOiAkbWFwMjtcbiAgfSBAZWxzZSB7XG4gICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAyIHtcbiAgICAgICRfbmV3OiAoJGtleTogX3N1c3lfZGVlcC1tZXJnZShtYXAtZ2V0KCRtYXAxLCAka2V5KSwgJHZhbHVlKSk7XG4gICAgICAkbWFwMTogbWFwLW1lcmdlKCRtYXAxLCAkX25ldyk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbWFwMTtcbn1cblxuXG4vLyBEZWVwIEhhcy1LZXlcbi8vIC0tLS0tLS0tLS0tLVxuLy8gLSBSZXR1cm4gdHJ1ZSBpZiBhIGRlZXAga2V5IGV4aXN0c1xuQGZ1bmN0aW9uIF9zdXN5LWRlZXAtaGFzLWtleShcbiAgJG1hcCxcbiAgJGtleXMuLi5cbikge1xuICAkX3JldHVybjogbnVsbDtcbiAgJF9zdG9wOiBmYWxzZTtcblxuICBAZWFjaCAka2V5IGluICRrZXlzIHtcbiAgICBAaWYgbm90KCRfc3RvcCkge1xuICAgICAgJF9yZXR1cm46IG1hcC1oYXMta2V5KCRtYXAsICRrZXkpO1xuICAgIH1cblxuICAgIEBpZiAkX3JldHVybiB7XG4gICAgICAkbWFwOiBtYXAtZ2V0KCRtYXAsICRrZXkpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJF9zdG9wOiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG4iLCIvLyBTZXR0aW5nc1xuLy8gPT09PT09PT1cblxuLy8gVmVyc2lvblxuLy8gLS0tLS0tLVxuJHN1LXZlcnNpb246IDEuMTtcblxuXG4vLyBEZWZhdWx0IFNldHRpbmdzXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG4vLyBQUklWQVRFOiBUaGUgYmFzaWMgc2V0dGluZ3NcbiRzdXN5LWRlZmF1bHRzOiAoXG4gIGNvbHVtbnM6IDQsXG4gIGd1dHRlcnM6IC4yNSxcbik7XG5cblxuLy8gVXNlciBTZXR0aW5nc1xuLy8gLS0tLS0tLS0tLS0tLVxuLy8gLSBEZWZpbmUgdGhlICRzdXN5IHZhcmlhYmxlIHdpdGggYSBtYXAgb2YgeW91ciBvd24gc2V0dGluZ3MuXG4vLyAtIFNldCBFSVRIRVIgJGNvbHVtbi13aWR0aCBPUiAkY29udGFpbmVyXG4vLyAtIFVzZSAkY29sdW1uLXdpZHRoIGZvciBzdGF0aWMgbGF5b3V0c1xuJHN1c3k6ICgpICFkZWZhdWx0O1xuXG5cbi8vIFN1c3kgRGVmYXVsdHNcbi8vIC0tLS0tLS0tLS0tLS1cbi8vIFBSSVZBVEU6IEFkZCBkZWZhdWx0cyB0byBTdXN5XG5AbWl4aW4gc3VzeS1kZWZhdWx0cyhcbiAgJGRlZmF1bHRzXG4pIHtcbiAgJHN1c3ktZGVmYXVsdHM6IG1hcC1tZXJnZSgkc3VzeS1kZWZhdWx0cywgJGRlZmF1bHRzKSAhZ2xvYmFsO1xufVxuXG5cbi8vIFN1c3kgU2V0XG4vLyAtLS0tLS0tLVxuLy8gQ2hhbmdlIG9uZSBzZXR0aW5nXG4vLyAtICRrZXkgICA6IHNldHRpbmcgbmFtZVxuLy8gLSAkdmFsdWUgOiBzZXR0aW5nIHZhbHVlXG5AbWl4aW4gc3VzeS1zZXQoXG4gICRrZXktdmFsdWUuLi5cbikge1xuICAkc3VzeTogX3N1c3ktZGVlcC1zZXQoJHN1c3ksICRrZXktdmFsdWUuLi4pICFnbG9iYWw7XG59XG5cblxuLy8gU3VzeSBHZXRcbi8vIC0tLS0tLS0tXG4vLyBSZXR1cm4gb25lIHNldHRpbmcgZnJvbSBhIGdyaWRcbi8vIC0gJGtleSAgICAgOiA8a2V5d29yZD5cbi8vIC0gJGxheW91dCAgOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gc3VzeS1nZXQoXG4gICRrZXksXG4gICRsYXlvdXQ6IG1hcC1tZXJnZSgkc3VzeS1kZWZhdWx0cywgJHN1c3kpXG4pIHtcbiAgJGxheW91dDogcGFyc2UtZ3JpZCgkbGF5b3V0KTtcbiAgJF9vcHRpb25zOiAkbGF5b3V0ICRzdXN5ICRzdXN5LWRlZmF1bHRzO1xuICAkX2JyZWFrOiBmYWxzZTtcbiAgJF9yZXR1cm46IG51bGw7XG5cbiAgQGVhY2ggJG9wdCBpbiAkX29wdGlvbnMge1xuICAgIEBpZiB0eXBlLW9mKCRvcHQpID09IG1hcCBhbmQgbm90KCRfYnJlYWspIHtcbiAgICAgICRfa2V5c2V0OiBfc3VzeS1kZWVwLWhhcy1rZXkoJG9wdCwgJGtleS4uLik7XG4gICAgICBAaWYgJF9rZXlzZXQge1xuICAgICAgICAkX3JldHVybjogX3N1c3ktZGVlcC1nZXQoJG9wdCwgJGtleS4uLik7XG4gICAgICAgICRfYnJlYWs6IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkX3JldHVybjtcbn1cbiIsIi8vIE1hdGggVmFsaWRhdGlvblxuLy8gPT09PT09PT09PT09PT09XG5cblxuLy8gVmFsaWQgQ29sdW1uc1xuLy8gLS0tLS0tLS0tLS0tLVxuLy8gQ2hlY2sgdGhhdCBhIGNvbHVtbiBzZXR0aW5nIGlzIHZhbGlkLlxuQGZ1bmN0aW9uIHZhbGlkLWNvbHVtbnMoXG4gICRjb2x1bW5zLFxuICAkc2lsZW50OiBmYWxzZVxuKSB7XG4gICR0eXBlOiB0eXBlLW9mKCRjb2x1bW5zKTtcbiAgJHJldHVybjogbnVsbDtcblxuICBAaWYgJHR5cGUgPT0gbnVtYmVyIGFuZCB1bml0bGVzcygkY29sdW1ucykge1xuICAgICRyZXR1cm46ICRjb2x1bW5zO1xuICB9IEBlbHNlIGlmICR0eXBlID09IGxpc3Qge1xuICAgICRmYWlsOiBudWxsO1xuICAgIEBlYWNoICRjb2wgaW4gJGNvbHVtbnMge1xuICAgICAgQGlmIHR5cGUtb2YoJGNvbCkgPT0gbnVtYmVyIHtcbiAgICAgICAgJGZhaWw6ICRmYWlsIG9yIGlmKHVuaXRsZXNzKCRjb2wpLCBudWxsLCB0cnVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkZmFpbDogdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgJHJldHVybjogaWYoJGZhaWwsICRyZXR1cm4sICRjb2x1bW5zKTtcbiAgfVxuXG4gIEBpZiAkcmV0dXJuICE9ICRjb2x1bW5zIGFuZCBub3QoJHNpbGVudCkge1xuICAgICRyZXR1cm46IG51bGw7XG4gICAgJHdhcm46ICckY29sdW1ucyBtdXN0IGJlIGEgdW5pdGxlc3MgbnVtYmVyIG9yIGxpc3Qgb2YgdW5pdGxlc3MgbnVtYmVycy4nO1xuICAgIEB3YXJuICR3YXJuICsgJyBDdXJyZW50IHZhbHVlIFsjeyR0eXBlfV06ICN7JGNvbHVtbnN9JztcbiAgfVxuXG4gIEByZXR1cm4gJHJldHVybjtcbn1cblxuXG4vLyBWYWxpZCBHdXR0ZXJzXG4vLyAtLS0tLS0tLS0tLS0tXG4vLyBDaGVjayB0aGF0IGEgZ3V0dGVyIHNldHRpbmcgaXMgdmFsaWQuXG5AZnVuY3Rpb24gdmFsaWQtZ3V0dGVycyhcbiAgJGd1dHRlcnMsXG4gICRzaWxlbnQ6IGZhbHNlXG4pIHtcbiAgJHR5cGU6IHR5cGUtb2YoJGd1dHRlcnMpO1xuICAkcmV0dXJuOiBudWxsO1xuXG4gIEBpZiAkdHlwZSA9PSBudW1iZXIgYW5kIHVuaXRsZXNzKCRndXR0ZXJzKSB7XG4gICAgJHJldHVybjogJGd1dHRlcnM7XG4gIH0gQGVsc2UgaWYgbm90KCRzaWxlbnQpIHtcbiAgICAkd2FybjogJyRndXR0ZXJzIG11c3QgYmUgYSB1bml0bGVzcyBudW1iZXIuJztcbiAgICBAd2FybiAkd2FybiArICcgQ3VycmVudCB2YWx1ZSBbI3skdHlwZX1dOiAjeyRndXR0ZXJzfSc7XG4gIH1cblxuICBAcmV0dXJuICRyZXR1cm47XG59XG4iLCIvLyBDb2x1bW4gbWF0aFxuLy8gPT09PT09PT09PT1cblxuXG4vLyBJcyBTeW1tZXRyaWNhbFxuLy8gLS0tLS0tLS0tLS0tLS1cbi8vIFJldHVybnMgdHJ1ZSBpZiBhIGdyaWQgaXMgc3ltbWV0cmljYWwuXG4vLyAtIFskY29sdW1uc10gICA6IDxudW1iZXI+IHwgPGxpc3Q+XG5AZnVuY3Rpb24gaXMtc3ltbWV0cmljYWwoXG4gICRjb2x1bW5zOiBzdXN5LWdldChjb2x1bW5zKVxuKSB7XG4gICRjb2x1bW5zOiB2YWxpZC1jb2x1bW5zKCRjb2x1bW5zKTtcbiAgQHJldHVybiBpZih0eXBlLW9mKCRjb2x1bW5zKSA9PSBudW1iZXIsICRjb2x1bW5zLCBudWxsKTtcbn1cblxuXG4vLyBTdXN5IENvdW50XG4vLyAtLS0tLS0tLS0tXG4vLyBGaW5kIHRoZSBudW1iZXIgb2YgY29sdW1ucyBpbiBhIGdpdmVuIGxheW91dFxuLy8gLSBbJGNvbHVtbnNdICAgOiA8bnVtYmVyPiB8IDxsaXN0PlxuQGZ1bmN0aW9uIHN1c3ktY291bnQoXG4gICRjb2x1bW5zOiBzdXN5LWdldChjb2x1bW5zKVxuKSB7XG4gICRjb2x1bW5zOiB2YWxpZC1jb2x1bW5zKCRjb2x1bW5zKTtcbiAgQHJldHVybiBpcy1zeW1tZXRyaWNhbCgkY29sdW1ucykgb3IgbGVuZ3RoKCRjb2x1bW5zKTtcbn1cblxuXG4vLyBTdXN5IFN1bVxuLy8gLS0tLS0tLS1cbi8vIEZpbmQgdGhlIHRvdGFsIHN1bSBvZiBjb2x1bW4tdW5pdHMgaW4gYSBsYXlvdXRcbi8vIC0gWyRjb2x1bW5zXSAgIDogPG51bWJlcj4gfCA8bGlzdD5cbi8vIC0gWyRndXR0ZXJzXSAgIDogPHJhdGlvPlxuLy8gLSBbJHNwcmVhZF0gICAgOiBmYWxzZS9uYXJyb3cgfCB3aWRlIHwgd2lkZXJcbkBmdW5jdGlvbiBzdXN5LXN1bShcbiAgJGNvbHVtbnMgIDogc3VzeS1nZXQoY29sdW1ucyksXG4gICRndXR0ZXJzICA6IHN1c3ktZ2V0KGd1dHRlcnMpLFxuICAkc3ByZWFkICAgOiBmYWxzZVxuKSB7XG4gICRjb2x1bW5zOiB2YWxpZC1jb2x1bW5zKCRjb2x1bW5zKTtcbiAgJGd1dHRlcnM6IHZhbGlkLWd1dHRlcnMoJGd1dHRlcnMpO1xuXG4gICRzcHJlYWQ6IGlmKCRzcHJlYWQgPT0gd2lkZSwgMCwgaWYoJHNwcmVhZCA9PSB3aWRlciwgMSwgLTEpKTtcbiAgJGd1dHRlci1zdW06IChzdXN5LWNvdW50KCRjb2x1bW5zKSArICRzcHJlYWQpICogJGd1dHRlcnM7XG4gICRjb2x1bW4tc3VtOiBpcy1zeW1tZXRyaWNhbCgkY29sdW1ucyk7XG5cbiAgQGlmIG5vdCgkY29sdW1uLXN1bSkge1xuICAgIEBlYWNoICRjb2x1bW4gaW4gJGNvbHVtbnMge1xuICAgICAgJGNvbHVtbi1zdW06ICgkY29sdW1uLXN1bSBvciAwKSArICRjb2x1bW47XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkY29sdW1uLXN1bSArICRndXR0ZXItc3VtO1xufVxuXG5cbi8vIFN1c3kgU2xpY2Vcbi8vIC0tLS0tLS0tLS1cbi8vIFJldHVybiBhIHN1YnNldCBvZiBjb2x1bW5zIGF0IGEgZ2l2ZW4gbG9jYXRpb24uXG4vLyAtICRzcGFuICAgICAgICA6IDxudW1iZXI+XG4vLyAtICRsb2NhdGlvbiAgICA6IDxudW1iZXI+XG4vLyAtIFskY29sdW1uc10gICA6IDxudW1iZXI+IHwgPGxpc3Q+XG5AZnVuY3Rpb24gc3VzeS1zbGljZShcbiAgJHNwYW4sXG4gICRsb2NhdGlvbixcbiAgJGNvbHVtbnM6IHN1c3ktZ2V0KGNvbHVtbnMpXG4pIHtcbiAgJGNvbHVtbnM6IHZhbGlkLWNvbHVtbnMoJGNvbHVtbnMpO1xuICAkc3ViLWNvbHVtbnM6ICRzcGFuO1xuXG4gIEBpZiBub3QoaXMtc3ltbWV0cmljYWwoJGNvbHVtbnMpKSB7XG4gICAgJGxvY2F0aW9uOiAkbG9jYXRpb24gb3IgMTtcbiAgICAkc3ViLWNvbHVtbnM6ICgpO1xuICAgIEBmb3IgJGkgZnJvbSAkbG9jYXRpb24gdG8gKCRsb2NhdGlvbiArICRzcGFuKSB7XG4gICAgICAkc3ViLWNvbHVtbnM6IGFwcGVuZCgkc3ViLWNvbHVtbnMsIG50aCgkY29sdW1ucywgJGkpKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdWItY29sdW1ucztcbn1cblxuXG4vLyBTdXN5XG4vLyAtLS0tXG4vLyBGaW5kIHRoZSBzdW0gb2YgYSBjb2x1bW4tc3Bhbi5cbi8vIC0gJHNwYW4gICAgICAgIDogPG51bWJlcj5cbi8vIC0gJGxvY2F0aW9uICAgIDogPG51bWJlcj5cbi8vIC0gWyRjb2x1bW5zXSAgIDogPG51bWJlcj4gfCA8bGlzdD5cbi8vIC0gWyRndXR0ZXJzXSAgIDogPHJhdGlvPlxuLy8gLSBbJHNwcmVhZF0gICAgOiBmYWxzZS9uYXJyb3cgfCB3aWRlIHwgd2lkZXJcbkBmdW5jdGlvbiBzdXN5KFxuICAkc3BhbixcbiAgJGxvY2F0aW9uICAgICA6IGZhbHNlLFxuICAkY29sdW1ucyAgICAgIDogc3VzeS1nZXQoY29sdW1ucyksXG4gICRndXR0ZXJzICAgICAgOiBzdXN5LWdldChndXR0ZXJzKSxcbiAgJHNwcmVhZCAgICAgICA6IGZhbHNlXG4pIHtcbiAgJGNvbHVtbnM6IHZhbGlkLWNvbHVtbnMoJGNvbHVtbnMpO1xuICAkZ3V0dGVyczogdmFsaWQtZ3V0dGVycygkZ3V0dGVycyk7XG4gICRzcGFuOiBzdXN5LXNsaWNlKCRzcGFuLCAkbG9jYXRpb24sICRjb2x1bW5zKTtcblxuICBAcmV0dXJuIHN1c3ktc3VtKCRzcGFuLCAkZ3V0dGVycywgJHNwcmVhZCk7XG59XG4iLCIvLyBGbG9hdCBBUElcbi8vID09PT09PT09PVxuXG5AaW1wb3J0IFwic2hhcmVkXCI7XG5cbkBpbXBvcnQgXCJmbG9hdC9jb250YWluZXJcIjtcbkBpbXBvcnQgXCJmbG9hdC9zcGFuXCI7XG5AaW1wb3J0IFwiZmxvYXQvZW5kXCI7XG5AaW1wb3J0IFwiZmxvYXQvaXNvbGF0ZVwiO1xuIiwiLy8gU2hhcmVkIEFQSVxuLy8gPT09PT09PT09PVxuXG5AaW1wb3J0IFwic3VwcG9ydFwiO1xuXG5AaW1wb3J0IFwic2hhcmVkL2luc3BlY3RcIjtcbkBpbXBvcnQgXCJzaGFyZWQvb3V0cHV0XCI7XG5AaW1wb3J0IFwic2hhcmVkL2RpcmVjdGlvblwiO1xuQGltcG9ydCBcInNoYXJlZC9iYWNrZ3JvdW5kXCI7XG5AaW1wb3J0IFwic2hhcmVkL2NvbnRhaW5lclwiO1xuQGltcG9ydCBcInNoYXJlZC9tYXJnaW5zXCI7XG5AaW1wb3J0IFwic2hhcmVkL3BhZGRpbmdcIjtcblxuXG5cbiIsIi8vIFN1c3kgQnJvd3NlciBTdXBwb3J0XG4vLyA9PT09PT09PT09PT09PT09PT09PVxuXG5AaW1wb3J0IFwic3VwcG9ydC9zdXBwb3J0XCI7XG5AaW1wb3J0IFwic3VwcG9ydC9wcmVmaXhcIjtcbkBpbXBvcnQgXCJzdXBwb3J0L2JhY2tncm91bmRcIjtcbkBpbXBvcnQgXCJzdXBwb3J0L2JveC1zaXppbmdcIjtcbkBpbXBvcnQgXCJzdXBwb3J0L3JlbVwiO1xuQGltcG9ydCBcInN1cHBvcnQvY2xlYXJmaXhcIjtcbiIsIi8vIEJyb3dzZXIgU3VwcG9ydFxuLy8gPT09PT09PT09PT09PT09XG5cbi8vIFN1c3kgU3VwcG9ydCBEZWZhdWx0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBzdXN5LWRlZmF1bHRzKChcbiAgdXNlLWN1c3RvbTogKFxuICAgIGNsZWFyZml4OiBmYWxzZSxcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB0cnVlLFxuICAgIGJhY2tncm91bmQtb3B0aW9uczogZmFsc2UsXG4gICAgYnJlYWtwb2ludDogdHJ1ZSxcbiAgICBib3gtc2l6aW5nOiB0cnVlLFxuICAgIHJlbTogdHJ1ZSxcbiAgKSxcbikpO1xuXG5cbi8vIFN1c3kgU3VwcG9ydCBbbWl4aW5dXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU2VuZCBwcm9wZXJ0eS12YWx1ZSBwYWlycyB0byB0aGUgcHJvcGVyIHN1cHBvcnQgbW9kdWxlcy5cbi8vIC0gJHByb3AgIDogPGNzcyBwcm9wZXJ0eT5cbi8vIC0gJHZhbCAgIDogPGNzcyB2YWx1ZT5cbkBtaXhpbiBzdXN5LXN1cHBvcnQoXG4gICRwcm9wLFxuICAkdmFsXG4pIHtcbiAgLy8gQmFja2dyb3VuZCBTdXBwb3J0XG4gIEBpZiAkcHJvcCA9PSBiYWNrZ3JvdW5kLWltYWdlIHtcbiAgICBAaW5jbHVkZSBzdXN5LWJhY2tncm91bmQtaW1hZ2UoJHZhbCk7XG4gIH0gQGVsc2UgaWYgJHByb3AgPT0gYmFja2dyb3VuZC1zaXplIHtcbiAgICBAaW5jbHVkZSBzdXN5LWJhY2tncm91bmQtc2l6ZSgkdmFsKTtcbiAgfSBAZWxzZSBpZiAkcHJvcCA9PSBiYWNrZ3JvdW5kLW9yaWdpbiB7XG4gICAgQGluY2x1ZGUgc3VzeS1iYWNrZ3JvdW5kLW9yaWdpbigkdmFsKTtcbiAgfSBAZWxzZSBpZiAkcHJvcCA9PSBiYWNrZ3JvdW5kLWNsaXAge1xuICAgIEBpbmNsdWRlIHN1c3ktYmFja2dyb3VuZC1jbGlwKCR2YWwpO1xuICB9XG5cbiAgLy8gQm94LVNpemluZyBTdXBwb3J0XG4gIEBlbHNlIGlmICRwcm9wID09IGJveC1zaXppbmcge1xuICAgIEBpbmNsdWRlIHN1c3ktYm94LXNpemluZygkdmFsKTtcbiAgfVxuXG4gIC8vIFJlbSBTdXBwb3J0XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBzdXN5LXJlbSgkcHJvcCwgJHZhbCk7XG4gIH1cbn1cblxuXG4vLyBTdXN5IFN1cHBvcnQgW2Z1bmN0aW9uXVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENoZWNrIGZvciBzdXBwb3J0IG9mIGEgZmVhdHVyZS5cbi8vIC0gJGZlYXR1cmUgICAgICAgOiA8c3RyaW5nPlxuLy8gICAgICAgICAgICAgICAgICAgIC0gZS5nIFwicmVtXCIgb3IgXCJib3gtc2l6aW5nXCJcbi8vIC0gJHJlcXVpcmVtZW50cyAgOiA8bWFwPlxuLy8gICAgICAgICAgICAgICAgICAgIC0gZS5nICh2YXJpYWJsZTogcmVtLXdpdGgtcHgtZmFsbGJhY2ssIG1peGluOiByZW0pXG4vLyAtICR3YXJuICAgICAgICAgIDogPGJvb2w+XG5AZnVuY3Rpb24gc3VzeS1zdXBwb3J0KFxuICAkZmVhdHVyZSxcbiAgJHJlcXVpcmVtZW50czogKCksXG4gICR3YXJuOiB0cnVlXG4pIHtcbiAgJF9zdXBwb3J0OiBzdXN5LWdldCh1c2UtY3VzdG9tICRmZWF0dXJlKTtcblxuICBAaWYgJF9zdXBwb3J0IHtcbiAgICAkX2ZhaWw6IGZhbHNlO1xuXG4gICAgQGVhY2ggJF90eXBlLCAkX3JlcSBpbiAkcmVxdWlyZW1lbnRzIHtcbiAgICAgIEBlYWNoICRfaSBpbiAkX3JlcSB7XG5cbiAgICAgICAgJF9wYXNzIDogbnVsbDtcblxuICAgICAgICAvLyBzYXNzIDMuNSBvciBncmVhdGVyXG4gICAgICAgIEBpZiBmdW5jdGlvbi1leGlzdHMoJ2dldC1mdW5jdGlvbicpIHtcbiAgICAgICAgICAkX3Bhc3M6IGNhbGwoZ2V0LWZ1bmN0aW9uKHVucXVvdGUoXCIjeyRfdHlwZX0tZXhpc3RzXCIpKSwgJF9pKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBzYXNzIDMuNCBvciBsZXNzXG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAkX3Bhc3M6IGNhbGwodW5xdW90ZShcIiN7JF90eXBlfS1leGlzdHNcIiksICRfaSk7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgbm90KCRfcGFzcykge1xuICAgICAgICAgICRfZmFpbDogdHJ1ZTtcbiAgICAgICAgICBAaWYgJHdhcm4ge1xuICAgICAgICAgICAgQHdhcm4gXCJZb3UgcmVxdWVzdGVkIGN1c3RvbSBzdXBwb3J0IG9mICN7JGZlYXR1cmV9LCBidXQgdGhlICN7JF9pfSAjeyRfdHlwZX0gaXMgbm90IGF2YWlsYWJsZS5cIjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkX3N1cHBvcnQ6IGlmKCRfZmFpbCwgZmFsc2UsICRfc3VwcG9ydCk7XG4gIH1cblxuICBAcmV0dXJuICRfc3VwcG9ydDtcbn1cbiIsIi8vIFN1c3kgUHJlZml4XG4vLyA9PT09PT09PT09PVxuXG4vLyBQcmVmaXhcbi8vIC0tLS0tLVxuLy8gT3V0cHV0IHNpbXBsZSBwcmVmaXhlZCBwcm9wZXJ0aWVzLlxuLy8gLSAkcHJvcCAgICAgIDogPGNzcyBwcm9wZXJ0eT5cbi8vIC0gJHZhbCAgICAgICA6IDxjc3MgdmFsdWU+XG4vLyAtIFskcHJlZml4XSAgOiA8YnJvd3NlciBwcmVmaXggbGlzdD5cbkBtaXhpbiBzdXN5LXByZWZpeChcbiAgJHByb3AsXG4gICR2YWwsXG4gICRwcmVmaXg6IG9mZmljaWFsXG4pIHtcbiAgQGVhY2ggJGZpeCBpbiAkcHJlZml4IHtcbiAgICAkZml4OiBpZigkZml4ID09IG9mZmljaWFsIG9yIG5vdCgkZml4KSwgJHByb3AsICctI3skZml4fS0jeyRwcm9wfScpO1xuICAgIEBpbmNsdWRlIHN1c3ktcmVtKCRmaXgsICR2YWwpO1xuICB9XG59XG4iLCIvLyBCYWNrZ3JvdW5kIFByb3BlcnRpZXNcbi8vID09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBTdXN5IEJhY2tncm91bmQgSW1hZ2Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2hlY2sgZm9yIGFuIGV4aXN0aW5nIHN1cHBvcnQgbWl4aW4sIG9yIHByb3ZpZGUgYSBzaW1wbGUgZmFsbGJhY2suXG4vLyAtICRpbWFnZTogPGJhY2tncm91bmQtaW1hZ2U+XG5AbWl4aW4gc3VzeS1iYWNrZ3JvdW5kLWltYWdlKFxuICAkaW1hZ2Vcbikge1xuICBAaWYgc3VzeS1zdXBwb3J0KGJhY2tncm91bmQtaW1hZ2UsIChtaXhpbjogYmFja2dyb3VuZC1pbWFnZSksICR3YXJuOiBmYWxzZSkge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtaW1hZ2UoJGltYWdlLi4uKTtcbiAgfSBAZWxzZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogJGltYWdlO1xuICB9XG59XG5cbi8vIFN1c3kgQmFja2dyb3VuZCBTaXplXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENoZWNrIGZvciBhbiBleGlzdGluZyBzdXBwb3J0IG1peGluLCBvciBwcm92aWRlIGEgc2ltcGxlIGZhbGxiYWNrLlxuLy8gLSAkaW1hZ2U6IDxiYWNrZ3JvdW5kLXNpemU+XG5AbWl4aW4gc3VzeS1iYWNrZ3JvdW5kLXNpemUoXG4gICRzaXplXG4pIHtcbiAgQGlmIHN1c3ktc3VwcG9ydChiYWNrZ3JvdW5kLW9wdGlvbnMsIChtaXhpbjogYmFja2dyb3VuZC1zaXplKSkge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtc2l6ZSgkc2l6ZSk7XG4gIH0gQGVsc2Uge1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHNpemU7XG4gIH1cbn1cblxuLy8gU3VzeSBCYWNrZ3JvdW5kIE9yaWdpblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2hlY2sgZm9yIGFuIGV4aXN0aW5nIHN1cHBvcnQgbWl4aW4sIG9yIHByb3ZpZGUgYSBzaW1wbGUgZmFsbGJhY2suXG4vLyAtICRpbWFnZTogPGJhY2tncm91bmQtb3JpZ2luPlxuQG1peGluIHN1c3ktYmFja2dyb3VuZC1vcmlnaW4oXG4gICRvcmlnaW5cbikge1xuICBAaWYgc3VzeS1zdXBwb3J0KGJhY2tncm91bmQtb3B0aW9ucywgKG1peGluOiBiYWNrZ3JvdW5kLW9yaWdpbikpIHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLW9yaWdpbigkb3JpZ2luKTtcbiAgfSBAZWxzZSB7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46ICRvcmlnaW47XG4gIH1cbn1cblxuLy8gU3VzeSBCYWNrZ3JvdW5kIENsaXBcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDaGVjayBmb3IgYW4gZXhpc3Rpbmcgc3VwcG9ydCBtaXhpbiwgb3IgcHJvdmlkZSBhIHNpbXBsZSBmYWxsYmFjay5cbi8vIC0gJGltYWdlOiA8YmFja2dyb3VuZC1jbGlwPlxuQG1peGluIHN1c3ktYmFja2dyb3VuZC1jbGlwKFxuICAkY2xpcFxuKSB7XG4gIEBpZiBzdXN5LXN1cHBvcnQoYmFja2dyb3VuZC1vcHRpb25zLCAobWl4aW46IGJhY2tncm91bmQtY2xpcCkpIHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLWNsaXAoJGNsaXApO1xuICB9IEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6ICRjbGlwO1xuICB9XG59XG4iLCIvLyBCb3ggU2l6aW5nXG4vLyA9PT09PT09PT09XG5cbi8vIEJveCBTaXppbmdcbi8vIC0tLS0tLS0tLS1cbi8vIENoZWNrIGZvciBhbiBleGlzdGluZyBzdXBwb3J0IG1peGluLCBvciBwcm92aWRlIGEgc2ltcGxlIGZhbGxiYWNrLlxuLy8gLSAkbW9kZWw6IDxib3gtc2l6aW5nPlxuQG1peGluIHN1c3ktYm94LXNpemluZyhcbiAgJG1vZGVsOiBjb250ZW50LWJveFxuKSB7XG4gIEBpZiAkbW9kZWwge1xuICAgIEBpZiBzdXN5LXN1cHBvcnQoYm94LXNpemluZywgKG1peGluOiBib3gtc2l6aW5nKSwgJHdhcm46IGZhbHNlKSB7XG4gICAgICBAaW5jbHVkZSBib3gtc2l6aW5nKCRtb2RlbCk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcHJlZml4OiAobW96LCB3ZWJraXQsIG9mZmljaWFsKTtcbiAgICAgIEBpbmNsdWRlIHN1c3ktcHJlZml4KGJveC1zaXppbmcsICRtb2RlbCwgJHByZWZpeCk7XG4gICAgfVxuICB9XG59XG4iLCIvLyByZW0gU3VwcG9ydFxuLy8gPT09PT09PT09PT1cblxuLy8gcmVtXG4vLyAtLS1cbi8vIENoZWNrIGZvciBhbiBleGlzdGluZyBzdXBwb3J0IG1peGluLCBvciBvdXRwdXQgZGlyZWN0bHkuXG4vLyAtICRwcm9wICA6IDxjc3MgcHJvcGVydHk+XG4vLyAtICR2YWwgICA6IDxjc3MgdmFsdWU+XG5AbWl4aW4gc3VzeS1yZW0oXG4gICRwcm9wLFxuICAkdmFsXG4pIHtcbiAgJF9yZXFzOiAoXG4gICAgdmFyaWFibGU6IHJoeXRobS11bml0IHJlbS13aXRoLXB4LWZhbGxiYWNrLFxuICAgIG1peGluOiByZW0sXG4gICk7XG4gIEBpZiBzdXN5LXN1cHBvcnQocmVtLCAkX3JlcXMsICR3YXJuOiBmYWxzZSkgYW5kICRyaHl0aG0tdW5pdCA9PSByZW0ge1xuICAgIEBpbmNsdWRlIHJlbSgkcHJvcCwgJHZhbCk7XG4gIH0gQGVsc2Uge1xuICAgICN7JHByb3B9OiAkdmFsO1xuICB9XG59XG4iLCIvLyBTdXN5IEZhbGxiYWNrIENsZWFyZml4XG4vLyA9PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gQ2xlYXJmaXhcbi8vIC0tLS0tLS0tXG4vLyBDaGVjayBmb3IgYW4gZXhpc3Rpbmcgc3VwcG9ydCBtaXhpbiwgb3IgcHJvdmlkZSBhIHNpbXBsZSBmYWxsYmFjay5cbkBtaXhpbiBzdXN5LWNsZWFyZml4IHtcbiAgQGlmIHN1c3ktc3VwcG9ydChjbGVhcmZpeCwgKG1peGluOiBjbGVhcmZpeCkpIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfSBAZWxzZSB7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICB9XG59XG4iLCIvLyBEZWJ1Z2dpbmdcbi8vID09PT09PT09PVxuXG4vLyBTdXN5IEluc3BlY3Rcbi8vIC0tLS0tLS0tLS0tLVxuLy8gT3V0cHV0IGFyZ3VtZW50cyBwYXNzZWQgdG8gYSBpbnNwZWN0LlxuLy8gLSAkbWl4aW4gIDogPHN1c3kgbWl4aW4+XG4vLyAtICRpbnNwZWMgICA6IDxtaXhpbiBhcmd1bWVudHM+XG5cbkBtaXhpbiBzdXN5LWluc3BlY3QoXG4gICRtaXhpbixcbiAgJGluc3BlY3Rcbikge1xuICAkc2hvdzogZmFsc2U7XG5cbiAgQGVhY2ggJGl0ZW0gaW4gJGluc3BlY3Qge1xuICAgIEBpZiBpbmRleCgkaXRlbSwgaW5zcGVjdCkge1xuICAgICAgJHNob3c6IHRydWU7XG4gICAgfVxuICB9XG5cbiAgQGlmICRzaG93IG9yIHN1c3ktZ2V0KGRlYnVnIGluc3BlY3QpIHtcbiAgICAtc3VzeS0jeyRtaXhpbn06IGluc3BlY3QoJGluc3BlY3QpO1xuICB9XG59XG4iLCIvLyBPdXRwdXRcbi8vID09PT09PVxuXG4vLyBPdXRwdXRcbi8vIC0tLS0tLVxuLy8gT3V0cHV0IENTUyB3aXRoIHByb3BlciBicm93c2VyIHN1cHBvcnQuXG4vLyAtICRzdHlsZXMgIDogPG1hcCBvZiBjc3MgcHJvcGVydHktdmFsdWUgcGFpcnM+XG5AbWl4aW4gb3V0cHV0KFxuICAkc3R5bGVzXG4pIHtcbiAgQGVhY2ggJHByb3AsICR2YWwgaW4gJHN0eWxlcyB7XG4gICAgQGluY2x1ZGUgc3VzeS1zdXBwb3J0KCRwcm9wLCAkdmFsKTtcbiAgfVxufVxuIiwiLy8gRGlyZWN0aW9uIEhlbHBlcnNcbi8vID09PT09PT09PT09PT09PT09XG5cbi8vIFN1c3kgRmxvdyBEZWZhdWx0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtIFBSSVZBVEVcbkBpbmNsdWRlIHN1c3ktZGVmYXVsdHMoKFxuICBmbG93OiBsdHIsXG4pKTtcblxuLy8gR2V0IERpcmVjdGlvblxuLy8gLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIHRoZSAnZnJvbScgb3IgJ3RvJyBkaXJlY3Rpb24gb2YgYSBsdHIgb3IgcnRsIGZsb3cuXG4vLyAtIFskZmxvd10gIDogbHRyIHwgcnRsXG4vLyAtIFska2V5XSAgIDogZnJvbSB8IHRvXG5AZnVuY3Rpb24gZ2V0LWRpcmVjdGlvbihcbiAgJGZsb3c6IG1hcC1nZXQoJHN1c3ktZGVmYXVsdHMsIGZsb3cpLFxuICAka2V5OiBmcm9tXG4pIHtcbiAgJHJldHVybjogaWYoJGZsb3cgPT0gcnRsLCAoZnJvbTogcmlnaHQsIHRvOiBsZWZ0KSwgKGZyb206IGxlZnQsIHRvOiByaWdodCkpO1xuICBAcmV0dXJuIG1hcC1nZXQoJHJldHVybiwgJGtleSk7XG59XG5cbi8vIFRvXG4vLyAtLVxuLy8gUmV0dXJuIHRoZSAndG8nIGRpcmVjdGlvbiBvZiBhIGZsb3dcbi8vIC0gWyRmbG93XSAgOiBsdHIgfCBydGxcbkBmdW5jdGlvbiB0byhcbiAgJGZsb3c6IG1hcC1nZXQoJHN1c3ktZGVmYXVsdHMsIGZsb3cpXG4pIHtcbiAgQHJldHVybiBnZXQtZGlyZWN0aW9uKCRmbG93LCB0byk7XG59XG5cbi8vIEZyb21cbi8vIC0tLS1cbi8vIFJldHVybiB0aGUgJ2Zyb20nIGRpcmVjdGlvbiBvZiBhIGZsb3dcbi8vIC0gWyRmbG93XSAgOiBsdHIgfCBydGxcbkBmdW5jdGlvbiBmcm9tKFxuICAkZmxvdzogbWFwLWdldCgkc3VzeS1kZWZhdWx0cywgZmxvdylcbikge1xuICBAcmV0dXJuIGdldC1kaXJlY3Rpb24oJGZsb3csIGZyb20pO1xufVxuIiwiLy8gR3JpZCBCYWNrZ3JvdW5kIEFQSVxuLy8gPT09PT09PT09PT09PT09PT09PVxuLy8gLSBTdWItcGl4ZWwgcm91bmRpbmcgY2FuIGxlYWQgdG8gc2V2ZXJhbCBwaXhlbHMgdmFyaWF0aW9uIGJldHdlZW4gYnJvd3NlcnMuXG5cbi8vIEdyaWQgQmFja2dyb3VuZCBPdXRwdXRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0gJGltYWdlOiBiYWNrZ3JvdW5kLWltYWdlXG4vLyAtICRzaXplOiBiYWNrZ3JvdW5kLXNpemVcbi8vIC0gJGNsaXA6IGJhY2tncm91bmQtY2xpcFxuLy8gLSBbJGZsb3ddOiBsdHIgfCBydGxcbkBtaXhpbiBiYWNrZ3JvdW5kLWdyaWQtb3V0cHV0IChcbiAgJGltYWdlLFxuICAkc2l6ZTogbnVsbCxcbiAgJGNsaXA6IG51bGwsXG4gICRmbG93OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBmbG93KVxuKSB7XG4gICRvdXRwdXQ6IChcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAkaW1hZ2UsXG4gICAgYmFja2dyb3VuZC1zaXplOiAkc2l6ZSxcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogJGNsaXAsXG4gICAgYmFja2dyb3VuZC1jbGlwOiAkY2xpcCxcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBmcm9tKCRmbG93KSB0b3AsXG4gICk7XG5cbiAgQGluY2x1ZGUgb3V0cHV0KCRvdXRwdXQpO1xufVxuIiwiLy8gU2hhcmVkIENvbnRhaW5lciBBUElcbi8vID09PT09PT09PT09PT09PT09PT09XG5cbi8vIENvbnRhaW5lciBPdXRwdXRcbi8vIC0tLS0tLS0tLS0tLS0tLS1cbi8vIC0gWyR3aWR0aF0gICAgICAgICA6IDxsZW5ndGg+XG4vLyAtIFskanVzdGlmeV0gICAgICAgOiBsZWZ0IHwgY2VudGVyIHwgcmlnaHRcbi8vIC0gWyRtYXRoXSAgICAgICAgICA6IGZsdWlkIHwgc3RhdGljXG5AbWl4aW4gY29udGFpbmVyLW91dHB1dChcbiAgJHdpZHRoLFxuICAkanVzdGlmeTogYXV0byBhdXRvLFxuICAkcHJvcGVydHk6IG1heC13aWR0aFxuKSB7XG4gICRvdXRwdXQ6IChcbiAgICAjeyRwcm9wZXJ0eX06ICR3aWR0aCBvciAxMDAlLFxuICAgIG1hcmdpbi1sZWZ0OiBudGgoJGp1c3RpZnksIDEpLFxuICAgIG1hcmdpbi1yaWdodDogbnRoKCRqdXN0aWZ5LCAyKSxcbiAgKTtcblxuICBAaW5jbHVkZSBvdXRwdXQoJG91dHB1dCk7XG59XG4iLCIvLyBNYXJnaW5zIEFQSVxuLy8gPT09PT09PT09PT1cblxuLy8gTWFyZ2luIE91dHB1dFxuLy8gLS0tLS0tLS0tLS0tLVxuLy8gLSAkYmVmb3JlICA6IDxsZW5ndGg+XG4vLyAtICRhZnRlciAgIDogPGxlbmd0aD5cbi8vIC0gWyRmbG93XSAgOiBsdHIgfCBydGxcbkBtaXhpbiBtYXJnaW4tb3V0cHV0KFxuICAkYmVmb3JlLFxuICAkYWZ0ZXIsXG4gICRmbG93OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBmbG93KVxuKSB7XG4gICR0bzogdG8oJGZsb3cpO1xuICAkZnJvbTogZnJvbSgkZmxvdyk7XG5cbiAgJG91dHB1dDogKFxuICAgIG1hcmdpbi0jeyRmcm9tfTogJGJlZm9yZSxcbiAgICBtYXJnaW4tI3skdG99OiAkYWZ0ZXIsXG4gICk7XG5cbiAgQGluY2x1ZGUgb3V0cHV0KCRvdXRwdXQpO1xufVxuIiwiLy8gUGFkZGluZyBBUElcbi8vID09PT09PT09PT09XG5cbi8vIFBhZGRpbmcgT3V0cHV0XG4vLyAtLS0tLS0tLS0tLS0tLVxuLy8gLSAkYmVmb3JlICA6IDxsZW5ndGg+XG4vLyAtICRhZnRlciAgIDogPGxlbmd0aD5cbi8vIC0gWyRmbG93XSAgOiBsdHIgfCBydGxcbkBtaXhpbiBwYWRkaW5nLW91dHB1dChcbiAgJGJlZm9yZSxcbiAgJGFmdGVyLFxuICAkZmxvdzogbWFwLWdldCgkc3VzeS1kZWZhdWx0cywgZmxvdylcbikge1xuICAkdG86IHRvKCRmbG93KTtcbiAgJGZyb206IGZyb20oJGZsb3cpO1xuXG4gICRvdXRwdXQ6IChcbiAgICBwYWRkaW5nLSN7JGZyb219OiAkYmVmb3JlLFxuICAgIHBhZGRpbmctI3skdG99OiAkYWZ0ZXIsXG4gICk7XG5cbiAgQGluY2x1ZGUgb3V0cHV0KCRvdXRwdXQpO1xufVxuIiwiLy8gRmxvYXQgQ29udGFpbmVyIEFQSVxuLy8gPT09PT09PT09PT09PT09PT09PVxuXG4vLyBGbG9hdCBDb250YWluZXJcbi8vIC0tLS0tLS0tLS0tLS0tLVxuLy8gLSBbJHdpZHRoXSAgICAgICAgIDogPGxlbmd0aD5cbi8vIC0gWyRqdXN0aWZ5XSAgICAgICA6IGxlZnQgfCBjZW50ZXIgfCByaWdodFxuLy8gLSBbJG1hdGhdICAgOiBmbHVpZCB8IHN0YXRpY1xuQG1peGluIGZsb2F0LWNvbnRhaW5lcihcbiAgJHdpZHRoLFxuICAkanVzdGlmeTogYXV0byBhdXRvLFxuICAkcHJvcGVydHk6IG1heC13aWR0aFxuKSB7XG4gIEBpbmNsdWRlIHN1c3ktY2xlYXJmaXg7XG4gIEBpbmNsdWRlIGNvbnRhaW5lci1vdXRwdXQoJHdpZHRoLCAkanVzdGlmeSwgJHByb3BlcnR5KTtcbn1cbiIsIi8vIEZsb2F0IFNwYW4gQVBJXG4vLyA9PT09PT09PT09PT09PVxuXG4vLyBGbG9hdCBTcGFuIE91dHB1dFxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0gJHdpZHRoICAgICAgICAgICAgIDogPGxlbmd0aD5cbi8vIC0gWyRmbG9hdF0gICAgICAgICAgIDogZnJvbSB8IHRvXG4vLyAtIFskbWFyZ2luLWJlZm9yZV0gICA6IDxsZW5ndGg+XG4vLyAtIFskbWFyZ2luLWFmdGVyXSAgICA6IDxsZW5ndGg+XG4vLyAtIFskcGFkZGluZy1iZWZvcmVdICA6IDxsZW5ndGg+XG4vLyAtIFskcGFkZGluZy1hZnRlcl0gICA6IDxsZW5ndGg+XG4vLyAtIFskZmxvd10gICAgICAgICAgICA6IGx0ciB8IHJ0bFxuQG1peGluIGZsb2F0LXNwYW4tb3V0cHV0KFxuICAkd2lkdGgsXG4gICRmbG9hdCAgICAgICAgICAgIDogZnJvbSxcbiAgJG1hcmdpbi1iZWZvcmUgICAgOiBudWxsLFxuICAkbWFyZ2luLWFmdGVyICAgICA6IG51bGwsXG4gICRwYWRkaW5nLWJlZm9yZSAgIDogbnVsbCxcbiAgJHBhZGRpbmctYWZ0ZXIgICAgOiBudWxsLFxuICAkZmxvdyAgICAgICAgICAgICA6IG1hcC1nZXQoJHN1c3ktZGVmYXVsdHMsIGZsb3cpXG4pIHtcbiAgJHRvICAgICA6IHRvKCRmbG93KTtcbiAgJGZyb20gICA6IGZyb20oJGZsb3cpO1xuXG4gICRvdXRwdXQ6IChcbiAgICB3aWR0aDogJHdpZHRoLFxuICAgIGZsb2F0OiBpZigkZmxvYXQgPT0gdG8sICR0bywgbnVsbCkgb3IgaWYoJGZsb2F0ID09IGZyb20sICRmcm9tLCBudWxsKSxcbiAgICBtYXJnaW4tI3skZnJvbX06ICRtYXJnaW4tYmVmb3JlLFxuICAgIG1hcmdpbi0jeyR0b306ICRtYXJnaW4tYWZ0ZXIsXG4gICAgcGFkZGluZy0jeyRmcm9tfTogJHBhZGRpbmctYmVmb3JlLFxuICAgIHBhZGRpbmctI3skdG99OiAkcGFkZGluZy1hZnRlcixcbiAgKTtcblxuICBAaW5jbHVkZSBvdXRwdXQoJG91dHB1dCk7XG59XG4iLCIvLyBGbG9hdCBFbmRzIEFQSVxuLy8gPT09PT09PT09PT09PT1cblxuLy8gU3VzeSBFbmQgRGVmYXVsdHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtIFBSSVZBVEVcbkBpbmNsdWRlIHN1c3ktZGVmYXVsdHMoKFxuICBsYXN0LWZsb3c6IHRvLFxuKSk7XG5cbi8vIEZsb2F0IExhc3Rcbi8vIC0tLS0tLS0tLS1cbi8vIC0gWyRmbG93XSAgOiBsdHIgfCBydGxcbkBtaXhpbiBmbG9hdC1sYXN0KFxuICAkZmxvdzogbWFwLWdldCgkc3VzeS1kZWZhdWx0cywgZmxvdyksXG4gICRsYXN0LWZsb3c6IG1hcC1nZXQoJHN1c3ktZGVmYXVsdHMsIGxhc3QtZmxvdyksXG4gICRtYXJnaW46IDBcbikge1xuICAkdG86IHRvKCRmbG93KTtcblxuICAkb3V0cHV0OiAoXG4gICAgZmxvYXQ6IGlmKCRsYXN0LWZsb3cgPT0gdG8sICR0bywgbnVsbCksXG4gICAgbWFyZ2luLSN7JHRvfTogJG1hcmdpbixcbiAgKTtcblxuICBAaW5jbHVkZSBvdXRwdXQoJG91dHB1dCk7XG59XG5cbi8vIEZsb2F0IEZpcnN0XG4vLyAtLS0tLS0tLS0tLVxuLy8gLSBbJGZsb3ddICA6IGx0ciB8IHJ0bFxuQG1peGluIGZsb2F0LWZpcnN0KFxuICAkZmxvdzogbWFwLWdldCgkc3VzeS1kZWZhdWx0cywgZmxvdylcbikge1xuICAkb3V0cHV0OiAoXG4gICAgbWFyZ2luLSN7ZnJvbSgkZmxvdyl9OiAwLFxuICApO1xuXG4gIEBpbmNsdWRlIG91dHB1dCgkb3V0cHV0KTtcbn1cbiIsIi8vIEZsb2F0IElzb2xhdGlvbiBBUElcbi8vID09PT09PT09PT09PT09PT09PT1cblxuLy8gSXNvbGF0ZSBPdXRwdXRcbi8vIC0tLS0tLS0tLS0tLS0tXG4vLyAtICRwdXNoICAgIDogPGxlbmd0aD5cbi8vIC0gWyRmbG93XSAgOiBsdHIgfCBydGxcbkBtaXhpbiBpc29sYXRlLW91dHB1dChcbiAgJHB1c2gsXG4gICRmbG93OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBmbG93KVxuKSB7XG4gICR0bzogdG8oJGZsb3cpO1xuICAkZnJvbTogZnJvbSgkZmxvdyk7XG5cbiAgJG91dHB1dDogKFxuICAgIGZsb2F0OiAkZnJvbSxcbiAgICBtYXJnaW4tI3skZnJvbX06ICRwdXNoLFxuICAgIG1hcmdpbi0jeyR0b306IC0xMDAlLFxuICApO1xuXG4gIEBpbmNsdWRlIG91dHB1dCgkb3V0cHV0KTtcbn1cbiIsIi8vIFN1c3kgU2V0dGluZ3Ncbi8vID09PT09PT09PT09PT1cblxuLy8gU3VzeSBMYW5ndWFnZSBEZWZhdWx0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gLSBQUklWQVRFXG5AaW5jbHVkZSBzdXN5LWRlZmF1bHRzKChcbiAgY29udGFpbmVyOiBhdXRvLFxuICBtYXRoOiBmbHVpZCxcbiAgb3V0cHV0OiBmbG9hdCxcbiAgY29udGFpbmVyLXBvc2l0aW9uOiBjZW50ZXIsXG4gIGd1dHRlci1wb3NpdGlvbjogYWZ0ZXIsXG4gIGdsb2JhbC1ib3gtc2l6aW5nOiBjb250ZW50LWJveCxcbiAgZGVidWc6IChcbiAgICBpbWFnZTogaGlkZSxcbiAgICBjb2xvcjogcmdiYSgjNjZmLCAuMjUpLFxuICAgIG91dHB1dDogYmFja2dyb3VuZCxcbiAgICB0b2dnbGU6IHRvcCByaWdodCxcbiAgKSxcbikpO1xuXG5cbi8vIFZhbGlkIEtleXdvcmQgVmFsdWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gLSBQUklWQVRFOiBET05UJ1QgVE9VQ0hcbiRzdXN5LWtleXdvcmRzOiAoXG4gIGNvbnRhaW5lcjogYXV0byxcbiAgbWF0aDogc3RhdGljIGZsdWlkLFxuICBvdXRwdXQ6IGlzb2xhdGUgZmxvYXQsXG4gIGNvbnRhaW5lci1wb3NpdGlvbjogbGVmdCBjZW50ZXIgcmlnaHQsXG4gIGZsb3c6IGx0ciBydGwsXG4gIGd1dHRlci1wb3NpdGlvbjogYmVmb3JlIGFmdGVyIHNwbGl0IGluc2lkZSBpbnNpZGUtc3RhdGljLFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94IGNvbnRlbnQtYm94LFxuICBzcGFuOiBmdWxsLFxuICBlZGdlOiBmaXJzdCBhbHBoYSBsYXN0IG9tZWdhIGZ1bGwsXG4gIHNwcmVhZDogbmFycm93IHdpZGUgd2lkZXIsXG4gIGd1dHRlci1vdmVycmlkZTogbm8tZ3V0dGVycyBuby1ndXR0ZXIsXG4gIHJvbGU6IG5lc3QsXG4gIGNsZWFyOiBicmVhayBub2JyZWFrLFxuICBkZWJ1ZyBpbWFnZTogc2hvdyBoaWRlIHNob3ctY29sdW1ucyBzaG93LWJhc2VsaW5lLFxuICBkZWJ1ZyBvdXRwdXQ6IGJhY2tncm91bmQgb3ZlcmxheSxcbik7XG5cblxuLy8gUGFyc2UgU3VzeSBLZXl3b3JkcyBhbmQgTWFwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGZ1bmN0aW9uIHBhcnNlLXNldHRpbmdzKFxuICAkc2hvcnQ6ICRzdXN5XG4pIHtcbiAgJF9yZXR1cm46ICgpO1xuXG4gIEBpZiB0eXBlLW9mKCRzaG9ydCkgPT0gbWFwIHtcbiAgICAkX3JldHVybjogJHNob3J0O1xuICB9IEBlbHNlIHtcbiAgICBAZWFjaCAkaXRlbSBpbiAkc2hvcnQge1xuICAgICAgLy8gc3RyaW5nc1xuICAgICAgQGlmIHR5cGUtb2YoJGl0ZW0pID09IHN0cmluZyB7XG4gICAgICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkc3VzeS1rZXl3b3JkcyB7XG4gICAgICAgICAgQGlmIGluZGV4KCR2YWx1ZSwgJGl0ZW0pIHtcbiAgICAgICAgICAgICRfa2V5LXZhbHVlOiBhcHBlbmQoJGtleSwgJGl0ZW0pO1xuICAgICAgICAgICAgJF9yZXR1cm46IF9zdXN5LWRlZXAtc2V0KCRfcmV0dXJuLCAkX2tleS12YWx1ZS4uLik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAvLyBtYXBzXG4gICAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJGl0ZW0pID09IG1hcCB7XG4gICAgICAgICRfcmV0dXJuOiBtYXAtbWVyZ2UoJF9yZXR1cm4sICRpdGVtKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRfcmV0dXJuO1xufVxuXG5cbi8vIFBhcnNlIENvbHVtbnMgJiBHdXR0ZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGZ1bmN0aW9uIHBhcnNlLWxheW91dChcbiAgJHNob3J0XG4pIHtcbiAgJF9yZXR1cm46ICgpO1xuICAkX2NvbHVtbnM6ICgpO1xuICAkX2d1dHRlcnM6IG51bGw7XG5cbiAgQGlmIG5vdCh1bml0bGVzcyhudGgobnRoKCRzaG9ydCwgMSksIDEpKSkge1xuICAgICRfZ3V0dGVyczogbnRoKCRzaG9ydCwgMSk7XG4gIH0gQGVsc2Uge1xuICAgICRfY29sdW1uczogKGNvbHVtbnM6IG50aCgkc2hvcnQsIDEpKTtcbiAgICAkX2d1dHRlcnM6IGlmKGxlbmd0aCgkc2hvcnQpID4gMSwgbnRoKCRzaG9ydCwgMiksICRfZ3V0dGVycyk7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkX2d1dHRlcnMpID09IGxpc3QgYW5kIGxlbmd0aCgkX2d1dHRlcnMpID4gMCB7XG4gICAgJF9ndXR0ZXJzOiAoXG4gICAgICBndXR0ZXJzOiBudGgoJF9ndXR0ZXJzLCAyKSAvIG50aCgkX2d1dHRlcnMsIDEpLFxuICAgICAgY29sdW1uLXdpZHRoOiBudGgoJF9ndXR0ZXJzLCAxKSxcbiAgICApO1xuICB9IEBlbHNlIHtcbiAgICAkX2d1dHRlcnM6IGlmKCRfZ3V0dGVycywgKGd1dHRlcnM6ICRfZ3V0dGVycyksICgpKTtcbiAgfVxuXG4gICRfcmV0dXJuOiBtYXAtbWVyZ2UoJF9yZXR1cm4sICRfY29sdW1ucyk7XG4gICRfcmV0dXJuOiBtYXAtbWVyZ2UoJF9yZXR1cm4sICRfZ3V0dGVycyk7XG5cbiAgQHJldHVybiAkX3JldHVybjtcbn1cblxuXG4vLyBQYXJzZSBHcmlkL0NvbnRleHRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuQGZ1bmN0aW9uIHBhcnNlLWdyaWQoXG4gICRzaG9ydDogJHN1c3lcbikge1xuICAkX3JldHVybjogcGFyc2Utc2V0dGluZ3MoJHNob3J0KTtcbiAgJF9sYXlvdXQ6ICgpO1xuXG4gIEBpZiB0eXBlLW9mKCRzaG9ydCkgPT0gbWFwIHtcbiAgICAkX3JldHVybjogJHNob3J0O1xuICB9IEBlbHNlIHtcbiAgICBAZWFjaCAkaXRlbSBpbiAkc2hvcnQge1xuICAgICAgLy8gbnVtYmVyIG9yIGxpc3RcbiAgICAgIEBpZiB0eXBlLW9mKCRpdGVtKSA9PSBudW1iZXIgb3IgdHlwZS1vZigkaXRlbSkgPT0gbGlzdCB7XG4gICAgICAgIEBpZiB0eXBlLW9mKCRpdGVtKSA9PSBsaXN0IG9yIHVuaXRsZXNzKCRpdGVtKSB7XG4gICAgICAgICAgJF9sYXlvdXQ6IGFwcGVuZCgkX2xheW91dCwgJGl0ZW0pO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAkX3JldHVybjogbWFwLW1lcmdlKCRfcmV0dXJuLCAoY29udGFpbmVyOiAkaXRlbSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJF9sYXlvdXQ6IGlmKGxlbmd0aCgkX2xheW91dCkgPiAwLCBwYXJzZS1sYXlvdXQoJF9sYXlvdXQpLCAkX2xheW91dCk7XG4gIH1cblxuICBAcmV0dXJuIG1hcC1tZXJnZSgkX3JldHVybiwgJF9sYXlvdXQpO1xufVxuXG5cbi8vIFBhcnNlIFNwYW5cbi8vIC0tLS0tLS0tLS1cbkBmdW5jdGlvbiBwYXJzZS1zcGFuKFxuICAkc2hvcnQsXG4gICRrZXk6IHNwYW5cbikge1xuICAkX3JldHVybjogKCk7XG5cbiAgQGlmIHR5cGUtb2YoJHNob3J0KSA9PSBtYXAge1xuICAgICRfcmV0dXJuOiAkc2hvcnQ7XG4gIH0gQGVsc2Uge1xuICAgICRfYXQ6IGluZGV4KCRzaG9ydCwgYXQpO1xuXG4gICAgQGlmICRfYXQge1xuICAgICAgJF9sb2NpOiAkX2F0ICsgMTtcbiAgICAgICRfbG9jYXRpb246IG50aCgkc2hvcnQsICRfbG9jaSk7XG4gICAgICAkX3JldHVybjogbWFwLW1lcmdlKCRfcmV0dXJuLCAobG9jYXRpb246ICRfbG9jYXRpb24pKTtcbiAgICAgICRzaG9ydDogc2V0LW50aCgkc2hvcnQsICRfYXQsIG51bGwpO1xuICAgICAgJHNob3J0OiBzZXQtbnRoKCRzaG9ydCwgJF9sb2NpLCBudWxsKTtcbiAgICB9XG5cbiAgICAkX2k6IDE7XG4gICAgJF9zcGFuOiAoKTtcblxuICAgIEB3aGlsZSAkX2kgPD0gbGVuZ3RoKCRzaG9ydCkge1xuICAgICAgJF90aGlzOiBudGgoJHNob3J0LCAkX2kpO1xuXG4gICAgICBAaWYgdHlwZS1vZigkX3RoaXMpID09IG51bWJlciB7XG4gICAgICAgICRfc3BhbjogYXBwZW5kKCRfc3BhbiwgJF90aGlzKTtcbiAgICAgICAgJHNob3J0OiBzZXQtbnRoKCRzaG9ydCwgJF9pLCBudWxsKTtcbiAgICAgIH0gQGVsc2UgaWYgJF90aGlzID09IG9mIHtcbiAgICAgICAgJHNob3J0OiBzZXQtbnRoKCRzaG9ydCwgJF9pLCBudWxsKTtcbiAgICAgICAgJF9pOiBsZW5ndGgoJHNob3J0KSArIDE7XG4gICAgICB9XG5cbiAgICAgICRfaTogJF9pICsgMTtcbiAgICB9XG5cbiAgICBAaWYgbGVuZ3RoKCRfc3BhbikgPiAwIHtcbiAgICAgICRfc3BhbjogaWYobGVuZ3RoKCRfc3BhbikgPT0gMSwgbnRoKCRfc3BhbiwgMSksICRfc3Bhbik7XG4gICAgICAkX3JldHVybjogbWFwLW1lcmdlKCRfcmV0dXJuLCAoJGtleTogJF9zcGFuKSk7XG4gICAgfVxuXG4gICAgJF9yZXR1cm46IG1hcC1tZXJnZSgkX3JldHVybiwgcGFyc2UtZ3JpZCgkc2hvcnQpKTtcbiAgfVxuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG5cblxuLy8gUGFyc2UgR3V0dGVyc1xuLy8gLS0tLS0tLS0tLS0tLVxuQGZ1bmN0aW9uIHBhcnNlLWd1dHRlcnMoXG4gICRzaG9ydDogJHN1c3lcbikge1xuICAkX2d1dHRlcnM6IHBhcnNlLXNwYW4oJHNob3J0LCBndXR0ZXItb3ZlcnJpZGUpO1xuICAkX3NwYW46IHN1c3ktZ2V0KGd1dHRlci1vdmVycmlkZSwgJF9ndXR0ZXJzKTtcblxuICBAaWYgJF9zcGFuIGFuZCBub3QobWFwLWdldCgkX2d1dHRlcnMsIGNvbHVtbnMpKSB7XG4gICAgJF9jb250ZXh0OiAoKTtcbiAgICAkX25ldzogKCk7XG5cbiAgICBAZWFjaCAkaXRlbSBpbiAkX3NwYW4ge1xuICAgICAgQGlmIHR5cGUtb2YoJGl0ZW0pID09IG51bWJlciBhbmQgdW5pdGxlc3MoJGl0ZW0pIHtcbiAgICAgICAgJF9jb250ZXh0OiBhcHBlbmQoJF9jb250ZXh0LCAkaXRlbSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJF9uZXc6IGFwcGVuZCgkX25ldywgJGl0ZW0pO1xuICAgICAgfVxuICAgIH1cblxuICAgICRfY29udGV4dDogcGFyc2UtZ3JpZCgkX2NvbnRleHQpO1xuICAgICRfbmV3OiBpZihsZW5ndGgoJF9uZXcpID09IDAsIG51bGwsICRfbmV3KTtcbiAgICAkX25ldzogaWYobGVuZ3RoKCRfbmV3KSA9PSAxLCBudGgoJF9uZXcsIDEpLCAkX25ldyk7XG4gICAgJF9uZXc6IChndXR0ZXItb3ZlcnJpZGU6IGlmKCRfbmV3ICE9ICRfc3BhbiwgJF9uZXcsICRfc3BhbikpO1xuXG4gICAgJF9ndXR0ZXJzOiBtYXAtbWVyZ2UoJF9ndXR0ZXJzLCAkX25ldyk7XG4gICAgJF9ndXR0ZXJzOiBtYXAtbWVyZ2UoJF9ndXR0ZXJzLCAkX2NvbnRleHQpO1xuICB9XG5cbiAgQHJldHVybiAkX2d1dHRlcnM7XG59XG4iLCIvLyBWYWxpZGF0aW9uXG4vLyA9PT09PT09PT09XG5cblxuLy8gVmFsaWRhdGUgQ29sdW1uIE1hdGhcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AZnVuY3Rpb24gdmFsaWQtY29sdW1uLW1hdGgoXG4gICRtYXRoLFxuICAkY29sdW1uLXdpZHRoXG4pIHtcbiAgQGlmICRtYXRoID09IHN0YXRpYyBhbmQgbm90KCRjb2x1bW4td2lkdGgpIHtcbiAgICBAZXJyb3IgJ1N0YXRpYyBtYXRoIHJlcXVpcmVzIGEgdmFsaWQgY29sdW1uLXdpZHRoIHNldHRpbmcuJztcbiAgfVxuXG4gIEByZXR1cm4gJGNvbHVtbi13aWR0aDtcbn1cbiIsIi8vIEdyaWQgU3ludGF4XG4vLyA9PT09PT09PT09PVxuXG5cbi8vIExheW91dFxuLy8gLS0tLS0tXG4vLyBTZXQgYSBuZXcgbGF5b3V0IHVzaW5nIGEgc2hvcnRoYW5kXG4vLyAtICRsYXlvdXQ6IDxzZXR0aW5ncz5cbi8vIC0gJGNsZWFuOiBib29sZWFuXG5AbWl4aW4gbGF5b3V0KFxuICAkbGF5b3V0LFxuICAkY2xlYW46IGZhbHNlXG4pIHtcbiAgJGluc3BlY3QgIDogJGxheW91dDtcbiAgJHN1c3kgICAgIDogX2dldC1sYXlvdXQoJGxheW91dCwgJGNsZWFuKSAhZ2xvYmFsO1xuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChsYXlvdXQsICRpbnNwZWN0KTtcbn1cblxuXG4vLyBVc2UgR3JpZFxuLy8gLS0tLS0tLS1cbi8vIFVzZSBhbiBhcmJpdHJhcnkgbGF5b3V0IGZvciBhIHNlY3Rpb24gb2YgY29kZVxuLy8gLSAkbGF5b3V0OiA8c2V0dGluZ3M+XG4vLyAtICRjbGVhbjogYm9vbGVhblxuQG1peGluIHdpdGgtbGF5b3V0KFxuICAkbGF5b3V0LFxuICAkY2xlYW46IGZhbHNlXG4pIHtcbiAgJGluc3BlY3QgIDogJGxheW91dDtcbiAgJG9sZCAgICAgIDogJHN1c3k7XG4gICRzdXN5ICAgICA6IF9nZXQtbGF5b3V0KCRsYXlvdXQsICRjbGVhbikgIWdsb2JhbDtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3Qod2l0aC1sYXlvdXQsICRpbnNwZWN0KTtcblxuICBAY29udGVudDtcblxuICAkc3VzeTogJG9sZCAhZ2xvYmFsO1xufVxuXG5cbi8vIExheW91dFxuLy8gLS0tLS0tXG4vLyBSZXR1cm4gYSBwYXJzZWQgbGF5b3V0IG1hcCBiYXNlZCBvbiBzaG9ydGhhbmQgc3ludGF4XG4vLyAtICRsYXlvdXQ6IDxzZXR0aW5ncz5cbkBmdW5jdGlvbiBsYXlvdXQoXG4gICRsYXlvdXQ6ICRzdXN5XG4pIHtcbiAgQHJldHVybiBwYXJzZS1ncmlkKCRsYXlvdXQpO1xufVxuXG5cbi8vIEdldCBMYXlvdXRcbi8vIC0tLS0tLS0tLS1cbi8vIFJldHVybiBhIG5ldyBsYXlvdXQgYmFzZWQgb24gY3VycmVudCBhbmQgZ2l2ZW4gc2V0dGluZ3Ncbi8vIC0gJGxheW91dDogPHNldHRpbmdzPlxuLy8gLSAkY2xlYW46IGJvb2xlYW5cbkBmdW5jdGlvbiBfZ2V0LWxheW91dChcbiAgJGxheW91dCxcbiAgJGNsZWFuOiBmYWxzZVxuKSB7XG4gICRsYXlvdXQ6IGxheW91dCgkbGF5b3V0KTtcbiAgQHJldHVybiBpZigkY2xlYW4sICRsYXlvdXQsIF9zdXN5LWRlZXAtbWVyZ2UoJHN1c3ksICRsYXlvdXQpKTtcbn1cbiIsIi8vIFN1c3kgQm94IFNpemluZ1xuLy8gPT09PT09PT09PT09PT09PT1cblxuLy8gR2xvYmFsIEJveCBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTZXQgYSBib3ggbW9kZWwgZ2xvYmFsbHkgb24gYWxsIGVsZW1lbnRzLlxuLy8gLSBbJGJveF06IGJvcmRlci1ib3ggfCBjb250ZW50LWJveFxuLy8gLSBbJGluaGVyaXRdOiB0cnVlIHwgZmFsc2VcbkBtaXhpbiBnbG9iYWwtYm94LXNpemluZyhcbiAgJGJveDogc3VzeS1nZXQoZ2xvYmFsLWJveC1zaXppbmcpLFxuICAkaW5oZXJpdDogZmFsc2Vcbikge1xuICAkaW5zcGVjdDogJGJveDtcblxuICBAaWYgJGluaGVyaXQge1xuICAgIEBhdC1yb290IHtcbiAgICAgICBodG1sIHsgQGluY2x1ZGUgb3V0cHV0KChib3gtc2l6aW5nOiAkYm94KSk7IH1cbiAgICAgICAqLCAqOmJlZm9yZSwgKjphZnRlciB7IGJveC1zaXppbmc6IGluaGVyaXQ7IH1cbiAgICAgfVxuICB9IEBlbHNlIHtcbiAgICAqLCAqOmJlZm9yZSwgKjphZnRlciB7IEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogJGJveCkpOyB9XG4gIH1cblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QoZ2xvYmFsLWJveC1zaXppbmcsICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgdXBkYXRlLWJveC1tb2RlbCgkYm94KTtcbn1cblxuLy8gQm9yZGVyIEJveCBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG4vLyBBIGxlZ2FjeSBzaG9ydGN1dC4uLlxuLy8gLSBbJGluaGVyaXRdOiB0cnVlIHwgZmFsc2VcbkBtaXhpbiBib3JkZXItYm94LXNpemluZyhcbiAgJGluaGVyaXQ6IGZhbHNlXG4pIHtcbiAgQGluY2x1ZGUgZ2xvYmFsLWJveC1zaXppbmcoYm9yZGVyLWJveCwgJGluaGVyaXQpO1xufVxuXG4vLyBVcGRhdGUgQm94IE1vZGVsXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG4vLyBQUklWQVRFOiBVcGRhdGVzIGdsb2JhbCBib3ggbW9kZWwgc2V0dGluZ1xuQG1peGluIHVwZGF0ZS1ib3gtbW9kZWwoXG4gICRib3hcbikge1xuICBAaWYgJGJveCAhPSBzdXN5LWdldChnbG9iYWwtYm94LXNpemluZykge1xuICBAaW5jbHVkZSBzdXN5LXNldChnbG9iYWwtYm94LXNpemluZywgJGJveCk7XG4gIH1cbn1cbiIsIi8vIENvbnRleHQgU3ludGF4XG4vLyA9PT09PT09PT09PT09PVxuXG4vLyBOZXN0ZWQgW2Z1bmN0aW9uXVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJldHVybiBhIHN1YnNldCBncmlkIGZvciBuZXN0ZWQgY29udGV4dC5cbi8vIC0gJGNvbnRleHQgICA6IDxzcGFuPlxuQGZ1bmN0aW9uIG5lc3RlZChcbiAgJGNvbnRleHRcbikge1xuICAkY29udGV4dCAgICA6IHBhcnNlLXNwYW4oJGNvbnRleHQpO1xuICAkc3BhbiAgICAgICA6IHN1c3ktZ2V0KHNwYW4sICRjb250ZXh0KTtcbiAgJGxvY2F0aW9uICAgOiBnZXQtbG9jYXRpb24oJGNvbnRleHQpO1xuICAkY29sdW1ucyAgICA6IHN1c3ktZ2V0KGNvbHVtbnMsICRjb250ZXh0KTtcblxuICBAcmV0dXJuIHN1c3ktc2xpY2UoJHNwYW4sICRsb2NhdGlvbiwgJGNvbHVtbnMpO1xufVxuXG4vLyBOZXN0ZWQgW21peGluXVxuLy8gLS0tLS0tLS0tLS0tLS1cbi8vIFVzZSBhIHN1YnNldCBncmlkIGZvciBhIG5lc3RlZCBjb250ZXh0XG4vLyAtICRjb250ZXh0ICAgOiA8c3Bhbj5cbi8vIC0gQGNvbnRlbnQgICA6IDxjb250ZW50PlxuQG1peGluIG5lc3RlZChcbiAgJGNvbnRleHRcbikge1xuICAkaW5zcGVjdCAgOiAkY29udGV4dDtcbiAgJGNvbnRleHQgIDogcGFyc2Utc3BhbigkY29udGV4dCk7XG4gICRvbGQgICAgICA6IHN1c3ktZ2V0KGNvbHVtbnMpO1xuICAkc3VzeSAgICAgOiBtYXAtbWVyZ2UoJHN1c3ksIChjb2x1bW5zOiBuZXN0ZWQoJGNvbnRleHQpKSkgIWdsb2JhbDtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QobmVzdGVkLCAkaW5zcGVjdCk7XG4gIEBjb250ZW50O1xuXG4gICRzdXN5ICAgICA6IG1hcC1tZXJnZSgkc3VzeSwgKGNvbHVtbnM6ICRvbGQpKSAhZ2xvYmFsO1xufVxuIiwiLy8gQmFja2dyb3VuZCBHcmlkIFN5bnRheFxuLy8gPT09PT09PT09PT09PT09PT09PT09PVxuXG4kc3VzeS1vdmVybGF5LWdyaWQtaGVhZC1leGlzdHM6IGZhbHNlO1xuXG5cbi8vIFNob3cgR3JpZC9zXG4vLyAtLS0tLS0tLS0tLVxuLy8gU2hvdyBncmlkIG9uIGFueSBlbGVtZW50IHVzaW5nIGVpdGhlciBiYWNrZ3JvdW5kIG9yIG92ZXJsYXkuXG4vLyAtIFskZ3JpZF0gIDogPHNldHRpbmdzPlxuQG1peGluIHNob3ctZ3JpZChcbiAgJGdyaWQ6ICRzdXN5XG4pIHtcbiAgJGluc3BlY3Q6ICRncmlkO1xuICAkX291dHB1dDogZGVidWctZ2V0KG91dHB1dCwgJGdyaWQpO1xuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChzaG93LWdyaWQsICRpbnNwZWN0KTtcbiAgQGlmICRfb3V0cHV0ID09IG92ZXJsYXkgYW5kIHN1c3ktZ2V0KGRlYnVnIGltYWdlLCAkZ3JpZCkgIT0gaGlkZSB7XG4gICAgQGluY2x1ZGUgb3ZlcmxheS1ncmlkKCRncmlkKTtcbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC1ncmlkKCRncmlkKTtcbiAgfVxufVxuXG5AbWl4aW4gc2hvdy1ncmlkcyhcbiAgJGdyaWQ6ICRzdXN5XG4pIHtcbiAgQGluY2x1ZGUgc2hvdy1ncmlkKCRncmlkKTtcbn1cblxuLy8gQmFja2dyb3VuZCBHcmlkXG4vLyAtLS0tLS0tLS0tLS0tLS1cbi8vIFNob3cgYSBncmlkIGJhY2tncm91bmQgb24gYW55IGVsZW1lbnQuXG4vLyAtIFskZ3JpZF0gIDogPHNldHRpbmdzPlxuQG1peGluIGJhY2tncm91bmQtZ3JpZChcbiAgJGdyaWQ6ICRzdXN5XG4pIHtcbiAgJGluc3BlY3QgIDogJGdyaWQ7XG4gICRfb3V0cHV0ICA6IGdldC1iYWNrZ3JvdW5kKCRncmlkKTtcblxuICBAaWYgbGVuZ3RoKCRfb3V0cHV0KSA+IDAge1xuICAgICRfZmxvdzogc3VzeS1nZXQoZmxvdywgJGdyaWQpO1xuXG4gICAgJF9pbWFnZTogKCk7XG4gICAgQGVhY2ggJG5hbWUsICRsYXllciBpbiBtYXAtZ2V0KCRfb3V0cHV0LCBpbWFnZSkge1xuICAgICAgJF9kaXJlY3Rpb246IGlmKCRuYW1lID09IGJhc2VsaW5lLCB0byBib3R0b20sIHRvIHRvKCRfZmxvdykpO1xuICAgICAgJF9pbWFnZTogYXBwZW5kKCRfaW1hZ2UsIGxpbmVhci1ncmFkaWVudCgkX2RpcmVjdGlvbiwgJGxheWVyKSwgY29tbWEpO1xuICAgIH1cbiAgICAkX291dHB1dDogbWFwLW1lcmdlKCRfb3V0cHV0LCAoaW1hZ2U6ICRfaW1hZ2UpKTtcblxuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtZ3JpZC1vdXRwdXQoJF9vdXRwdXQuLi4pO1xuICAgIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChiYWNrZ3JvdW5kLWdyaWQsICRpbnNwZWN0KTtcbiAgfVxufVxuXG5cbi8vIE92ZXJsYXkgR3JpZFxuLy8gLS0tLS0tLS0tLS0tXG4vLyBHZW5lcmF0ZSBhbiBpY29uIHRvIHRyaWdnZXIgZ3JpZC1vdmVybGF5cyBvbiBhbnkgZ2l2ZW4gZWxlbWVudHMuXG4vLyAkZ3JpZHMuLi4gIDogPHNlbGVjdG9yPiBbPHNldHRpbmdzPl0gWywgPHNlbGVjdG9yPl0qXG5AbWl4aW4gb3ZlcmxheS1ncmlkIChcbiAgJGdyaWQ6ICRzdXN5XG4pIHtcbiAgQGlmIG5vdCgkc3VzeS1vdmVybGF5LWdyaWQtaGVhZC1leGlzdHMpIHtcbiAgICBAYXQtcm9vdCBoZWFkIHsgQGluY2x1ZGUgb3ZlcmxheS1oZWFkKCRncmlkKTsgfVxuICAgIEBhdC1yb290IGhlYWQ6YmVmb3JlIHsgQGluY2x1ZGUgb3ZlcmxheS10cmlnZ2VyOyB9XG4gICAgQGF0LXJvb3QgaGVhZDpob3ZlciB7IEBpbmNsdWRlIG92ZXJsYXktdHJpZ2dlci1ob3ZlcjsgfVxuICAgICRzdXN5LW92ZXJsYXktZ3JpZC1oZWFkLWV4aXN0czogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgaGVhZDpob3ZlciB+ICYsXG4gIGhlYWQ6aG92ZXIgfiBib2R5ICYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBncmlkLW92ZXJsYXktYmFzZTtcbiAgICAgIEBpbmNsdWRlIGJhY2tncm91bmQtZ3JpZCgkZ3JpZCk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gW1ByaXZhdGVdIE92ZXJsYXkgVHJpZ2dlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIG92ZXJsYXktdHJpZ2dlciB7XG4gIGNvbnRlbnQ6IFwifHx8XCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgZm9udDoge1xuICAgIGZhbWlseTogc2Fucy1zZXJpZjtcbiAgICBzaXplOiAxNnB4O1xuICAgIHdlaWdodDogYm9sZDtcbiAgfVxufVxuXG5cbi8vIFtQcml2YXRlXSBPdmVybGF5IFRyaWdnZXIgSG92ZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBvdmVybGF5LXRyaWdnZXItaG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKHdoaXRlLCAuNSk7XG4gIGNvbG9yOiByZWQ7XG59XG5cblxuLy8gW1ByaXZhdGVdIE92ZXJsYXkgSGVhZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gPGhlYWQ+IHN0eWxlcyB0byBjcmVhdGUgZ3JpZCBvdmVybGF5IHRvZ2dsZVxuQG1peGluIG92ZXJsYXktaGVhZCAoXG4gICRncmlkOiAkc3VzeVxuKSB7XG4gICRfdG9nZ2xlOiBkZWJ1Zy1nZXQodG9nZ2xlLCAkZ3JpZCk7XG4gICRfaG9yejogbnVsbDtcbiAgJF92ZXJ0OiBudWxsO1xuXG4gIEBlYWNoICRzaWRlIGluICRfdG9nZ2xlIHtcbiAgICAkX2hvcno6IGlmKCRzaWRlID09IGxlZnQgb3IgJHNpZGUgPT0gcmlnaHQsICRzaWRlLCAkX2hvcnopO1xuICAgICRfdmVydDogaWYoJHNpZGUgPT0gdG9wIG9yICRzaWRlID09IGJvdHRvbSwgJHNpZGUsICRfdmVydCk7XG4gIH1cblxuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGZpeGVkO1xuICAjeyRfaG9yen06IDEwcHg7XG4gICN7JF92ZXJ0fTogMTBweDtcbiAgei1pbmRleDogOTk5O1xuICBjb2xvcjogIzMzMztcbiAgYmFja2dyb3VuZDogcmdiYSh3aGl0ZSwgLjI1KTtcbn1cblxuXG4vLyBbUHJpdmF0ZV0gR3JpZCBPdmVybGF5IEJhc2Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQmFzZSBzdHlsZXMgZm9yIGdlbmVyYXRpbmcgYSBncmlkIG92ZXJsYXlcbkBtaXhpbiBncmlkLW92ZXJsYXktYmFzZSgpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICB6LWluZGV4OiA5OTg7XG59XG5cblxuLy8gR2V0IFN5bW1ldHJpY2FsIEJhY2tncm91bmRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtICRncmlkOiA8bWFwPlxuQGZ1bmN0aW9uIGdldC1iYWNrZ3JvdW5kLXN5bShcbiAgJGdyaWRcbikge1xuICAkZ3JpZCAgICAgICAgICAgOiBwYXJzZS1ncmlkKCRncmlkKTtcbiAgJF9ndXR0ZXJzICAgICAgIDogc3VzeS1nZXQoZ3V0dGVycywgJGdyaWQpO1xuICAkX2NvbHVtbi13aWR0aCAgOiBzdXN5LWdldChjb2x1bW4td2lkdGgsICRncmlkKTtcbiAgJF9tYXRoICAgICAgICAgIDogc3VzeS1nZXQobWF0aCwgJGdyaWQpO1xuXG4gICRfY29sb3IgICAgICAgICA6IGRlYnVnLWdldChjb2xvcik7XG4gICRfdHJhbnMgICAgICAgICA6IHRyYW5zcGFyZW50O1xuICAkX2xpZ2h0ICAgICAgICAgOiBsaWdodGVuKCRfY29sb3IsIDE1JSk7XG5cbiAgJF9lbmQgICAgICAgICAgIDogMSArICRfZ3V0dGVycztcbiAgJF9hZnRlciAgICAgICAgIDogcGVyY2VudGFnZSgxLyRfZW5kKTtcbiAgJF9zdG9wcyAgICAgICAgIDogKCk7XG4gICRfc2l6ZSAgICAgICAgICA6IHNwYW4oMSAkZ3JpZCB3aWRlKTtcblxuICBAaWYgaXMtaW5zaWRlKCRncmlkKSB7XG4gICAgJF9zdG9wczogJF9jb2xvciwgJF9saWdodDtcbiAgfSBAZWxzZSBpZiBpcy1zcGxpdCgkZ3JpZCkge1xuICAgICRfc3BsaXQ6ICRfZ3V0dGVycy8yO1xuICAgICRfYmVmb3JlOiBwZXJjZW50YWdlKCRfc3BsaXQvJF9lbmQpO1xuICAgICRfYWZ0ZXI6IHBlcmNlbnRhZ2UoKDEgKyAkX3NwbGl0KS8kX2VuZCk7XG4gICAgJF9zdG9wczogJF90cmFucyAkX2JlZm9yZSwgJF9jb2xvciAkX2JlZm9yZSwgJF9saWdodCAkX2FmdGVyLCAkX3RyYW5zICRfYWZ0ZXI7XG4gIH0gQGVsc2Uge1xuICAgICRfc3RvcHM6ICRfY29sb3IsICRfbGlnaHQgJF9hZnRlciwgJF90cmFucyAkX2FmdGVyO1xuICB9XG5cbiAgQGlmICRfbWF0aCA9PSBzdGF0aWMge1xuICAgICRfc2l6ZTogdmFsaWQtY29sdW1uLW1hdGgoJF9tYXRoLCAkX2NvbHVtbi13aWR0aCkgKiAkX2VuZDtcbiAgfVxuXG4gICRfb3V0cHV0OiAoXG4gICAgaW1hZ2U6IChjb2x1bW5zOiAkX3N0b3BzKSxcbiAgICBzaXplOiAkX3NpemUsXG4gICk7XG5cbiAgQHJldHVybiAkX291dHB1dDtcbn1cblxuXG4vLyBHZXQgQXN5bW1ldHJpY2FsIEluc2lkZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0gJGdyaWQ6IDxzZXR0aW5ncz5cbkBmdW5jdGlvbiBnZXQtYXN5bS1pbnNpZGUoXG4gICRncmlkXG4pIHtcbiAgJGdyaWQgICAgIDogcGFyc2UtZ3JpZCgkZ3JpZCk7XG4gICRfY29sdW1ucyA6IHN1c3ktZ2V0KGNvbHVtbnMsICRncmlkKTtcblxuICAkX2NvbG9yICAgOiBkZWJ1Zy1nZXQoY29sb3IpO1xuICAkX2xpZ2h0ICAgOiBsaWdodGVuKCRfY29sb3IsIDE1JSk7XG4gICRfc3RvcHMgICA6ICgpO1xuXG4gIEBmb3IgJGxvY2F0aW9uIGZyb20gMSB0aHJvdWdoIHN1c3ktY291bnQoJF9jb2x1bW5zKSB7XG4gICAgJHRoaXMtc3RvcDogKCk7XG5cbiAgICBAaWYgJGxvY2F0aW9uID09IDEge1xuICAgICAgJHRoaXMtc3RvcDogYXBwZW5kKCR0aGlzLXN0b3AsICRfY29sb3IsIGNvbW1hKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRzdGFydDogcGFyc2Utc3BhbigxIGF0ICRsb2NhdGlvbiAkZ3JpZCk7XG4gICAgICAkc3RhcnQ6IGdldC1pc29sYXRpb24oJHN0YXJ0KTtcbiAgICAgICR0aGlzLXN0b3A6IGFwcGVuZCgkdGhpcy1zdG9wLCAkX2NvbG9yICRzdGFydCwgY29tbWEpO1xuICAgIH1cblxuICAgIEBpZiAkbG9jYXRpb24gPT0gc3VzeS1jb3VudCgkX2NvbHVtbnMpIHtcbiAgICAgICR0aGlzLXN0b3A6IGFwcGVuZCgkdGhpcy1zdG9wLCAkX2xpZ2h0LCBjb21tYSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkX2VuZDogcGFyc2Utc3BhbigxIGF0ICgkbG9jYXRpb24gKyAxKSAkZ3JpZCk7XG4gICAgICAkX2VuZDogZ2V0LWlzb2xhdGlvbigkX2VuZCk7XG4gICAgICAkdGhpcy1zdG9wOiBhcHBlbmQoJHRoaXMtc3RvcCwgJF9saWdodCAkX2VuZCwgY29tbWEpO1xuICAgIH1cblxuICAgICRfc3RvcHM6IGpvaW4oJF9zdG9wcywgJHRoaXMtc3RvcCwgY29tbWEpO1xuICB9XG5cbiAgQHJldHVybiAkX3N0b3BzO1xufVxuXG5cbi8vIEdldCBBc3ltbWV0cmljYWwgU3BsaXRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0gJGdyaWQ6IDxzZXR0aW5ncz5cbkBmdW5jdGlvbiBnZXQtYXN5bS1zcGxpdChcbiAgJGdyaWRcbikge1xuICAkZ3JpZCAgICAgOiBwYXJzZS1ncmlkKCRncmlkKTtcbiAgJF9jb2x1bW5zIDogc3VzeS1nZXQoY29sdW1ucywgJGdyaWQpO1xuXG4gICRfY29sb3IgICA6IGRlYnVnLWdldChjb2xvcik7XG4gICRfbGlnaHQgICA6IGxpZ2h0ZW4oJF9jb2xvciwgMTUlKTtcbiAgJF9zdG9wcyAgIDogKCk7XG5cbiAgQGZvciAkbG9jYXRpb24gZnJvbSAxIHRocm91Z2ggc3VzeS1jb3VudCgkX2NvbHVtbnMpIHtcbiAgICAkdGhpcy1zdG9wOiAoKTtcblxuICAgICRzdGFydDogcGFyc2Utc3BhbigxIGF0ICRsb2NhdGlvbiAkZ3JpZCk7XG4gICAgJHN0YXJ0OiBnZXQtaXNvbGF0aW9uKCRzdGFydCk7XG4gICAgJHRoaXMtc3RvcDogYXBwZW5kKCR0aGlzLXN0b3AsIHRyYW5zcGFyZW50ICRzdGFydCwgY29tbWEpO1xuICAgICR0aGlzLXN0b3A6IGFwcGVuZCgkdGhpcy1zdG9wLCAkX2NvbG9yICRzdGFydCwgY29tbWEpO1xuXG4gICAgJF9lbmQ6ICRzdGFydCArIHNwYW4oMSBhdCAkbG9jYXRpb24gJGdyaWQpO1xuICAgICR0aGlzLXN0b3A6IGFwcGVuZCgkdGhpcy1zdG9wLCAkX2xpZ2h0ICRfZW5kLCBjb21tYSk7XG4gICAgJHRoaXMtc3RvcDogYXBwZW5kKCR0aGlzLXN0b3AsIHRyYW5zcGFyZW50ICRfZW5kLCBjb21tYSk7XG5cbiAgICAkX3N0b3BzOiBqb2luKCRfc3RvcHMsICR0aGlzLXN0b3AsIGNvbW1hKTtcbiAgfVxuXG4gIEByZXR1cm4gJF9zdG9wcztcbn1cblxuXG4vLyBHZXQgQXN5bW1ldHJpY2FsIE91dHNpZGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gLSAkZ3JpZDogPHNldHRpbmdzPlxuQGZ1bmN0aW9uIGdldC1hc3ltLW91dHNpZGUoXG4gICRncmlkXG4pIHtcbiAgJGdyaWQgICAgIDogcGFyc2UtZ3JpZCgkZ3JpZCk7XG4gICRfY29sdW1ucyA6IHN1c3ktZ2V0KGNvbHVtbnMsICRncmlkKTtcblxuICAkX2NvbG9yICAgOiBkZWJ1Zy1nZXQoY29sb3IpO1xuICAkX2xpZ2h0ICAgOiBsaWdodGVuKCRfY29sb3IsIDE1JSk7XG4gICRfdHJhbnMgICA6IHRyYW5zcGFyZW50O1xuICAkX3N0b3BzICAgOiAoKTtcblxuICBAZm9yICRsb2NhdGlvbiBmcm9tIDEgdGhyb3VnaCBzdXN5LWNvdW50KCRfY29sdW1ucykge1xuICAgICR0aGlzLXN0b3A6ICgpO1xuXG4gICAgQGlmICRsb2NhdGlvbiA9PSAxIHtcbiAgICAgICR0aGlzLXN0b3A6IGFwcGVuZCgkdGhpcy1zdG9wLCAkX2NvbG9yLCBjb21tYSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkc3RhcnQ6IHBhcnNlLXNwYW4oMSBhdCAkbG9jYXRpb24gJGdyaWQpO1xuICAgICAgJHN0YXJ0OiBnZXQtaXNvbGF0aW9uKCRzdGFydCk7XG4gICAgICAkdGhpcy1zdG9wOiBhcHBlbmQoJHRoaXMtc3RvcCwgJF9jb2xvciAkc3RhcnQsIGNvbW1hKTtcbiAgICB9XG5cbiAgICBAaWYgJGxvY2F0aW9uID09IHN1c3ktY291bnQoJF9jb2x1bW5zKSB7XG4gICAgICAkdGhpcy1zdG9wOiBhcHBlbmQoJHRoaXMtc3RvcCwgJF9saWdodCwgY29tbWEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJGd1dHRlcjogZ2V0LXNwYW4td2lkdGgoZmlyc3QgJGxvY2F0aW9uICRncmlkKTtcblxuICAgICAgJF9lbmQ6IHBhcnNlLXNwYW4oMSBhdCAoJGxvY2F0aW9uICsgMSkgJGdyaWQpO1xuICAgICAgJF9lbmQ6IGdldC1pc29sYXRpb24oJF9lbmQpO1xuXG4gICAgICAkZ3V0dGVyOiAkX2xpZ2h0ICRndXR0ZXIsICRfdHJhbnMgJGd1dHRlciwgJF90cmFucyAkX2VuZDtcbiAgICAgICR0aGlzLXN0b3A6IGpvaW4oJHRoaXMtc3RvcCwgJGd1dHRlciwgY29tbWEpO1xuICAgIH1cblxuICAgICRfc3RvcHM6IGpvaW4oJF9zdG9wcywgJHRoaXMtc3RvcCwgY29tbWEpO1xuICB9XG5cbiAgQHJldHVybiAkX3N0b3BzO1xufVxuXG5cbi8vIEdldCBBc3ltbWV0cmljYWwgQmFja2dyb3VuZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtICRncmlkOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gZ2V0LWJhY2tncm91bmQtYXN5bShcbiAgJGdyaWRcbikge1xuICAkX3N0b3BzOiAoKTtcblxuICBAaWYgaXMtaW5zaWRlKCRncmlkKSB7XG4gICAgJF9zdG9wczogZ2V0LWFzeW0taW5zaWRlKCRncmlkKTtcbiAgfSBAZWxzZSBpZiBpcy1zcGxpdCgkZ3JpZCkge1xuICAgICRfc3RvcHM6IGdldC1hc3ltLXNwbGl0KCRncmlkKTtcbiAgfSBAZWxzZSB7XG4gICAgJF9zdG9wczogZ2V0LWFzeW0tb3V0c2lkZSgkZ3JpZCk7XG4gIH1cblxuICBAcmV0dXJuIChpbWFnZTogKGNvbHVtbnM6ICRfc3RvcHMpKTtcbn1cblxuXG4vLyBHZXQgQmFja2dyb3VuZFxuLy8gLS0tLS0tLS0tLS0tLS1cbi8vIC0gJGdyaWQ6IDxzZXR0aW5ncz5cbkBmdW5jdGlvbiBnZXQtYmFja2dyb3VuZChcbiAgJGdyaWRcbikge1xuICAkZ3JpZCAgICAgOiBwYXJzZS1ncmlkKCRncmlkKTtcbiAgJF9zaG93ICAgIDogc3VzeS1nZXQoZGVidWcgaW1hZ2UsICRncmlkKTtcbiAgJF9yZXR1cm4gIDogKCk7XG5cbiAgQGlmICRfc2hvdyBhbmQgJF9zaG93ICE9ICdoaWRlJyB7XG4gICAgJF9jb2x1bW5zOiBzdXN5LWdldChjb2x1bW5zLCAkZ3JpZCk7XG5cbiAgICBAaWYgJF9zaG93ICE9ICdzaG93LWJhc2VsaW5lJyB7XG4gICAgICAkX3N5bTogaXMtc3ltbWV0cmljYWwoJF9jb2x1bW5zKTtcbiAgICAgICRfcmV0dXJuOiBpZigkX3N5bSwgZ2V0LWJhY2tncm91bmQtc3ltKCRncmlkKSwgZ2V0LWJhY2tncm91bmQtYXN5bSgkZ3JpZCkpO1xuICAgICAgJF9yZXR1cm46IG1hcC1tZXJnZSgkX3JldHVybiwgKGNsaXA6IGNvbnRlbnQtYm94KSk7XG4gICAgfVxuXG4gICAgQGlmICRfc2hvdyAhPSAnc2hvdy1jb2x1bW5zJ1xuICAgICAgYW5kIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoYmFzZS1saW5lLWhlaWdodClcbiAgICAgIGFuZCB0eXBlLW9mKCRiYXNlLWxpbmUtaGVpZ2h0KSA9PSAnbnVtYmVyJ1xuICAgICAgYW5kIG5vdCB1bml0bGVzcygkYmFzZS1saW5lLWhlaWdodCkge1xuICAgICAgJF9jb2xvcjogdmFyaWFibGUtZXhpc3RzKCdncmlkLWJhY2tncm91bmQtYmFzZWxpbmUtY29sb3InKTtcbiAgICAgICRfY29sb3I6IGlmKCRfY29sb3IsICRncmlkLWJhY2tncm91bmQtYmFzZWxpbmUtY29sb3IsICMwMDApO1xuXG4gICAgICAkX2ltYWdlOiBtYXAtZ2V0KCRfcmV0dXJuLCBpbWFnZSk7XG4gICAgICAkX3NpemU6IG1hcC1nZXQoJF9yZXR1cm4sIHNpemUpO1xuICAgICAgJF9iYXNlbGluZTogKGJhc2VsaW5lOiAoJF9jb2xvciAxcHgsIHRyYW5zcGFyZW50IDFweCkpO1xuICAgICAgJF9iYXNlbGluZS1zaXplOiAxMDAlICRiYXNlLWxpbmUtaGVpZ2h0O1xuXG4gICAgICAkX3JldHVybjogbWFwLW1lcmdlKCRfcmV0dXJuLCAoXG4gICAgICAgIGltYWdlOiBpZigkX2ltYWdlLCBtYXAtbWVyZ2UoJF9pbWFnZSwgJF9iYXNlbGluZSksICRfYmFzZWxpbmUpLFxuICAgICAgICBzaXplOiBpZigkX3NpemUsICgkX3NpemUsICRfYmFzZWxpbmUtc2l6ZSksICRfYmFzZWxpbmUtc2l6ZSksXG4gICAgICApKTtcblxuICAgICAgQGlmICRfc2hvdyA9PSAnc2hvdycge1xuICAgICAgICAkX2NsaXA6IG1hcC1nZXQoJF9yZXR1cm4sIGNsaXApO1xuICAgICAgICAkX3JldHVybjogbWFwLW1lcmdlKCRfcmV0dXJuLCAoY2xpcDogam9pbigkX2NsaXAsIGJvcmRlci1ib3gsIGNvbW1hKSkpO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJF9zaG93ID09ICdzaG93LWJhc2VsaW5lJyB7XG4gICAgICBAd2FybiAnUGxlYXNlIHByb3ZpZGUgYSAkYmFzZS1saW5lLWhlaWdodCB3aXRoIHRoZSBkZXNpcmVkIGhlaWdodCBhbmQgdW5pdHMnO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBtYXAtZ2V0KCRfcmV0dXJuLCBpbWFnZSkge1xuICAgICRfcmV0dXJuOiBtYXAtbWVyZ2UoJF9yZXR1cm4sIChmbG93OiBzdXN5LWdldChmbG93LCAkZ3JpZCkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG5cblxuLy8gR2V0IERlYnVnXG4vLyAtLS0tLS0tLS1cbi8vIFJldHVybiB0aGUgdmFsdWUgb2YgYSBkZWJ1ZyBzZXR0aW5nXG4vLyAtICRrZXk6IDxzZXR0aW5nPlxuQGZ1bmN0aW9uIGRlYnVnLWdldChcbiAgJGtleSxcbiAgJGdyaWQ6ICRzdXN5XG4pIHtcbiAgJGtleTogam9pbihkZWJ1ZywgJGtleSwgc3BhY2UpO1xuICBAcmV0dXJuIHN1c3ktZ2V0KCRrZXksICRncmlkKTtcbn1cbiIsIi8vIENvbnRhaW5lciBTeW50YXhcbi8vID09PT09PT09PT09PT09PT1cblxuLy8gQ29udGFpbmVyIFttaXhpbl1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTZXQgYSBjb250YWluZXIgZWxlbWVudFxuLy8gLSBbJGxheW91dF0gIDogPHNldHRpbmdzPlxuQG1peGluIGNvbnRhaW5lcihcbiAgJGxheW91dDogJHN1c3lcbikge1xuICAkaW5zcGVjdCAgICA6ICRsYXlvdXQ7XG4gICRsYXlvdXQgICAgIDogcGFyc2UtZ3JpZCgkbGF5b3V0KTtcblxuICAkX3dpZHRoICAgICA6IGdldC1jb250YWluZXItd2lkdGgoJGxheW91dCk7XG4gICRfanVzdGlmeSAgIDogcGFyc2UtY29udGFpbmVyLXBvc2l0aW9uKHN1c3ktZ2V0KGNvbnRhaW5lci1wb3NpdGlvbiwgJGxheW91dCkpO1xuICAkX3Byb3BlcnR5ICA6IGlmKHN1c3ktZ2V0KG1hdGgsICRsYXlvdXQpID09IHN0YXRpYywgd2lkdGgsIG1heC13aWR0aCk7XG5cbiAgJF9ib3ggICAgICAgOiBzdXN5LWdldChib3gtc2l6aW5nLCAkbGF5b3V0KTtcblxuICBAaWYgJF9ib3gge1xuICAgIEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogJF9ib3gpKTtcbiAgfVxuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChjb250YWluZXIsICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgZmxvYXQtY29udGFpbmVyKCRfd2lkdGgsICRfanVzdGlmeSwgJF9wcm9wZXJ0eSk7XG4gIEBpbmNsdWRlIHNob3ctZ3JpZCgkbGF5b3V0KTtcbn1cblxuLy8gQ29udGFpbmVyIFtmdW5jdGlvbl1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gY29udGFpbmVyIHdpZHRoXG4vLyAtIFskbGF5b3V0XSAgOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gY29udGFpbmVyKFxuICAkbGF5b3V0OiAkc3VzeVxuKSB7XG4gICRsYXlvdXQ6IHBhcnNlLWdyaWQoJGxheW91dCk7XG4gIEByZXR1cm4gZ2V0LWNvbnRhaW5lci13aWR0aCgkbGF5b3V0KTtcbn1cblxuLy8gR2V0IENvbnRhaW5lciBXaWR0aFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2FsY3VsYXRlIHRoZSBjb250YWluZXIgd2lkdGhcbi8vIC0gWyRsYXlvdXRdOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gZ2V0LWNvbnRhaW5lci13aWR0aChcbiAgJGxheW91dDogJHN1c3lcbikge1xuICAkbGF5b3V0ICAgICAgICAgOiBwYXJzZS1ncmlkKCRsYXlvdXQpO1xuICAkX3dpZHRoICAgICAgICAgOiBzdXN5LWdldChjb250YWluZXIsICRsYXlvdXQpO1xuICAkX2NvbHVtbi13aWR0aCAgOiBzdXN5LWdldChjb2x1bW4td2lkdGgsICRsYXlvdXQpO1xuICAkX21hdGggICAgICAgICAgOiBzdXN5LWdldChtYXRoLCAkbGF5b3V0KTtcblxuICBAaWYgbm90KCRfd2lkdGgpIG9yICRfd2lkdGggPT0gYXV0byB7XG4gICAgQGlmIHZhbGlkLWNvbHVtbi1tYXRoKCRfbWF0aCwgJF9jb2x1bW4td2lkdGgpIHtcbiAgICAgICRfY29sdW1ucyAgIDogc3VzeS1nZXQoY29sdW1ucywgJGxheW91dCk7XG4gICAgICAkX2d1dHRlcnMgICA6IHN1c3ktZ2V0KGd1dHRlcnMsICRsYXlvdXQpO1xuICAgICAgJF9zcHJlYWQgICAgOiBpZihpcy1zcGxpdCgkbGF5b3V0KSwgd2lkZSwgbmFycm93KTtcbiAgICAgICRfd2lkdGggICAgIDogc3VzeS1zdW0oJF9jb2x1bW5zLCAkX2d1dHRlcnMsICRfc3ByZWFkKSAqICRfY29sdW1uLXdpZHRoO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJF93aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRfd2lkdGg7XG59XG5cbi8vIFBhcnNlIENvbnRhaW5lciBQb3NpdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQYXJzZSB0aGUgJGNvbnRhaW5lci1wb3NpdGlvbiBpbnRvIG1hcmdpbiB2YWx1ZXMuXG4vLyAtIFskanVzdGlmeV0gICA6IGxlZnQgfCBjZW50ZXIgfCByaWdodCB8IDxsZW5ndGg+IFs8bGVuZ3RoPl1cbkBmdW5jdGlvbiBwYXJzZS1jb250YWluZXItcG9zaXRpb24oXG4gICRqdXN0aWZ5OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBjb250YWluZXItcG9zaXRpb24pXG4pIHtcbiAgJF9yZXR1cm46IGlmKCRqdXN0aWZ5ID09IGxlZnQsIDAsIGF1dG8pIGlmKCRqdXN0aWZ5ID09IHJpZ2h0LCAwLCBhdXRvKTtcblxuICBAaWYgbm90KGluZGV4KGxlZnQgcmlnaHQgY2VudGVyLCAkanVzdGlmeSkpIHtcbiAgICAkX3JldHVybjogbnRoKCRqdXN0aWZ5LCAxKTtcbiAgICAkX3JldHVybjogJF9yZXR1cm4gaWYobGVuZ3RoKCRqdXN0aWZ5KSA+IDEsIG50aCgkanVzdGlmeSwgMiksICRfcmV0dXJuKTtcbiAgfVxuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG4iLCIvLyBTcGFuIFN5bnRheFxuLy8gPT09PT09PT09PT1cblxuLy8gU3BhbiBbbWl4aW5dXG4vLyAtLS0tLS0tLS0tLS1cbi8vIFNldCBhIHNwYW5uaW5nIGVsZW1lbnQgdXNpbmcgc2hvcnRoYW5kIHN5bnRheC5cbi8vIC0gJHNwYW4gIDogPHNwYW4+XG5AbWl4aW4gc3BhbihcbiAgJHNwYW5cbikge1xuICAkaW5zcGVjdDogJHNwYW47XG4gICRzcGFuOiBwYXJzZS1zcGFuKCRzcGFuKTtcbiAgJG91dHB1dDogc3Bhbi1tYXRoKCRzcGFuKTtcbiAgJG5lc3Rpbmc6IHN1c3ktZ2V0KHNwYW4sICRzcGFuKTtcbiAgJGNsZWFyOiBzdXN5LWdldChjbGVhciwgJHNwYW4pO1xuXG4gICRib3g6IHN1c3ktZ2V0KGJveC1zaXppbmcsICRzcGFuKTtcbiAgJGNvbnRlbnQtYm94OiBpZihzdXN5LWdldChnbG9iYWwtYm94LXNpemluZykgIT0gJ2JvcmRlci1ib3gnLCB0cnVlLCBmYWxzZSk7XG4gICRib3g6ICRib3ggb3IgaWYoaXMtaW5zaWRlKCRzcGFuKSBhbmQgJGNvbnRlbnQtYm94LCBib3JkZXItYm94LCBudWxsKTtcblxuICBAaWYgJGNsZWFyID09IGJyZWFrIHtcbiAgICBAaW5jbHVkZSBicmVhaztcbiAgfSBAZWxzZSBpZiAkY2xlYXIgPT0gbm9icmVhayB7XG4gICAgQGluY2x1ZGUgbm9icmVhaztcbiAgfVxuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChzcGFuLCAkaW5zcGVjdCk7XG4gIEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogJGJveCkpO1xuICBAaW5jbHVkZSBmbG9hdC1zcGFuLW91dHB1dCgkb3V0cHV0Li4uKTtcblxuICBAaWYgdmFsaWQtY29sdW1ucygkbmVzdGluZywgc2lsZW50KSB7XG4gICAgQGluY2x1ZGUgbmVzdGVkKCRzcGFuKSB7IEBjb250ZW50OyB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIFNwYW4gW2Z1bmN0aW9uXVxuLy8gLS0tLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gdGhlIHdpZHRoIG9mIGEgc3Bhbi5cbi8vIC0gJHNwYW4gIDogPHNwYW4+XG5AZnVuY3Rpb24gc3BhbihcbiAgJHNwYW5cbikge1xuICBAcmV0dXJuIGdldC1zcGFuLXdpZHRoKCRzcGFuKTtcbn1cblxuLy8gU3BhbiBNYXRoXG4vLyAtLS0tLS0tLS1cbi8vIEdldCBhbGwgdGhlIHNwYW4gcmVzdWx0cy5cbi8vIC0gJHNwYW46IDxtYXA+XG5AZnVuY3Rpb24gc3Bhbi1tYXRoKFxuICAkc3BhblxuKSB7XG4gICRuZXN0ICAgICAgICAgICAgIDogaWYoc3VzeS1nZXQocm9sZSwgJHNwYW4pID09IG5lc3QsIHRydWUsIGZhbHNlKTtcbiAgJHNwbGl0LW5lc3QgICAgICAgOiBpZihpcy1zcGxpdCgkc3BhbikgYW5kICRuZXN0LCB0cnVlLCBmYWxzZSk7XG4gICRlZGdlICAgICAgICAgICAgIDogZ2V0LWVkZ2UoJHNwYW4pO1xuICAkbG9jYXRpb24gICAgICAgICA6IGdldC1sb2NhdGlvbigkc3Bhbik7XG5cbiAgJGZsb2F0ICAgICAgICAgICAgOiBmcm9tO1xuICAkcGFkZGluZy1iZWZvcmUgICA6IG51bGw7XG4gICRwYWRkaW5nLWFmdGVyICAgIDogbnVsbDtcbiAgJG1hcmdpbi1iZWZvcmUgICAgOiBudWxsO1xuICAkbWFyZ2luLWFmdGVyICAgICA6IG51bGw7XG5cbiAgLy8gY2FsY3VsYXRlIHdpZHRoc1xuICAkc3ByZWFkOiBpbmRleChtYXAtdmFsdWVzKCRzcGFuKSwgc3ByZWFkKTtcbiAgJHNwYW46IGlmKCRzcGxpdC1uZXN0IGFuZCBub3QoJHNwcmVhZCksIG1hcC1tZXJnZSgkc3BhbiwgKHNwcmVhZDogd2lkZSkpLCAkc3Bhbik7XG4gICR3aWR0aDogZ2V0LXNwYW4td2lkdGgoJHNwYW4pO1xuICAkZ3V0dGVyczogZ2V0LWd1dHRlcnMoJHNwYW4pO1xuXG4gIC8vIGFwcGx5IGd1dHRlcnNcbiAgQGlmIGlzLWluc2lkZSgkc3Bhbikge1xuICAgIEBpZiBub3Qoc3VzeS1nZXQocm9sZSwgJHNwYW4pKSB7XG4gICAgICAkcGFkZGluZy1iZWZvcmU6IG1hcC1nZXQoJGd1dHRlcnMsIGJlZm9yZSk7XG4gICAgICAkcGFkZGluZy1hZnRlcjogbWFwLWdldCgkZ3V0dGVycywgYWZ0ZXIpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGlmIG5vdCgkc3BsaXQtbmVzdCkge1xuICAgICAgJG1hcmdpbi1iZWZvcmU6IG1hcC1nZXQoJGd1dHRlcnMsIGJlZm9yZSk7XG4gICAgICAkbWFyZ2luLWFmdGVyOiBtYXAtZ2V0KCRndXR0ZXJzLCBhZnRlcik7XG4gICAgfVxuICB9XG5cbiAgLy8gc3BlY2lhbCBtYXJnaW4gaGFuZGxpbmdcbiAgQGlmIHN1c3ktZ2V0KG91dHB1dCwgJHNwYW4pID09IGlzb2xhdGUgYW5kICRsb2NhdGlvbiB7XG4gICAgJG1hcmdpbi1iZWZvcmU6IGdldC1pc29sYXRpb24oJHNwYW4pO1xuICAgICRtYXJnaW4tYWZ0ZXI6IC0xMDAlO1xuICB9IEBlbHNlIGlmICRlZGdlIHtcbiAgICAkaXMtc3BsaXQ6IGlzLXNwbGl0KCRzcGFuKTtcbiAgICAkcG9zOiBzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRzcGFuKTtcblxuICAgIEBpZiAkZWRnZSA9PSBsYXN0IHtcbiAgICAgICRmbG9hdDogc3VzeS1nZXQobGFzdC1mbG93LCAkc3Bhbik7XG4gICAgfVxuXG4gICAgQGlmIG5vdCgkaXMtc3BsaXQpIHtcbiAgICAgIEBpZiAkZWRnZSA9PSBmdWxsIG9yICgkZWRnZSA9PSBmaXJzdCBhbmQgJHBvcyA9PSBiZWZvcmUpIHtcbiAgICAgICAgJG1hcmdpbi1iZWZvcmU6IDA7XG4gICAgICB9XG4gICAgICBAaWYgJGVkZ2UgPT0gZnVsbCBvciAoJGVkZ2UgPT0gbGFzdCBhbmQgJHBvcyA9PSBhZnRlcikge1xuICAgICAgICAkbWFyZ2luLWFmdGVyOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgQHJldHVybiAoXG4gICAgd2lkdGggICAgICAgICAgIDogJHdpZHRoLFxuICAgIGZsb2F0ICAgICAgICAgICA6ICRmbG9hdCxcbiAgICBtYXJnaW4tYmVmb3JlICAgOiAkbWFyZ2luLWJlZm9yZSxcbiAgICBtYXJnaW4tYWZ0ZXIgICAgOiAkbWFyZ2luLWFmdGVyLFxuICAgIHBhZGRpbmctYmVmb3JlICA6ICRwYWRkaW5nLWJlZm9yZSxcbiAgICBwYWRkaW5nLWFmdGVyICAgOiAkcGFkZGluZy1hZnRlcixcbiAgICBmbG93ICAgICAgICAgICAgOiBzdXN5LWdldChmbG93LCAkc3BhbiksXG4gICk7XG59XG5cbi8vIEdldCBTcGFuIFdpZHRoXG4vLyAtLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIHNwYW4gd2lkdGguXG4vLyAtICRzcGFuOiA8bWFwPlxuQGZ1bmN0aW9uIGdldC1zcGFuLXdpZHRoKFxuICAkc3BhblxuKSB7XG4gICRzcGFuICAgICA6IHBhcnNlLXNwYW4oJHNwYW4pO1xuXG4gICRuICAgICAgICA6IHN1c3ktZ2V0KHNwYW4sICRzcGFuKTtcbiAgJGxvY2F0aW9uIDogZ2V0LWxvY2F0aW9uKCRzcGFuKTtcbiAgJGNvbHVtbnMgIDogc3VzeS1nZXQoY29sdW1ucywgJHNwYW4pO1xuICAkZ3V0dGVycyAgOiBzdXN5LWdldChndXR0ZXJzLCAkc3Bhbik7XG4gICRzcHJlYWQgICA6IHN1c3ktZ2V0KHNwcmVhZCwgJHNwYW4pO1xuXG4gICRjb250ZXh0ICA6IG51bGw7XG4gICRzcGFuLXN1bSA6IG51bGw7XG4gICR3aWR0aCAgICA6IG51bGw7XG5cbiAgQGlmICRuID09ICdmdWxsJyB7XG4gICAgJHBvczogc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkc3Bhbik7XG4gICAgJHJvbGU6IHN1c3ktZ2V0KHJvbGUsICRzcGFuKTtcbiAgICAkbjogaWYoJHBvcyA9PSBzcGxpdCBhbmQgJHJvbGUgIT0gbmVzdCwgc3VzeS1jb3VudCgkY29sdW1ucyksIDEwMCUpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJG4pICE9IG51bWJlciB7XG4gICAgQHdhcm4gXCIoI3t0eXBlLW9mKCRuKX0pICN7JG59IGlzIG5vdCBhIHZhbGlkIHNwYW4uXCI7XG4gIH0gQGVsc2UgaWYgdW5pdGxlc3MoJG4pIHtcbiAgICAkY29udGV4dDogc3VzeS1zdW0oJGNvbHVtbnMsICRndXR0ZXJzLCBpZihpcy1zcGxpdCgkc3BhbiksIHdpZGUsIG5hcnJvdykpO1xuICAgICRzcHJlYWQ6IGlmKGlzLWluc2lkZSgkc3BhbiksICRzcHJlYWQgb3Igd2lkZSwgJHNwcmVhZCk7XG4gICAgJHNwYW4tc3VtOiBzdXN5KCRuLCAkbG9jYXRpb24sICRjb2x1bW5zLCAkZ3V0dGVycywgJHNwcmVhZCk7XG5cbiAgICAkX21hdGg6IHN1c3ktZ2V0KG1hdGgsICRzcGFuKTtcbiAgICAkX2NvbHVtbi13aWR0aDogc3VzeS1nZXQoY29sdW1uLXdpZHRoLCAkc3Bhbik7XG4gICAgQGlmICRfbWF0aCA9PSBzdGF0aWMge1xuICAgICAgJHdpZHRoOiAkc3Bhbi1zdW0gKiB2YWxpZC1jb2x1bW4tbWF0aCgkX21hdGgsICRfY29sdW1uLXdpZHRoKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkc3Bhbi1zdW0gLyAkY29udGV4dCk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAkd2lkdGg6ICRuO1xuICB9XG5cbiAgQHJldHVybiAkd2lkdGg7XG59XG4iLCIvLyBHdXR0ZXIgU3ludGF4XG4vLyA9PT09PT09PT09PT09XG5cblxuLy8gR3V0dGVyc1xuLy8gLS0tLS0tLVxuLy8gU2V0IGd1dHRlcnMgb24gYW4gZWxlbWVudC5cbi8vIC0gWyRzcGFuXSAgIDogPHNldHRpbmdzPlxuQG1peGluIGd1dHRlcnMoXG4gICRzcGFuOiAkc3VzeVxuKSB7XG4gICRpbnNwZWN0ICA6ICRzcGFuO1xuICAkc3BhbiAgICAgOiBwYXJzZS1ndXR0ZXJzKCRzcGFuKTtcbiAgJF9ndXR0ZXJzIDogZ2V0LWd1dHRlcnMoJHNwYW4pO1xuXG4gICRfb3V0cHV0OiAoXG4gICAgYmVmb3JlOiBtYXAtZ2V0KCRfZ3V0dGVycywgYmVmb3JlKSxcbiAgICBhZnRlcjogbWFwLWdldCgkX2d1dHRlcnMsIGFmdGVyKSxcbiAgICBmbG93OiBzdXN5LWdldChmbG93LCAkc3BhbiksXG4gICk7XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KGd1dHRlcnMsICRpbnNwZWN0KTtcblxuICBAaWYgaXMtaW5zaWRlKCRzcGFuKSB7XG4gICAgQGluY2x1ZGUgcGFkZGluZy1vdXRwdXQoJF9vdXRwdXQuLi4pO1xuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBtYXJnaW4tb3V0cHV0KCRfb3V0cHV0Li4uKTtcbiAgfVxufVxuXG5AbWl4aW4gZ3V0dGVyKFxuICAkc3BhbjogJHN1c3lcbikge1xuICBAaW5jbHVkZSBndXR0ZXJzKCRzcGFuKTtcbn1cblxuXG4vLyBHdXR0ZXJcbi8vIC0tLS0tLVxuLy8gUmV0dXJuIHRoZSB3aWR0aCBvZiBhIGd1dHRlci5cbi8vIC0gWyRzcGFuXSAgIDogPHNldHRpbmdzPlxuQGZ1bmN0aW9uIGd1dHRlcihcbiAgJHNwYW46ICRzdXN5XG4pIHtcbiAgJHNwYW46IHBhcnNlLWd1dHRlcnMoJHNwYW4pO1xuXG4gICRfZ3V0dGVyczogZ2V0LWd1dHRlcnMoJHNwYW4pO1xuICAkX2d1dHRlcnM6IG1hcC1nZXQoJF9ndXR0ZXJzLCBiZWZvcmUpIG9yIG1hcC1nZXQoJF9ndXR0ZXJzLCBhZnRlcik7XG5cbiAgQHJldHVybiAkX2d1dHRlcnM7XG59XG5cbkBmdW5jdGlvbiBndXR0ZXJzKFxuICAkc3BhbjogJHN1c3lcbikge1xuICBAcmV0dXJuIGd1dHRlcigkc3Bhbik7XG59XG5cblxuLy8gR2V0IEd1dHRlciBXaWR0aFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIGd1dHRlciB3aWR0aC5cbi8vIC0gWyRjb250ZXh0XTogPGNvbnRleHQ+XG5AZnVuY3Rpb24gZ2V0LWd1dHRlci13aWR0aChcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgJGNvbnRleHQgIDogcGFyc2UtZ3V0dGVycygkY29udGV4dCk7XG5cbiAgJF9ndXR0ZXJzIDogc3VzeS1nZXQoZ3V0dGVycywgJGNvbnRleHQpO1xuICAkX2d1dHRlciAgOiBzdXN5LWdldChndXR0ZXItb3ZlcnJpZGUsICRjb250ZXh0KTtcblxuICBAaWYgJF9ndXR0ZXJzIGFuZCAoJF9ndXR0ZXJzID4gMCkgYW5kIG5vdCgkX2d1dHRlcikge1xuICAgICRfY29sdW1uLXdpZHRoOiBzdXN5LWdldChjb2x1bW4td2lkdGgsICRjb250ZXh0KTtcbiAgICAkX21hdGg6IGd1dHRlci1tYXRoKCRjb250ZXh0KTtcbiAgICBAaWYgJF9tYXRoID09IHN0YXRpYyB7XG4gICAgICAkX2d1dHRlcjogJF9ndXR0ZXJzICogdmFsaWQtY29sdW1uLW1hdGgoJF9tYXRoLCAkX2NvbHVtbi13aWR0aCk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkX2NvbHVtbnMgOiBzdXN5LWdldChjb2x1bW5zLCAkY29udGV4dCk7XG4gICAgICAkX3NwcmVhZCAgOiBpZihpcy1zcGxpdCgkY29udGV4dCksIHdpZGUsIHN1c3ktZ2V0KHNwcmVhZCwgJGNvbnRleHQpKTtcbiAgICAgICRfZ3V0dGVyICA6IHBlcmNlbnRhZ2UoJF9ndXR0ZXJzIC8gc3VzeS1zdW0oJF9jb2x1bW5zLCAkX2d1dHRlcnMsICRfc3ByZWFkKSk7XG4gICAgfVxuICB9XG5cbiAgJF9ndXR0ZXI6IGlmKCRfZ3V0dGVyID09ICduby1ndXR0ZXJzJyBvciAkX2d1dHRlciA9PSAnbm8tZ3V0dGVyJywgbnVsbCwgJF9ndXR0ZXIpO1xuXG4gIEByZXR1cm4gJF9ndXR0ZXI7XG59XG5cblxuLy8gR2V0IEd1dHRlcnNcbi8vIC0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gYmVmb3JlIGFuZCBhZnRlciBndXR0ZXIgdmFsdWVzLlxuLy8gLSBbJGNvbnRleHRdOiA8Y29udGV4dD5cbkBmdW5jdGlvbiBnZXQtZ3V0dGVycyhcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgJGNvbnRleHQgICAgICAgICAgICA6IHBhcnNlLWd1dHRlcnMoJGNvbnRleHQpO1xuXG4gICRfZ3V0dGVyLXBvc2l0aW9uICAgOiBzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRjb250ZXh0KTtcbiAgJF9ndXR0ZXIgICAgICAgICAgICA6IGdldC1ndXR0ZXItd2lkdGgoJGNvbnRleHQpO1xuXG4gICRfcmV0dXJuICAgICAgICAgICAgOiAoYmVmb3JlOiBudWxsLCBhZnRlcjogbnVsbCk7XG5cbiAgQGlmIGlzLXNwbGl0KCRjb250ZXh0KSBhbmQgJF9ndXR0ZXIge1xuICAgICRfZ3V0dGVyOiAkX2d1dHRlciAvIDI7XG4gICAgJF9yZXR1cm46IG1hcC1tZXJnZSgkX3JldHVybiwgKGJlZm9yZTogJF9ndXR0ZXIsIGFmdGVyOiAkX2d1dHRlcikpO1xuICB9IEBlbHNlIHtcbiAgICAkX3JldHVybjogbWFwLW1lcmdlKCRfcmV0dXJuLCAoJF9ndXR0ZXItcG9zaXRpb246ICRfZ3V0dGVyKSk7XG4gIH1cblxuICBAcmV0dXJuICRfcmV0dXJuO1xufVxuXG5cbi8vIElzIEluc2lkZVxuLy8gLS0tLS0tLS0tXG4vLyBSZXR1cm5zIHRydWUgaWYgZ3V0dGVycyBhcmUgaW5zaWRlLlxuLy8gJGNvbnRleHQ6IDxjb250ZXh0PlxuQGZ1bmN0aW9uIGlzLWluc2lkZShcbiAgJGNvbnRleHRcbikge1xuICAkX2luc2lkZTogaW5zaWRlIGluc2lkZS1zdGF0aWM7XG4gICRfZ3V0dGVyLXBvc2l0aW9uOiBzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRjb250ZXh0KTtcblxuICBAcmV0dXJuIGlmKGluZGV4KCRfaW5zaWRlLCAkX2d1dHRlci1wb3NpdGlvbiksIHRydWUsIGZhbHNlKTtcbn1cblxuXG4vLyBJcyBTcGxpdFxuLy8gLS0tLS0tLS1cbi8vIFJldHVybnMgdHJ1ZSBpZiBndXR0ZXJzIGFyZSBzcGxpdC5cbi8vICRjb250ZXh0OiA8Y29udGV4dD5cbkBmdW5jdGlvbiBpcy1zcGxpdChcbiAgJGNvbnRleHRcbikge1xuICAkX3NwbGl0OiBzcGxpdCBpbnNpZGUgaW5zaWRlLXN0YXRpYztcbiAgJF9ndXR0ZXItcG9zaXRpb246IHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJGNvbnRleHQpO1xuXG4gIEByZXR1cm4gaWYoaW5kZXgoJF9zcGxpdCwgJF9ndXR0ZXItcG9zaXRpb24pLCB0cnVlLCBmYWxzZSk7XG59XG5cblxuLy8gR3V0dGVyIE1hdGhcbi8vIC0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gdGhlIG1hdGggdG8gdXNlIGZvciBndXR0ZXIgY2FsY3VsYXRpb25zXG4vLyAkY29udGV4dDogPGNvbnRleHQ+XG5AZnVuY3Rpb24gZ3V0dGVyLW1hdGgoXG4gICRjb250ZXh0OiAkc3VzeVxuKSB7XG4gICRfcmV0dXJuICA6IHN1c3ktZ2V0KG1hdGgsICRjb250ZXh0KTtcbiAgJF9yZXR1cm4gIDogaWYoc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkY29udGV4dCkgPT0gaW5zaWRlLXN0YXRpYywgc3RhdGljLCAkX3JldHVybik7XG5cbiAgQHJldHVybiAkX3JldHVybjtcbn1cbiIsIi8vIElzb2xhdGlvbiBTeW50YXhcbi8vID09PT09PT09PT09PT09PT1cblxuXG4vLyBJc29sYXRlIFtNaXhpbl1cbi8vIC0tLS0tLS0tLS0tLS0tLVxuLy8gU2V0IGlzb2xhdGlvbiBhcyBhbiBvdmVycmlkZS5cbi8vIC0gJGxvY2F0aW9uOiA8c3Bhbj5cbkBtaXhpbiBpc29sYXRlKFxuICAkaXNvbGF0ZTogMVxuKSB7XG4gICRpbnNwZWN0OiAkaXNvbGF0ZTtcblxuICAkb3V0cHV0OiAoXG4gICAgcHVzaDogaXNvbGF0ZSgkaXNvbGF0ZSksXG4gICAgZmxvdzogc3VzeS1nZXQoZmxvdywgJGlzb2xhdGUpLFxuICApO1xuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChpc29sYXRlLCAkaW5zcGVjdCk7XG4gIEBpbmNsdWRlIGlzb2xhdGUtb3V0cHV0KCRvdXRwdXQuLi4pO1xufVxuXG5cbi8vIElzb2xhdGUgW2Z1bmN0aW9uXVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gYW4gaXNvbGF0aW9uIG9mZnNldCB3aWR0aC5cbi8vIC0gJGxvY2F0aW9uOiA8c3Bhbj5cbkBmdW5jdGlvbiBpc29sYXRlKFxuICAkaXNvbGF0ZTogMVxuKSB7XG4gICRpc29sYXRlOiBwYXJzZS1zcGFuKCRpc29sYXRlKTtcbiAgJGlzb2xhdGlvbjogc3VzeS1nZXQoc3BhbiwgJGlzb2xhdGUpO1xuXG4gIEBpZiAkaXNvbGF0aW9uIGFuZCBub3QoZ2V0LWxvY2F0aW9uKCRpc29sYXRlKSkge1xuICAgICRuZXc6IChcbiAgICAgIHNwYW46IG51bGwsXG4gICAgICBsb2NhdGlvbjogJGlzb2xhdGlvbixcbiAgICApO1xuICAgICRpc29sYXRlOiBtYXAtbWVyZ2UoJGlzb2xhdGUsICRuZXcpO1xuICB9XG5cbiAgQHJldHVybiBnZXQtaXNvbGF0aW9uKCRpc29sYXRlKTtcbn1cblxuXG4vLyBHZXQgSXNvbGF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gdGhlIGlzb2xhdGlvbiBvZmZzZXQgd2lkdGhcbi8vIC0gJGlucHV0OiA8bWFwPlxuQGZ1bmN0aW9uIGdldC1pc29sYXRpb24oXG4gICRpbnB1dFxuKSB7XG4gICRsb2NhdGlvbiAgIDogZ2V0LWxvY2F0aW9uKCRpbnB1dCk7XG4gICRjb2x1bW5zICAgIDogc3VzeS1nZXQoY29sdW1ucywgJGlucHV0KTtcbiAgJHdpZHRoICAgICAgOiBudWxsO1xuXG4gIEBpZiB0eXBlLW9mKCRsb2NhdGlvbikgPT0gbnVtYmVyIGFuZCBub3QodW5pdGxlc3MoJGxvY2F0aW9uKSkge1xuICAgICR3aWR0aDogJGxvY2F0aW9uO1xuICB9IEBlbHNlIGlmICRsb2NhdGlvbiB7XG4gICAgJHB1c2g6ICRsb2NhdGlvbiAtIDE7XG4gICAgQGlmICRwdXNoID4gMCB7XG4gICAgICAkcHVzaDogbWFwLW1lcmdlKCRpbnB1dCwgKFxuICAgICAgICBzcGFuOiAkcHVzaCxcbiAgICAgICAgbG9jYXRpb246IDEsXG4gICAgICAgIHNwcmVhZDogd2lkZSxcbiAgICAgICkpO1xuICAgICAgJHdpZHRoOiBnZXQtc3Bhbi13aWR0aCgkcHVzaCk7XG4gICAgfVxuICB9XG5cbiAgQGlmIHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJGlucHV0KSA9PSBzcGxpdFxuICAgICAgYW5kIHN1c3ktZ2V0KGd1dHRlcnMsICRpbnB1dCkgPiAwIHtcbiAgICAkd2lkdGg6IGlmKCR3aWR0aCA9PSBudWxsLCBndXR0ZXJzKCRpbnB1dCksICR3aWR0aCArIGd1dHRlcnMoJGlucHV0KSk7XG4gIH1cblxuICBAcmV0dXJuICR3aWR0aCBvciAwO1xufVxuIiwiLy8gR2FsbGVyeSBTeW50YXhcbi8vID09PT09PT09PT09PT09XG5cbi8vIEdhbGxlcnlcbi8vIC0tLS0tLS1cbi8vIENyZWF0ZSBhbiBpc29sYXRlZCBnYWxsZXJ5XG4vLyAtICRzcGFuICAgICAgICA6IDxzcGFuPlxuLy8gLSBbJHNlbGVjdG9yXSAgOiBjaGlsZCB8IG9mLXR5cGVcbkBtaXhpbiBnYWxsZXJ5KFxuICAkc3BhbixcbiAgJHNlbGVjdG9yOiBjaGlsZFxuKSB7XG4gICRpbnNwZWN0ICAgIDogJHNwYW47XG4gICRzcGFuICAgICAgIDogcGFyc2Utc3Bhbigkc3Bhbik7XG4gICRzcGFuICAgICAgIDogbWFwLW1lcmdlKCRzcGFuLCAobG9jYXRpb246IDEpKTtcblxuICAkbiAgICAgICAgICAgIDogc3VzeS1nZXQoc3BhbiwgJHNwYW4pO1xuICAkY29sdW1ucyAgICAgIDogc3VzeS1nZXQoY29sdW1ucywgJHNwYW4pO1xuICAkY29udGV4dCAgICAgIDogc3VzeS1jb3VudCgkY29sdW1ucyk7XG4gICRmbG93ICAgICAgICAgOiBzdXN5LWdldChmbG93LCAkc3Bhbik7XG5cbiAgJGluc2lkZSAgICAgICA6IGlzLWluc2lkZSgkc3Bhbik7XG4gICRmcm9tICAgICAgICAgOiBmcm9tKCRmbG93KTtcbiAgJGxpbmUgICAgICAgICA6IGZsb29yKCRjb250ZXh0IC8gJG4pO1xuICAkc3ltbWV0cmljYWwgIDogaXMtc3ltbWV0cmljYWwoJGNvbHVtbnMpO1xuXG4gICRvdXRwdXQ6IChcbiAgICB3aWR0aCAgICAgICAgICAgICA6IG51bGwsXG4gICAgZmxvYXQgICAgICAgICAgICAgOiBmcm9tLFxuICAgIG1hcmdpbi1iZWZvcmUgICAgIDogbnVsbCxcbiAgICBtYXJnaW4tYWZ0ZXIgICAgICA6IG51bGwsXG4gICAgcGFkZGluZy1iZWZvcmUgICAgOiBudWxsLFxuICAgIHBhZGRpbmctYWZ0ZXIgICAgIDogbnVsbCxcbiAgICBmbG93ICAgICAgICAgICAgICA6ICRmbG93LFxuICApO1xuXG4gIEBpZiAkaW5zaWRlIHtcbiAgICAkZ3V0dGVyczogZ2V0LWd1dHRlcnMoJHNwYW4pO1xuICAgICRvdXRwdXQ6IG1hcC1tZXJnZSgkb3V0cHV0LCAoXG4gICAgICBwYWRkaW5nLWJlZm9yZTogbWFwLWdldCgkZ3V0dGVycywgYmVmb3JlKSxcbiAgICAgIHBhZGRpbmctYWZ0ZXI6IG1hcC1nZXQoJGd1dHRlcnMsIGFmdGVyKSxcbiAgICApKTtcbiAgfVxuXG4gIEBpZiAkc3ltbWV0cmljYWwge1xuICAgICRvdXRwdXQ6IG1hcC1tZXJnZSgkb3V0cHV0LCAod2lkdGg6IGdldC1zcGFuLXdpZHRoKCRzcGFuKSkpO1xuICB9XG5cbiAgJGJveCAgICAgICAgICA6IHN1c3ktZ2V0KGJveC1zaXppbmcsICRzcGFuKTtcbiAgJGdsb2JhbC1ib3ggICA6IGlmKHN1c3ktZ2V0KGdsb2JhbC1ib3gtc2l6aW5nKSA9PSAnYm9yZGVyLWJveCcsIHRydWUsIGZhbHNlKTtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QoZ2FsbGVyeSwgJGluc3BlY3QpO1xuXG4gIC8vIENvbGxlY3RpdmUgT3V0cHV0XG4gIEBpZiAkYm94ID09IGJvcmRlci1ib3ggb3IgKCRpbnNpZGUgYW5kIG5vdCgkYm94KSBhbmQgbm90KCRnbG9iYWwtYm94KSkge1xuICAgIEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogYm9yZGVyLWJveCkpO1xuICB9IEBlbHNlIGlmICRib3ggPT0gY29udGVudC1ib3gge1xuICAgIEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogY29udGVudC1ib3gpKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGZsb2F0LXNwYW4tb3V0cHV0KCRvdXRwdXQuLi4pO1xuXG4gIC8vIEluZGl2aWR1YWwgTG9vcFxuICBAZm9yICRpdGVtIGZyb20gMSB0aHJvdWdoICRsaW5lIHtcbiAgICAkbnRoOiAnI3skbGluZX1uICsgI3skaXRlbX0nO1xuICAgICY6bnRoLSN7JHNlbGVjdG9yfSgjeyRudGh9KSB7XG4gICAgICAvLyBJbmRpdmlkdWFsIFByZXBcbiAgICAgICRvdXRwdXQ6IChcbiAgICAgICAgd2lkdGggICAgICAgICAgICAgOiBpZigkc3ltbWV0cmljYWwsIG51bGwsIGdldC1zcGFuLXdpZHRoKCRzcGFuKSksXG4gICAgICAgIGZsb2F0ICAgICAgICAgICAgIDogbnVsbCxcbiAgICAgICAgbWFyZ2luLWJlZm9yZSAgICAgOiBnZXQtaXNvbGF0aW9uKCRzcGFuKSxcbiAgICAgICAgbWFyZ2luLWFmdGVyICAgICAgOiAtMTAwJSxcbiAgICAgICAgcGFkZGluZy1iZWZvcmUgICAgOiBudWxsLFxuICAgICAgICBwYWRkaW5nLWFmdGVyICAgICA6IG51bGwsXG4gICAgICAgIGZsb3cgICAgICAgICAgICAgIDogJGZsb3csXG4gICAgICApO1xuXG4gICAgICAvLyBJbmRpdmlkdWFsIE91dHB1dFxuICAgICAgQGluY2x1ZGUgZmxvYXQtc3Bhbi1vdXRwdXQoJG91dHB1dC4uLik7XG5cbiAgICAgIEBpZiBnZXQtZWRnZSgkc3BhbikgPT0gZmlyc3Qge1xuICAgICAgICBAaW5jbHVkZSBicmVhaztcbiAgICAgICAgQGluY2x1ZGUgZmlyc3QoJHNwYW4pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIC8vIEluZGl2aWR1YWwgTG9jYXRpb24gSW5jcmVtZW50XG4gICAgICAkbG9jYXRpb246IGdldC1sb2NhdGlvbigkc3BhbikgKyAkbjtcbiAgICAgICRsb2NhdGlvbjogaWYoJGxvY2F0aW9uID4gJGNvbnRleHQsIDEsICRsb2NhdGlvbik7XG4gICAgICAkc3BhbjogbWFwLW1lcmdlKCRzcGFuLCAobG9jYXRpb246ICRsb2NhdGlvbikpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUm93IFN0YXJ0ICYgRW5kXG4vLyA9PT09PT09PT09PT09PT1cblxuLy8gQnJlYWtcbi8vIC0tLS0tXG4vLyBBcHBseSB0byBhbnkgZWxlbWVudCB0aGF0IHNob3VsZCBmb3JjZSBhIGxpbmUgYnJlYWsuXG5AbWl4aW4gYnJlYWsge1xuICBAaW5jbHVkZSBvdXRwdXQoKGNsZWFyOiBib3RoKSk7XG59XG5cblxuLy8gTm9CcmVha1xuLy8gLS0tLS0tLVxuLy8gQ2FuY2VsIHRoZSBicmVhaygpIGVmZmVjdCwgZS5nLiB3aGVuIHVzaW5nIG1lZGlhIHF1ZXJpZXMuXG5AbWl4aW4gbm9icmVhayB7XG4gIEBpbmNsdWRlIG91dHB1dCgoY2xlYXI6IG5vbmUpKTtcbn1cblxuXG4vLyBGdWxsXG4vLyAtLS0tXG4vLyAtIFskY29udGV4dF06IDxsYXlvdXQgc2hvcnRoYW5kPlxuQG1peGluIGZ1bGwoXG4gICRjb250ZXh0OiAkc3VzeVxuKSB7XG4gICRpbnNwZWN0IDogJGNvbnRleHQ7XG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChmdWxsLCAkaW5zcGVjdCk7XG4gIEBpbmNsdWRlIHNwYW4oZnVsbCBvZiBwYXJzZS1ncmlkKCRjb250ZXh0KSBicmVhayk7XG59XG5cblxuLy8gRmlyc3Rcbi8vIC0tLS0tXG4vLyAtIFskY29udGV4dF06IDxzZXR0aW5ncz5cbkBtaXhpbiBmaXJzdChcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgJGluc3BlY3QgIDogJGNvbnRleHQ7XG4gICRjb250ZXh0ICA6IHBhcnNlLWdyaWQoJGNvbnRleHQpO1xuICAkZmxvdyAgICAgOiBzdXN5LWdldChmbG93LCAkY29udGV4dCk7XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KGZpcnN0LCAkaW5zcGVjdCk7XG4gIEBpZiBub3QoaXMtc3BsaXQoJGNvbnRleHQpKSB7XG4gICAgQGluY2x1ZGUgZmxvYXQtZmlyc3QoJGZsb3cpO1xuICB9XG59XG5cbkBtaXhpbiBhbHBoYShcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgQGluY2x1ZGUgZmlyc3QoJGNvbnRleHQpO1xufVxuXG5cbi8vIExhc3Rcbi8vIC0tLS1cbi8vIC0gWyRjb250ZXh0XTogPHNldHRpbmdzPlxuQG1peGluIGxhc3QoXG4gICRjb250ZXh0OiAkc3VzeVxuKSB7XG4gICRpbnNwZWN0ICA6ICRjb250ZXh0O1xuICAkY29udGV4dCAgOiBwYXJzZS1ncmlkKCRjb250ZXh0KTtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QobGFzdCwgJGluc3BlY3QpO1xuXG4gICRvdXRwdXQ6IChcbiAgICBmbG93OiBzdXN5LWdldChmbG93LCAkY29udGV4dCksXG4gICAgbGFzdC1mbG93OiBzdXN5LWdldChsYXN0LWZsb3csICRjb250ZXh0KSxcbiAgICBtYXJnaW46IGlmKGlzLXNwbGl0KCRjb250ZXh0KSwgbnVsbCwgMCksXG4gICk7XG5cbiAgQGluY2x1ZGUgZmxvYXQtbGFzdCgkb3V0cHV0Li4uKTtcbn1cblxuQG1peGluIG9tZWdhKFxuICAkY29udGV4dDogJHN1c3lcbikge1xuICBAaW5jbHVkZSBsYXN0KCRjb250ZXh0KTtcbn1cblxuXG4vLyBHZXQgRWRnZVxuLy8gLS0tLS0tLS1cbi8vIENhbGN1bGF0ZSBlZGdlIHZhbHVlIGJhc2VkIG9uIGxvY2F0aW9uLCBpZiBwb3NzaWJsZVxuQGZ1bmN0aW9uIGdldC1lZGdlKFxuICAkc3BhblxuKSB7XG4gICRzcGFuICAgICAgIDogcGFyc2Utc3Bhbigkc3Bhbik7XG4gICRlZGdlICAgICAgIDogc3VzeS1nZXQoZWRnZSwgJHNwYW4pO1xuXG4gIEBpZiBub3QoJGVkZ2UpIHtcbiAgICAkY291bnQ6IHN1c3ktY291bnQoc3VzeS1nZXQoY29sdW1ucywgJHNwYW4pKTtcbiAgICAkbG9jYXRpb246IHN1c3ktZ2V0KGxvY2F0aW9uLCAkc3Bhbik7XG4gICAgJG46IHN1c3ktZ2V0KHNwYW4sICRzcGFuKTtcblxuICAgICRudW1iZXI6IGlmKHR5cGUtb2YoJGxvY2F0aW9uKSA9PSBudW1iZXIsIHRydWUsIGZhbHNlKTtcbiAgICAkaW5kZXg6IGlmKCRudW1iZXIgYW5kIHVuaXRsZXNzKCRsb2NhdGlvbiksIHRydWUsIGZhbHNlKTtcblxuICAgIEBpZiAkbiA9PSAkY291bnQge1xuICAgICAgJGVkZ2U6IGZ1bGw7XG4gICAgfSBAZWxzZSBpZiAkbG9jYXRpb24gYW5kICRuIGFuZCAkaW5kZXgge1xuICAgICAgQGlmICRsb2NhdGlvbiA9PSAxIHtcbiAgICAgICAgJGVkZ2U6IGlmKCRuID09ICRjb3VudCwgZnVsbCwgZmlyc3QpO1xuICAgICAgfSBAZWxzZSBpZiAkbG9jYXRpb24gKyAkbiAtIDEgPT0gJGNvdW50IHtcbiAgICAgICAgJGVkZ2U6IGxhc3Q7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRlZGdlID09IGFscGhhIG9yICRlZGdlID09IG9tZWdhIHtcbiAgICAkZWRnZTogaWYoJGVkZ2UgPT0gYWxwaGEsIGZpcnN0LCBsYXN0KTtcbiAgfVxuXG4gIEByZXR1cm4gJGVkZ2U7XG59XG5cblxuLy8gR2V0IExvY2F0aW9uXG4vLyAtLS0tLS0tLS0tLS1cbi8vIENhbGN1bGF0ZSBsb2NhdGlvbiB2YWx1ZSBiYXNlZCBvbiBlZGdlLCBpZiBwb3NzaWJsZVxuQGZ1bmN0aW9uIGdldC1sb2NhdGlvbihcbiAgJHNwYW5cbikge1xuICAkc3BhbiAgICAgICA6IHBhcnNlLXNwYW4oJHNwYW4pO1xuICAkbG9jYXRpb24gICA6IHN1c3ktZ2V0KGxvY2F0aW9uLCAkc3Bhbik7XG4gICRlZGdlICAgICAgIDogZ2V0LWVkZ2UoJHNwYW4pO1xuICAkbiAgICAgICAgICA6IHN1c3ktZ2V0KHNwYW4sICRzcGFuKTtcblxuICBAaWYgJGVkZ2UgYW5kIG5vdCgkbG9jYXRpb24pIGFuZCB0eXBlLW9mKCRuKSA9PSBudW1iZXIgYW5kIHVuaXRsZXNzKCRuKSB7XG4gICAgQGlmICRlZGdlID09IGZpcnN0IHtcbiAgICAgICRsb2NhdGlvbjogMTtcbiAgICB9IEBlbHNlIGlmICRlZGdlID09IGxhc3Qge1xuICAgICAgJGxvY2F0aW9uOiBzdXN5LWNvdW50KHN1c3ktZ2V0KGNvbHVtbnMsICRzcGFuKSkgLSAkbiArIDE7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbG9jYXRpb25cbn1cbiIsIi8vIE1hcmdpbiBTeW50YXhcbi8vID09PT09PT09PT09PT1cblxuLy8gUHJlXG4vLyAtLS1cbi8vIEFkZCBzcGFubmluZy1tYXJnaW5zIGJlZm9yZSBhbiBlbGVtZW50LlxuLy8gLSAkc3BhbiAgOiA8c3Bhbj5cbkBtaXhpbiBwcmUoXG4gICRzcGFuXG4pIHtcbiAgJGluc3BlY3Q6ICRzcGFuO1xuICAkc3BhbiAgIDogbWFwLW1lcmdlKChzcHJlYWQ6IHdpZGUpLCBwYXJzZS1zcGFuKCRzcGFuKSk7XG4gICRmbG93ICAgOiBzdXN5LWdldChmbG93LCAkc3Bhbik7XG4gICRzcGxpdCAgOiBpZihzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRzcGFuKSA9PSBzcGxpdCwgdHJ1ZSwgZmFsc2UpO1xuICAkZ3V0dGVyIDogZ3V0dGVyKCRzcGFuKTtcbiAgJHNwYW4gICA6IHNwYW4oJHNwYW4pO1xuICAkd2lkdGggIDogaWYoJHNwbGl0IGFuZCAkZ3V0dGVyLCAkc3BhbiArICRndXR0ZXIsICRzcGFuKTtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QocHJlLCAkaW5zcGVjdCk7XG4gIEBpbmNsdWRlIG1hcmdpbi1vdXRwdXQoJHdpZHRoLCBudWxsLCAkZmxvdyk7XG59XG5cbi8vIFBvc3Rcbi8vIC0tLS1cbi8vIEFkZCBzcGFubmluZy1tYXJnaW5zIGFmdGVyIGFuIGVsZW1lbnQuXG4vLyAtICRzcGFuICA6IDxzcGFuPlxuQG1peGluIHBvc3QoXG4gICRzcGFuXG4pIHtcbiAgJGluc3BlY3QgIDogJHNwYW47XG4gICRzcGFuICAgICA6IG1hcC1tZXJnZSgoc3ByZWFkOiB3aWRlKSwgcGFyc2Utc3Bhbigkc3BhbikpO1xuICAkZmxvdyAgICAgOiBzdXN5LWdldChmbG93LCAkc3Bhbik7XG4gICRzcGxpdCAgICA6IGlmKHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJHNwYW4pID09IHNwbGl0LCB0cnVlLCBmYWxzZSk7XG4gICR3aWR0aCAgICA6IGlmKCRzcGxpdCwgc3Bhbigkc3BhbikgKyBndXR0ZXIoJHNwYW4pLCBzcGFuKCRzcGFuKSk7XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KHBvc3QsICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgbWFyZ2luLW91dHB1dChudWxsLCAkd2lkdGgsICRmbG93KTtcbn1cblxuLy8gUHVzaFxuLy8gLS0tLVxuLy8gU2ltcGxlIHN5bm9ueW1uIGZvciBwcmUuXG4vLyAtICRzcGFuICA6IDxzcGFuPlxuQG1peGluIHB1c2goXG4gICRzcGFuXG4pIHtcbiAgQGluY2x1ZGUgcHJlKCRzcGFuKTtcbn1cblxuLy8gUHVsbFxuLy8gLS0tLVxuLy8gQWRkIG5lZ2F0aXZlIHNwYW5uaW5nLW1hcmdpbnMgYmVmb3JlIGFuIGVsZW1lbnQuXG4vLyAtICRzcGFuICA6IDxzcGFuPlxuQG1peGluIHB1bGwoXG4gICRzcGFuXG4pIHtcbiAgJGluc3BlY3QgIDogJHNwYW47XG4gICRzcGFuICAgICA6IG1hcC1tZXJnZSgoc3ByZWFkOiB3aWRlKSwgcGFyc2Utc3Bhbigkc3BhbikpO1xuICAkZmxvdyAgICAgOiBzdXN5LWdldChmbG93LCAkc3Bhbik7XG4gICRzcGxpdCAgICA6IGlmKHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJHNwYW4pID09IHNwbGl0LCB0cnVlLCBmYWxzZSk7XG4gICR3aWR0aCAgICA6IGlmKCRzcGxpdCwgMCAtIHNwYW4oJHNwYW4pICsgZ3V0dGVyKCRzcGFuKSwgMCAtIHNwYW4oJHNwYW4pKTtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QocHVsbCwgJGluc3BlY3QpO1xuICBAaW5jbHVkZSBtYXJnaW4tb3V0cHV0KCR3aWR0aCwgbnVsbCwgJGZsb3cpO1xufVxuXG4vLyBTcXVpc2hcbi8vIC0tLS0tLVxuLy8gQWRkIHNwYW5uaW5nLW1hcmdpbnMgYmVmb3JlIGFuZCBhZnRlciBhbiBlbGVtZW50LlxuLy8gLSAkcHJlICAgICA6IDxzcGFuPlxuLy8gLSBbJHBvc3RdICA6IDxzcGFuPlxuQG1peGluIHNxdWlzaChcbiAgJHByZSxcbiAgJHBvc3Q6IGZhbHNlXG4pIHtcbiAgJGluc3BlY3QgICAgICA6ICgkcHJlLCAkcG9zdCk7XG4gICRwcmUgICAgICAgICAgOiBtYXAtbWVyZ2UoKHNwcmVhZDogd2lkZSksIHBhcnNlLXNwYW4oJHByZSkpO1xuXG4gIEBpZiAkcG9zdCB7XG4gICAgJHBvc3Q6IG1hcC1tZXJnZSgoc3ByZWFkOiB3aWRlKSwgcGFyc2Utc3BhbigkcG9zdCkpO1xuICB9IEBlbHNlIHtcbiAgICAkc3Bhbjogc3VzeS1nZXQoc3BhbiwgJHByZSk7XG4gICAgQGlmIGxlbmd0aCgkc3BhbikgPiAxIHtcbiAgICAgICRwcmU6IG1hcC1tZXJnZSgkcHJlLCAoc3BhbjogbnRoKCRzcGFuLCAxKSkpO1xuICAgICAgJHBvc3Q6IG1hcC1tZXJnZSgkcHJlLCAoc3BhbjogbnRoKCRzcGFuLCAyKSkpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHBvc3Q6ICRwcmU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KHNxdWlzaCwgJGluc3BlY3QpO1xuICBAaW5jbHVkZSBwcmUoJHByZSk7XG4gIEBpbmNsdWRlIHBvc3QoJHBvc3QpO1xufVxuIiwiLy8gUGFkZGluZyBTeW50YXhcbi8vID09PT09PT09PT09PT09XG5cbi8vIFByZWZpeFxuLy8gLS0tLS0tXG4vLyBBZGQgc3Bhbm5pbmctcGFkZGluZyBiZWZvcmUgYW4gZWxlbWVudC5cbi8vIC0gJHNwYW4gIDogPHNwYW4+XG5AbWl4aW4gcHJlZml4KFxuICAkc3BhblxuKSB7XG4gICRpbnNwZWN0ICA6ICRzcGFuO1xuICAkc3BhbiAgICAgOiBtYXAtbWVyZ2UoKHNwcmVhZDogd2lkZSksIHBhcnNlLXNwYW4oJHNwYW4pKTtcbiAgJGZsb3cgICAgIDogc3VzeS1nZXQoZmxvdywgJHNwYW4pO1xuICAkd2lkdGggICAgOiBzcGFuKCRzcGFuKTtcblxuICBAaWYgaXMtaW5zaWRlKCRzcGFuKSB7XG4gICAgJGd1dHRlcjogZ3V0dGVyKCRzcGFuKTtcbiAgICAkd2lkdGg6IGlmKCRndXR0ZXIgYW5kIGNvbXBhcmFibGUoJHdpZHRoLCAkZ3V0dGVyKSwgJHdpZHRoICsgJGd1dHRlciwgJHdpZHRoKTtcbiAgfVxuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChwcmVmaXgsICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgcGFkZGluZy1vdXRwdXQoJHdpZHRoLCBudWxsLCAkZmxvdyk7XG59XG5cbi8vIFN1ZmZpeFxuLy8gLS0tLS0tXG4vLyBBZGQgc3Bhbm5pbmctcGFkZGluZyBhZnRlciBhbiBlbGVtZW50LlxuLy8gLSAkc3BhbiAgOiA8c3Bhbj5cbkBtaXhpbiBzdWZmaXgoXG4gICRzcGFuXG4pIHtcbiAgJGluc3BlY3QgIDogJHNwYW47XG4gICRzcGFuICAgICA6IG1hcC1tZXJnZSgoc3ByZWFkOiB3aWRlKSwgcGFyc2Utc3Bhbigkc3BhbikpO1xuICAkZmxvdyAgICAgOiBzdXN5LWdldChmbG93LCAkc3Bhbik7XG4gICR3aWR0aCAgICA6IHNwYW4oJHNwYW4pO1xuXG4gIEBpZiBpcy1pbnNpZGUoJHNwYW4pIHtcbiAgICAkZ3V0dGVyOiBndXR0ZXIoJHNwYW4pO1xuICAgICR3aWR0aDogaWYoJGd1dHRlciBhbmQgY29tcGFyYWJsZSgkd2lkdGgsICRndXR0ZXIpLCAkd2lkdGggKyAkZ3V0dGVyLCAkd2lkdGgpO1xuICB9XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KHN1ZmZpeCwgJGluc3BlY3QpO1xuICBAaW5jbHVkZSBwYWRkaW5nLW91dHB1dChudWxsLCAkd2lkdGgsICRmbG93KTtcbn1cblxuLy8gUGFkXG4vLyAtLS1cbi8vIEFkZCBzcGFubmluZy1wYWRkaW5nIGJlZm9yZSBhbmQgYWZ0ZXIgYW4gZWxlbWVudC5cbi8vIC0gJHByZSAgICAgOiA8c3Bhbj5cbi8vIC0gWyRwb3N0XSAgOiA8c3Bhbj5cbkBtaXhpbiBwYWQoXG4gICRwcmUsXG4gICRwb3N0OiBmYWxzZVxuKSB7XG4gICRpbnNwZWN0ICA6ICgkcHJlLCAkcG9zdCk7XG4gICRwcmUgICAgICA6IG1hcC1tZXJnZSgoc3ByZWFkOiB3aWRlKSwgcGFyc2Utc3BhbigkcHJlKSk7XG5cbiAgQGlmICRwb3N0IHtcbiAgICAkcG9zdDogbWFwLW1lcmdlKChzcHJlYWQ6IHdpZGUpLCBwYXJzZS1zcGFuKCRwb3N0KSk7XG4gIH0gQGVsc2Uge1xuICAgICRzcGFuOiBzdXN5LWdldChzcGFuLCAkcHJlKTtcbiAgICBAaWYgbGVuZ3RoKCRzcGFuKSA+IDEge1xuICAgICAgJHByZTogbWFwLW1lcmdlKCRwcmUsIChzcGFuOiBudGgoJHNwYW4sIDEpKSk7XG4gICAgICAkcG9zdDogbWFwLW1lcmdlKCRwcmUsIChzcGFuOiBudGgoJHNwYW4sIDIpKSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcG9zdDogJHByZTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QocGFkLCAkaW5zcGVjdCk7XG4gIEBpbmNsdWRlIHByZWZpeCgkcHJlKTtcbiAgQGluY2x1ZGUgc3VmZml4KCRwb3N0KTtcblxufVxuIiwiLy8gQmxlZWQgU3ludGF4XG4vLyA9PT09PT09PT09PT1cblxuLy8gQmxlZWRcbi8vIC0tLS0tXG4vLyBBZGQgbmVnYXRpdmUgbWFyZ2lucywgYW5kIGVxdWFsIHBvc2l0aXZlIHBhZGRpbmcgdG8gY3JlYXRlIGJsZWVkLlxuLy8gLSAkYmxlZWQgIDogPHNwYW4+XG5AbWl4aW4gYmxlZWQoXG4gICRibGVlZDogMCBndXR0ZXIoKVxuKSB7XG4gICRpbnNwZWN0ICA6ICRibGVlZDtcbiAgJG91dHB1dCAgIDogZ2V0LWJsZWVkKCRibGVlZCk7XG5cbiAgQGlmIHN1c3ktZ2V0KGdsb2JhbC1ib3gtc2l6aW5nKSAhPSBjb250ZW50LWJveCB7XG4gICAgJG91dHB1dDogbWFwLW1lcmdlKChib3gtc2l6aW5nOiBjb250ZW50LWJveCksICRvdXRwdXQpO1xuICB9XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KGJsZWVkLCAkaW5zcGVjdCk7XG4gIEBpbmNsdWRlIG91dHB1dCgkb3V0cHV0KTtcbn1cblxuXG4vLyBCbGVlZC14XG4vLyAtLS0tLS0tXG4vLyBTaG9ydGN1dCBmb3IgaG9yaXpvbnRhbCBibGVlZC5cbi8vIC0gJGJsZWVkICA6IDxzcGFuPlxuQG1peGluIGJsZWVkLXgoXG4gICRibGVlZDogZ3V0dGVyKClcbikge1xuICAkYmxlZWQgIDogcGFyc2Utc3BhbigkYmxlZWQpO1xuICAkdHJibCAgIDogc3VzeS1nZXQoc3BhbiwgJGJsZWVkKTtcblxuICBAaWYgbGVuZ3RoKCR0cmJsKSA9PSAxIHtcbiAgICAkYmxlZWQ6IG1hcC1tZXJnZSgkYmxlZWQsIChzcGFuOiAwIG50aCgkdHJibCwgMSkpKTtcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHRyYmwpID09IDIge1xuICAgICRibGVlZDogbWFwLW1lcmdlKCRibGVlZCwgKHNwYW46IDAgbnRoKCR0cmJsLCAyKSAwIG50aCgkdHJibCwgMSkpKTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJ2JsZWVkLXggb25seSB0YWtlcyAyIGxlbmd0aHMsIGJ1dCAje2xlbmd0aCgkdHJibCl9IHdlcmUgcGFzc2VkLic7XG4gIH1cblxuICBAaW5jbHVkZSBibGVlZCgkYmxlZWQpO1xufVxuXG5cbi8vIEJsZWVkLXlcbi8vIC0tLS0tLS1cbi8vIFNob3J0Y3V0IGZvciB2ZXJ0aWNhbCBibGVlZC5cbi8vIC0gJGJsZWVkICA6IDxzcGFuPlxuQG1peGluIGJsZWVkLXkoXG4gICRibGVlZDogaWYoZnVuY3Rpb24tZXhpc3RzKHJoeXRobSksIHJoeXRobSgxKSwgMWVtKVxuKSB7XG4gICRibGVlZCAgOiBwYXJzZS1zcGFuKCRibGVlZCk7XG4gICR0cmJsICAgOiBzdXN5LWdldChzcGFuLCAkYmxlZWQpO1xuXG4gIEBpZiBsZW5ndGgoJHRyYmwpID09IDEge1xuICAgICRibGVlZDogbWFwLW1lcmdlKCRibGVlZCwgKHNwYW46IG50aCgkdHJibCwgMSkgMCkpO1xuICB9IEBlbHNlIGlmIGxlbmd0aCgkdHJibCkgPT0gMiB7XG4gICAgJGJsZWVkOiBtYXAtbWVyZ2UoJGJsZWVkLCAoc3BhbjogbnRoKCR0cmJsLCAxKSAwIG50aCgkdHJibCwgMikgMCkpO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAnYmxlZWQteSBvbmx5IHRha2VzIDIgbGVuZ3RocywgYnV0ICN7bGVuZ3RoKCR0cmJsKX0gd2VyZSBwYXNzZWQuJztcbiAgfVxuXG4gIEBpbmNsdWRlIGJsZWVkKCRibGVlZCk7XG59XG5cblxuLy8gR2V0IEJsZWVkXG4vLyAtLS0tLS0tLS1cbi8vIFJldHVybiBibGVlZCBvdXRwdXQgdmFsdWVzXG4vLyAtICRibGVlZDogPHNwYW4+XG5AZnVuY3Rpb24gZ2V0LWJsZWVkKFxuICAkYmxlZWRcbikge1xuICAkYmxlZWQgICAgOiBtYXAtbWVyZ2UoKHNwcmVhZDogd2lkZSksIHBhcnNlLXNwYW4oJGJsZWVkKSk7XG4gICR0cmJsICAgICA6IHN1c3ktZ2V0KHNwYW4sICRibGVlZCk7XG4gICRzaG9ydCAgICA6IG51bGw7XG4gICRvdXRwdXQgICA6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCR0cmJsKSB7XG4gICAgJHRoaXM6IG50aCgkdHJibCwgJGkpO1xuICAgICRuZXc6ICgpO1xuICAgICRtYXJnaW46IG51bGw7XG4gICAgJHBhZGRpbmc6IG51bGw7XG4gICAgJHBhZGRpbmcteDogbnVsbDtcblxuICAgIEBpZiAkdGhpcyA+IDAge1xuICAgICAgJHRoaXM6IG1hcC1tZXJnZSgkYmxlZWQsIChzcGFuOiAkdGhpcykpO1xuICAgICAgJG1hcmdpbjogc3BhbigkdGhpcyk7XG4gICAgICAkcGFkZGluZzogJG1hcmdpbjtcbiAgICAgICRwYWRkaW5nLXg6ICRwYWRkaW5nO1xuICAgIH1cblxuICAgIEBpZiAkbWFyZ2luIGFuZCAkbWFyZ2luID4gMCB7XG4gICAgICAkbWFyZ2luOiAtICRtYXJnaW47XG5cbiAgICAgIEBpZiBpcy1pbnNpZGUoJHRoaXMpIHtcbiAgICAgICAgJGd1dHRlcjogZ3V0dGVyKCR0aGlzKTtcbiAgICAgICAgJGpvaW46IGlmKCRndXR0ZXIgYW5kIGNvbXBhcmFibGUoJHBhZGRpbmcsICRndXR0ZXIpLCB0cnVlLCBmYWxzZSk7XG4gICAgICAgICRwYWRkaW5nLXg6IGlmKCRqb2luIGFuZCAkcGFkZGluZyA+IDAsICRwYWRkaW5nICsgJGd1dHRlciwgJHBhZGRpbmcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkaSA9PSAxIHtcbiAgICAgICRuZXc6IChcbiAgICAgICAgbWFyZ2luLXRvcDogJG1hcmdpbixcbiAgICAgICAgcGFkZGluZy10b3A6ICRwYWRkaW5nLFxuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4sXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nLXgsXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW4sXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZyxcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW4sXG4gICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmcteCxcbiAgICAgICk7XG4gICAgfSBAZWxzZSBpZiAkaSA9PSAyIHtcbiAgICAgICRuZXc6IChcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZy14LFxuICAgICAgICBtYXJnaW4tbGVmdDogJG1hcmdpbixcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZy14LFxuICAgICAgKTtcbiAgICB9IEBlbHNlIGlmICRpID09IDMge1xuICAgICAgJG5ldzogKFxuICAgICAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLFxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmcsXG4gICAgICApO1xuICAgIH0gQGVsc2UgaWYgJGkgPT0gNCB7XG4gICAgICAkbmV3OiAoXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luLFxuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nLXgsXG4gICAgICApO1xuICAgIH1cblxuICAgICRvdXRwdXQ6IG1hcC1tZXJnZSgkb3V0cHV0LCAkbmV3KTtcbiAgfVxuXG4gIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJG91dHB1dCB7XG4gICAgJG91dHB1dDogaWYoJHZhbHVlID09IDAsIG1hcC1tZXJnZSgkb3V0cHV0LCAoJHByb3A6IG51bGwpKSwgJG91dHB1dCk7XG4gIH1cblxuICBAcmV0dXJuIGJsZWVkLXNob3J0aGFuZCgkb3V0cHV0KTtcbn1cblxuLy8gQmxlZWQgU2hvcnRoYW5kXG4vLyAtLS0tLS0tLS0tLS0tLS1cbi8vIENvbnZlcnQgYmxlZWQgb3V0cHV0IGludG8gc2hvcnRoYW5kIHdoZW4gcG9zc2libGUuXG4vLyAtICRibGVlZDogPG91dHB1dCBtYXA+XG5AZnVuY3Rpb24gYmxlZWQtc2hvcnRoYW5kKFxuICAkYmxlZWRcbikge1xuICAkbWFyZ2luOiAoKTtcbiAgJHBhZGRpbmc6ICgpO1xuICAkcmV0dXJuOiAoKTtcblxuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGJsZWVkIHtcbiAgICBAaWYgc3RyLWluZGV4KCRrZXksIG1hcmdpbikge1xuICAgICAgJG1hcmdpbjogbWFwLW1lcmdlKCRtYXJnaW4sICgka2V5OiAkdmFsdWUpKTtcbiAgICB9IEBlbHNlIGlmIHN0ci1pbmRleCgka2V5LCBwYWRkaW5nKSA+IDAge1xuICAgICAgJHBhZGRpbmc6IG1hcC1tZXJnZSgkcGFkZGluZywgKCRrZXk6ICR2YWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gICRwcm9wczogKFxuICAgIG1hcmdpbjogJG1hcmdpbixcbiAgICBwYWRkaW5nOiAkcGFkZGluZyxcbiAgKTtcblxuICBAZWFjaCAkbmFtZSwgJG1hcCBpbiAkcHJvcHMge1xuICAgICRmb3VyOiBpZihsZW5ndGgobWFwLWtleXMoJG1hcCkpID09IDQsIHRydWUsIGZhbHNlKTtcbiAgICAkbnVsbDogaWYoaW5kZXgobWFwLXZhbHVlcygkbWFwKSwgbnVsbCksIHRydWUsIGZhbHNlKTtcblxuICAgIEBpZiAkZm91ciBhbmQgbm90KCRudWxsKSB7XG4gICAgICAkdG9wOiBtYXAtZ2V0KCRtYXAsICcjeyRuYW1lfS10b3AnKTtcbiAgICAgICRyaWdodDogbWFwLWdldCgkbWFwLCAnI3skbmFtZX0tcmlnaHQnKTtcbiAgICAgICRib3R0b206IG1hcC1nZXQoJG1hcCwgJyN7JG5hbWV9LWJvdHRvbScpO1xuICAgICAgJGxlZnQ6IG1hcC1nZXQoJG1hcCwgJyN7JG5hbWV9LWxlZnQnKTtcblxuICAgICAgJHRiOiBpZigkdG9wID09ICRib3R0b20sICR0b3AsIG51bGwpO1xuICAgICAgJHJsOiBpZigkcmlnaHQgPT0gJGxlZnQsICRyaWdodCwgbnVsbCk7XG4gICAgICAkYWxsOiBpZigkdGIgPT0gJHJsLCAkdGIsIG51bGwpO1xuXG4gICAgICAkbmV3OiBpZigkYWxsLCAkYWxsLCBudWxsKTtcblxuICAgICAgQGlmIG5vdCgkbmV3KSB7XG4gICAgICAgIEBpZiAkdGIgYW5kICRybCB7XG4gICAgICAgICAgJG5ldzogJHRiICRybDtcbiAgICAgICAgfSBAZWxzZSBpZiAkcmwge1xuICAgICAgICAgICRuZXc6ICR0b3AgJHJsICRib3R0b207XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICRuZXc6ICR0b3AgJHJpZ2h0ICRib3R0b20gJGxlZnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJHJldHVybjogbWFwLW1lcmdlKCRyZXR1cm4sICgkbmFtZTogJG5ldykpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHJldHVybjogbWFwLW1lcmdlKCRyZXR1cm4sICRtYXApO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHJldHVybjtcbn1cbiIsIi8vIEJyZWFrcG9pbnQgSW50ZWdyYXRpb25cbi8vID09PT09PT09PT09PT09PT09PT09PT1cblxuJHN1c3ktbWVkaWE6ICgpICFkZWZhdWx0O1xuJHN1c3ktbWVkaWEtZmFsbGJhY2s6IGZhbHNlICFkZWZhdWx0O1xuXG4kX3N1c3ktbWVkaWEtY29udGV4dDogKCk7XG5cblxuLy8gU3VzeSBCcmVha3BvaW50XG4vLyAtLS0tLS0tLS0tLS0tLS1cbi8vIENoYW5nZSBncmlkcyBhdCBkaWZmZXJlbnQgbWVkaWEgcXVlcnkgYnJlYWtwb2ludHMuXG4vLyAtICRxdWVyeSAgICAgOiA8bWluLXdpZHRoPiBbPG1heC13aWR0aD5dIHwgPHByb3BlcnR5PiA8dmFsdWU+IHwgPG1hcD5cbi8vIC0gJGxheW91dCAgICA6IDxzZXR0aW5ncz5cbi8vIC0gJG5vLXF1ZXJ5ICA6IDxib29sZWFuPiB8IDxzZWxlY3Rvcj5cbkBtaXhpbiBzdXN5LWJyZWFrcG9pbnQoXG4gICRxdWVyeSxcbiAgJGxheW91dDogZmFsc2UsXG4gICRuby1xdWVyeTogJHN1c3ktbWVkaWEtZmFsbGJhY2tcbikge1xuICBAaW5jbHVkZSBzdXN5LW1lZGlhLXJvdXRlcigkcXVlcnksICRuby1xdWVyeSkge1xuICAgIEBpZiAkbGF5b3V0IHtcbiAgICAgIEBpbmNsdWRlIHdpdGgtbGF5b3V0KCRsYXlvdXQpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBTdXN5IE1lZGlhXG4vLyAtLS0tLS0tLS0tXG4vLyAtICRxdWVyeTogPG1pbi13aWR0aD4gWzxtYXgtd2lkdGg+XSB8IDxwcm9wZXJ0eT4gPHZhbHVlPlxuLy8gLSAkbm8tcXVlcnk6IDxib29sZWFuPiB8IDxzZWxlY3Rvcj5cbkBtaXhpbiBzdXN5LW1lZGlhKFxuICAkcXVlcnksXG4gICRuby1xdWVyeTogJHN1c3ktbWVkaWEtZmFsbGJhY2tcbikge1xuICAkb2xkLWNvbnRleHQ6ICRfc3VzeS1tZWRpYS1jb250ZXh0O1xuICAkbmFtZTogaWYobWFwLWhhcy1rZXkoJHN1c3ktbWVkaWEsICRxdWVyeSksICRxdWVyeSwgbnVsbCk7XG4gICRxdWVyeTogc3VzeS1nZXQtbWVkaWEoJHF1ZXJ5KTtcbiAgJHF1ZXJ5OiBzdXN5LXBhcnNlLW1lZGlhKCRxdWVyeSk7XG5cbiAgQGluY2x1ZGUgc3VzeS1tZWRpYS1jb250ZXh0KCRxdWVyeSwgJG5hbWUpO1xuXG4gIEBpZiAkbm8tcXVlcnkgYW5kIHR5cGUtb2YoJG5vLXF1ZXJ5KSAhPSBzdHJpbmcge1xuICAgIEBjb250ZW50O1xuICB9IEBlbHNlIHtcbiAgICBAbWVkaWEgI3tzdXN5LXJlbmRlci1tZWRpYSgkcXVlcnkpfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICBAaWYgdHlwZS1vZigkbm8tcXVlcnkpID09IHN0cmluZyB7XG4gICAgICAjeyRuby1xdWVyeX0gJiB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHN1c3ktbWVkaWEtY29udGV4dCgkb2xkLWNvbnRleHQsICRjbGVhbjogdHJ1ZSk7XG59XG5cblxuLy8gTWVkaWEgUm91dGVyXG4vLyAtLS0tLS0tLS0tLS1cbi8vIFJvdXQgbWVkaWEgYXJndW1lbnRzIHRvIHRoZSBjb3JyZWN0IG1peGluLlxuQG1peGluIHN1c3ktbWVkaWEtcm91dGVyKFxuICAkcXVlcnksXG4gICRuby1xdWVyeTogJHN1c3ktbWVkaWEtZmFsbGJhY2tcbikge1xuICBAaWYgc3VzeS1zdXBwb3J0KGJyZWFrcG9pbnQsIChtaXhpbjogYnJlYWtwb2ludCksICR3YXJuOiBmYWxzZSkge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHF1ZXJ5LCAkbm8tcXVlcnkpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgc3VzeS1tZWRpYSgkcXVlcnksICRuby1xdWVyeSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8gVXBkYXRlIENvbnRleHRcbi8vIC0tLS0tLS0tLS0tLS1cbi8vIFNldCB0aGUgbmV3IG1lZGlhIGNvbnRleHRcbkBtaXhpbiBzdXN5LW1lZGlhLWNvbnRleHQoXG4gICRxdWVyeSxcbiAgJG5hbWU6IG51bGwsXG4gICRjbGVhbjogZmFsc2Vcbikge1xuICAkcXVlcnk6IG1hcC1tZXJnZSgobmFtZTogJG5hbWUpLCAkcXVlcnkpO1xuXG4gIEBpZiAkY2xlYW4ge1xuICAgICRfc3VzeS1tZWRpYS1jb250ZXh0OiAkcXVlcnkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJF9zdXN5LW1lZGlhLWNvbnRleHQ6IG1hcC1tZXJnZSgkX3N1c3ktbWVkaWEtY29udGV4dCwgJHF1ZXJ5KSAhZ2xvYmFsO1xuICB9XG59XG5cblxuLy8gTWVkaWEgQ29udGV4dFxuLy8gLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIHRoZSBmdWxsIG1lZGlhIGNvbnRleHQsIG9yIGEgc2luZ2xlIG1lZGlhIHByb3BlcnR5IChlLmcuIG1pbi13aWR0aClcbkBmdW5jdGlvbiBzdXN5LW1lZGlhLWNvbnRleHQoXG4gICRwcm9wZXJ0eTogZmFsc2Vcbikge1xuICBAaWYgJHByb3BlcnR5IHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJF9zdXN5LW1lZGlhLWNvbnRleHQsICRwcm9wZXJ0eSk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gJF9zdXN5LW1lZGlhLWNvbnRleHQ7XG4gIH1cbn1cblxuXG4vLyBHZXQgTWVkaWFcbi8vIC0tLS0tLS0tLVxuLy8gUmV0dXJuIGEgbmFtZWQgbWVkaWEtcXVlcnkgZnJvbSAkc3VzeS1tZWRpYS5cbi8vIC0gJG5hbWU6IDxrZXk+XG5AZnVuY3Rpb24gc3VzeS1nZXQtbWVkaWEoXG4gICRuYW1lXG4pIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRzdXN5LW1lZGlhLCAkbmFtZSkge1xuICAgICRtYXAtdmFsdWU6IG1hcC1nZXQoJHN1c3ktbWVkaWEsICRuYW1lKTtcbiAgICBAaWYgKCRuYW1lID09ICRtYXAtdmFsdWUpIHtcbiAgICAgICRuYW1lOiAkbWFwLXZhbHVlO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJG5hbWU6IHN1c3ktZ2V0LW1lZGlhKCRtYXAtdmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG5hbWU7XG59XG5cblxuLy8gUmVuZGVyIE1lZGlhXG4vLyAtLS0tLS0tLS0tLS1cbi8vIEJ1aWxkIGEgbWVkaWEtcXVlcnkgc3RyaW5nIGZyb20gdmFyaW91cyBtZWRpYSBzZXR0aW5nc1xuQGZ1bmN0aW9uIHN1c3ktcmVuZGVyLW1lZGlhKFxuICAkcXVlcnlcbikge1xuICAkb3V0cHV0OiBudWxsO1xuICBAZWFjaCAkcHJvcGVydHksICR2YWx1ZSBpbiAkcXVlcnkge1xuICAgICRzdHJpbmc6IG51bGw7XG5cbiAgICBAaWYgJHByb3BlcnR5ID09IG1lZGlhIHtcbiAgICAgICRzdHJpbmc6ICR2YWx1ZTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRzdHJpbmc6ICcoI3skcHJvcGVydHl9OiAjeyR2YWx1ZX0pJztcbiAgICB9XG5cbiAgICAkb3V0cHV0OiBpZigkb3V0cHV0LCAnI3skb3V0cHV0fSBhbmQgI3skc3RyaW5nfScsICRzdHJpbmcpO1xuICB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuXG5cbi8vIFBhcnNlIE1lZGlhXG4vLyAtLS0tLS0tLS0tLVxuLy8gUmV0dXJuIHBhcnNlZCBtZWRpYS1xdWVyeSBzZXR0aW5ncyBiYXNlZCBvbiBzaG9ydGhhbmRcbkBmdW5jdGlvbiBzdXN5LXBhcnNlLW1lZGlhKFxuICAkcXVlcnlcbikge1xuICAkbXE6IG51bGw7XG4gIEBpZiB0eXBlLW9mKCRxdWVyeSkgPT0gbWFwIHtcbiAgICAkbXE6ICRxdWVyeTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCRxdWVyeSkgPT0gbnVtYmVyIHtcbiAgICAkbXE6IChtaW4td2lkdGg6ICRxdWVyeSk7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkcXVlcnkpID09IGxpc3QgYW5kIGxlbmd0aCgkcXVlcnkpID09IDIge1xuICAgIEBpZiB0eXBlLW9mKG50aCgkcXVlcnksIDEpKSA9PSBudW1iZXIge1xuICAgICAgJG1xOiAoXG4gICAgICAgIG1pbi13aWR0aDogbWluKCRxdWVyeS4uLiksXG4gICAgICAgIG1heC13aWR0aDogbWF4KCRxdWVyeS4uLiksXG4gICAgICApO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJG1xOiAobnRoKCRxdWVyeSwgMSk6IG50aCgkcXVlcnksIDIpKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICRtcTogKG1lZGlhOiAnI3skcXVlcnl9Jyk7XG4gIH1cblxuICBAcmV0dXJuICRtcTtcbn1cbiIsIi8vICAvKlxuLy8gICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgICAgICAgICA6OlRhYmxlIG9mIENvbnRlbnRzXG4vL1xuLy8gICAgICAgICAgMS4gIEZ1bmN0aW9uIHRvIGNvbnZlcnQgcHggdG8gZW1cbi8vICAgICAgICAgIDIuICBDZW50ZXJpbmcgTWl4aW5cbi8vICAgICAgICAgIDMuICBNYWludGFpbiBBc3BlY3QgUmF0aW8gTWl4aW5cbi8vICAgICAgICAgIDQuICBDbGVhcmZpeCBIYWNrXG4vLyAgICAgICAgICA1LiAgQ292ZXJpbmcgTWl4aW5cbi8vICAgICAgICAgIDYuICBUcmlhbmdsZSBNaXhpblxuLy8gICAgICAgICAgNy4gIEVhc2luZ3MgbWFwXG4vLyAgICAgICAgICA4LiAgRm9udCBTbW9vdGhpbmdcbi8vICAgICAgICAgIDkuICBDdXN0b20gU2Nyb2xsIEJhcnNcbi8vICAgICAgICAgIDEwLiBQb3NpdGlvbmluZyBNaXhpbnNcbi8vICAgICAgICAgIDExLiBTaW1wbGUgQXNzZXQgSGVscGVyIEZ1bmN0aW9uc1xuLy8gICAgICAgICAgMTIuIEJFTSBNaXhpbnNcbi8vICAgICAgICAgIDEzLiBTaW1wbGlmeSBFdmVudHMgTWl4aW5cbi8vICAgICAgICAgIDE0LiBVbHRpbWF0ZSBSZW0gTWl4aW5cbi8vICAgICAgICAgIDE1LiBTdGlja3kgSGVhZGVyIE1peGluXG4vLyAgICAgICAgICAxNi4gTWFyZ2luIENlbnRlclxuLy8gICAgICAgICAgMTcuIFNjcmVlbiBSZWFkZXIgVGV4dFxuLy9cbi8vICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gKi9cblxuXG4vLyAgLypcbi8vICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gICAgICAgICAgOjpGdW5jdGlvbiB0byBjb252ZXJ0IHB4IHRvIGVtXG4vLyAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICAqL1xuXG4gICAgJGJhc2UtZm9udC1zaXplOiAxNnB4O1xuXG4gICAgQGZ1bmN0aW9uIGVtKCRweCwgJGJhc2U6ICRiYXNlLWZvbnQtc2l6ZSkge1xuICAgICAgICBAcmV0dXJuICgkcHggLyAkYmFzZSkgKyAwZW07XG4gICAgfVxuXG4gICAgLy9FeGFtcGxlIFVzYWdlOlxuICAgIC8vICAuZXhhbXBsZSB7XG4gICAgLy8gICAgICBmb250LXNpemU6IGVtKDE2cHgpXG4gICAgLy8gIH1cblxuLy8gIC8qXG4vLyAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICAgICAgICAgIDo6Q2VudGVyaW5nIE1peGluXG4vLyAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICAqL1xuXG4gICAgQG1peGluIGNlbnRlcigkZXh0ZW5kOiB0cnVlKSB7XG4gICAgICAgIEBpZiAkZXh0ZW5kIHtcbiAgICAgICAgICAgIEBleHRlbmQgJWNlbnRlcjtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJWNlbnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNlbnRlcigkZXh0ZW5kOiBmYWxzZSk7XG4gICAgfVxuXG4gICAgQG1peGluIHZlcnRpY2FsLWNlbnRlcigkZXh0ZW5kOiB0cnVlKSB7XG4gICAgICAgIEBpZiAkZXh0ZW5kIHtcbiAgICAgICAgICAgIEBleHRlbmQgJXZlcnRpY2FsLWNlbnRlcjtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICV2ZXJ0aWNhbC1jZW50ZXIge1xuICAgICAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXIoJGV4dGVuZDogZmFsc2UpO1xuICAgIH1cblxuLy8gIC8qXG4vLyAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICAgICAgICAgIDo6TWFpbnRhaW4gQXNwZWN0IFJhdGlvIE1peGluXG4vLyAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICAqL1xuXG4gICAgQG1peGluIG1haW50YWluLWFzcGVjdC1yYXRpbygkd2lkdGgsICRoZWlnaHQpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogKCRoZWlnaHQgLyAkd2lkdGgpICogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmNvbnRlbnQge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4vLyAgLypcbi8vICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gICAgICAgICAgOjpDbGVhcmZpeCBIYWNrXG4vLyAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICAqL1xuXG4gICAgQG1peGluIGNsZWFyZml4KCRleHRlbmQ6IHRydWUpIHtcbiAgICAgICAgQGlmICRleHRlbmQge1xuICAgICAgICAgICAgQGV4dGVuZCAlY2xlYXJmaXg7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAlY2xlYXJmaXgge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXgoJGV4dGVuZDogZmFsc2UpO1xuICAgIH1cblxuLy8gIC8qXG4vLyAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICAgICAgICAgIDo6Q292ZXJpbmcgTWl4aW5cbi8vICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gICovXG5cbiAgICBAbWl4aW4gY292ZXJlcigkZXh0ZW5kOiB0cnVlKSB7XG4gICAgICAgIEBpZiAkZXh0ZW5kIHtcbiAgICAgICAgICAgIEBleHRlbmQgJWNvdmVyZXI7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJWNvdmVyZXIge1xuICAgICAgICBAaW5jbHVkZSBjb3ZlcmVyKCRleHRlbmQ6IGZhbHNlKTtcbiAgICB9XG5cbi8vICAvKlxuLy8gICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgICAgICAgICA6OlRyaWFuZ2xlIE1peGluXG4vLyAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICAqL1xuXG4gICAgQG1peGluIHRyaWFuZ2xlKCRzaWRlLCAkd2lkdGgsICRoZWlnaHQsICRjb2xvcikge1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IGluc2V0O1xuXG4gICAgICAgIEBpZiAoJHNpZGUgPT0gJ3RvcCcpIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAoJHdpZHRoLzIpKzBweCAkaGVpZ2h0KzBweCAoJHdpZHRoLzIpKzBweDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSByZ2JhKDI1NSwgMjU1LCAyNTUsIDApICRjb2xvciByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgICAgIH1cblxuICAgICAgICBAZWxzZSBpZiAoJHNpZGUgPT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAoJGhlaWdodC8yKSswcHggMCAoJGhlaWdodC8yKSswcHggJHdpZHRoKzBweDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgJGNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVsc2UgaWYgKCRzaWRlID09ICdib3R0b20nKSB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQrMHB4ICgkd2lkdGgvMikrMHB4IDAgKCR3aWR0aC8yKSswcHg7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6JGNvbG9yIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgICAgIH1cblxuICAgICAgICBAZWxzZSBpZiAoJHNpZGUgPT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICgkaGVpZ2h0LzIpKzBweCAkd2lkdGgrMHB4ICgkaGVpZ2h0LzIpKzBweCAwO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApICRjb2xvciByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgICAgICB9XG4gICAgfVxuXG4vLyAgLypcbi8vICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gICAgICAgICAgOjpFYXNpbmdzIE1hcFxuLy8gICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgKi9cblxuICAgIC8vIEBhdXRob3IgU2VhbiBEZW1wc2V5XG4gICAgLy8gRWFzaW5nIEZ1bmN0aW9uIE1hcCBHZXRcbiAgICAvLyBGdWxsIEV4YW1wbGUgYW5kIERlbW86IGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vc25pcHBldHMvc2Fzcy9lYXNpbmctbWFwLWdldC1mdW5jdGlvbi9cblxuICAgICRlYXNlOiAoXG4gICAgICBpbi1xdWFkOiAgICAgIGN1YmljLWJlemllcigwLjU1MCwgIDAuMDg1LCAwLjY4MCwgMC41MzApLFxuICAgICAgaW4tY3ViaWM6ICAgICBjdWJpYy1iZXppZXIoMC41NTAsICAwLjA1NSwgMC42NzUsIDAuMTkwKSxcbiAgICAgIGluLXF1YXJ0OiAgICAgY3ViaWMtYmV6aWVyKDAuODk1LCAgMC4wMzAsIDAuNjg1LCAwLjIyMCksXG4gICAgICBpbi1xdWludDogICAgIGN1YmljLWJlemllcigwLjc1NSwgIDAuMDUwLCAwLjg1NSwgMC4wNjApLFxuICAgICAgaW4tc2luZTogICAgICBjdWJpYy1iZXppZXIoMC40NzAsICAwLjAwMCwgMC43NDUsIDAuNzE1KSxcbiAgICAgIGluLWV4cG86ICAgICAgY3ViaWMtYmV6aWVyKDAuOTUwLCAgMC4wNTAsIDAuNzk1LCAwLjAzNSksXG4gICAgICBpbi1jaXJjOiAgICAgIGN1YmljLWJlemllcigwLjYwMCwgIDAuMDQwLCAwLjk4MCwgMC4zMzUpLFxuICAgICAgaW4tYmFjazogICAgICBjdWJpYy1iZXppZXIoMC42MDAsIC0wLjI4MCwgMC43MzUsIDAuMDQ1KSxcbiAgICAgIG91dC1xdWFkOiAgICAgY3ViaWMtYmV6aWVyKDAuMjUwLCAgMC40NjAsIDAuNDUwLCAwLjk0MCksXG4gICAgICBvdXQtY3ViaWM6ICAgIGN1YmljLWJlemllcigwLjIxNSwgIDAuNjEwLCAwLjM1NSwgMS4wMDApLFxuICAgICAgb3V0LXF1YXJ0OiAgICBjdWJpYy1iZXppZXIoMC4xNjUsICAwLjg0MCwgMC40NDAsIDEuMDAwKSxcbiAgICAgIG91dC1xdWludDogICAgY3ViaWMtYmV6aWVyKDAuMjMwLCAgMS4wMDAsIDAuMzIwLCAxLjAwMCksXG4gICAgICBvdXQtc2luZTogICAgIGN1YmljLWJlemllcigwLjM5MCwgIDAuNTc1LCAwLjU2NSwgMS4wMDApLFxuICAgICAgb3V0LWV4cG86ICAgICBjdWJpYy1iZXppZXIoMC4xOTAsICAxLjAwMCwgMC4yMjAsIDEuMDAwKSxcbiAgICAgIG91dC1jaXJjOiAgICAgY3ViaWMtYmV6aWVyKDAuMDc1LCAgMC44MjAsIDAuMTY1LCAxLjAwMCksXG4gICAgICBvdXQtYmFjazogICAgIGN1YmljLWJlemllcigwLjE3NSwgIDAuODg1LCAwLjMyMCwgMS4yNzUpLFxuICAgICAgaW4tb3V0LXF1YWQ6ICBjdWJpYy1iZXppZXIoMC40NTUsICAwLjAzMCwgMC41MTUsIDAuOTU1KSxcbiAgICAgIGluLW91dC1jdWJpYzogY3ViaWMtYmV6aWVyKDAuNjQ1LCAgMC4wNDUsIDAuMzU1LCAxLjAwMCksXG4gICAgICBpbi1vdXQtcXVhcnQ6IGN1YmljLWJlemllcigwLjc3MCwgIDAuMDAwLCAwLjE3NSwgMS4wMDApLFxuICAgICAgaW4tb3V0LXF1aW50OiBjdWJpYy1iZXppZXIoMC44NjAsICAwLjAwMCwgMC4wNzAsIDEuMDAwKSxcbiAgICAgIGluLW91dC1zaW5lOiAgY3ViaWMtYmV6aWVyKDAuNDQ1LCAgMC4wNTAsIDAuNTUwLCAwLjk1MCksXG4gICAgICBpbi1vdXQtZXhwbzogIGN1YmljLWJlemllcigxLjAwMCwgIDAuMDAwLCAwLjAwMCwgMS4wMDApLFxuICAgICAgaW4tb3V0LWNpcmM6ICBjdWJpYy1iZXppZXIoMC43ODUsICAwLjEzNSwgMC4xNTAsIDAuODYwKSxcbiAgICAgIGluLW91dC1iYWNrOiAgY3ViaWMtYmV6aWVyKDAuNjgwLCAtMC41NTAsIDAuMjY1LCAxLjU1MClcbiAgICApO1xuXG4gICAgQGZ1bmN0aW9uIGVhc2UoJGtleSkge1xuICAgICAgQGlmIG1hcC1oYXMta2V5KCRlYXNlLCAka2V5KSB7XG4gICAgICAgIEByZXR1cm4gbWFwLWdldCgkZWFzZSwgJGtleSk7XG4gICAgICB9XG5cbiAgICAgIEB3YXJuIFwiVW5rb3duICcjeyRrZXl9JyBpbiAkZWFzZS5cIjtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG5cbi8vIEV4YW1wbGUgVXNhZ2U6XG4vLyAgLmV4YW1wbGUge1xuLy8gICAgICBhbmltYXRpb246IHRoZXJlLWFuZC1iYWNrIDIuNXMgZWFzZShpbi1xdWFkKSBpbmZpbml0ZSBhbHRlcm5hdGU7XG4vLyAgfVxuXG5cbi8vICAvKlxuLy8gICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgICAgICAgICA6OkZvbnQgU21vb3RoaW5nXG4vLyAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICAqL1xuXG4gICAgQG1peGluIGZvbnQtc21vb3RoaW5nKCRleHRlbmQ6IHRydWUpIHtcbiAgICAgICAgQGlmICRleHRlbmQge1xuICAgICAgICAgICAgQGV4dGVuZCAlZm9udC1zbW9vdGhpbmc7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJWZvbnQtc21vb3RoaW5nIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zbW9vdGhpbmcoJGV4dGVuZDogZmFsc2UpO1xuICAgIH1cblxuLy8gIC8qXG4vLyAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICAgICAgICAgIDo6VGhpbiBGb250IC0gTm8gV2Via2l0IFNtb290aGluZ1xuLy8gICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgKi9cblxuICAgIEBtaXhpbiBsaWdodC1mb250KCRleHRlbmQ6IHRydWUpIHtcbiAgICAgICAgQGlmICRleHRlbmQge1xuICAgICAgICAgICAgQGV4dGVuZCAlbGlnaHQtZm9udDtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICVsaWdodC1mb250IHtcbiAgICAgICAgQGluY2x1ZGUgbGlnaHQtZm9udCgkZXh0ZW5kOiBmYWxzZSk7XG4gICAgfVxuXG4vLyAgLypcbi8vICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gICAgICAgICAgOjpDdXN0b20gU2Nyb2xsIEJhcnNcbi8vICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gICovXG5cbiAgICAvLyBNaXhpbiB0byBjdXN0b21pemUgc2Nyb2xsYmFyc1xuICAgIC8vIEJld2FyZSwgdGhpcyBkb2VzIG5vdCB3b3JrIGluIGFsbCBicm93c2Vyc1xuICAgIC8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuICAgIC8vIEBwYXJhbSB7TGVuZ3RofSAkc2l6ZSAtIEhvcml6b250YWwgc2Nyb2xsYmFyJ3MgaGVpZ2h0IGFuZCB2ZXJ0aWNhbCBzY3JvbGxiYXIncyB3aWR0aFxuICAgIC8vIEBwYXJhbSB7Q29sb3J9ICRmb3JlZ3JvdW5kLWNvbG9yIC0gU2Nyb2xsYmFyJ3MgY29sb3JcbiAgICAvLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1jb2xvciBbbWl4KCRmb3JlZ3JvdW5kLWNvbG9yLCB3aGl0ZSwgNTAlKV0gLSBTY3JvbGxiYXIncyBjb2xvclxuICAgIC8vIEBleGFtcGxlIHNjc3MgLSBTY3JvbGxiYXIgc3R5bGluZ1xuICAgIC8vICAgQGluY2x1ZGUgc2Nyb2xsYmFycyguNWVtLCBzbGF0ZWdyYXkpOyAgPC0tLS0tIEVYQU1QTEUgSEVSRVxuQG1peGluIHNjcm9sbGJhcnMoJHNpemUsICR0aHVtYi1yYWRpdXMsICRmb3JlZ3JvdW5kLWNvbG9yLCAkYmFja2dyb3VuZC1jb2xvcjogbWl4KCRmb3JlZ3JvdW5kLWNvbG9yLCB3aGl0ZSwgIDUwJSkpIHtcbiAgLy8gRm9yIEdvb2dsZSBDaHJvbWVcbiAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIHdpZHRoOiAgJHNpemU7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHRodW1iLXJhZGl1cztcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cblxuICAgIC8vIEZvciBJbnRlcm5ldCBFeHBsb3JlclxuICAgICYge1xuICAgICAgICBzY3JvbGxiYXItZmFjZS1jb2xvcjogJGZvcmVncm91bmQtY29sb3I7XG4gICAgICAgIHNjcm9sbGJhci10cmFjay1jb2xvcjogJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxufVxuXG4vLyAgLypcbi8vICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gICAgICAgICAgOjpQb3NpdGlvbmluZyBNaXhpbnNcbi8vICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gICovXG5cbiAgICAvLyBTaG9ydGhhbmQgbWl4aW4gZm9yIG9mZnNldCBwb3NpdGlvbmluZ1xuICAgIC8vIEBwYXJhbSB7U3RyaW5nfSAkcG9zaXRpb24gLSBFaXRoZXIgYHJlbGF0aXZlYCwgYGFic29sdXRlYCBvciBgZml4ZWRgXG4gICAgLy8gQHBhcmFtIHtMZW5ndGh9ICR0b3AgW251bGxdIC0gVG9wIG9mZnNldFxuICAgIC8vIEBwYXJhbSB7TGVuZ3RofSAkcmlnaHQgW251bGxdIC0gUmlnaHQgb2Zmc2V0XG4gICAgLy8gQHBhcmFtIHtMZW5ndGh9ICRib3R0b20gW251bGxdIC0gQm90dG9tIG9mZnNldFxuICAgIC8vIEBwYXJhbSB7TGVuZ3RofSAkbGVmdCBbbnVsbF0gLSBMZWZ0IG9mZnNldFxuICAgIEBtaXhpbiBwb3NpdGlvbigkcG9zaXRpb24sICR0b3A6IG51bGwsICRyaWdodDogbnVsbCwgJGJvdHRvbTogbnVsbCwgJGxlZnQ6IG51bGwpIHtcbiAgICAgIHBvc2l0aW9uOiAkcG9zaXRpb247XG4gICAgICB0b3A6ICR0b3A7XG4gICAgICByaWdodDogJHJpZ2h0O1xuICAgICAgYm90dG9tOiAkYm90dG9tO1xuICAgICAgbGVmdDogJGxlZnQ7XG4gICAgfVxuXG4gICAgLy8gU2hvcnRoYW5kIG1peGluIGZvciBhYnNvbHV0ZSBwb3NpdGlvbmluZ1xuICAgIC8vIFNlcnZlcyBhcyBhbiBhbGlhcyBmb3IgYHBvc2l0aW9uKGFic29sdXRlLCAuLi4pYFxuICAgIC8vIEBwYXJhbSB7QXJnbGlzdH0gJGFyZ3MgLSBPZmZzZXRzXG4gICAgLy8gQHJlcXVpcmUge21peGlufSBwb3NpdGlvblxuICAgIEBtaXhpbiBhYnNvbHV0ZSgkYXJncy4uLikge1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgJGFyZ3MuLi4pO1xuICAgIH1cblxuICAgIC8vIFNob3J0aGFuZCBtaXhpbiBmb3IgcmVsYXRpdmUgcG9zaXRpb25pbmdcbiAgICAvLyBTZXJ2ZXMgYXMgYW4gYWxpYXMgZm9yIGBwb3NpdGlvbihyZWxhdGl2ZSwgLi4uKWBcbiAgICAvLyBAcGFyYW0ge0FyZ2xpc3R9ICRhcmdzIC0gT2Zmc2V0c1xuICAgIC8vIEByZXF1aXJlIHttaXhpbn0gcG9zaXRpb25cbiAgICBAbWl4aW4gcmVsYXRpdmUoJGFyZ3MuLi4pIHtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsICRhcmdzLi4uKTtcbiAgICB9XG5cbiAgICAvLyBTaG9ydGhhbmQgbWl4aW4gZm9yIGZpeGVkIHBvc2l0aW9uaW5nXG4gICAgLy8gU2VydmVzIGFzIGFuIGFsaWFzIGZvciBgcG9zaXRpb24oZml4ZWQsIC4uLilgXG4gICAgLy8gQHBhcmFtIHtBcmdsaXN0fSAkYXJncyAtIE9mZnNldHNcbiAgICAvLyBAcmVxdWlyZSB7bWl4aW59IHBvc2l0aW9uXG4gICAgQG1peGluIGZpeGVkKCRhcmdzLi4uKSB7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCAkYXJncy4uLik7XG4gICAgfVxuXG4vLyAgLypcbi8vICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gICAgICAgICAgOjogU2ltcGxlIEFzc2V0IEhlbHBlciBGdW5jdGlvbnNcbi8vICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gICovXG5cbiAgICAvLyBCYXNlIHBhdGggZm9yIGFzc2V0cyAoZm9udHMsIGltYWdlcy4uLiksXG4gICAgLy8gc2hvdWxkIG5vdCBpbmNsdWRlIHRyYWlsaW5nIHNsYXNoXG4gICAgLy8gQGFjY2VzcyBwdWJsaWNcbiAgICAvLyBAdHlwZSBTdHJpbmdcbiAgICAkYXNzZXQtYmFzZS1wYXRoOiAnL3dwLWNvbnRlbnQvdGhlbWVzL3RpZycgIWRlZmF1bHQ7XG5cbiAgICAvLyBBc3NldCBVUkwgYnVpbGRlclxuICAgIC8vIEBhY2Nlc3MgcHJpdmF0ZVxuICAgIC8vIEBwYXJhbSB7U3RyaW5nfSAkdHlwZSAtIEFzc2V0IHR5cGUsIG1hdGNoaW5nIGZvbGRlciBuYW1lXG4gICAgLy8gQHBhcmFtIHtTdHJpbmd9ICRmaWxlIC0gQXNzZXQgZmlsZSBuYW1lLCBpbmNsdWRpbmcgZXh0ZW5zaW9uXG4gICAgLy8gQHJldHVybiB7VVJMfSAtIEEgYHVybCgpYCBmdW5jdGlvbiBsZWFkaW5nIHRvIHRoZSBhc3NldFxuICAgIEBmdW5jdGlvbiBhc3NldCgkdHlwZSwgJGZpbGUpIHtcbiAgICAgIEByZXR1cm4gdXJsKCRhc3NldC1iYXNlLXBhdGggKyAnLycgKyAkdHlwZSArICcvJyArICRmaWxlKTtcbiAgICB9XG5cbiAgICAvLyBJbWFnZSBhc3NldCBoZWxwZXJcbiAgICAvLyBAYWNjZXNzIHB1YmxpY1xuICAgIC8vIEBwYXJhbSB7U3RyaW5nfSAkZmlsZSAtIEFzc2V0IGZpbGUgbmFtZSwgaW5jbHVkaW5nIGV4dGVuc2lvblxuICAgIC8vIEByZXR1cm4ge1VSTH0gLSBBIGB1cmwoKWAgZnVuY3Rpb24gbGVhZGluZyB0byB0aGUgaW1hZ2VcbiAgICAvLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGFzc2V0XG4gICAgQGZ1bmN0aW9uIGltYWdlKCRmaWxlKSB7XG4gICAgICBAcmV0dXJuIGFzc2V0KCdhc3NldHMvaW1hZ2VzLycsICRmaWxlKTtcbiAgICB9XG5cbiAgICBAZnVuY3Rpb24gc3ZnKCRmaWxlKSB7XG4gICAgICAgIEByZXR1cm4gYXNzZXQoJ2Fzc2V0cy9pbWFnZXMvc3ZnJywgJGZpbGUpO1xuICAgIH1cblxuICAgIEBmdW5jdGlvbiBhamF4KCRmaWxlKSB7XG4gICAgICAgIEByZXR1cm4gYXNzZXQoJ2Fzc2V0cy9pbWFnZXMvYWpheCcsICRmaWxlKTtcbiAgICB9XG5cbiAgICBAZnVuY3Rpb24ganBnKCRmaWxlKSB7XG4gICAgICAgIEByZXR1cm4gYXNzZXQoJ2Fzc2V0cy9pbWFnZXMvanBnJywgJGZpbGUpO1xuICAgIH1cblxuICAgIC8vIEZvbnQgYXNzZXQgaGVscGVyXG4gICAgLy8gQGFjY2VzcyBwdWJsaWNcbiAgICAvLyBAcGFyYW0ge1N0cmluZ30gJGZpbGUgLSBBc3NldCBmaWxlIG5hbWUsIGluY2x1ZGluZyBleHRlbnNpb25cbiAgICAvLyBAcmV0dXJuIHtVUkx9IC0gQSBgdXJsKClgIGZ1bmN0aW9uIGxlYWRpbmcgdG8gdGhlIGZvbnRcbiAgICAvLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGFzc2V0XG4gICAgQGZ1bmN0aW9uIGZvbnQoJGZpbGUpIHtcbiAgICAgIEByZXR1cm4gYXNzZXQoJ2ZvbnRzJywgJGZpbGUpO1xuICAgIH1cblxuLy8gIC8qXG4vLyAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICAgICAgICAgIDo6QkVNIE1peGluc1xuLy8gICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgKi9cblxuICAgIC8vUmVhZCBNb3JlIGFib3V0IEJFTSBoZXJlOiBodHRwczovL2VuLmJlbS5pbmZvL21ldGhvZC9cblxuICAgIC8vIEJsb2NrIEVsZW1lbnRcbiAgICAvLyBAYWNjZXNzIHB1YmxpY1xuICAgIC8vIEBwYXJhbSB7U3RyaW5nfSAkZWxlbWVudCAtIEVsZW1lbnQncyBuYW1lXG4gICAgQG1peGluIGVsZW1lbnQoJGVsZW1lbnQpIHtcbiAgICAgICAgJl9fI3skZWxlbWVudH0ge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCbG9jayBNb2RpZmllclxuICAgIC8vIEBhY2Nlc3MgcHVibGljXG4gICAgLy8gQHBhcmFtIHtTdHJpbmd9ICRtb2RpZmllciAtIE1vZGlmaWVyJ3MgbmFtZVxuICAgIEBtaXhpbiBtb2RpZmllcigkbW9kaWZpZXIpIHtcbiAgICAgICAgJi0tI3skbW9kaWZpZXJ9IHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQGFsaWFzIGVsZW1lbnRcbiAgICBAbWl4aW4gZSgkZWxlbWVudCkge1xuICAgICAgICBAaW5jbHVkZSBlbGVtZW50KCRlbGVtZW50KSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEBhbGlhcyBtb2RpZmllclxuICAgIEBtaXhpbiBtKCRtb2RpZmllcikge1xuICAgICAgICBAaW5jbHVkZSBtb2RpZmllcigkbW9kaWZpZXIpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gLmJsb2NrIHtcbiAgICAvLyAgICAgLyogQ1NTIGRlY2xhcmF0aW9ucyBmb3IgYC5ibG9ja2AgKi9cblxuICAgIC8vICAgICBAaW5jbHVkZSBlKCdlbGVtZW50Jykge1xuICAgIC8vICAgICAgICAgLyogQ1NTIGRlY2xhcmF0aW9ucyBmb3IgYC5ibG9ja19fZWxlbWVudGAgKi9cbiAgICAvLyAgICAgfVxuXG4gICAgLy8gICAgIEBpbmNsdWRlIG0oJ21vZGlmaWVyJykge1xuICAgIC8vICAgICAgICAgLyogQ1NTIGRlY2xhcmF0aW9ucyBmb3IgYC5ibG9jay0tbW9kaWZpZXJgICovXG5cbiAgICAvLyAgICAgICAgIEBpbmNsdWRlIGUoJ2VsZW1lbnQnKSB7XG4gICAgLy8gICAgICAgICAgICAgLyogQ1NTIGRlY2xhcmF0aW9ucyBmb3IgYC5ibG9jay0tbW9kaWZpZXJfX2VsZW1lbnRgICovXG4gICAgLy8gICAgICAgICB9XG4gICAgLy8gICAgIH1cbiAgICAvLyB9XG5cbi8vICAvKlxuLy8gICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgICAgICAgICA6OlNpbXBsaWZ5IEV2ZW50cyBNaXhpblxuLy8gICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgKi9cblxuICAgIC8vIEV2ZW50IHdyYXBwZXJcbiAgICAvLyBAYXV0aG9yIEhhcnJ5IFJvYmVydHNcbiAgICAvLyBAcGFyYW0ge0Jvb2x9ICRzZWxmIChmYWxzZSkgLSBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIGN1cnJlbnQgc2VsZWN0b3JcbiAgICAvLyBAc2VlIGh0dHBzOi8vdHdpdHRlci5jb20vY3Nzd2l6YXJkcnkvc3RhdHVzLzQ3ODkzODUzMDM0MjAwNjc4NCBPcmlnaW5hbCB0d2VldCBmcm9tIEhhcnJ5IFJvYmVydHNcblxuICAgIEBtaXhpbiBvbi1ldmVudCgkc2VsZjogZmFsc2UpIHtcbiAgICAgICAgQGlmICRzZWxmIHtcbiAgICAgICAgICAgICYsXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vICBFeGFtcGxlIFVzYWdlOlxuICAgIC8vICAgICAgLmV4YW1wbGUge1xuICAgIC8vICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAvL1xuICAgIC8vICAgICAgICAgIEBpbmNsdWRlIG9uLWV2ZW50IHtcbiAgICAvLyAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgLy8gICAgICAgICAgfVxuICAgIC8vICAgICAgfVxuXG5cbi8vICAvKlxuLy8gICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgICAgICAgICA6OlVsdGltYXRlIFJlbSBNaXhpblxuLy8gICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgKi9cblxuICAgIEBmdW5jdGlvbiBwYXJzZS1pbnQoJG4pIHtcbiAgICAgICAgQHJldHVybiAkbiAvICgkbiAqIDAgKyAxKTtcbiAgICB9XG5cbiAgICBAbWl4aW4gcmVtKCRwcm9wZXJ0eSwgJHZhbHVlcykge1xuICAgICAgICAkcHggOiAoKTtcbiAgICAgICAgJHJlbTogKCk7XG5cbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xuXG4gICAgICAgICAgICBAaWYgJHZhbHVlID09IDAgb3IgJHZhbHVlID09IGF1dG8ge1xuICAgICAgICAgICAgICAgICRweCA6IGFwcGVuZCgkcHggLCAkdmFsdWUpO1xuICAgICAgICAgICAgICAgICRyZW06IGFwcGVuZCgkcmVtLCAkdmFsdWUpO1xuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgJHVuaXQ6IHVuaXQoJHZhbHVlKTtcbiAgICAgICAgICAgICAgICAkdmFsOiBwYXJzZS1pbnQoJHZhbHVlKTtcblxuICAgICAgICAgICAgICAgIEBpZiAkdW5pdCA9PSBcInB4XCIge1xuICAgICAgICAgICAgICAgICAgICAkcHggOiBhcHBlbmQoJHB4LCAgJHZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgJHJlbTogYXBwZW5kKCRyZW0sICgkdmFsIC8gMTAgKyByZW0pKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaWYgJHVuaXQgPT0gXCJyZW1cIiB7XG4gICAgICAgICAgICAgICAgICAgICRweCA6IGFwcGVuZCgkcHgsICAoJHZhbCAqIDEwICsgcHgpKTtcbiAgICAgICAgICAgICAgICAgICAgJHJlbTogYXBwZW5kKCRyZW0sICR2YWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRweCA9PSAkcmVtIHtcbiAgICAgICAgICAgICN7JHByb3BlcnR5fTogJHB4O1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICN7JHByb3BlcnR5fTogJHB4O1xuICAgICAgICAgICAgI3skcHJvcGVydHl9OiAkcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gVGhpcyBtaXhpbiByZXF1aXJlcyBmdWxsIGJ1eSBpbiBmb3IgcmVtIHVuaXRzLlxuICAgIC8vIFJlYWQgbW9yZSBhYm91ciByZW0gaGVyZTogaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9mb250LXNpemUtd2l0aC1yZW1cbiAgICAvLyBTaW5jZSBSZW1zIGFyZSByZWxhdGl2ZSB0byB0aGUgaHRtbCBmb250LXNpemUgaXQncyBpbXBvcnRhbnQgZm9yIHRoaXMgbWl4aW4gdGhhdFxuICAgIC8vIHlvdSBzZXQgaHRtbCBmb250LXNpemUgdG8gNjIuNSVcblxuICAgIC8vIEV4YW1wbGUgVXNhZ2U6XG4gICAgLy8gU0NTU1xuXG4gICAgLy8gaHRtbCB7XG4gICAgLy8gIGZvbnQtc2l6ZTogNjIuNSU7XG4gICAgLy8gfVxuXG4gICAgLy8gYm9keSB7XG4gICAgLy8gIEBpbmNsdWRlIHJlbShmb250LXNpemUsIDEuNnJlbSk7XG4gICAgLy8gfVxuXG4gICAgLy8gLmV4YW1wbGUge1xuICAgIC8vICBAaW5jbHVkZSByZW0oZm9udC1zaXplOiAxLjRyZW0pO1xuICAgIC8vICBAaW5jbHVkZSByZW0ocGFkZGluZywgMnJlbSk7XG4gICAgLy8gfVxuXG4gICAgLy8gUmVzdWx0OlxuICAgIC8vIGh0bWwge1xuICAgIC8vICBmb250LXNpemU6IDYyLjUlO1xuICAgIC8vIH1cblxuICAgIC8vIGJvZHkge1xuICAgIC8vICBmb250LXNpemU6IDE2cHg7ICAvKiBJRSA4IGZhbGxiYWNrICovXG4gICAgLy8gIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIC8vIH1cblxuICAgIC8vIC5leGFtcGxlIHtcbiAgICAvLyAgZm9udC1zaXplOiAxNHB4OyAvKiBJRSA4IGZhbGxiYWNrICovXG4gICAgLy8gIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIC8vICBwYWRkaW5nOiAyMHB4OyAvKiBJRSA4IGZhbGxiYWNrICovXG4gICAgLy8gIHBhZGRpbmc6IDJyZW07XG4gICAgLy8gfVxuXG4vLyAgLypcbi8vICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gICAgICAgICAgOjpTdGlja3kgSGVhZGVyIE1peGluXG4vLyAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICAqL1xuXG4gICAgQG1peGluIGFkbWluLXN0aWNreS1maXgoICRvZmZzZXQ6IDAgKSB7XG4gICAgICAgICRuYXJyb3ctb2Zmc2V0OiA0NnB4O1xuICAgICAgICAkd2lkZS1vZmZzZXQ6IDMycHg7XG5cbiAgICAgICAgQGlmICRvZmZzZXQgIT0gMCBhbmQgdHlwZS1vZigkb2Zmc2V0KSA9PSAnbnVtYmVyJyB7XG4gICAgICAgICAgICAkbmFycm93LW9mZnNldDogJG5hcnJvdy1vZmZzZXQgKyAkb2Zmc2V0O1xuICAgICAgICAgICAgJHdpZGUtb2Zmc2V0OiAkd2lkZS1vZmZzZXQgKyAkb2Zmc2V0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmFkbWluLWJhciAmIHtcbiAgICAgICAgICAgIHRvcDogJG5hcnJvdy1vZmZzZXQ7XG5cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc4M3B4KSB7XG4gICAgICAgICAgICAgICAgdG9wOiAkd2lkZS1vZmZzZXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbi8vICAvKlxuLy8gICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgICAgICAgICA6Ok1hcmdpbiBDZW50ZXJcbi8vICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gICovXG5cbiAgICBAbWl4aW4gbWFyZ2luLWNlbnRlcigkZXh0ZW5kOiB0cnVlKSB7XG4gICAgICAgIEBpZiAkZXh0ZW5kIHtcbiAgICAgICAgICAgIEBleHRlbmQgJW1hcmdpbi1jZW50ZXI7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAlbWFyZ2luLWNlbnRlciB7XG4gICAgICAgIEBpbmNsdWRlIG1hcmdpbi1jZW50ZXIoJGV4dGVuZDogZmFsc2UpO1xuICAgIH1cblxuLy8gIC8qXG4vLyAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICAgICAgICAgIDo6U2NyZWVuIFJlYWRlciBUZXh0XG4vLyAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICAqL1xuXG4gICAgQG1peGluIHNjcmVlbi1yZWFkZXItdGV4dCgkZXh0ZW5kOiB0cnVlKSB7XG4gICAgICAgIEBpZiAkZXh0ZW5kIHtcbiAgICAgICAgICAgIEBleHRlbmQgJXNjcmVlbi1yZWFkZXItdGV4dDtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGNsaXA6IHJlY3QoMXB4IDFweCAxcHggMXB4KTtcbiAgICAgICAgICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAlc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIHNjcmVlbi1yZWFkZXItdGV4dCgkZXh0ZW5kOiBmYWxzZSk7XG4gICAgfVxuXG4vLyAgLypcbi8vICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gICAgICAgICAgOjpTcXVhcmUgU2l6aW5nXG4vLyAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICAqL1xuXG4gICAgQG1peGluIHNxdWFyZSgkc2l6ZSkge1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgfVxuXG4vLyAgLypcbi8vICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gICAgICAgICAgOjpQYWRkZWQgQ29udGFpbmVyc1xuLy8gICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgKi9cblxuICAgIEBtaXhpbiBwYWRkZWQoJGV4dGVuZDogdHJ1ZSkge1xuICAgICAgICBAaWYgJGV4dGVuZCB7XG4gICAgICAgICAgICBAZXh0ZW5kICVwYWRkZWQ7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgcGFkZGluZzogMCAxLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAlcGFkZGVkIHtcbiAgICAgIEBpbmNsdWRlIHBhZGRlZCgkZXh0ZW5kOiBmYWxzZSk7XG4gICAgfVxuXG4gICAgLy9ncmlkZGVyIHJvdy1tYWNoaW5lXG4gICAgQG1peGluIHJvdy1tYWNoaW5lKCRudW0tcGVyLXJvdywgJG1hcmdpbikge1xuICAgICAgICB3aWR0aDogKCgxMDAlIC0gKCgkbnVtLXBlci1yb3cgLSAxKSAqICRtYXJnaW4pKSAvICRudW0tcGVyLXJvdyk7XG5cbiAgICAgICAgJjpudGgtY2hpbGQobikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLW9mLXR5cGUoI3skbnVtLXBlci1yb3d9bikge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtaXhpbiBmbGV4LXN0eWxlcyB7XG4gICAgICAgIC5mbGV4Ym94LFxuICAgICAgICAuZmxleGJveGxlZ2FjeSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtaXhpbiB0YXAtY29sb3IoJGNvbG9yOiB0cmFuc3BhcmVudCkge1xuICAgICAgICAvL2RlZmF1bHQ6IHJnYmEoMCwgMCwgMCwgMC40KVxuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRjb2xvcjtcbiAgICB9IiwiaHRtbCB7XG5cdHRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG59XG5cbmh0bWwsIGJvZHksIGRpdiwgc3BhbiwgYXBwbGV0LCBvYmplY3QsIGlmcmFtZSwgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYmxvY2txdW90ZSwgcHJlLCBhLCBhYmJyLCBhY3JvbnltLCBhZGRyZXNzLCBiaWcsIGNpdGUsIGNvZGUsIGRlbCwgZGZuLCBlbSwgaW1nLCBpbnMsIGtiZCwgcSwgcywgc2FtcCwgc21hbGwsIHN0cmlrZSwgc3Ryb25nLCBzdWIsIHN1cCwgdHQsIHZhciwgYiwgdSwgaSwgY2VudGVyLCBkbCwgZHQsIGRkLCBvbCwgdWwsIGxpLCBmaWVsZHNldCwgZm9ybSwgbGFiZWwsIGxlZ2VuZCwgdGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsIGFydGljbGUsIGFzaWRlLCBjYW52YXMsIGRldGFpbHMsIGVtYmVkLCBmaWd1cmUsIGZpZ2NhcHRpb24sIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdiwgb3V0cHV0LCBydWJ5LCBzZWN0aW9uLCBzdW1tYXJ5LCB0aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8ge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGJvcmRlcjogMDtcblx0Zm9udC1zaXplOiAxMDAlO1xuXHRmb250OiBpbmhlcml0O1xuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbmFydGljbGUsIGFzaWRlLCBkZXRhaWxzLCBmaWdjYXB0aW9uLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdiwgc2VjdGlvbiB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG5vbCwgdWwge1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG5ibG9ja3F1b3RlLCBxIHtcblx0cXVvdGVzOiBub25lO1xuXG5cdCY6YmVmb3JlLCAmOmFmdGVyIHtcblx0ICAgIGNvbnRlbnQ6IFwiXCI7XG5cdCAgICBjb250ZW50OiBub25lO1xuXHR9XG59XG5cbnRhYmxlIHtcblx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblx0Ym9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbmJ1dHRvbiB7XG4gIFx0b3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcblx0Y3Vyc29yOiBkZWZhdWx0O1xufVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG5cdGJvcmRlcjogMDtcblx0cGFkZGluZzogMDtcbn1cblxuaW5wdXQge1xuXHRsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuXHRjb2xvcjogaW5oZXJpdDtcblx0Zm9udDogaW5oZXJpdDtcblx0bWFyZ2luOiAwO1xufVxuXG5zZWxlY3QsXG50ZXh0YXJlYSxcbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG5pbnB1dFt0eXBlPVwidGV4dFwiXSxcbmlucHV0W3R5cGU9XCJ1cmxcIl0sXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0sXG5pbnB1dFt0eXBlPVwidGVsXCJdLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0ge1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cdC1tb3otYXBwZWFyYW5jZTogICAgbm9uZTtcblx0YXBwZWFyYW5jZTogICAgICAgICBub25lO1xuXHRib3JkZXItcmFkaXVzOiAwO1xufSIsIkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnTGF0byc7XG4gICAgc3JjOiB1cmwoJy4vYXNzZXRzL2ZvbnRzL2xhdG8tcmVndWxhci5lb3QnKTtcbiAgICBzcmM6IHVybCgnLi9hc3NldHMvZm9udHMvbGF0by1yZWd1bGFyLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICB1cmwoJy4vYXNzZXRzL2ZvbnRzL2xhdG8tcmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgIHVybCgnLi9hc3NldHMvZm9udHMvbGF0by1yZWd1bGFyLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgIHVybCgnLi9hc3NldHMvZm9udHMvbGF0by1yZWd1bGFyLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgIHVybCgnLi9hc3NldHMvZm9udHMvbGF0by1yZWd1bGFyLnN2ZyNsYXRvcmVndWxhcicpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnTGF0byc7XG4gICAgc3JjOiB1cmwoJy4vYXNzZXRzL2ZvbnRzL2xhdG8tYm9sZC5lb3QnKTtcbiAgICBzcmM6IHVybCgnLi9hc3NldHMvZm9udHMvbGF0by1ib2xkLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICB1cmwoJy4vYXNzZXRzL2ZvbnRzL2xhdG8tYm9sZC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgIHVybCgnLi9hc3NldHMvZm9udHMvbGF0by1ib2xkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgIHVybCgnLi9hc3NldHMvZm9udHMvbGF0by1ib2xkLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgIHVybCgnLi9hc3NldHMvZm9udHMvbGF0by1ib2xkLnN2ZyNsYXRvYm9sZCcpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnTGF0byc7XG4gICAgc3JjOiB1cmwoJy4vYXNzZXRzL2ZvbnRzL2xhdG8tbGlnaHQuZW90Jyk7XG4gICAgc3JjOiB1cmwoJy4vYXNzZXRzL2ZvbnRzL2xhdG8tbGlnaHQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgIHVybCgnLi9hc3NldHMvZm9udHMvbGF0by1saWdodC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgIHVybCgnLi9hc3NldHMvZm9udHMvbGF0by1saWdodC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICB1cmwoJy4vYXNzZXRzL2ZvbnRzL2xhdG8tbGlnaHQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICAgdXJsKCcuL2Fzc2V0cy9mb250cy9sYXRvLWxpZ2h0LnN2ZyNsYXRvbGlnaHQnKSBmb3JtYXQoJ3N2ZycpO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0xhdG8nO1xuICAgIHNyYzogdXJsKCcuL2Fzc2V0cy9mb250cy9sYXRvLWxpZ2h0aXRhbGljLmVvdCcpO1xuICAgIHNyYzogdXJsKCcuL2Fzc2V0cy9mb250cy9sYXRvLWxpZ2h0aXRhbGljLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICB1cmwoJy4vYXNzZXRzL2ZvbnRzL2xhdG8tbGlnaHRpdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICB1cmwoJy4vYXNzZXRzL2ZvbnRzL2xhdG8tbGlnaHRpdGFsaWMud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgdXJsKCcuL2Fzc2V0cy9mb250cy9sYXRvLWxpZ2h0aXRhbGljLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgIHVybCgnLi9hc3NldHMvZm9udHMvbGF0by1saWdodGl0YWxpYy5zdmcjbGF0b2xpZ2h0X2l0YWxpYycpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnVGlub3MnO1xuICAgIHNyYzogdXJsKCcuL2Fzc2V0cy9mb250cy90aW5vcy1yZWd1bGFyLmVvdCcpO1xuICAgIHNyYzogdXJsKCcuL2Fzc2V0cy9mb250cy90aW5vcy1yZWd1bGFyLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICB1cmwoJy4vYXNzZXRzL2ZvbnRzL3Rpbm9zLXJlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICB1cmwoJy4vYXNzZXRzL2ZvbnRzL3Rpbm9zLXJlZ3VsYXIud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgdXJsKCcuL2Fzc2V0cy9mb250cy90aW5vcy1yZWd1bGFyLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgIHVybCgnLi9hc3NldHMvZm9udHMvdGlub3MtcmVndWxhci5zdmcjdGlub3NyZWd1bGFyJykgZm9ybWF0KCdzdmcnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn0iLCIuY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKGZ1bGwpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xuXG4gICAgJi5wYWRkZWQge1xuICAgICAgICBAaW5jbHVkZSBwYWRkZWQ7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhmdWxsKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubmF2LW9wZW4sXG4uZmFuY3ktc2VsZWN0LW9wZW4ge1xuXG4gICAgLm1haW4ge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxufVxuXG4ubmF2LW9wZW4ge1xuICAgIC5ib2R5LWhlYWRlcixcbiAgICAubWFpbi1uYXYge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgLnN1Yi1tZW51LXRvZ2dsZSB7XG4gICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgfVxufVxuXG4uZmFuY3ktc2VsZWN0LW9wZW4ge1xuICAgIC5mYW5jeS1zZWxlY3Qtb3B0aW9ucyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG59XG5cbiV0ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYmxvY2sge1xuICAgIG1hcmdpbjogMnJlbSAwO1xufVxuXG4ubWFpbiB7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG5pIHN2ZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uZXJyb3ItbWVzc2FnZSB7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuODtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDByZW07XG4gICAgfVxufSIsIi5lbnRyeSxcbi5tY2UtY29udGVudC1ib2R5IHtcbiAgICBzdHJvbmcge1xuICAgICAgICBmb250LXdlaWdodDogZncoYm9sZCk7XG4gICAgfVxuXG4gICAgZW0ge1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiBjKGEtY29sb3IpO1xuXG4gICAgICAgICYuYnV0dG9uIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvL0hlYWRpbmdzXG4vKiAgIDMuMS4gSGVhZGluZ3NcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgKi9cbiAgICBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMy44cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40MjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAyLjVyZW07XG5cbiAgICAgICAgKyBoMiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjJyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMy40cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICBtYXJnaW46IDEuOXJlbSAwIDEuMjRyZW07XG5cbiAgICAgICAgKyBoMyB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjMycmVtO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTEuMjRyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgbWFyZ2luOiAyLjg4cmVtIDAgMS4yNHJlbTtcblxuICAgICAgICArIGg0IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0wLjQ4ZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBmb250LXdlaWdodDogZncoYm9sZCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgICAgIG1hcmdpbjogMi44OHJlbSAwIDEuMjRyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgKyBoNSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMC40OHJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGg1IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgICAgIG1hcmdpbjogMi44OHJlbSAwIDEuMjRyZW07XG5cbiAgICAgICAgKyBoNiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMC4zMnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGg2IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgICAgIG1hcmdpbjogMi44OHJlbSAwIDEuMjRyZW07XG4gICAgfVxuXG4gICAgaDE6Zmlyc3QtY2hpbGQsXG4gICAgaDI6Zmlyc3QtY2hpbGQsXG4gICAgaDM6Zmlyc3QtY2hpbGQsXG4gICAgaDQ6Zmlyc3QtY2hpbGQsXG4gICAgaDU6Zmlyc3QtY2hpbGQsXG4gICAgaDY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG5cbi8qICAgMy4yLiBQYXJhZ3JhcGggYW5kIEVtcGhhc2lzXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gICovXG5cbiAgICBwLFxuICAgIGFkZHJlc3Mge1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgbWFyZ2luOiAxLjZyZW0gMCAwO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgaHlwaGVuczogYXV0bztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuODU7XG4gICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICBtYXJnaW46IDIuOHJlbSAyLjVlbTtcbiAgICB9XG5cbiAgICBjb2RlLFxuICAgIHByZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIH1cblxuICAgIHByZSB7XG4gICAgICAgIG1hcmdpbjogMS42cmVtIDAgMDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgfVxuXG4gICAgc3ViIHtcbiAgICAgICAgZm9udC1zaXplOiA3NSU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogc3ViO1xuICAgIH1cblxuICAgIHN1cCB7XG4gICAgICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHN1cGVyO1xuICAgIH1cblxuICAgIGFiYnIge1xuICAgICAgICBjdXJzb3I6IGhlbHA7XG4gICAgfVxuXG4gICAgYWRkcmVzcyB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgfVxuXG4gICAgLyogICAzLjMuIExpc3RzXG4gICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAqL1xuXG4gICAgZGwge1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIH1cblxuICAgIGR0LFxuICAgIGRkIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgfVxuXG4gICAgZHQge1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cblxuICAgIGRkIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMS42cmVtO1xuICAgIH1cblxuICAgIHVsLFxuICAgIG9sIHtcbiAgICAgICAgbWFyZ2luOiAxLjZyZW0gMDtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMi41ZW07XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBjaXJjbGU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IHNxdWFyZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9sIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuOHJlbTtcbiAgICB9XG5cbiAgICAvKiAgIDMuNC4gVGFibGVzXG4gICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAqL1xuXG4gICAgdGFibGUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFsbCkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBjKHRhYmxlLWJvcmRlcik7XG4gICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDJyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFsbCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0aCB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIH1cblxuICAgIHRyIHtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHRkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBjKHRhYmxlLWJvcmRlcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiAgIDMuNS4gSW1hZ2VzXG4gICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAqL1xuICAgIGltZyB7XG5cbiAgICAgICAgJixcbiAgICAgICAgJltjbGFzcyo9XCJhbGlnblwiXSxcbiAgICAgICAgJltjbGFzcyo9XCJ3cC1pbWFnZS1cIl0ge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hbGlnbnJpZ2h0LFxuICAgICAgICAmLmFsaWdubGVmdCxcbiAgICAgICAgJi5hbGlnbmNlbnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMS42cmVtIGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAmLmFsaWducmlnaHQge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMS42cmVtIDAgMS42cmVtIDEuNnJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYWxpZ25sZWZ0IHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFsbCkge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMS42cmVtIDEuNnJlbSAxLjZyZW0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAvKiAgIDMuNi4gQ2FwdGlvbnNcbiAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gICovXG4gICAgLndwLWNhcHRpb24ge1xuICAgICAgICBtYXgtd2lkdGg6IDk2JTtcbiAgICAgICAgcGFkZGluZzogMC41cmVtIDAuM3JlbSAxcmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgJi5hbGlnbm5vbmUsXG4gICAgICAgICYuYWxpZ25sZWZ0IHtcbiAgICAgICAgICAgIG1hcmdpbjogMC41cmVtIDJyZW0gMnJlbSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hbGlnbnJpZ2h0IHtcbiAgICAgICAgICAgIG1hcmdpbjogMC41cmVtIDAgMnJlbSAycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGJvcmRlcjogMCBub25lO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA5OC41JTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC53cC1jYXB0aW9uLXRleHQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAwLjRyZW0gMC41cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmVudHJ5LWNhcHRpb24ge1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwIDAuNHJlbSAwLjVyZW07XG4gICAgfVxuXG4gICAgLyogICAzLjcuIEdhbGxlcmllc1xuICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgKi9cblxuICAgIC5nYWxsZXJ5IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgbWFyZ2luOiAzLjJyZW0gMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICsgKiB7XG4gICAgICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbGVmdDogLTUwJTtcbiAgICAgICAgbWFyZ2luOiAwIDAuNHJlbSAwLjRyZW0gMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICAuZ2FsbGVyeS1jYXB0aW9uIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdhbGxlcnktY29sdW1ucy0xIC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgICBtYXJnaW46IDAgMCAwLjRyZW07XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuZ2FsbGVyeS1jb2x1bW5zLTIgLmdhbGxlcnktaXRlbSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYyg1MCUgLSAwLjRyZW0pO1xuICAgIH1cblxuICAgIC5nYWxsZXJ5LWNvbHVtbnMtMyAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDMzLjMlIC0gMC40cmVtKTtcbiAgICB9XG5cbiAgICAuZ2FsbGVyeS1jb2x1bW5zLTQgLmdhbGxlcnktaXRlbSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygyNSUgLSAwLjRyZW0pO1xuICAgIH1cblxuICAgIC5nYWxsZXJ5LWNvbHVtbnMtNSAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDIwJSAtIDAuNHJlbSk7XG4gICAgfVxuXG4gICAgLmdhbGxlcnktY29sdW1ucy02IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTYuNyUgLSAwLjRyZW0pO1xuICAgIH1cblxuICAgIC5nYWxsZXJ5LWNvbHVtbnMtNyAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDE0LjI4JSAtIDAuNHJlbSk7XG4gICAgfVxuXG4gICAgLmdhbGxlcnktY29sdW1ucy04IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTIuNSUgLSAwLjRyZW0pO1xuICAgIH1cblxuICAgIC5nYWxsZXJ5LWNvbHVtbnMtOSAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDExLjElIC0gMC40cmVtKTtcbiAgICB9XG5cbiAgICAuZ2FsbGVyeS1jb2x1bW5zLTIgLmdhbGxlcnktaXRlbTpudGgtY2hpbGQoMm4pLFxuICAgIC5nYWxsZXJ5LWNvbHVtbnMtMyAuZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCgzbiksXG4gICAgLmdhbGxlcnktY29sdW1ucy00IC5nYWxsZXJ5LWl0ZW06bnRoLWNoaWxkKDRuKSxcbiAgICAuZ2FsbGVyeS1jb2x1bW5zLTUgLmdhbGxlcnktaXRlbTpudGgtY2hpbGQoNW4pLFxuICAgIC5nYWxsZXJ5LWNvbHVtbnMtNiAuZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCg2biksXG4gICAgLmdhbGxlcnktY29sdW1ucy03IC5nYWxsZXJ5LWl0ZW06bnRoLWNoaWxkKDduKSxcbiAgICAuZ2FsbGVyeS1jb2x1bW5zLTggLmdhbGxlcnktaXRlbTpudGgtY2hpbGQoOG4pLFxuICAgIC5nYWxsZXJ5LWNvbHVtbnMtOSAuZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCg5bikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLmdhbGxlcnktY29sdW1ucy0xIC5nYWxsZXJ5LWl0ZW06bnRoLWNoaWxkKDFuKzEpLFxuICAgIC5nYWxsZXJ5LWNvbHVtbnMtMiAuZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCgybiszKSxcbiAgICAuZ2FsbGVyeS1jb2x1bW5zLTMgLmdhbGxlcnktaXRlbTpudGgtY2hpbGQoM24rNCksXG4gICAgLmdhbGxlcnktY29sdW1ucy00IC5nYWxsZXJ5LWl0ZW06bnRoLWNoaWxkKDRuKzUpLFxuICAgIC5nYWxsZXJ5LWNvbHVtbnMtNSAuZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCg1bis2KSxcbiAgICAuZ2FsbGVyeS1jb2x1bW5zLTYgLmdhbGxlcnktaXRlbTpudGgtY2hpbGQoNm4rNyksXG4gICAgLmdhbGxlcnktY29sdW1ucy03IC5nYWxsZXJ5LWl0ZW06bnRoLWNoaWxkKDduKzgpLFxuICAgIC5nYWxsZXJ5LWNvbHVtbnMtOCAuZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCg4bis5KSxcbiAgICAuZ2FsbGVyeS1jb2x1bW5zLTkgLmdhbGxlcnktaXRlbTpudGgtY2hpbGQoOW4rMTApIHtcbiAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgfVxuXG4gICAgLmdhbGxlcnktY2FwdGlvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGMoZ2FsbGVyeS1jYXApO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1heC1oZWlnaHQ6IDUwJTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcGFkZGluZzogNnB4IDhweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA0OXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiAgIDMuOC4gTWlzY2VsbGFuZW91c1xuICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgKi9cblxuICAgIGhyIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgYyh0YWJsZS1ib3JkZXIpO1xuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjZyZW07XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmVudHJ5LW9lbWJlZCB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgaWZyYW1lIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKiAgIDMuOS4gQWxpZ25tZW50XG4gICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAqL1xuXG4gICAgLmFsaWdubm9uZSB7XG4gICAgICAgIG1hcmdpbjogMS42cmVtIDEuNnJlbSAwIDA7XG4gICAgfVxuXG4gICAgLmFsaWduY2VudGVyLFxuICAgIC5hbGlnbnJpZ2h0LFxuICAgIC5hbGlnbmxlZnQsXG4gICAgLmFsaWduY2VudGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMS42cmVtIGF1dG87XG4gICAgfVxuXG4gICAgLmFsaWducmlnaHQge1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hbGwpIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEuNnJlbSAxLjZyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWxpZ25sZWZ0IHtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYWxsKSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxLjZyZW0gMS42cmVtIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiAgIDMuMTAuIEdyYXZpdHkgRm9ybXNcbiAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gICovXG5cbiAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBTZWxlY3RvckZvcm1hdFxuICAgIC5nZm9ybV93cmFwcGVyIHtcbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIH1cblxuICAgICAgICBzZWxlY3QsXG4gICAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGModGFibGUtYm9yZGVyKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjhyZW07XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICZbdHlwZT10ZXh0XSxcbiAgICAgICAgICAgICZbdHlwZT11cmxdLFxuICAgICAgICAgICAgJlt0eXBlPWVtYWlsXSxcbiAgICAgICAgICAgICZbdHlwZT10ZWxdLFxuICAgICAgICAgICAgJlt0eXBlPW51bWJlcl0sXG4gICAgICAgICAgICAmW3R5cGU9cGFzc3dvcmRdIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBjKHRhYmxlLWJvcmRlcik7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC44cmVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdmaWVsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNnJlbTtcbiAgICB9XG5cbiAgICAuZ2lucHV0X2NvbXBsZXgge1xuXG4gICAgICAgIC5naW5wdXRfbGVmdCxcbiAgICAgICAgLmdpbnB1dF9yaWdodCxcbiAgICAgICAgLmdpbnB1dF9mdWxsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS42cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmdpbnB1dF9sZWZ0LFxuICAgICAgICAuZ2lucHV0X3JpZ2h0IHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFsbCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0OCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZ2lucHV0X2xlZnQge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZ2lucHV0X3JpZ2h0IHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFsbCkge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5naW5wdXRfbGVmdCBsYWJlbCxcbiAgICAgICAgLmdpbnB1dF9yaWdodCBsYWJlbCxcbiAgICAgICAgLmdpbnB1dF9mdWxsIGxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdmaWVsZF9jaGVja2JveCxcbiAgICAuZ2ZpZWxkX3JhZGlvIHtcblxuICAgICAgICBpbnB1dCxcbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ2ZpZWxkX2NoZWNrYm94IGxpLFxuICAgIC5nZmllbGRfcmFkaW8gbGkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgICAgIHRleHQtaW5kZW50OiAtMnJlbTtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fZmlsZXVwbG9hZF9tdWx0aWZpbGUgLmdmb3JtX2Ryb3BfYXJlYSB7XG4gICAgICAgIGJvcmRlcjogMnB4IGRhc2hlZCBjKGZpbGUtYm9yZGVyKTtcbiAgICAgICAgY29sb3I6IGMoZmlsZS1jb2xvcik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIHBhZGRpbmc6IDIuNXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5nZmllbGRfZGVzY3JpcHRpb24ge1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICB9XG5cbiAgICAudmFsaWRhdGlvbl9tZXNzYWdlIHtcbiAgICAgICAgY29sb3I6IGModmFsaWRhdGlvbi1tZXNzYWdlKTtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuXG4gICAgLnZhbGlkYXRpb25fZXJyb3Ige1xuICAgICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkIGModmFsaWRhdGlvbi1tZXNzYWdlKTtcbiAgICAgICAgY29sb3I6IGModmFsaWRhdGlvbi1tZXNzYWdlKTtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIG1hcmdpbjogMi40cmVtIDA7XG4gICAgICAgIHBhZGRpbmc6IDIuNHJlbTtcbiAgICB9XG59XG5cbi5tY2UtY29udGVudC1ib2R5IHtcbiAgICBtYXJnaW46IDIwcHg7XG4gICAgbWF4LXdpZHRoOiA1OGVtO1xufSIsIi5ib2R5LWhlYWRlciB7XG4gICAgQGluY2x1ZGUgYWRtaW4tc3RpY2t5LWZpeDtcbiAgICBoZWlnaHQ6ICRoZWFkZXItaGVpZ2h0LXNtO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWxsLWNoYW5nZTogYmFja2dyb3VuZC1jb2xvcjtcbiAgICB6LWluZGV4OiB6KGhlYWRlcik7XG5cbiAgICAmW2RhdGEtc2l6ZT1cInNtYWxsXCJdIHtcbiAgICAgICAgLnV0aWxpdHktbmF2OmJlZm9yZSB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZWxldmVuKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktY29weTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZShpbi1xdWFkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb250YWluZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubG9nbyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW07XG4gICAgICAgIG1heC13aWR0aDogMzQuNnJlbTtcbiAgICAgICAgd2lkdGg6IDY1LjYyJTtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAudGV4dCxcbiAgICAgICAgLmdsb2JlIHtcbiAgICAgICAgICAgIGZpbGw6IGMobG9nby1pbmFjdGl2ZSk7XG4gICAgICAgICAgICB3aWxsLWNoYW5nZTogZmlsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2LXRvZ2dsZSB7XG4gICAgICAgIEBleHRlbmQgJW5vLWhpZ2hsaWdodDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxLjJyZW07XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZWxldmVuKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmljb24ge1xuICAgICAgICBAaW5jbHVkZSBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMy41cHggOXB4O1xuICAgICAgICB3aWR0aDogMjdweDtcbiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGMoaWNvbi1iZyk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHdpbGwtY2hhbmdlOiBiYWNrZ3JvdW5kLWNvbG9yLCB0cmFuc2Zvcm07XG5cbiAgICAgICAgICAgICYudG9wLFxuICAgICAgICAgICAgJi5ib3R0b20ge1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYudG9wIHtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYubWlkZGxlIHtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYm90dG9tIHtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiIsIi5ib2R5LWZvb3RlciB7XG4gICAgY29sb3I6IGMoZ3JleS1jb2xvcik7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgcGFkZGluZzogNHJlbSAwO1xuXG4gICAgJi1sZWZ0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKG1lZGl1bSkge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1yaWdodCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICBmb250LXdlaWdodDogZncoYm9sZCk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0pIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgLnRvcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZGl2IHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBjKGdyZXktY29sb3IpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOHJlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjhyZW07XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC5sb2dvIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvcHlyaWdodCB7XG4gICAgICAgIGNvbG9yOiBjKGNvcHlyaWdodCk7XG4gICAgICAgIHRleHQtaW5kZW50OiAzLjhyZW07XG4gICAgfVxuXG4gICAgLnNvY2lhbCB7XG5cbiAgICAgICAgc3ZnIHBhdGgge1xuICAgICAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNvY2lhbC1saW5rIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuNHJlbTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNxdWFyZSgxM3B4KTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIvKiAgIDYuMS4gTWFpbiBOYXZpZ2F0aW9uXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gICovXG5AaW1wb3J0ICdtYWluLW5hdic7XG5cbi8qICAgNi4yLiBVdGlsaXR5IE5hdmlnYXRpb25cbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgKi9cblxuQGltcG9ydCAndXRpbGl0eS1uYXYnO1xuXG4vKiAgIDYuMy4gRm9vdGVyIE5hdmlnYXRpb25cbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgKi8iLCIubWFpbi1uYXYge1xuICAgIEBpbmNsdWRlIGFkbWluLXN0aWNreS1maXgoJGhlYWRlci1oZWlnaHQtc20pO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICBsZWZ0OiAwO1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSAjeyRoZWFkZXItaGVpZ2h0LXNtfSk7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogJGhlYWRlci1oZWlnaHQtc207XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDE1MCUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKGVsZXZlbikge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIC5tZW51LWl0ZW0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZWxldmVuKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgJi1saW5rLFxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGFwLWNvbG9yKHJnYmEoJGdyZWVuLCAwLjQpKTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBjKG5hdi1ib3JkZXIpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGVsZXZlbikge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtbGluayB7XG4gICAgICAgICAgICBjb2xvcjogYyhuYXYtY29sb3IpO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzOHB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZWxldmVuKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtdG9wLWxldmVsIHtcblxuICAgICAgICAgICAgLy8gYSB7XG4gICAgICAgICAgICAvLyAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgIC8vIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhlbGV2ZW4pIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC42cmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEuMnJlbSAwLjJyZW07XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm1lbnUtaXRlbS1hY3RpdmUsXG4gICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZWxldmVuKSB7XG4gICAgICAgICAgICAgICAgICAgID4gLm1lbnUtaXRlbS1saW5rIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRob3Zlci1vdXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJGhvdmVyLW91dDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGVsZXZlbikge1xuICAgICAgICAgICAgICAgICAgICA+IC5zdWItbWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZWxldmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gLm1lbnUtaXRlbS1saW5rIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZWxldmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMXJlbTtcblxuICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRob3Zlci1pbjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS10aXRsZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogZncoYm9sZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkaG92ZXItaW47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWhhcy1jaGlsZHJlbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgICAgICAgICAgPiAubWVudS1pdGVtLWxpbmsge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZWxldmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc3ViLW1lbnUge1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGVsZXZlbikge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiA0cHggc29saWQgJG1pZC1ncmVlbjtcbiAgICAgICAgICAgICAgICBsZWZ0OiAxcmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJyZW0gMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI2MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLXRvZ2dsZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3F1YXJlKDQwcHgpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAwIDFweDtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhlbGV2ZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tZW51LWl0ZW0ge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1lbnUtaXRlbS1saW5rIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGVsZXZlbikge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGMoc3ViLWxpbmspO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDIuMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkaG92ZXItaW47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZWxldmVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWlkLWdyZXk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRob3Zlci1vdXQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbi1wbHVzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIudXRpbGl0eS1uYXYge1xuICAgIEBleHRlbmQgJXRleHQtY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGModXRpbGl0eS1iZyk7XG4gICAgY29sb3I6IGModXRpbGl0eS1jb2xvcik7XG4gICAgcGFkZGluZzogMnJlbSAxLjVyZW07XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKGVsZXZlbikge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAxLjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDEuNXJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlKGluLXF1YWQpO1xuICAgICAgICB3aWR0aDogMXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZWxldmVuKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgIG1hcmdpbjogMi41cmVtIDAgMDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDEuNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGVsZXZlbikge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudXRpbGl0eS1saW5rIHtcbiAgICAgICAgY29sb3I6IGModXRpbGl0eS1jb2xvcik7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICBmb250LXdlaWdodDogZncoYm9sZCk7XG4gICAgICAgIHBhZGRpbmc6IDAgMC40cmVtO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhsYXJnZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjA1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgICAgQGluY2x1ZGUgc3F1YXJlKDEycHgpO1xuICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC40cmVtO1xuICAgIH1cblxuICAgIC5zdmcge1xuICAgICAgICBAaW5jbHVkZSBzcXVhcmUoMTNweCk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBzcGFuLFxuICAgICAgICBpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNxdWFyZSgxMDAlKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdmcsXG4gICAgLnZhbHVlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC5zZWFyY2gtdG9nZ2xlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGVsZXZlbikge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGVuYW50cyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDEuMnJlbSAwO1xuICAgICAgICBwYWRkaW5nOiAwLjlyZW0gMDtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGVsZXZlbikge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJHdoaXRlO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNsb3NlLWljb24ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNxdWFyZSgxMnB4KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50ZW5hbnRzLFxuICAgIC5zZWFyY2gtdG9nZ2xlIHtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGVsZXZlbikge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VhcmNoIHtcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhlbGV2ZW4pIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiAyNHJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWFyY2gtZm9ybSB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgICAgICYtZmllbGQsXG4gICAgICAgICYtc3VibWl0IHtcblxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtZmllbGQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgYyh1dGlsaXR5LWNvbG9yKTtcbiAgICAgICAgICAgIGNvbG9yOiBjKHV0aWxpdHktY29sb3IpO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzhweDtcbiAgICAgICAgICAgIHRleHQtaW5kZW50OiAwLjVyZW07XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZWxldmVuKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogYyh1dGlsaXR5LWNvbG9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtc3VibWl0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNxdWFyZSg0MHB4KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhlbGV2ZW4pIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcXVhcmUoMzBweCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2VudGVyO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNxdWFyZSgxOHB4KTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZWxldmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNxdWFyZSgxMnB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiQGltcG9ydCAnYnV0dG9ucyc7XG5AaW1wb3J0ICdmYW5jeS1zZWxlY3QnO1xuQGltcG9ydCAnZmxpY2tpdHknO1xuQGltcG9ydCAnZm9ybXMnO1xuQGltcG9ydCAnaW1hZ2Utb3ZlcmxheSc7XG5AaW1wb3J0ICdvdmVybGF5JzsiLCIuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjKGJ1dHRvbi1iZyk7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgY29sb3I6IGMoYnV0dG9uLWNvbG9yKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6IGZhbWlseSh0aW5vcyk7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGZ3KHJlZ3VsYXIpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjIyNXJlbTtcbiAgICBtaW4td2lkdGg6IDE2MnB4O1xuICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdHJhbnNpdGlvbjogJGhvdmVyLWluO1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZzogMS41cmVtIDNyZW07XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGMoYnV0dG9uLWhvdmVyKTtcbiAgICAgICAgdHJhbnNpdGlvbjogJGhvdmVyLW91dDtcbiAgICB9XG5cbiAgICAmLmJvcmRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCBjKGJ1dHRvbi1jb2xvcik7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYudmlldy1hbGwge1xuICAgICAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZzogMi44cmVtIDA7XG4gICAgICAgIH1cbiAgICB9XG59IiwiJHRvcC1oZWlnaHQ6IDQ4cHg7XG5cbi5mYW5jeS1zZWxlY3Qge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogMjQycHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZWxldmVuKSB7XG4gICAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBndXR0ZXIoKTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAmLXRvcCB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgaGVpZ2h0OiAkdG9wLWhlaWdodDtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICR0b3AtaGVpZ2h0IC0gMnB4O1xuICAgICAgICBwYWRkaW5nOiAwIDEuNnJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5oYW5kbGUge1xuICAgICAgICBAaW5jbHVkZSBzcXVhcmUoMTRweCk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMnJlbTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLW9wdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICAgICAgbWF4LWhlaWdodDogMjJyZW07XG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgICAgcGFkZGluZzogMS42cmVtO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzcmVtKTtcbiAgICAgICAgei1pbmRleDogeihmYW5jeS1vcHRpb25zKTtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGVsZXZlbiwgbWF4KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjZW50ZXIoZmFsc2UpO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMzByZW07XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhlbGV2ZW4pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNjcm9sbGJhcnMoMC44cmVtLCAxcmVtLCByZ2JhKCRibGFjaywgMC41KSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDE3MHB4O1xuICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmLm9wZW4ge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGVsZXZlbiwgbWF4KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2xvc2UtdG9nZ2xlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGVsZXZlbiwgbWF4KSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucXVlcnktdG9nZ2xlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDkwJSA1MCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA5cHg7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgICAgICAgY29sb3I6IGMoYm9keS1jb3B5KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuMnJlbSA0cmVtIDEuMnJlbSAwLjhyZW07XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJGhvdmVyLWluO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGVsZXZlbikge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkaG92ZXItaW4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAkaG92ZXItaW47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBjKGZhbmN5LXNlbGVjdC1ib3JkZXIpO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkaG92ZXItb3V0O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhlbGV2ZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZXk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICRob3Zlci1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgJGhvdmVyLW91dDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBzdmcoJ2Nsb3NlLnN2ZycpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxpc3QtaXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4uY2xvc2UtdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSB0YXAtY29sb3I7XG4gICAgQGluY2x1ZGUgc3F1YXJlKDMwcHgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogeihjbG9zZS10b2dnbGUpO1xuXG4gICAgc3ZnIHtcbiAgICAgICAgQGluY2x1ZGUgY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBzcXVhcmUoMTJweCk7XG4gICAgICAgIGZpbGw6IGMoYm9keS1jb3B5KTtcbiAgICB9XG59XG5cbi5vciB7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XG4gICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1mYW1pbHk6IGZhbWlseSh0aW5vcyk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogZ3V0dGVyKCk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLm5vLWZsZXhib3ggJiB7XG4gICAgICAgIHdpZHRoOiA2cmVtO1xuICAgIH1cblxuICAgIC5wcm9wZXJ0aWVzIHtcbiAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICAgICAgZm9udC1mYW1pbHk6IGZhbWlseSh0aW5vcyk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxufVxuXG4ucHJvcGVydHktc2VhcmNoIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblxuICAgICYtZm9vdGVyIHtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBmbGV4LXN0eWxlcyB7XG5cbiAgICAucHJvcGVydHktc2VhcmNoIHtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA3MDBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIH1cblxuICAgICAgICBib2R5Om5vdCgucHJvcGVydGllcykgJiB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obGFyZ2UpIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9wZXJ0eS1zZWFyY2gtZm9vdGVyIHtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mYW5jeS1zZWxlY3Qge1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vciB7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhsYXJnZSkge1xuICAgICAgICAgICAgZmxleDogMSAwIDZyZW07XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLmZsaWNraXR5LWVuYWJsZWQge1xuICAgIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIvL3Njc3MtbGludDpkaXNhYmxlIGFsbFxuLmdmb3JtX3dyYXBwZXIge1xuICAgIHVsIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG59XG5cbi5nZmllbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNnJlbTtcbn1cblxuLmdmb3JtX3dyYXBwZXIge1xuXG4gICAgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuXG4gICAgc2VsZWN0LFxuICAgIHRleHRhcmVhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYyhpbnB1dC1iZyk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogYyhpbnB1dC1ib3JkZXIpO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgY29sb3I6IGMoaW5wdXQtY29sb3IpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAuOHJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkaG92ZXItaW47XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB3aWxsLWNoYW5nZTogYm9yZGVyLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRncmVlbjtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJGhvdmVyLW91dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0IHtcbiAgICAgICAgJlt0eXBlPXRleHRdLFxuICAgICAgICAmW3R5cGU9dXJsXSxcbiAgICAgICAgJlt0eXBlPWVtYWlsXSxcbiAgICAgICAgJlt0eXBlPXRlbF0sXG4gICAgICAgICZbdHlwZT1udW1iZXJdLFxuICAgICAgICAmW3R5cGU9cGFzc3dvcmRdIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGMoaW5wdXQtYmcpO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBjKGlucHV0LWJvcmRlcik7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICAgICAgICBjb2xvcjogYyhpbnB1dC1jb2xvcik7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMC44cmVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJGhvdmVyLWluO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB3aWxsLWNoYW5nZTogYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRncmVlbjtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkaG92ZXItb3V0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJlt0eXBlPXRlbF0ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAmW3R5cGU9Y2hlY2tib3hdIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogYyhpbnB1dC1ib3JkZXIpO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRncmVlbjtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkaG92ZXItb3V0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uZ2lucHV0X2NvbXBsZXgge1xuICAgIC5naW5wdXRfbGVmdCxcbiAgICAuZ2lucHV0X3JpZ2h0LFxuICAgIC5naW5wdXRfZnVsbCxcbiAgICAubmFtZV9maXJzdCxcbiAgICAubmFtZV9sYXN0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNnJlbTtcblxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdpbnB1dF9sZWZ0IGxhYmVsLFxuICAgIC5naW5wdXRfcmlnaHQgbGFiZWwsXG4gICAgLmdpbnB1dF9mdWxsIGxhYmVsLFxuICAgIC5uYW1lX2ZpcnN0IGxhYmVsLFxuICAgIC5uYW1lX2xhc3QgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgfVxuXG4gICAgLmdpbnB1dF9sZWZ0LFxuICAgIC5uYW1lX2ZpcnN0IHtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNpeCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbig2KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5naW5wdXRfcmlnaHQsXG4gICAgLm5hbWVfbGFzdCB7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzaXgpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4obGFzdCA2KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmdmaWVsZF9jaGVja2JveCB7XG4gICAgaW5wdXQsXG4gICAgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgfVxufVxuXG4uZ2ZpZWxkX3JhZGlvIHtcbiAgICBpbnB1dCxcbiAgICBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG59XG5cbi5nZmllbGRfY2hlY2tib3ggbGksXG4uZ2ZpZWxkX3JhZGlvIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIuNHJlbTtcbiAgICB0ZXh0LWluZGVudDogLTIuNHJlbTtcbn1cblxuLmdmb3JtX2ZpbGV1cGxvYWRfbXVsdGlmaWxlIC5nZm9ybV9kcm9wX2FyZWEge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgcGFkZGluZzogMjVweDtcbiAgICBib3JkZXI6IDJweCBkYXNoZWQgI2RkZDtcbiAgICBjb2xvcjogI2FhYTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5nZmllbGRfZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogLjc1ZW07XG59XG5cbi52YWxpZGF0aW9uX21lc3NhZ2Uge1xuICAgIGNvbG9yOiAjZDk1MzRmO1xuICAgIGZvbnQtc2l6ZTogLjc1ZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi52YWxpZGF0aW9uX2Vycm9yIHtcbiAgICBtYXJnaW46IDIuNHJlbSAwO1xuICAgIHBhZGRpbmc6IDIuNHJlbTtcbiAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICNkOTUzNGY7XG4gICAgY29sb3I6ICNkOTUzNGY7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc2l4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIH1cbn1cblxuLmdmb3JtX2FqYXhfc3Bpbm5lciB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNnJlbTtcbn1cblxuLmdmb3JtX3ZhbGlkYXRpb25fY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uZ2ZfY2xlYXIge1xuICAgIGNsZWFyOiBib3RoO1xufVxuXG4uZnVsbC1uYW1lIHtcbiAgICAuZ2ZpZWxkX2xhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgc2NyZWVuLXJlYWRlci10ZXh0O1xuICAgIH1cbn1cblxuLmdmb3JtX3dyYXBwZXIge1xuICAgIGxhYmVsIHtcbiAgICAgICAgY29sb3I6IGMoZm9ybS1sYWJlbCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgICBmb250LXdlaWdodDogZncoYm9sZCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMXJlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG59XG5cbi5nZm9ybV9mb290ZXIge1xuICAgIEBleHRlbmQgJXRleHQtY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDRyZW07XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgbWluLXdpZHRoOiAzNy4yNSU7XG4gICAgfVxufVxuXG4uZmllbGQtc2VsZWN0IC5naW5wdXRfY29udGFpbmVyIHtcbiAgICBib3JkZXItY29sb3I6IGMoaW5wdXQtYm9yZGVyKTtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBzdmcoJ3RoaW4tY2hldnJvbi5zdmcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDEuMnJlbTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuXG4gICAgc2VsZWN0IHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICB3aWR0aDogMTMwJTtcbiAgICB9XG59IiwiJWltYWdlLW92ZXJsYXkge1xuICAgIEBpbmNsdWRlIGNvdmVyZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogYyhpbWFnZS1vdmVybGF5KTtcbiAgICB6LWluZGV4OiB6KGltYWdlLW92ZXJsYXkpO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgfVxufVxuXG4uaW1hZ2Utb3ZlcmxheSB7XG4gICAgQGV4dGVuZCAlaW1hZ2Utb3ZlcmxheTtcbn0iLCIub3ZlcmxheSxcbi5tb2JpbGUtb3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogYyhvdmVybGF5KTtcbiAgICBib3R0b206IDA7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogeihvdmVybGF5KTtcbn0iLCJAaW1wb3J0ICdhY2NvcmRpb24nO1xuQGltcG9ydCAnYXZhaWxhYmxlLXVuaXRzJztcbkBpbXBvcnQgJ2Jsb2ctZmVlZCc7XG5AaW1wb3J0ICdjYXBhYmlsaXRpZXMnO1xuQGltcG9ydCAnY2VudGVyZWQtaGVhZGxpbmUtaWNvbic7XG5AaW1wb3J0ICdjb250YWN0LXBhZ2UnO1xuQGltcG9ydCAnY3RhLWJhcic7XG5AaW1wb3J0ICdkdWFsLWN0YSc7XG5AaW1wb3J0ICdlbWFpbC1zaWdudXAtYmFyJztcbkBpbXBvcnQgJ2V4cGFuZGFibGUtaWNvbi1ncmlkJztcbkBpbXBvcnQgJ2ZlYXR1cmVkLXByb3BlcnRpZXMnO1xuQGltcG9ydCAnZm91ci1jb2x1bW4taWNvbi1ncmlkJztcbkBpbXBvcnQgJ2hvbWVwYWdlLWJpbGxib2FyZCc7XG5AaW1wb3J0ICdpbnRlcmlvci1iaWxsYm9hcmQnO1xuQGltcG9ydCAnaW1hZ2UtZ2FsbGVyeSc7XG5AaW1wb3J0ICdsb2NhdGlvbi1vdmVydmlldyc7XG5AaW1wb3J0ICdsb2dvLXNsaWRlcic7XG5AaW1wb3J0ICdwcm9qZWN0LWdyaWQnO1xuQGltcG9ydCAncHJvcGVydHktaW50cm8nO1xuQGltcG9ydCAncHJvcGVydHktdHlwZSc7XG5AaW1wb3J0ICdyb3RhdGluZy10ZXh0JztcbkBpbXBvcnQgJ3NwZWNzJztcbkBpbXBvcnQgJ3RlYW0tdGlsZXMnO1xuQGltcG9ydCAndGVzdGltb25pYWxzLWNhcm91c2VsJztcbkBpbXBvcnQgJ3RleHQtY29udGVudCc7XG5AaW1wb3J0ICd0aHJlZS1jb2x1bW4tbG9ja3VwJztcbkBpbXBvcnQgJ3RpbWVsaW5lJztcbkBpbXBvcnQgJ3R3by1jb2x1bW4tY3RhJztcbkBpbXBvcnQgJ3VuaXQtYm9keSc7IiwiLmFjY29yZGlvbiB7XG5cbiAgICArIC5hY2NvcmRpb24ge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgYyhhY2NvcmRpb24tYm9yZGVyKTtcbiAgICB9XG5cbiAgICAuY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAmLXRpdGxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYyhhY2NvcmRpb24tdGl0bGUpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgcGFkZGluZzogMnJlbSAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi43cmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMy43cmVtIDA7XG4gICAgICAgIH1cblxuICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDRweCk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDk4cHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFjY29yZGlvbi1pY29uIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDQ0cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDk4cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5ob3Jpem9udGFsLFxuICAgICAgICAgICAgLnZlcnRpY2FsIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYyh0aXRsZS1pY29uKTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA4cHggMS41cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC52ZXJ0aWNhbCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlWig5MGRlZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwYWRkaW5nOiAzcmVtIDA7XG4gICAgfVxufVxuIiwiLmF2YWlsYWJsZS11bml0cyB7XG5cbiAgICBoMyxcbiAgICBoNCB7XG4gICAgICAgIGNvbG9yOiBjKG92ZXJ2aWV3LXRpdGxlKTtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgIH1cblxuICAgIGg0IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTIwMHB4O1xuICAgIH1cblxuICAgICYtaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogM3JlbSAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgY29sb3I6IGMob3ZlcnZpZXctdGl0bGUpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAzLjRyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudW5pdCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBjKGdyZXktY29udGVudC1ib3JkZXIpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XG4gICAgICAgIC51bml0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGFpbmVyLWNvbCB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxlZnQtY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC51bml0LXRpdGxlIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDNyZW07XG4gICAgfVxuXG4gICAgLnVuaXQtdGh1bWItaW1nIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gICAgfVxuXG4gICAgLnVuaXQtZGVzY3JpcHRpb24ge1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU2O1xuICAgIH1cblxuICAgIC51bml0LWJ1dHRvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIG1hcmdpbjogMjBweCAwIDQwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byh0d2VsdmUpIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICAgIG1hcmdpbjogNXB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHR3ZWx2ZSkge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMzMlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XG4gICAgICAgIC53aXRoLWJvcmRlciB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBjKGdyZXktY29udGVudC1ib3JkZXIpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udW5pdC1kZXRhaWxzLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIGRpdiB7XG4gICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGModGFibGUtYm9yZGVyKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogNHB4O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgICAgIHdpZHRoOiA0cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi51bml0LXRodW1iIHtcblxuICAgIC51bml0LXRodW1iLWltZyB7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG59XG5cbi51bml0LWdhbGxlcnkge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG5cbiAgICB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG4gICAgXG4gICAgbGkge1xuICAgICAgICBib3JkZXI6IDVweCBzb2xpZCBjKGJvZHktYmcpO1xuICAgICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nLXRvcDogMjUlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpXG4gICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB3aWR0aDogMjUwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yb3cgPiAuY29sdW1uIHtcbiAgICAgICAgcGFkZGluZzogMCA4cHg7XG4gICAgICB9XG4gICAgICBcbiAgICAgIC5yb3c6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICB9XG4gICAgICBcbiAgICAgIC8qIENyZWF0ZSBmb3VyIGVxdWFsIGNvbHVtbnMgdGhhdCBmbG9hdHMgbmV4dCB0byBlYWNob3RoZXIgKi9cbiAgICAgIC5jb2x1bW4ge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgLyogVGhlIE1vZGFsIChiYWNrZ3JvdW5kKSAqL1xuICAgICAgLm1vZGFsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB6LWluZGV4OiB6KGdvZC10aWVyKTtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwMHB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgICAgIH1cbiAgICAgIFxuICAgICAgLyogTW9kYWwgQ29udGVudCAqL1xuICAgICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gICAgICB9XG4gICAgICBcbiAgICAgIC8qIFRoZSBDbG9zZSBCdXR0b24gKi9cbiAgICAgIC5jbG9zZSB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgIHJpZ2h0OiAyNXB4O1xuICAgICAgICBmb250LXNpemU6IDM1cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgfVxuICAgICAgXG4gICAgICAuY2xvc2U6aG92ZXIsXG4gICAgICAuY2xvc2U6Zm9jdXMge1xuICAgICAgICBjb2xvcjogIzk5OTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG4gICAgICBcbiAgICAgIC8qIEhpZGUgdGhlIHNsaWRlcyBieSBkZWZhdWx0ICovXG4gICAgICAubXlTbGlkZXMge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBcbiAgICAgIC8qIE5leHQgJiBwcmV2aW91cyBidXR0b25zICovXG4gICAgICAucHJldixcbiAgICAgIC5uZXh0IHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMTZweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTUwcHg7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgdHJhbnNpdGlvbjogMC42cyBlYXNlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDNweCAzcHggMDtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICB9XG4gICAgICBcbiAgICAgIC8qIFBvc2l0aW9uIHRoZSBcIm5leHQgYnV0dG9uXCIgdG8gdGhlIHJpZ2h0ICovXG4gICAgICAubmV4dCB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHggMCAwIDNweDtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgLyogT24gaG92ZXIsIGFkZCBhIGJsYWNrIGJhY2tncm91bmQgY29sb3Igd2l0aCBhIGxpdHRsZSBiaXQgc2VlLXRocm91Z2ggKi9cbiAgICAgIC5wcmV2OmhvdmVyLFxuICAgICAgLm5leHQ6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gICAgICB9XG4gICAgICBcbiAgICAgIGltZy5kZW1vIHtcbiAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgfVxuICAgICAgXG4gICAgICAuYWN0aXZlLFxuICAgICAgLmRlbW86aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxufSIsIi5ibG9nLWZlZWQge1xuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTA4MHB4O1xuICAgIH1cblxuICAgICYtaGVhZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYyhmZWVkLWhlYWRlci1iZyk7XG4gICAgICAgIGNvbG9yOiBjKGZlZWQtaGVhZGVyLWNvbG9yKTtcbiAgICAgICAgcGFkZGluZzogMi41cmVtIDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYWxsKSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhlaWdodCkge1xuICAgICAgICAgICAgcGFkZGluZzogNXJlbSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFsbCkge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hbGwpIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWJvZHkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjKGZlZWQtYm9keS1iZyk7XG4gICAgICAgIHBhZGRpbmc6IDIuNXJlbSAwO1xuXG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZzogNHJlbSAwIDZyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICB9XG5cbiAgICAucG9zdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDZyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhlaWdodCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbig1LjUpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDJuKSB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZWlnaHQpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFuKGxhc3QgNS41KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtaGVhZGVyLFxuICAgICAgICAmLWJvZHkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmF1dGhvcixcbiAgICAgICAgLmV4Y2VycHQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuYXV0aG9yLFxuICAgICAgICAuY2F0ZWdvcmllcyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogYyhib2R5LWNvcHkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmF1dGhvciB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBjKGJvZHktY29weSk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1ldGEge1xuICAgICAgICAgICAgbWFyZ2luOiAycmVtIDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDFyZW0gMCAycmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1mb290ZXIge1xuXG4gICAgICAgICAgICAuYnV0dG9uIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc29jaWFsLWNoZXIge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uZmxleGJveCxcbi5mbGV4Ym94bGVnYWN5IHtcblxuICAgIC5ibG9nLWZlZWQtaGVhZGVyIC5jb250YWluZXIge1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hbGwpIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBoMixcbiAgICAgICAgLmJ1dHRvbiB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hbGwpIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmxvZy1mZWVkIHtcblxuICAgICAgICAucG9zdC1mb290ZXIge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJ1dHRvbixcbiAgICAgICAgICAgIC5zb2NpYWwtY2hlciB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIuY2FwYWJpbGl0aWVzLWJsb2NrIHtcbiAgICBAZXh0ZW5kICV0ZXh0LWNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjKGNhcGFiaWxpdGllcy1iZyk7XG5cbiAgICAmLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDZyZW0gMDtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMy40cmVtO1xuXG4gICAgICAgICsgaDMge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1ib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBjKGNhcGFiaWxpdGllcy1ib3JkZXIpO1xuXG4gICAgICAgIC5pbm5lciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjKGNhcGFiaWxpdGllcy1iZyk7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cmVtIDAgNi4zcmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGVsZXZlbikge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkaG92ZXItaW47XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGVudC1jZW50ZXIge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGVsZXZlbikge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNlbnRlcihmYWxzZSk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FwYWJpbGl0eS1mb290ZXIge1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZWxldmVuKSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFyZW0pO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkaG92ZXItaW4sXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gJGhvdmVyLWluO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1jYXBhYmlsaXR5IHtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBjKGNhcGFiaWxpdGllcy1ib3JkZXIpO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHg7XG4gICAgICAgIGNvbG9yOiBjKGJvZHktY29weSk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKG1lZGl1bSkge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDFweDtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obGFyZ2UpIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGVsZXZlbikge1xuICAgICAgICAgICAgaGVpZ2h0OiA0MHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYgKyAmIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhsYXJnZSkge1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAwIDAgMXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAuaW5uZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZWxldmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGMoY2FwLWhvdmVyLWJnKTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkaG92ZXItb3V0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNhcGFiaWxpdHktZm9vdGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGVsZXZlbikge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJGhvdmVyLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtICRob3Zlci1vdXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2FwYWJpbGl0eS1pY29uIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZWxldmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJGhvdmVyLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtICRob3Zlci1vdXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2FwYWJpbGl0eS10aXRsZSB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGVsZXZlbikge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICRob3Zlci1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAkaG92ZXItb3V0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtdGl0bGUge1xuICAgICAgICAgICAgY29sb3I6IGMoYm9keS1jb3B5KTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICRob3Zlci1pbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXBhYmlsaXR5LWljb24ge1xuICAgICAgICBAaW5jbHVkZSBzcXVhcmUoNjBweCk7XG4gICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhsYXJnZSkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMi41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhlbGV2ZW4pIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0OHB4KTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICRob3Zlci1pbixcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAkaG92ZXItaW47XG4gICAgICAgIH1cblxuICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBmdyhib2xkKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNC4zcmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGVsZXZlbikge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQ4cHgpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJGhvdmVyLWluLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtICRob3Zlci1pbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5ibG9jayArICYge1xuICAgIC8vICAgICBtYXJnaW4tdG9wOiAtMnJlbTtcbiAgICAvL1xuICAgIC8vICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XG4gICAgLy8gICAgICAgICBtYXJnaW4tdG9wOiAtNHJlbTtcbiAgICAvLyAgICAgfVxuICAgIC8vXG4gICAgLy8gICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZnVsbCkge1xuICAgIC8vICAgICAgICAgbWFyZ2luLXRvcDogLTZyZW07XG4gICAgLy8gICAgIH1cbiAgICAvLyB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZS1pbi11cCB7XG4gICAgMCUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgZmxleC1zdHlsZXMge1xuXG4gICAgLmNhcGFiaWxpdGllcy1ibG9jayB7XG5cbiAgICAgICAgJi1ib2R5IHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhsYXJnZSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb250ZW50LWNlbnRlciB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pbm5lciB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtY2FwYWJpbGl0eSB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggNCB7XG4gICAgICAgICAgICAmLmNvdW50LSN7JGl9IHtcbiAgICAgICAgICAgICAgICAuY2FwYWJpbGl0aWVzLWJsb2NrLWNhcGFiaWxpdHkge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXg6IDEgMCAxMDAlIC8gJGk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLmNlbnRlcmVkLWhlYWRsaW5lLWljb24ge1xuICAgIEBleHRlbmQgJXRleHQtY2VudGVyO1xuXG4gICAgLmljb24sXG4gICAgLnRleHQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLmljb24ge1xuICAgICAgICBAaW5jbHVkZSBzcXVhcmUoNDVweCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMS45cmVtO1xuICAgIH1cblxuICAgIC50ZXh0IHtcbiAgICAgICAgY29sb3I6IGMoaWNvbi1oZWFkbGluZSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMy44cmVtO1xuICAgIH1cbn0iLCIuY29udGFjdC1wYWdlIHtcblxuICAgIC5jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IGVtKDgwMHB4KTtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGVpZ2h0LXRoaXJ0eSkge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtY2FwdGlvbixcbiAgICAmLWJ1c2luZXNzLWluZm8ge1xuICAgICAgICBsaW5lLWhlaWdodDogMjtcbiAgICB9XG5cbiAgICAmLWNhcHRpb24ge1xuICAgICAgICBmb250LXNpemU6IDEuOXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNpeCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbig2KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtYnVzaW5lc3MtaW5mbyB7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzaXgpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4obGFzdCA2KTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGNvbG9yOiBjKGJ1c2luZXNzLXRpdGxlKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGZ3KGJvbGQpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hZGRyZXNzIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQxNDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uLFxuICAgICAgICAuZW1haWwge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5lbWFpbCB7XG4gICAgICAgICAgICBjb2xvcjogYyhib2R5LWNvcHkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcXVhcmUoMS44cmVtKTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMS4xcmVtO1xuXG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1mb3JtIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGMoY29udGFjdC1ib3JkZXIpO1xuICAgICAgICBtYXJnaW4tdG9wOiAzLjRyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiA2LjFyZW07XG5cbiAgICAgICAgLmdmb3JtX2Zvb3RlciB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0cmVtO1xuICAgICAgICB9XG4gICAgfVxufSIsIi5jdGEtYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjKGN0YS1iYXIpO1xuICAgIHBhZGRpbmc6IDcuMnJlbSAwIDVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi44cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjRyZW07XG4gICAgfVxufSIsIi5kdWFsLWN0YSB7XG4gICAgQGV4dGVuZCAldGV4dC1jZW50ZXI7XG5cbiAgICAuY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgICYtY3RhIHtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGd1dHRlcigpO1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAycHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1jb250ZW50IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYyhjdGEtYmcpO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDIuNXJlbSAxLjVyZW07XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJGhvdmVyLWluO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGVsZXZlbikge1xuICAgICAgICAgICAgcGFkZGluZzogN3JlbSAxMy44cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjKGN0YS1ob3Zlcik7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRob3Zlci1vdXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi42cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42NTQ7XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDQuNHJlbTtcbiAgICB9XG59IiwiLmVtYWlsLXNpZ251cC1iYXIge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBjKHNpZ251cC1ib3JkZXIpO1xuICAgIG1hcmdpbi10b3A6IDNyZW07XG4gICAgcGFkZGluZzogNC41cmVtIDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogOTIwcHg7XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBzY3JlZW4tcmVhZGVyLXRleHQ7XG4gICAgfVxuXG4gICAgJi10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi44cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZWlnaHQpIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMzZweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5nZm9ybXNfY29uZmlybWF0aW9uX21lc3NhZ2Uge1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIH1cblxuICAgIC52YWxpZGF0aW9uX2Vycm9yIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cblxuICAgICYtdGl0bGUsXG4gICAgLmdmb3JtX3dyYXBwZXIge1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZWlnaHQpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmb3JtIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhlaWdodCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIHtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGVpZ2h0KSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogZ3V0dGVyKCk7XG4gICAgICAgICAgICB3aWR0aDogY2FsYyg5OC4yOTElIC0gMjM2cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhlbGV2ZW4pIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0OHB4O1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoOTguMjkxJSAtIDI4NHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9dGV4dF0ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGMoc2lnbnVwLWlucHV0KTtcbiAgICAgICAgICAgIGNvbG9yOiBjKGJvZHktY29weSk7XG4gICAgICAgICAgICBoZWlnaHQ6IDU0cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNTJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5nZmllbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5nZm9ybV9ib2R5LFxuICAgIC5nZm9ybV9mb290ZXIge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fZm9vdGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIGhlaWdodDogNTRweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1MnB4O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxLjVyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEzNHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCA0cmVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNTRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5nZm9ybV9ib2R5IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDg2cHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtKSB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTM0cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhlaWdodCkge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE1NHB4KTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIuZXhwYW5kYWJsZS1pY29uLWdyaWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGMoZXhwYW5kYWJsZS1iZyk7XG5cbiAgICAuZ3JpZC1pdGVtIHtcbiAgICAgICAgQGV4dGVuZCAldGV4dC1jZW50ZXI7XG4gICAgICAgIGJvcmRlci1jb2xvcjogYyhncmlkLWJvcmRlcik7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMDtcbiAgICAgICAgcGFkZGluZzogNHJlbSAwO1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZWlnaHQpIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMCAwO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiA4cmVtO1xuICAgICAgICAgICAgd2lkdGg6IDMzLjMzJTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZWlnaHQpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaWNvbiB7XG4gICAgICAgIEBpbmNsdWRlIHNxdWFyZSg2MHB4KTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgICBjb2xvcjogYyhleHBhbmRhYmxlLWhsKTtcbiAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBmdyhib2xkKTtcbiAgICAgICAgbWFyZ2luOiAzcmVtIDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTc2O1xuICAgIH1cbn0iLCIuZmVhdHVyZWQtcHJvcGVydGllcyB7XG5cbiAgICAmLWhlYWRlciB7XG4gICAgICAgIEBleHRlbmQgJXRleHQtY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiA0LjRyZW0gMDtcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDMuNHJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhsYXJnZSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtYm9keSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obGFyZ2UpIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQ4OXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAubG9hZGluZyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBhamF4KCdhamF4LWxvYWRlci5naWYnKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDQzcHggMTFweDtcbiAgICAgICAgICAgIGhlaWdodDogMTFweDtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDJyZW07XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZShpbi1vdXQtcXVhcnQpO1xuICAgICAgICAgICAgd2lkdGg6IDQzcHg7XG5cbiAgICAgICAgICAgICYuZmV0Y2hpbmcge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmFuY3ktc2VsZWN0IHtcbiAgICAgICAgbWFyZ2luOiAxLjVyZW0gYXV0bztcblxuICAgICAgICAmLXRvcCB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBjKGZhbmN5LXNlbGVjdC13aGl0ZSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLW9wdGlvbnMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYyhob21lLXNlbGVjdC1tb2JpbGUpO1xuICAgICAgICAgICAgY29sb3I6IGMoYm9keS1jb3B5KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhlbGV2ZW4pIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGMoZmFuY3ktc2VsZWN0LXdoaXRlKTtcbiAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1wcm9wZXJ0eSB7XG4gICAgICAgIEBleHRlbmQgJXRleHQtY2VudGVyO1xuICAgICAgICBjb2xvcjogYyhmZWF0dXJlZC1wcm9wZXJ0aWVzKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGd1dHRlcigzKTtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDAgZ3V0dGVyKCkgZ3V0dGVyKCkgMDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICB3aWR0aDogc3Bhbig0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZnVsbCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDE2cHggMTZweCAwO1xuICAgICAgICAgICAgd2lkdGg6IDQ4OXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZCgzbikge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpudGgtbGFzdC1jaGlsZCgtbiszKSB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICBhcnRpY2xlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1haW50YWluLWFzcGVjdC1yYXRpbygxLCAxKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjhyZW07XG4gICAgICAgIH1cblxuICAgICAgICBoNCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIuNHJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhlbGV2ZW4pIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCwgMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG5cbiAgICAgICAgLmlubmVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE3LjI0JSAxLjJyZW0gMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IHooaW1hZ2Utb3ZlcmxheSkgKyAxOyAvL3RoaXMgd29ya2VkPyEgYXdlc29tZSFcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhlbGV2ZW4pIHtcbiAgICAgICAgICAgICAgICAuZGFya2VuIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkaG92ZXItb3V0O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5wcm9wZXJ0eS1mb290ZXIge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAkaG92ZXItb3V0IDAuMXM7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnByb3BlcnR5LW1ldGEge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkaG92ZXItb3V0O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogJGhvdmVyLW91dCAwLjFzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9wZXJ0eS1mb290ZXIge1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZWxldmVuKSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLCAwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246ICRob3Zlci1pbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtZm9vdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLnNpbmdsZS1wcm9wZXJ0aWVzIHtcblxuICAgICAgICAucHJvcGVydC1tZXRhIHtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9wZXJ0eS1tZXRhIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBmdyhib2xkKTtcbiAgICAgICAgbWFyZ2luLXRvcDogMi45cmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZWxldmVuKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQuNXJlbSk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGhvdmVyLWluO1xuICAgICAgICB9XG5cbiAgICAgICAgLmRpdmlkZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMCAwLjVyZW07XG4gICAgICAgIH1cblxuXG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogYyhmZWF0dXJlZC1wcm9wZXJ0aWVzKTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kYXJrZW4ge1xuICAgICAgICBAZXh0ZW5kICVpbWFnZS1vdmVybGF5O1xuICAgIH1cbn1cblxuLnByb3BlcnR5LWdyaWQge1xuXG4gICAgLmZlYXR1cmVkLXByb3BlcnRpZXMtcHJvcGVydHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCwgMC44KTtcbiAgICB9XG5cbiAgICAmLm5vLXJlc3VsdHMge1xuICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuODU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDgxcmVtO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICB9XG5cbiAgICAucHJvcGVydHktdHlwZXMge1xuXG4gICAgICAgIC5zZXA6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufSIsIi5mb3VyLWNvbHVtbi1pY29uLWdyaWQge1xuICAgIEBleHRlbmQgJXRleHQtY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDZyZW0gMDtcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDMuNHJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtYm9keSB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBjKGZvdXItY29sdW1uLWN0YS1ib3JkZXIpO1xuICAgICAgICBmb250LXNpemU6IDA7XG5cbiAgICAgICAgLmlubmVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxOHJlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVyZW0gMCA2LjNyZW07XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjZW50ZXIoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBmdyhib2xkKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuM3JlbTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGVsZXZlbikge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0OHB4KTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkaG92ZXItaW4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtICRob3Zlci1pbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY291bnQtMiAuZm91ci1jb2x1bW4taWNvbi1ncmlkLWN0YSxcbiAgICAgICAgJi5jb3VudC0zIC5mb3VyLWNvbHVtbi1pY29uLWdyaWQtY3RhLFxuICAgICAgICAmLmNvdW50LTQgLmZvdXItY29sdW1uLWljb24tZ3JpZC1jdGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzaXgpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY291bnQtMyAuZm91ci1jb2x1bW4taWNvbi1ncmlkLWN0YSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMzLjMzJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY291bnQtNCAuZm91ci1jb2x1bW4taWNvbi1ncmlkLWN0YSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtY3RhIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBjKGZvdXItY29sdW1uLWN0YS1ib3JkZXIpO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6IDFweCAwIDA7XG4gICAgICAgIGNvbG9yOiBjKGJvZHktY29weSk7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzaXgpIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMXB4IDAgMDtcbiAgICAgICAgICAgIGhlaWdodDogMzg1cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZCgybikge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNpeCkge1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAwIDFweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMXB4IDAgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDMpIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzaXgpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMXB4IDAgMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhsYXJnZSkge1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzaXgpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY3RhLWljb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3F1YXJlKDYwcHgpO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMnJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhsYXJnZSkge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0OHB4KTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGhvdmVyLWluO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZWxldmVuKSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICAuY3RhLWljb24sXG4gICAgICAgICAgICBoMyB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRob3Zlci1vdXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGVsZXZlbikge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDQge1xuICAgICAgICBmb250LXNpemU6IDIuNnJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMy41cmVtO1xuICAgIH1cbn0iLCIuaG9tZXBhZ2UtYmlsbGJvYXJkIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGNvbG9yOiBjKGJpbGxib2FyZC1jb2xvcik7XG4gICAgaGVpZ2h0OiAxMDB2aDtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtKSB7XG4gICAgICAgIGhlaWdodDogNjJyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhmdWxsKSB7XG4gICAgICAgIGhlaWdodDogNzIuNHJlbTtcbiAgICB9XG5cbiAgICAuY29udGFpbmVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgJi13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDUwJTtcbiAgICAgICAgei1pbmRleDogeihiaWxsYm9hcmQtd3JhcCk7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0pIHtcbiAgICAgICAgICAgIGJvdHRvbTogMTdyZW07XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDApO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWhlYWRlciB7XG4gICAgICAgIEBleHRlbmQgJXRleHQtY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKG1lZGl1bSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiA1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhsYXJnZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiA1LjhyZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGVsZXZlbikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mYW5jeS1zZWxlY3Qge1xuXG4gICAgICAgICYub3BlbiB7XG5cbiAgICAgICAgICAgIC5mYW5jeS1zZWxlY3QtdG9wIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjKGhvbWUtc2VsZWN0LWFjdGl2ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLXRvcCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjKGhvbWUtc2VsZWN0LXRvcCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjI1cyBlYXNlKGluLW91dC1xdWFkKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtb3B0aW9ucyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjKGhvbWUtc2VsZWN0LW1vYmlsZSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZWxldmVuKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYyhob21lLXNlbGVjdC1vcHRpb25zKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnF1ZXJ5LXRvZ2dsZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGMoYm9keS1jb3B5KTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZWxldmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGMoYmlsbGJvYXJkLWNvbG9yKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSxcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGVsZXZlbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMSwgMTEsIDExLCAwLjI3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaGFuZGxlIHtcblxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcXVhcmUoMTRweCk7XG4gICAgICAgICAgICAgICAgZmlsbDogYyhiaWxsYm9hcmQtY29sb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9yIHtcbiAgICAgICAgQGV4dGVuZCAldGV4dC1jZW50ZXI7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBmYW1pbHkodGlub3MpO1xuICAgICAgICBtYXJnaW46IDFyZW0gMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAucHJvcGVydHktc2VhcmNoIHtcblxuICAgICAgICAmLWZvb3RlciB7XG4gICAgICAgICAgICBAZXh0ZW5kICV0ZXh0LWNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi5pbnRlcmlvci1iaWxsYm9hcmQge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgY29sb3I6IGMoYmlsbGJvYXJkLWNvbG9yKTtcbiAgICBtaW4taGVpZ2h0OiA0NnZoO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5jb250ZW50IHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuXG4gICAgJi5jb250ZW50LFxuICAgICYucHJvcGVydHkge1xuICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRoZWFkZXItaGVpZ2h0LXNtICsgMjBweCAxLjVyZW0gMjBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhlbGV2ZW4pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkaGVhZGVyLWhlaWdodC1zbSArIDIwcHggMS41cmVtIDQuNnJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pbnRlcmlvci1iaWxsYm9hcmQtaGVhZGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLm5vbmUge1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZWlnaHQpIHtcbiAgICAgICAgICAgIGhlaWdodDogMzRyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnByb3BlcnR5IHtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGVsZXZlbikge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFpbnRhaW4tYXNwZWN0LXJhdGlvKDUsIDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaDEge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IGVtKDEwMDBweCk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhlbGV2ZW4pIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjZW50ZXIoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTMwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odHdlbHZlKSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTQwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZm91cnRlZW4pIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pbnRlcmlvci1iaWxsYm9hcmQtY29udGVudCB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDY1JTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhlbGV2ZW4pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb3BlcnR5LW1hcCB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzNSU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnRpdGxlIHtcbiAgICAgICAgaGVpZ2h0OiA0NnZoO1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obGFyZ2UpIHtcbiAgICAgICAgICAgIGhlaWdodDogMzQuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250YWluZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6ICRoZWFkZXItaGVpZ2h0LXNtICsgMjBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhlbGV2ZW4pIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaW50ZXJpb3ItYmlsbGJvYXJkLWhlYWRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKDEwOTlweCwgbWF4KSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2VudGVyKGZhbHNlKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gM3JlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWhlYWRlciB7XG4gICAgICAgIEBleHRlbmQgJXRleHQtY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKG1lZGl1bSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiA1LjhyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWNvbnRlbnQge1xuICAgICAgICBAZXh0ZW5kICV0ZXh0LWNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYyhiaWxsYm9hcmQtY29udGVudCk7XG4gICAgICAgIHBhZGRpbmc6IDIuNXJlbSAxLjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhlbGV2ZW4pIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA4MnJlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDlyZW0gNi4zcmVtIDVyZW07XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhsYXJnZSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1mb290ZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhsYXJnZSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9wLWFuY2hvciB7XG4gICAgICAgIGNvbG9yOiBjKGJpbGxib2FyZC1jb2xvcik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBmdyhib2xkKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC5hcnJvdyB7XG4gICAgICAgIEBpbmNsdWRlIHNxdWFyZSgyN3B4KTtcbiAgICAgICAgYW5pbWF0aW9uOiBib3VuY2UgMXMgbGluZWFyIGluZmluaXRlO1xuICAgICAgICBjb2xvcjogYyhwcm9wLWFuY2hvcik7XG4gICAgICAgIG1hcmdpbjogMS41cmVtIGF1dG87XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhsYXJnZSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMi41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNxdWFyZSgyN3B4KTtcblxuICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb3BlcnR5LW1hcCB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44LCAwLjgpO1xuXG4gICAgICAgICYucmVhZHkge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZShvdXQtcXVhZCksXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4zcyBlYXNlKG91dC1xdWFkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vaGlkZSBnb29nbGUncyBVSSAoc29ycnkgZ29vZ2xlKVxuICAgICAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBhbGxcbiAgICAgICAgYVtocmVmXj1cImh0dHBzOi8vbWFwcy5nb29nbGUuY29tL21hcHNcIl0sXG4gICAgICAgIC5nbS1zdHlsZS1jYyB7XG4gICAgICAgICAgICBkaXNwbGF5Om5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5nbW5vcHJpbnQge1xuICAgICAgICAgICAgQGV4dGVuZCAlbm8taGlnaGxpZ2h0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZSB7XG4gICAgNTAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO31cbiAgICA3NSUge3RyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTt9XG59XG5cbi5zaW5nbGUtcHJvcGVydGllcyxcbi5zaW5nbGUtdW5pdCB7XG5cbiAgICAuaW50ZXJpb3ItYmlsbGJvYXJkIHtcbiAgICAgICAgQGV4dGVuZCAldGV4dC1jZW50ZXI7XG5cbiAgICAgICAgaDEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjVyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDQuMzY3cmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogZncoYm9sZCk7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb3BlcnR5LW1ldGEge1xuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMi45cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNi43cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogYyhiaWxsYm9hcmQtY29sb3IpO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmRpdmlkZXIge1xuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAuNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tYXAtbWFya2VyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNlbnRlcjtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNxdWFyZSg2MHB4KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGMobWFwLW1hcmtlcik7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICB6LWluZGV4OiB6KG1hcC1tYXJrZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmRpcmVjdGlvbnMtbGluayB7XG4gICAgICAgICAgICBib3R0b206IDEuNnJlbTtcbiAgICAgICAgICAgIGNvbG9yOiBjKGJpbGxib2FyZC1jb2xvcik7XG4gICAgICAgICAgICBmb250LWZhbWlseTogZmFtaWx5KHRpbm9zKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40MjhyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogZncocmVndWxhcik7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4yMTRyZW07XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMS44cmVtO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIuYnVpbGRpbmctZ2FsbGVyeSB7XG5cbiAgICAmLWhlYWRlciB7XG4gICAgICAgIEBleHRlbmQgJXRleHQtY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAyLjVyZW0gMDtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKG1lZGl1bSkge1xuICAgICAgICAgICAgcGFkZGluZzogM3JlbSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgY29sb3I6IGMob3ZlcnZpZXctdGl0bGUpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAzLjRyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW1hZ2UtZ2FsbGVyeSB7XG4gICAgICAgIC5mbGlja2l0eS12aWV3cG9ydHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgICAgICAgLmZsaWNraXR5LXNsaWRlcntcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAoNDc3Lzg5MSkqMTAwJTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc21hbGwpe1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogY2FsYyg1Mi4zNzIzNTM1MzU0JSAtIDQ0cHgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obGFyZ2Upe1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogKDQ3Ny84OTEpKjU4LjgzNyU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAuZ2FsbGVyeS1jZWxsIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogZ3V0dGVyKCk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICg0NzcvODkxKSoxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoOTguODY0JSAtIDg4cHgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDU4LjgzNyU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhmdWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYyhnYWxsZXJ5LWNvbnRyb2xzLWJnKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE5LjUlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjKGdhbGxlcnktY29udHJvbHMtYmcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm5leHQge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnByZXZpb3VzIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzdmcge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjZW50ZXIoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcXVhcmUoMjdweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYXJyb3cge1xuICAgICAgICAgICAgICAgIGZpbGw6IGMoZ2FsbGVyeS1jb250cm9scyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2luZ2xlLWltZyB7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuICAgIH1cbn0iLCIubG9jYXRpb24tb3ZlcnZpZXcge1xuICAgIC5jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgJi1oZWFkZXIge1xuICAgICAgICBAZXh0ZW5kICV0ZXh0LWNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogNHJlbSAwO1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cmVtIDA7XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogODByZW07XG4gICAgICAgIH1cblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBjb2xvcjogYyhvdmVydmlldy10aXRsZSk7XG4gICAgICAgICAgICBmb250LXNpemU6IDMuNHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS42NTI7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzLjhyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWxpc3Qge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjKG92ZXJ2aWV3LWxpc3QtYmcpO1xuICAgICAgICBjb2xvcjogYyhvdmVydmlldy1saXN0LWNvbG9yKTtcbiAgICAgICAgcGFkZGluZzogMi41cmVtIDEuNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA4LjVyZW0gMTByZW07XG4gICAgICAgIH1cblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBAZXh0ZW5kICV0ZXh0LWNlbnRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMy40cmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMy41cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjEzO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1pbWFnZSB7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgfVxuXG4gICAgJi1saXN0LFxuICAgICYtaW1hZ2Uge1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZWlnaHQpIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIubG9nby1zbGlkZXIge1xuXG4gICAgLmxvZ28tc2xpZGUge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5vLWZsaWNraXR5IHtcbiAgICAgICAgQGV4dGVuZCAldGV4dC1jZW50ZXI7XG5cbiAgICAgICAgLmxvZ28tc2xpZGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzaXgpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cmVtO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZsaWNraXR5LWVuYWJsZWQge1xuXG4gICAgICAgIC5mbGlja2l0eS12aWV3cG9ydCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gODhweCk7XG4gICAgICAgIH1cblxuICAgICAgICAubG9nby1zbGlkZSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA0NHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNpeCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCA0cmVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDMzLjMzJSAtIDRyZW0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDRyZW0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDJyZW07XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMjAlIC0gMnJlbSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc2l4KSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uIHtcblxuICAgICAgICAuYXJyb3cge1xuICAgICAgICAgICAgZmlsbDogJGdyZWVuO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5wcmV2aW91cyB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5uZXh0IHtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxufSIsIiIsIi5wcm9wZXJ0eS1pbnRybyB7XG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhsYXJnZSkge1xuICAgICAgICBwYWRkaW5nOiA1cmVtIDAgMDtcbiAgICB9XG5cbiAgICAuY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gICAgfVxuXG4gICAgJi1jb250ZW50IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBjKGludHJvLWJvcmRlcik7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAwIDFweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhsYXJnZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbig2KTtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMCAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZnVsbCkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTY7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDUxLjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICAgICAgICAgIC8vIG1hcmdpbi10b3A6IDVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWxpc3RzIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhsYXJnZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3BhbihsYXN0IDYpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhlbGV2ZW4pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4obGFzdCA1KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5saXN0IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuYW1lbml0aWVzLFxuICAgICAgICAuc2l6ZXMge1xuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMi41cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuXG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hbWVuaXRpZXMge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNpeCkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4oNik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZnVsbCkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4oMiBvZiA1KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zaXplcyB7XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNpeCkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4obGFzdCA2KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhmdWxsKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQxJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGNvbG9yOiBjKGludHJvLWxpc3RzLWNvbG9yKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU2O1xuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgY29sb3I6IGMoaW50cm8tbGlzdHMtdGl0bGUpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogZncoYm9sZCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBmdyhyZWd1bGFyKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgZmxleC1zdHlsZXMge1xuICAgIC5wcm9wZXJ0eS1pbnRyby1saXN0cyB7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhlbGV2ZW4pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIH1cblxuICAgICAgICAuYW1lbml0aWVzIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhlbGV2ZW4pIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zaXplcyB7XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGVsZXZlbikge1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnRheC1wcm9wZXJ0eS10eXBlIHtcblxuICAgIC5pbnRlcmlvci1iaWxsYm9hcmQge1xuXG4gICAgICAgICYtY29udGVudCB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZWxldmVuKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXJlbSA2LjNyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvcGVydHktdHlwZS10aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMi41cmVtIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhlbGV2ZW4pIHtcbiAgICAgICAgICAgIG1hcmdpbjogNHJlbSAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDEge1xuICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mZWF0dXJlZC1wcm9wZXJ0aWVzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICB9XG59IiwiLnJvdGF0aW5nLXRleHQge1xuICAgIEBleHRlbmQgJXRleHQtY2VudGVyO1xuICAgIHBhZGRpbmc6IDJyZW0gMDtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZnVsbCkge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMzBweDtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKG1lZGl1bSkge1xuICAgICAgICAgICAgaGVpZ2h0OiA0MXJlbTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZnVsbCkge1xuICAgICAgICAgICAgaGVpZ2h0OiAzMXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbm5lciB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzcmVtKTtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKG1lZGl1bSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2VudGVyKGZhbHNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZnVsbCkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3RhdGljLFxuICAgIC50ZXh0LWNhcm91c2VsIHtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKG1lZGl1bSkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdGF0aWMge1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgcGFkZGluZzogMnJlbSAwO1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byh0d2VsdmUpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRleHQtY2Fyb3VzZWwge1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtKSB7XG4gICAgICAgICAgICB3aWR0aDogNzBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jaXRlLWNhcm91c2VsIHtcbiAgICAgICAgY29sb3I6IGMoZ3JleS1jb2xvcik7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgICBmb250LXdlaWdodDogZncoYm9sZCk7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuOHJlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHR3ZWx2ZSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMy41cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRvcCB7XG4gICAgICAgIGNvbG9yOiBjKGdyZWVuLWNvbG9yKTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC50ZXh0LWNlbGwge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNHJlbTtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogOHJlbTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIuc3BlY3Mge1xuXG4gICAgLmNvbnRhaW5lciB7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhsYXJnZSkge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWhlYWRlciB7XG4gICAgICAgIEBleHRlbmQgJXRleHQtY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAycmVtIDAgNHJlbTtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKG1lZGl1bSkge1xuICAgICAgICAgICAgcGFkZGluZzogNHJlbSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHdpZHRoOiAzMy4zMyU7XG4gICAgICAgIH1cblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDMuNHJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtbGlzdHMge1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obGFyZ2UpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogNjYuNjclO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAmLWxpc3Qge1xuICAgICAgICBib3JkZXItY29sb3I6IGMoZ3JleS1jb250ZW50LWJvcmRlcik7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMDtcbiAgICAgICAgcGFkZGluZzogMnJlbSAwO1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtKSB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAwIDFweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgNHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMS44cmVtO1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZWxldmVuKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDMuNHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8odHdlbHZlKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDRyZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGZ1bGwpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgNy41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMCAxcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGZ3KGJvbGQpO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC52YWx1ZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB9XG59IiwiLnRlYW0tdGlsZXMge1xuICAgIHBhZGRpbmc6IDJyZW0gMDtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDhyZW07XG4gICAgfVxuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTI0MHB4O1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAzLjJyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgfVxuXG4gICAgaDQge1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGZ3KGJvbGQpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC5ncmlkZGVyLWxpc3Qge1xuICAgICAgICBAaW5jbHVkZSBtYWludGFpbi1hc3BlY3QtcmF0aW8oMSwgMSk7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNHJlbTtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNpeCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgcm93LW1hY2hpbmUoMiwgZ3V0dGVyKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhsYXJnZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgcm93LW1hY2hpbmUoMywgZ3V0dGVyKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5zZWxlY3RlZEl0ZW0ge1xuXG4gICAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRob3Zlci1vdXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkaG92ZXItaW47XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvdmVyZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmxhY2ssIDAuNyk7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMDtcblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuXG4gICAgICAgIC5tZXRhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNlbnRlcjtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdyaWRkZXItc2hvdyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjM5LCAyMzksIDIzOSwgMC43Myk7XG4gICAgICAgIHBhZGRpbmc6IDRyZW0gMXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogZ3V0dGVyKCk7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZzogMCAyLjlyZW0gMi40cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJpby1pbWFnZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuKDMuNSk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJpby1jb250ZW50IHtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuKGxhc3QgOCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLWhlYWRlciB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZm9vdGVyIHtcblxuICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMS42cmVtIDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3F1YXJlKDE2cHgpO1xuICAgICAgICAgICAgICAgIGZpbGw6ICRncmVlbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByZXYsXG4gICAgLm5leHQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5ncmlkZGVyLW5hdmlnYXRpb24ge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICAuZ3JpZGRlci1jbG9zZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplOiA0cmVtO1xuICAgICAgICBmb250LXdlaWdodDogZncocmVndWxhcik7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIH1cbn0iLCIudGVzdGltb25pYWxzLWNhcm91c2VsIHtcblxuICAgIC50ZXN0aW1vbmlhbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJi1jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMuNXJlbSAzcmVtO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgM3JlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhmdWxsKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sb2dvLFxuICAgIC50ZXN0aW1vbmlhbC1jb250ZW50IHtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKG1lZGl1bSkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sb2dvIHtcbiAgICAgICAgQGV4dGVuZCAldGV4dC1jZW50ZXI7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDEuNXJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG5cblxuICAgICAgICBpbWcsXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjZW50ZXI7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIzOHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5oYWNrZWQtYnMge1xuXG4gICAgICAgIC50ZXN0aW1vbmlhbCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAudGVzdGltb25pYWwtY29udGVudCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnJlbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jb2xvciB7XG4gICAgICAgICAgICAuZmxpY2tpdHktdmlld3BvcnQge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhmdWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQ3N3B4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYud2hpdGUge1xuICAgICAgICBwYWRkaW5nOiAycmVtIDA7XG5cbiAgICAgICAgLnRlc3RpbW9uaWFsLWNvbnRlbnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhmdWxsKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQ1JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uby1sb2dvIHtcblxuICAgICAgICAgICAgLmxvZ28ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50ZXN0aW1vbmlhbC1jb250ZW50IHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNpdGUgcCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmxvZ28ge1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjKHRlc3RpbW9uaWFscy1ib3JkZXIpO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gM3JlbSk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuaGFja2VkLWJzIHtcbiAgICAgICAgICAgIC50ZXN0aW1vbmlhbC1jb250ZW50IGJsb2NrcXVvdGUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNpdGUtMSB7XG4gICAgICAgICAgICBjb2xvcjogYyh0ZXN0aW1vbmlhbC13aGl0ZS1jaXRlLTEpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNpdGUtMiB7XG4gICAgICAgICAgICBjb2xvcjogYyh0ZXN0aW1vbmlhbC13aGl0ZS1jaXRlLTIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24gLmFycm93IHtcbiAgICAgICAgICAgIGZpbGw6IGModGVzdGltb25pYWwtd2hpdGUtZmxpY2tpdHktYnV0dG9uKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuY29sb3Ige1xuICAgICAgICBjb2xvcjogYyh0ZXN0aW1vbmlhbC1jb2xvcik7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGZ1bGwpIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQ3N3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnRlc3RpbW9uaWFsLWNvbnRlbnQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYyh0ZXN0aW1vbmlhbC1jb2xvci1iZyk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNnJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250YWluZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24gLmFycm93IHtcbiAgICAgICAgICAgIGZpbGw6IGModGVzdGltb25pYWwtY29sb3IpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRlc3RpbW9uaWFsLWNvbnRlbnQge1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtKSB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnF1b3RlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4xcmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuOTUyO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMy41cmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjFyZW07XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuOTUyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY2l0ZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBmdyhib2xkKTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgIC5jaXRlLTIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbiB7XG5cbiAgICAgICAgJi5uZXh0IHtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDFyZW0pIHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZWlnaHQpIHtcbiAgICAgICAgICAgICAgICByaWdodDogMS41cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5wcmV2aW91cyB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xcmVtKSB0cmFuc2xhdGVZKC01MCUpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgbGVmdDogMS41cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi50ZXh0LWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRyZW07XG4gICAgfVxuXG4gICAgJi5jZW50ZXJlZCxcbiAgICAmLnRocmVlIHtcbiAgICAgICAgLnRleHQtY29udGVudC1oZWFkZXIge1xuICAgICAgICAgICAgQGV4dGVuZCAldGV4dC1jZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmxlZnQge1xuXG4gICAgICAgIC5jb250YWluZXIge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA4MHJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuY2VudGVyZWQge1xuICAgICAgICBAZXh0ZW5kICV0ZXh0LWNlbnRlcjtcblxuICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogODEuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYudHdvIHtcblxuICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTEzLjJyZW07XG4gICAgICAgIH1cblxuICAgICAgICAudGV4dC1jb250ZW50LWNvbHVtbiB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZWlnaHQpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFuKDUuNSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDJuKSB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4obGFzdCA1LjUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYudGhyZWUge1xuXG4gICAgICAgIC50ZXh0LWNvbnRlbnQtY29sdW1uIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhsYXJnZSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4oNCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDNuKSB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIGNvbG9yOiBjKGFtZW5pdGllcy1oZWFkZXItY29sb3IpO1xuICAgIH1cblxuICAgICYtaGVhZGVyIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjZyZW07XG4gICAgICAgIHBhZGRpbmc6IDNyZW0gMDtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKG1lZGl1bSkge1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDNyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmdyZXkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjKGFtZW5pdGllcy1iZyk7XG4gICAgICAgIGNvbG9yOiBjKGFtZW5pdGllcy1saXN0KTtcbiAgICAgICAgcGFkZGluZzogMnJlbSAwO1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDRyZW0gMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYudGhyZWUge1xuICAgICAgICAgICAgLnRleHQtY29udGVudC1jb2x1bW4ge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBjKGdyZXktY29udGVudC1ib3JkZXIpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDNuKSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChuKzEpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCBndXR0ZXIoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTtcblxuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1mb290ZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiA1LjVyZW07XG4gICAgfVxufSIsIi5wcm9wZXJ0eS1hbWVuaXRpZXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGMoYW1lbml0aWVzLWJnKTtcbiAgICBwYWRkaW5nOiA0cmVtIDA7XG5cbiAgICAmLWhlYWRlciB7XG4gICAgICAgIEBleHRlbmQgJXRleHQtY2VudGVyO1xuICAgICAgICBjb2xvcjogYyhhbWVuaXRpZXMtaGVhZGVyLWNvbG9yKTtcbiAgICAgICAgZm9udC1zaXplOiAyLjZyZW07XG4gICAgICAgIHBhZGRpbmc6IDRyZW0gMDtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKG1lZGl1bSkge1xuICAgICAgICAgICAgcGFkZGluZzogNnJlbSAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgICBjb2xvcjogYyhhbWVuaXRpZXMtbGlzdCk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMi41cmVtO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLnRpbWVsaW5lIHtcblxuICAgIC5jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgJi1jYXJvdXNlbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGModGltZWxpbmUtdG9wLWJnKTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmc6IDQuNXJlbSAxLjVyZW07XG4gICAgICAgIHdpZHRoOiA4NCU7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzaXgpIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBjb2xvcjogYyh0aW1lbGluZS10b3AteWVhcik7XG4gICAgICAgICAgICBmb250LXNpemU6IDMuM3JlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMuMXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIGg0IHtcbiAgICAgICAgICAgIGNvbG9yOiBjKHRpbWVsaW5lLWNhcHRpb24tY29sb3IpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS43MDY7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbiB7XG5cbiAgICAgICAgJi5uZXh0IHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhsYXJnZSkge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiA5LjglO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5wcmV2aW91cyB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiA5LjglO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFycm93IHtcbiAgICAgICAgICAgIGZpbGw6IGModGltZWxpbmUtYXJyb3cpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1pbWFnZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogN3JlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc2l4KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLXRpbWVsaW5lIHtcbiAgICAgICAgYmFja2dyb3VuZDogYyh0aW1lbGluZS1ib3R0b20tYmcpO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDE2JTtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNpeCkge1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiA3cmVtIDA7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC50aW1lbGluZS1jb250YWluZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDc2cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1saW5lIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYyh0aW1lbGluZS1ib3R0b20tY29sb3IpO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgd2lkdGg6IDRweDtcbiAgICAgICAgei1pbmRleDogeih0aW1lbGluZS1saW5lKTtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNpeCkge1xuICAgICAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDc2cmVtO1xuICAgICAgICAgICAgdG9wOiA3cmVtO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gM3JlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWRvdCB7XG4gICAgICAgIEBpbmNsdWRlIHNxdWFyZSgxM3B4KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYyh0aW1lbGluZS1ib3R0b20tYmcpO1xuICAgICAgICBib3JkZXItY29sb3I6IGModGltZWxpbmUtYm90dG9tLWNvbG9yKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLXdpZHRoICRob3Zlci1pbjtcbiAgICB9XG5cbiAgICAmLWNhcHRpb24ge1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc2l4KSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMzcuNXJlbTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWNlbGwge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAuY2VsbC13cmFwcGVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA4Ny41cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi15ZWFyIHtcbiAgICAgICAgY29sb3I6IGModGltZWxpbmUtYm90dG9tLWNvbG9yKTtcbiAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBmdyhib2xkKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNpeCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtbmF2LWl0ZW0ge1xuICAgICAgICBAZXh0ZW5kICVuby1oaWdobGlnaHQ7XG4gICAgICAgIEBleHRlbmQgJXRleHQtY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjKHRpbWVsaW5lLWJvdHRvbS1iZyk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgei1pbmRleDogeih0aW1lbGluZS1kb3QpO1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc2l4KSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIC50aW1lbGluZS1kb3Qge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAzcHg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItd2lkdGggJGhvdmVyLW91dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtZm9vdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogYyh0aW1lbGluZS1ib3R0b20tYmcpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzaXgpIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA3cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ncmVlbjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgZmxleC1zdHlsZXMge1xuXG4gICAgLnRpbWVsaW5lLWNvbnRhaW5lciB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzaXgpIHtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50aW1lbGluZS1uYXYtaXRlbSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNpeCkge1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMSAxNDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIudHdvLWNvbHVtbi1jdGEge1xuICAgIEBleHRlbmQgJXRleHQtY2VudGVyO1xuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcblxuICAgICAgICAuZmxleGJveCAmLFxuICAgICAgICAuZmxleGJveGxlZ2FjeSAmIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhsYXJnZSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWltYWdlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBtaW4taGVpZ2h0OiAyNnJlbTtcbiAgICB9XG5cbiAgICAmLWNvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjKGN0YS1jb250ZW50LWJnKTtcbiAgICAgICAgY29sb3I6IGMoY3RhLWNvbnRlbnQtY29sb3IpO1xuICAgICAgICBwYWRkaW5nOiA2LjM1cmVtIDEuNXJlbTtcblxuICAgICAgICAuZmxleGJveCAmLFxuICAgICAgICAuZmxleGJveGxlZ2FjeSAmIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhsYXJnZSkge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjZyZW07XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrLWdyZWVuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1pbWFnZSxcbiAgICAmLWNvbnRlbnQge1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obGFyZ2UpIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIudW5pdC1ib2R5IHtcbiAgICBtYXJnaW4tdG9wOiAxMDBweDtcblxuICAgIC51bml0LWJ1dHRvbnMge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIH1cbn0iLCIiLCJAaW1wb3J0ICdmZWF0dXJlZC1wb3N0JztcbkBpbXBvcnQgJ2ZpbHRlci1iYXInO1xuQGltcG9ydCAncGFnaW5hdGlvbic7XG5AaW1wb3J0ICdwb3N0LW1ldGEnO1xuQGltcG9ydCAncG9zdC1zZWFyY2gnO1xuQGltcG9ydCAncG9zdHMtbGlzdCc7XG5AaW1wb3J0ICdyZWxhdGVkLWFydGljbGVzJztcbkBpbXBvcnQgJ3NpbmdsZSc7XG5AaW1wb3J0ICdzb2NpYWwnOyIsIi5mZWF0dXJlZC1wb3N0IHtcbiAgICBtYXJnaW46IDZyZW0gMDtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbjogNnJlbSAwIDEyLjlyZW07XG4gICAgfVxuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTEzLjNyZW07XG4gICAgfVxuXG4gICAgYXJ0aWNsZSB7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMDsgLy9pbmxpbmUtYmxvY2sgaGFja1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1oZWFkZXIsXG4gICAgJi1ib2R5IHtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKG1lZGl1bSkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIHdpZHRoOiBzcGFuKDYpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1oZWFkZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBndXR0ZXIoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNC43cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1ib2R5IHtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYyg0OS40MTklIC0gNC43cmVtKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtZm9vdGVyIHtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24sXG4gICAgICAgIC5zb2NpYWwtY2hlciB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDQuOHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5leGNlcnB0IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgfVxuXG4gICAgLnNvY2lhbC1jaGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zaGFyZSxcbiAgICAgICAgLmNoZXItY29udGFpbmVyLFxuICAgICAgICAuY2hlci1idXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jaGVyLWJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuN3JlbTtcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNoYXJlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNDdyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogZncoYm9sZCk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuNnJlbTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLmZpbHRlci1iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGMoZmlsdGVyLWJnKTtcbiAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNnJlbTtcbiAgICB9XG5cbiAgICAuY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDg1cHg7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiBjKGJvZHktY29weSk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDIuMXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJGhvdmVyLWluO1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkaG92ZXItb3V0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1vcmUtdG9nZ2xlIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuLFxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDJyZW07XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZVgoMCk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pY29uLFxuICAgIC5pY29uIHN2ZyB7XG4gICAgICAgIEBpbmNsdWRlIHNxdWFyZSgxMnB4KTtcbiAgICB9XG5cbiAgICAuaWNvbiB7XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hZGRpdGlvbmFsIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICYuaGlkZGVuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW9yZS1jYXRzIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMXJlbSAwO1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjKGZpbHRlci1hY3RpdmUtYmcpO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDE1cmVtO1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgICAgICAgcGFkZGluZzogMi41cmVtIDAuNHJlbTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMjMzcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyLjVyZW0gMnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhsYXJnZSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbSAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1maWx0ZXJzIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4oOCk7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDYzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgPiBsaSB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3BhbigyIG9mIDgpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIuN3JlbSAwLjRyZW07XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMi43cmVtIDJyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gYSB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtc2VhcmNoIHtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKG1lZGl1bSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3BhbihsYXN0IDQpO1xuICAgICAgICAgICAgcGFkZGluZzogMS45cmVtIDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGZsZXgtc3R5bGVzIHtcblxuICAgIC5maWx0ZXItYmFyIHtcblxuICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWZpbHRlcnMsXG4gICAgICAgICYtc2VhcmNoIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtZmlsdGVycyB7XG5cbiAgICAgICAgICAgID4gbGkge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgLy9jb250ZW50Li5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLXNlYXJjaCB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wb3N0LXNlYXJjaCB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLnRpZy1wYWdpbmF0aW9uIHtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogZncoYm9sZCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZzogN3JlbSAwO1xuICAgIH1cblxuICAgIC5jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDIycmVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLnBhZ2UtbnVtYmVycyB7XG4gICAgICAgIGNvbG9yOiBjKGJvZHktY29weSk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAycmVtO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJldixcbiAgICAubmV4dCB7XG4gICAgICAgIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5wcmV2IHtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAubmV4dCB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbn0iLCIubWV0YSB7XG4gICAgbWFyZ2luOiAxLjhyZW0gMDtcblxuICAgIC5hdXRob3IsXG4gICAgLnR5cGUge1xuICAgICAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IGMoYm9keS1jb3B5KTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIucG9zdC1zZWFyY2gge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIGJvcmRlci1jb2xvcjogYyhwb3N0LXNlYXJjaC1ib3JkZXIpO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG5cbiAgICAmLWZpZWxkLFxuICAgICYtc3VibWl0IHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGhlaWdodDogMy42cmVtO1xuICAgIH1cblxuICAgICYtZmllbGQge1xuICAgICAgICBsaW5lLWhlaWdodDogMy40cmVtO1xuICAgICAgICB0ZXh0LWluZGVudDogMC41cmVtO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMy42cmVtKTtcblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLXN1Ym1pdCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDMuNnJlbTtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3F1YXJlKDEuNnJlbSk7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZVkoMTgwZGVnKTtcblxuICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgZmlsbDogJGdyZWVuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi5ibG9nLFxuLmNhdGVnb3J5LFxuLmFyY2hpdmUge1xuICAgIC5wb3N0cyB7XG5cbiAgICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDExMy4zcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBvc3Qge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuKDYpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhlbGV2ZW4pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4oNS43NSk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDJuKSB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGVsZXZlbikge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4obGFzdCA1Ljc1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDMpLFxuICAgICAgICAmOm50aC1jaGlsZCg0KSB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oZWxldmVuKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtaGVhZGVyLFxuICAgICAgICAmLWJvZHkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmF1dGhvcixcbiAgICAgICAgLmV4Y2VycHQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuYXV0aG9yLFxuICAgICAgICAuY2F0ZWdvcmllcyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogYyhib2R5LWNvcHkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmF1dGhvciB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBjKGJvZHktY29weSk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1ldGEge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zb2NpYWwtY2hlciB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtZm9vdGVyIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnV0dG9uLFxuICAgICAgICAgICAgLnNvY2lhbC1jaGVyIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5idXR0b24ge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0LjhyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4udGF4LXByb3BlcnR5LXR5cGUge1xuXG4gICAgLnBvc3RzIHtcbiAgICAgICAgcGFkZGluZzogMi41cmVtIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhlbGV2ZW4pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDRyZW0gMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgZmxleC1zdHlsZXMge1xuICAgIC5ibG9nLFxuICAgIC5jYXRlZ29yeSxcbiAgICAuYXJjaGl2ZSB7XG4gICAgICAgIC5wb3N0cyB7XG5cbiAgICAgICAgICAgIC5jb250YWluZXIge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLnJlbGF0ZWQtYXJ0aWNsZXMge1xuICAgIG1hcmdpbi10b3A6IDMuNnJlbTtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDYuNnJlbTtcbiAgICB9XG5cbiAgICAuY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDByZW07XG4gICAgfVxuXG4gICAgJi1oZWFkZXIge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgYyhyZWxhdGVkLWJvcmRlcik7XG4gICAgICAgIGNvbG9yOiBjKHJlbGF0ZWQtaGVhZGVyKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDMuNnJlbSAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi43cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1ib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIG1hcmdpbjogMi43cmVtIDAgM3JlbTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgICAgICAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtYXJ0aWNsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4oNik7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGxhcmdlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuKDUuNSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZCgybikge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFuKGxhc3QgNik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFuKGxhc3QgNS41KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIuc2luZ2xlIHtcblxuICAgIGgxIHtcbiAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICAgICAgZm9udC1zaXplOiAzcmVtO1xuXG4gICAgfVxuXG4gICAgJi1oZWFkZXIge1xuICAgICAgICBoZWlnaHQ6ICRoZWFkZXItaGVpZ2h0LXNtICogMS41O1xuICAgIH1cblxuICAgIC5wb3N0LWhlYWRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDZyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLXRvcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDJyZW0gMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA0cmVtIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhmdWxsKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNvY2lhbC1jaGVyIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbig2KTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDdweCk7XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNxdWFyZSgxLjVyZW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNoZXItYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wb3N0LXNlYXJjaCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4obGFzdCA2KTtcbiAgICB9XG5cbiAgICAuZW1haWwtc2lnbnVwLWJhciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGMoc2luZ2xlLXNpZ251cCk7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICB9XG5cbiAgICAubWV0YSB7XG4gICAgICAgIG1hcmdpbjogMnJlbSAwIDVyZW07XG4gICAgfVxufVxuXG4uc2luZ2xlLXBvc3Qge1xuXG4gICAgLnBvc3RzLFxuICAgIC5yZWxhdGVkLWFydGljbGVzIHtcblxuICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwcmVtO1xuICAgICAgICB9XG4gICAgfVxufSIsIi5zb2NpYWwtY2hlciB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcblxuICAgIC5zaGFyZSxcbiAgICAuY2hlci1jb250YWluZXIsXG4gICAgLmNoZXItYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC5zaGFyZSB7XG4gICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgICAgIGZvbnQtc2l6ZTogMS40N3JlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGZ3KGJvbGQpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgIC8vIG1hcmdpbi1yaWdodDogMS42cmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC5jaGVyLWJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMS43cmVtO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuY2hlci1saW5rIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgY29sb3I6IGMoZ3JleS1jb2xvcik7XG5cbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3F1YXJlKDE4cHgpO1xuXG4gICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCJAaW1wb3J0ICdncmlkZGVyJztcbkBpbXBvcnQgJ2ZsaWNraXR5JzsiLCIvKiAgIDExLjEuIEdyaWRkZXJcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgKi9cbi5ncmlkZGVyLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBpbmNsdWRlIHJlc3BvbmQtdG8oc2l4KSB7XG4gICAgLmdyaWRkZXIge1xuICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5ncmlkZGVyLWxpc3QsXG4gICAgLmdyaWRkZXItc2hvdyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB9XG5cbiAgICAuZ3JpZGRlci1saXN0IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cblxuICAgIC5ncmlkZGVyLXNob3cge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufSIsIi8qICAgMTEuMi4gRmxpY2tpdHlcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgKi9cblxuLmZsaWNraXR5LWVuYWJsZWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbn1cblxuLmZsaWNraXR5LXZpZXdwb3J0IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5mbGlja2l0eS1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi8qIGRyYWdnYWJsZSAqL1xuXG4uZmxpY2tpdHktZW5hYmxlZC5pcy1kcmFnZ2FibGUge1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgIC5mbGlja2l0eS12aWV3cG9ydCB7XG4gICAgICAgIGN1cnNvcjogbW92ZTtcbiAgICAgICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XG4gICAgICAgIGN1cnNvcjogZ3JhYjtcblxuICAgICAgICAmLmlzLXBvaW50ZXItZG93biB7XG4gICAgICAgICAgICBjdXJzb3I6IC13ZWJraXQtZ3JhYmJpbmc7XG4gICAgICAgICAgICBjdXJzb3I6IGdyYWJiaW5nO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAtLS0tIHByZXZpb3VzL25leHQgYnV0dG9ucyAtLS0tICovXG5cbi5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgd2lkdGg6IDQ0cHg7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgYmFja2dyb3VuZDogaHNsYSgwLCAwJSwgMTAwJSwgMC43NSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLyogdmVydGljYWxseSBjZW50ZXIgKi9cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgNXB4ICMwOUY7XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHkgPSA2MCk7XG5cbiAgICAgICAgLyogSUU4ICovXG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICB9XG5cbiAgICAmLnByZXZpb3VzIHtcbiAgICAgICAgbGVmdDogMTBweDtcbiAgICB9XG5cbiAgICAmLm5leHQge1xuICAgICAgICByaWdodDogMTBweDtcbiAgICB9XG59XG5cbi8qIHJpZ2h0IHRvIGxlZnQgKi9cblxuLmZsaWNraXR5LXJ0bCAuZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbiB7XG4gICAgJi5wcmV2aW91cyB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgIH1cblxuICAgICYubmV4dCB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAxMHB4O1xuICAgIH1cbn1cblxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ge1xuICAgICY6ZGlzYWJsZWQge1xuICAgICAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHkgPSAzMCk7XG5cbiAgICAgICAgLyogSUU4ICovXG4gICAgICAgIG9wYWNpdHk6IDAuMztcbiAgICAgICAgY3Vyc29yOiBhdXRvO1xuICAgIH1cblxuICAgIHN2ZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMjAlO1xuICAgICAgICB0b3A6IDIwJTtcbiAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgaGVpZ2h0OiA2MCU7XG4gICAgfVxuXG4gICAgLmFycm93IHtcbiAgICAgICAgZmlsbDogIzMzMztcbiAgICB9XG5cbiAgICAmLm5vLXN2ZyB7XG4gICAgICAgIGNvbG9yOiAjMzMzO1xuICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgfVxufVxuXG4vKiBjb2xvciAmIHNpemUgaWYgbm8gU1ZHIC0gSUU4IGFuZCBBbmRyb2lkIDIuMyAqL1xuXG4vKiAtLS0tIHBhZ2UgZG90cyAtLS0tICovXG5cbi5mbGlja2l0eS1wYWdlLWRvdHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3R0b206IC0yNXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uZmxpY2tpdHktcnRsIC5mbGlja2l0eS1wYWdlLWRvdHMge1xuICAgIGRpcmVjdGlvbjogcnRsO1xufVxuXG4uZmxpY2tpdHktcGFnZS1kb3RzIC5kb3Qge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luOiAwIDhweDtcbiAgICBiYWNrZ3JvdW5kOiAjMzMzO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHkgPSAyNSk7XG5cbiAgICAvKiBJRTggKi9cbiAgICBvcGFjaXR5OiAwLjI1O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICYuaXMtc2VsZWN0ZWQge1xuICAgICAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHkgPSAxMDApO1xuXG4gICAgICAgIC8qIElFOCAqL1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn0iLCIuc2VhcmNoIHtcblxuICAgICYtY29udGFpbmVyIHtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGVsZXZlbikge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMnJlbSAwO1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDRyZW0gMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtbm8tcmVzdWx0cyB7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDNyZW07XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjpob3ZlcjphZnRlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGhvdmVyLW91dDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogLTAuMnJlbTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAsIDApO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRob3Zlci1pbjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFrREFBLEFMNERJLFlLNURRLENBd0VSLEtBQUssQ0d4RVQsU0FBUyxDQXVCTCxVQUFVLENBd0xOLFVBQVUsQ0MvTWxCLFlBQVksQ0ErRFIsSUFBSSxDQUlBLElBQUksQ0FuRVosWUFBWSxDQStEUixJQUFJLENBS0EsQ0FBQyxDQXBFVCxZQUFZLENBb0dSLFdBQVcsQ0FJUCxHQUFHLENBeEdYLFlBQVksQ0FtS0gsbUJBQU8sQ0FZSixHQUFHLENHdkNmLGFBQWEsQ0FVVCxHQUFHLENNdklGLGdCQUFNLENBcUJILGVBQWUsQ0FXWCxXQUFXLENBaENsQixnQkFBTSxDQXFCSCxlQUFlLENBWVgsU0FBUyxDYWlLckIsa0JBQWtCLENBR2QsbUJBQW1CLENBcUNmLFdBQVcsQ0F2Q25CLFlBQVksQ0FFUixtQkFBbUIsQ0FxQ2YsV0FBVyxDR3JQbkIsWUFBWSxDQThCUixpQkFBaUIsQ0FPYixXQUFXLENBcUJQLENBQUMsQ00xRGIsV0FBVyxDQXNCUCxhQUFhLENBdUNULEtBQUssQ0M3RGIsc0JBQXNCLENBNkJsQixLQUFLLENBWUQsR0FBRyxDQXpDWCxzQkFBc0IsQ0E2QmxCLEtBQUssQ0FhRCxHQUFHLEF6Q2tCQyxDQVBBLFFBQVEsQ0FBRSxRQUFRLENBQ2xCLElBQUksQ0FBRSxHQUFHLENBQ1QsR0FBRyxDQUFFLEdBQUcsQ0FDUixTQUFTLENBQUUsZ0JBQWdCLENBQUMsZ0JBQWdCLENBTW5ELEFtRDlETCxBbkQwRUksZW1EMUVXLENBMEJYLEtBQUssQ0ExQlQsZUFBZSxDQTJCWCxLQUFLLEFuRCtDWSxDQU5ULFFBQVEsQ0FBRSxRQUFRLENBQ2xCLEdBQUcsQ0FBRSxHQUFHLENBQ1IsU0FBUyxDQUFFLGdCQUFnQixDQU1sQyxB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 */
