@media print, screen and (min-width: 48em){.reveal,.reveal.tiny,.reveal.small,.reveal.large{right:auto;left:auto;margin:0 auto}}/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:0.67em 0}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.foundation-mq{font-family:"small=0em&medium=48em&large=64em&xlarge=73.5em&xxlarge=73.5em"}html{-webkit-box-sizing:border-box;box-sizing:border-box;font-size:100%}*,*::before,*::after{-webkit-box-sizing:inherit;box-sizing:inherit}body{margin:0;padding:0;background:#fefefe;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:normal;line-height:1.5;color:#0a0a0a;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{display:inline-block;vertical-align:middle;max-width:100%;height:auto;-ms-interpolation-mode:bicubic}textarea{height:auto;min-height:50px;border-radius:0}select{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;border-radius:0}.map_canvas img,.map_canvas embed,.map_canvas object,.mqa-display img,.mqa-display embed,.mqa-display object{max-width:none !important}button{padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:0;background:transparent;line-height:1;cursor:auto}[data-whatinput='mouse'] button{outline:0}pre{overflow:auto}button,input,optgroup,select,textarea{font-family:inherit}.is-visible{display:block !important}.is-hidden{display:none !important}[type='text'],[type='password'],[type='date'],[type='datetime'],[type='datetime-local'],[type='month'],[type='week'],[type='email'],[type='number'],[type='search'],[type='tel'],[type='time'],[type='url'],[type='color'],textarea{display:block;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:2.4375rem;margin:0 0 1rem;padding:.5rem;border:1px solid #cacaca;border-radius:0;background-color:#fefefe;-webkit-box-shadow:inset 0 1px 2px rgba(10,10,10,0.1);box-shadow:inset 0 1px 2px rgba(10,10,10,0.1);font-family:inherit;font-size:1rem;font-weight:normal;line-height:1.5;color:#0a0a0a;-webkit-transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:box-shadow 0.5s,border-color 0.25s ease-in-out;transition:box-shadow 0.5s,border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;-webkit-appearance:none;-moz-appearance:none;appearance:none}[type='text']:focus,[type='password']:focus,[type='date']:focus,[type='datetime']:focus,[type='datetime-local']:focus,[type='month']:focus,[type='week']:focus,[type='email']:focus,[type='number']:focus,[type='search']:focus,[type='tel']:focus,[type='time']:focus,[type='url']:focus,[type='color']:focus,textarea:focus{outline:none;border:1px solid #8a8a8a;background-color:#fefefe;-webkit-box-shadow:0 0 5px #cacaca;box-shadow:0 0 5px #cacaca;-webkit-transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:box-shadow 0.5s,border-color 0.25s ease-in-out;transition:box-shadow 0.5s,border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s}textarea{max-width:100%}textarea[rows]{height:auto}input:disabled,input[readonly],textarea:disabled,textarea[readonly]{background-color:#e6e6e6;cursor:not-allowed}[type='submit'],[type='button']{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0}input[type='search']{-webkit-box-sizing:border-box;box-sizing:border-box}::-webkit-input-placeholder{color:#cacaca}::-moz-placeholder{color:#cacaca}:-ms-input-placeholder{color:#cacaca}::-ms-input-placeholder{color:#cacaca}::placeholder{color:#cacaca}[type='file'],[type='checkbox'],[type='radio']{margin:0 0 1rem}[type='checkbox']+label,[type='radio']+label{display:inline-block;vertical-align:baseline;margin-left:.5rem;margin-right:1rem;margin-bottom:0}[type='checkbox']+label[for],[type='radio']+label[for]{cursor:pointer}label>[type='checkbox'],label>[type='radio']{margin-right:.5rem}[type='file']{width:100%}label{display:block;margin:0;font-size:.875rem;font-weight:normal;line-height:1.8;color:#0a0a0a}label.middle{margin:0 0 1rem;padding:.5625rem 0}.help-text{margin-top:-.5rem;font-size:.8125rem;font-style:italic;color:#0a0a0a}.input-group{display:table;width:100%;margin-bottom:1rem}.input-group>:first-child,.input-group>:first-child.input-group-button>*{border-radius:0 0 0 0}.input-group>:last-child,.input-group>:last-child.input-group-button>*{border-radius:0 0 0 0}.input-group-label,.input-group-field,.input-group-button,.input-group-button a,.input-group-button input,.input-group-button button,.input-group-button label{margin:0;white-space:nowrap;display:table-cell;vertical-align:middle}.input-group-label{padding:0 1rem;border:1px solid #cacaca;background:#e6e6e6;color:#0a0a0a;text-align:center;white-space:nowrap;width:1%;height:100%}.input-group-label:first-child{border-right:0}.input-group-label:last-child{border-left:0}.input-group-field{border-radius:0}.input-group-button{padding-top:0;padding-bottom:0;text-align:center;width:1%;height:100%}.input-group-button a,.input-group-button input,.input-group-button button,.input-group-button label{height:2.4375rem;padding-top:0;padding-bottom:0;font-size:1rem}.input-group .input-group-button{display:table-cell}fieldset{margin:0;padding:0;border:0}legend{max-width:100%;margin-bottom:.5rem}.fieldset{margin:1.125rem 0;padding:1.25rem;border:1px solid #cacaca}.fieldset legend{margin:0;margin-left:-.1875rem;padding:0 .1875rem}select{height:2.4375rem;margin:0 0 1rem;padding:.5rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #cacaca;border-radius:0;background-color:#fefefe;font-family:inherit;font-size:1rem;font-weight:normal;line-height:1.5;color:#0a0a0a;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");background-origin:content-box;background-position:right -1rem center;background-repeat:no-repeat;background-size:9px 6px;padding-right:1.5rem;-webkit-transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:box-shadow 0.5s,border-color 0.25s ease-in-out;transition:box-shadow 0.5s,border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s}@media screen and (min-width: 0\0){select{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==")}}select:focus{outline:none;border:1px solid #8a8a8a;background-color:#fefefe;-webkit-box-shadow:0 0 5px #cacaca;box-shadow:0 0 5px #cacaca;-webkit-transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:box-shadow 0.5s,border-color 0.25s ease-in-out;transition:box-shadow 0.5s,border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s}select:disabled{background-color:#e6e6e6;cursor:not-allowed}select::-ms-expand{display:none}select[multiple]{height:auto;background-image:none}select:not([multiple]){padding-top:0;padding-bottom:0}.is-invalid-input:not(:focus){border-color:#cc4b37;background-color:#f9ecea}.is-invalid-input:not(:focus)::-webkit-input-placeholder{color:#cc4b37}.is-invalid-input:not(:focus)::-moz-placeholder{color:#cc4b37}.is-invalid-input:not(:focus):-ms-input-placeholder{color:#cc4b37}.is-invalid-input:not(:focus)::-ms-input-placeholder{color:#cc4b37}.is-invalid-input:not(:focus)::placeholder{color:#cc4b37}.is-invalid-label{color:#cc4b37}.form-error{display:none;margin-top:-.5rem;margin-bottom:1rem;font-size:.75rem;font-weight:bold;color:#cc4b37}.form-error.is-visible{display:block}div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0}p{margin-bottom:1rem;font-size:inherit;line-height:1.6;text-rendering:optimizeLegibility}em,i{font-style:italic;line-height:inherit}strong,b{font-weight:bold;line-height:inherit}small{font-size:80%;line-height:inherit}h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-style:normal;font-weight:normal;color:inherit;text-rendering:optimizeLegibility}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small{line-height:0;color:#cacaca}h1,.h1{font-size:1.5rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h2,.h2{font-size:1.25rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h3,.h3{font-size:1.1875rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h4,.h4{font-size:1.125rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h5,.h5{font-size:1.0625rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h6,.h6{font-size:1rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}@media print, screen and (min-width: 48em){h1,.h1{font-size:3rem}h2,.h2{font-size:2.5rem}h3,.h3{font-size:1.9375rem}h4,.h4{font-size:1.5625rem}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}}a{line-height:inherit;color:#1779ba;text-decoration:none;cursor:pointer}a:hover,a:focus{color:#1468a0}a img{border:0}hr{clear:both;max-width:73.5rem;height:0;margin:1.25rem auto;border-top:0;border-right:0;border-bottom:1px solid #cacaca;border-left:0}ul,ol,dl{margin-bottom:1rem;list-style-position:outside;line-height:1.6}li{font-size:inherit}ul{margin-left:1.25rem;list-style-type:disc}ol{margin-left:1.25rem}ul ul,ol ul,ul ol,ol ol{margin-left:1.25rem;margin-bottom:0}dl{margin-bottom:1rem}dl dt{margin-bottom:.3rem;font-weight:bold}blockquote{margin:0 0 1rem;padding:.5625rem 1.25rem 0 1.1875rem;border-left:1px solid #cacaca}blockquote,blockquote p{line-height:1.6;color:#8a8a8a}abbr,abbr[title]{border-bottom:1px dotted #0a0a0a;cursor:help;text-decoration:none}figure{margin:0}kbd{margin:0;padding:.125rem .25rem 0;background-color:#e6e6e6;font-family:Consolas,"Liberation Mono",Courier,monospace;color:#0a0a0a}.subheader{margin-top:.2rem;margin-bottom:.5rem;font-weight:normal;line-height:1.4;color:#8a8a8a}.lead{font-size:125%;line-height:1.6}.stat{font-size:2.5rem;line-height:1}p+.stat{margin-top:-1rem}ul.no-bullet,ol.no-bullet{margin-left:0;list-style:none}.cite-block,cite{display:block;color:#8a8a8a;font-size:.8125rem}.cite-block:before,cite:before{content:"— "}.code-inline,code{border:1px solid #cacaca;background-color:#e6e6e6;font-family:Consolas,"Liberation Mono",Courier,monospace;font-weight:normal;color:#0a0a0a;display:inline;max-width:100%;word-wrap:break-word;padding:.125rem .3125rem .0625rem}.code-block{border:1px solid #cacaca;background-color:#e6e6e6;font-family:Consolas,"Liberation Mono",Courier,monospace;font-weight:normal;color:#0a0a0a;display:block;overflow:auto;white-space:pre;padding:1rem;margin-bottom:1.5rem}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}@media print, screen and (min-width: 48em){.medium-text-left{text-align:left}.medium-text-right{text-align:right}.medium-text-center{text-align:center}.medium-text-justify{text-align:justify}}@media print, screen and (min-width: 64em){.large-text-left{text-align:left}.large-text-right{text-align:right}.large-text-center{text-align:center}.large-text-justify{text-align:justify}}.show-for-print{display:none !important}@media print{*{background:transparent !important;color:black !important;-webkit-print-color-adjust:economy;color-adjust:economy;-webkit-box-shadow:none !important;box-shadow:none !important;text-shadow:none !important}.show-for-print{display:block !important}.hide-for-print{display:none !important}table.show-for-print{display:table !important}thead.show-for-print{display:table-header-group !important}tbody.show-for-print{display:table-row-group !important}tr.show-for-print{display:table-row !important}td.show-for-print{display:table-cell !important}th.show-for-print{display:table-cell !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}.ir a:after,a[href^='javascript:']:after,a[href^='#']:after{content:''}abbr[title]:after{content:" (" attr(title) ")"}pre,blockquote{border:1px solid #8a8a8a;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.print-break-inside{page-break-inside:auto}}.row{max-width:73.5rem;margin-right:auto;margin-left:auto}.row::before,.row::after{display:table;content:' '}.row::after{clear:both}.row.collapse>.column,.row.collapse>.columns{padding-right:0;padding-left:0}.row .row{margin-right:-.875rem;margin-left:-.875rem}@media print, screen and (min-width: 48em){.row .row{margin-right:-.875rem;margin-left:-.875rem}}@media print, screen and (min-width: 64em){.row .row{margin-right:-.875rem;margin-left:-.875rem}}.row .row.collapse{margin-right:0;margin-left:0}.row.expanded{max-width:none}.row.expanded .row{margin-right:auto;margin-left:auto}.row:not(.expanded) .row{max-width:none}.row.gutter-small>.column,.row.gutter-small>.columns{padding-right:.875rem;padding-left:.875rem}.row.gutter-medium>.column,.row.gutter-medium>.columns{padding-right:.875rem;padding-left:.875rem}.column,.columns{width:100%;float:left;padding-right:.875rem;padding-left:.875rem}@media print, screen and (min-width: 48em){.column,.columns{padding-right:.875rem;padding-left:.875rem}}.column,.columns,.column:last-child:not(:first-child),.columns:last-child:not(:first-child){float:left;clear:none}.column:last-child:not(:first-child),.columns:last-child:not(:first-child){float:right}.column.end:last-child:last-child,.end.columns:last-child:last-child{float:left}.column.row.row,.row.row.columns{float:none}.row .column.row.row,.row .row.row.columns{margin-right:0;margin-left:0;padding-right:0;padding-left:0}.small-1{width:8.33333%}.small-push-1{position:relative;left:8.33333%}.small-pull-1{position:relative;left:-8.33333%}.small-offset-0{margin-left:0%}.small-2{width:16.66667%}.small-push-2{position:relative;left:16.66667%}.small-pull-2{position:relative;left:-16.66667%}.small-offset-1{margin-left:8.33333%}.small-3{width:25%}.small-push-3{position:relative;left:25%}.small-pull-3{position:relative;left:-25%}.small-offset-2{margin-left:16.66667%}.small-4{width:33.33333%}.small-push-4{position:relative;left:33.33333%}.small-pull-4{position:relative;left:-33.33333%}.small-offset-3{margin-left:25%}.small-5{width:41.66667%}.small-push-5{position:relative;left:41.66667%}.small-pull-5{position:relative;left:-41.66667%}.small-offset-4{margin-left:33.33333%}.small-6{width:50%}.small-push-6{position:relative;left:50%}.small-pull-6{position:relative;left:-50%}.small-offset-5{margin-left:41.66667%}.small-7{width:58.33333%}.small-push-7{position:relative;left:58.33333%}.small-pull-7{position:relative;left:-58.33333%}.small-offset-6{margin-left:50%}.small-8{width:66.66667%}.small-push-8{position:relative;left:66.66667%}.small-pull-8{position:relative;left:-66.66667%}.small-offset-7{margin-left:58.33333%}.small-9{width:75%}.small-push-9{position:relative;left:75%}.small-pull-9{position:relative;left:-75%}.small-offset-8{margin-left:66.66667%}.small-10{width:83.33333%}.small-push-10{position:relative;left:83.33333%}.small-pull-10{position:relative;left:-83.33333%}.small-offset-9{margin-left:75%}.small-11{width:91.66667%}.small-push-11{position:relative;left:91.66667%}.small-pull-11{position:relative;left:-91.66667%}.small-offset-10{margin-left:83.33333%}.small-12{width:100%}.small-offset-11{margin-left:91.66667%}.small-up-1>.column,.small-up-1>.columns{float:left;width:100%}.small-up-1>.column:nth-of-type(1n),.small-up-1>.columns:nth-of-type(1n){clear:none}.small-up-1>.column:nth-of-type(1n+1),.small-up-1>.columns:nth-of-type(1n+1){clear:both}.small-up-1>.column:last-child,.small-up-1>.columns:last-child{float:left}.small-up-2>.column,.small-up-2>.columns{float:left;width:50%}.small-up-2>.column:nth-of-type(1n),.small-up-2>.columns:nth-of-type(1n){clear:none}.small-up-2>.column:nth-of-type(2n+1),.small-up-2>.columns:nth-of-type(2n+1){clear:both}.small-up-2>.column:last-child,.small-up-2>.columns:last-child{float:left}.small-up-3>.column,.small-up-3>.columns{float:left;width:33.33333%}.small-up-3>.column:nth-of-type(1n),.small-up-3>.columns:nth-of-type(1n){clear:none}.small-up-3>.column:nth-of-type(3n+1),.small-up-3>.columns:nth-of-type(3n+1){clear:both}.small-up-3>.column:last-child,.small-up-3>.columns:last-child{float:left}.small-up-4>.column,.small-up-4>.columns{float:left;width:25%}.small-up-4>.column:nth-of-type(1n),.small-up-4>.columns:nth-of-type(1n){clear:none}.small-up-4>.column:nth-of-type(4n+1),.small-up-4>.columns:nth-of-type(4n+1){clear:both}.small-up-4>.column:last-child,.small-up-4>.columns:last-child{float:left}.small-up-5>.column,.small-up-5>.columns{float:left;width:20%}.small-up-5>.column:nth-of-type(1n),.small-up-5>.columns:nth-of-type(1n){clear:none}.small-up-5>.column:nth-of-type(5n+1),.small-up-5>.columns:nth-of-type(5n+1){clear:both}.small-up-5>.column:last-child,.small-up-5>.columns:last-child{float:left}.small-up-6>.column,.small-up-6>.columns{float:left;width:16.66667%}.small-up-6>.column:nth-of-type(1n),.small-up-6>.columns:nth-of-type(1n){clear:none}.small-up-6>.column:nth-of-type(6n+1),.small-up-6>.columns:nth-of-type(6n+1){clear:both}.small-up-6>.column:last-child,.small-up-6>.columns:last-child{float:left}.small-up-7>.column,.small-up-7>.columns{float:left;width:14.28571%}.small-up-7>.column:nth-of-type(1n),.small-up-7>.columns:nth-of-type(1n){clear:none}.small-up-7>.column:nth-of-type(7n+1),.small-up-7>.columns:nth-of-type(7n+1){clear:both}.small-up-7>.column:last-child,.small-up-7>.columns:last-child{float:left}.small-up-8>.column,.small-up-8>.columns{float:left;width:12.5%}.small-up-8>.column:nth-of-type(1n),.small-up-8>.columns:nth-of-type(1n){clear:none}.small-up-8>.column:nth-of-type(8n+1),.small-up-8>.columns:nth-of-type(8n+1){clear:both}.small-up-8>.column:last-child,.small-up-8>.columns:last-child{float:left}.small-collapse>.column,.small-collapse>.columns{padding-right:0;padding-left:0}.small-collapse .row{margin-right:0;margin-left:0}.expanded.row .small-collapse.row{margin-right:0;margin-left:0}.small-uncollapse>.column,.small-uncollapse>.columns{padding-right:.875rem;padding-left:.875rem}.small-centered{margin-right:auto;margin-left:auto}.small-centered,.small-centered:last-child:not(:first-child){float:none;clear:both}.small-uncentered,.small-push-0,.small-pull-0{position:static;margin-right:0;margin-left:0}.small-uncentered,.small-uncentered:last-child:not(:first-child),.small-push-0,.small-push-0:last-child:not(:first-child),.small-pull-0,.small-pull-0:last-child:not(:first-child){float:left;clear:none}.small-uncentered:last-child:not(:first-child),.small-push-0:last-child:not(:first-child),.small-pull-0:last-child:not(:first-child){float:right}@media print, screen and (min-width: 48em){.medium-1{width:8.33333%}.medium-push-1{position:relative;left:8.33333%}.medium-pull-1{position:relative;left:-8.33333%}.medium-offset-0{margin-left:0%}.medium-2{width:16.66667%}.medium-push-2{position:relative;left:16.66667%}.medium-pull-2{position:relative;left:-16.66667%}.medium-offset-1{margin-left:8.33333%}.medium-3{width:25%}.medium-push-3{position:relative;left:25%}.medium-pull-3{position:relative;left:-25%}.medium-offset-2{margin-left:16.66667%}.medium-4{width:33.33333%}.medium-push-4{position:relative;left:33.33333%}.medium-pull-4{position:relative;left:-33.33333%}.medium-offset-3{margin-left:25%}.medium-5{width:41.66667%}.medium-push-5{position:relative;left:41.66667%}.medium-pull-5{position:relative;left:-41.66667%}.medium-offset-4{margin-left:33.33333%}.medium-6{width:50%}.medium-push-6{position:relative;left:50%}.medium-pull-6{position:relative;left:-50%}.medium-offset-5{margin-left:41.66667%}.medium-7{width:58.33333%}.medium-push-7{position:relative;left:58.33333%}.medium-pull-7{position:relative;left:-58.33333%}.medium-offset-6{margin-left:50%}.medium-8{width:66.66667%}.medium-push-8{position:relative;left:66.66667%}.medium-pull-8{position:relative;left:-66.66667%}.medium-offset-7{margin-left:58.33333%}.medium-9{width:75%}.medium-push-9{position:relative;left:75%}.medium-pull-9{position:relative;left:-75%}.medium-offset-8{margin-left:66.66667%}.medium-10{width:83.33333%}.medium-push-10{position:relative;left:83.33333%}.medium-pull-10{position:relative;left:-83.33333%}.medium-offset-9{margin-left:75%}.medium-11{width:91.66667%}.medium-push-11{position:relative;left:91.66667%}.medium-pull-11{position:relative;left:-91.66667%}.medium-offset-10{margin-left:83.33333%}.medium-12{width:100%}.medium-offset-11{margin-left:91.66667%}.medium-up-1>.column,.medium-up-1>.columns{float:left;width:100%}.medium-up-1>.column:nth-of-type(1n),.medium-up-1>.columns:nth-of-type(1n){clear:none}.medium-up-1>.column:nth-of-type(1n+1),.medium-up-1>.columns:nth-of-type(1n+1){clear:both}.medium-up-1>.column:last-child,.medium-up-1>.columns:last-child{float:left}.medium-up-2>.column,.medium-up-2>.columns{float:left;width:50%}.medium-up-2>.column:nth-of-type(1n),.medium-up-2>.columns:nth-of-type(1n){clear:none}.medium-up-2>.column:nth-of-type(2n+1),.medium-up-2>.columns:nth-of-type(2n+1){clear:both}.medium-up-2>.column:last-child,.medium-up-2>.columns:last-child{float:left}.medium-up-3>.column,.medium-up-3>.columns{float:left;width:33.33333%}.medium-up-3>.column:nth-of-type(1n),.medium-up-3>.columns:nth-of-type(1n){clear:none}.medium-up-3>.column:nth-of-type(3n+1),.medium-up-3>.columns:nth-of-type(3n+1){clear:both}.medium-up-3>.column:last-child,.medium-up-3>.columns:last-child{float:left}.medium-up-4>.column,.medium-up-4>.columns{float:left;width:25%}.medium-up-4>.column:nth-of-type(1n),.medium-up-4>.columns:nth-of-type(1n){clear:none}.medium-up-4>.column:nth-of-type(4n+1),.medium-up-4>.columns:nth-of-type(4n+1){clear:both}.medium-up-4>.column:last-child,.medium-up-4>.columns:last-child{float:left}.medium-up-5>.column,.medium-up-5>.columns{float:left;width:20%}.medium-up-5>.column:nth-of-type(1n),.medium-up-5>.columns:nth-of-type(1n){clear:none}.medium-up-5>.column:nth-of-type(5n+1),.medium-up-5>.columns:nth-of-type(5n+1){clear:both}.medium-up-5>.column:last-child,.medium-up-5>.columns:last-child{float:left}.medium-up-6>.column,.medium-up-6>.columns{float:left;width:16.66667%}.medium-up-6>.column:nth-of-type(1n),.medium-up-6>.columns:nth-of-type(1n){clear:none}.medium-up-6>.column:nth-of-type(6n+1),.medium-up-6>.columns:nth-of-type(6n+1){clear:both}.medium-up-6>.column:last-child,.medium-up-6>.columns:last-child{float:left}.medium-up-7>.column,.medium-up-7>.columns{float:left;width:14.28571%}.medium-up-7>.column:nth-of-type(1n),.medium-up-7>.columns:nth-of-type(1n){clear:none}.medium-up-7>.column:nth-of-type(7n+1),.medium-up-7>.columns:nth-of-type(7n+1){clear:both}.medium-up-7>.column:last-child,.medium-up-7>.columns:last-child{float:left}.medium-up-8>.column,.medium-up-8>.columns{float:left;width:12.5%}.medium-up-8>.column:nth-of-type(1n),.medium-up-8>.columns:nth-of-type(1n){clear:none}.medium-up-8>.column:nth-of-type(8n+1),.medium-up-8>.columns:nth-of-type(8n+1){clear:both}.medium-up-8>.column:last-child,.medium-up-8>.columns:last-child{float:left}.medium-collapse>.column,.medium-collapse>.columns{padding-right:0;padding-left:0}.medium-collapse .row{margin-right:0;margin-left:0}.expanded.row .medium-collapse.row{margin-right:0;margin-left:0}.medium-uncollapse>.column,.medium-uncollapse>.columns{padding-right:.875rem;padding-left:.875rem}.medium-centered{margin-right:auto;margin-left:auto}.medium-centered,.medium-centered:last-child:not(:first-child){float:none;clear:both}.medium-uncentered,.medium-push-0,.medium-pull-0{position:static;margin-right:0;margin-left:0}.medium-uncentered,.medium-uncentered:last-child:not(:first-child),.medium-push-0,.medium-push-0:last-child:not(:first-child),.medium-pull-0,.medium-pull-0:last-child:not(:first-child){float:left;clear:none}.medium-uncentered:last-child:not(:first-child),.medium-push-0:last-child:not(:first-child),.medium-pull-0:last-child:not(:first-child){float:right}}@media print, screen and (min-width: 64em){.large-1{width:8.33333%}.large-push-1{position:relative;left:8.33333%}.large-pull-1{position:relative;left:-8.33333%}.large-offset-0{margin-left:0%}.large-2{width:16.66667%}.large-push-2{position:relative;left:16.66667%}.large-pull-2{position:relative;left:-16.66667%}.large-offset-1{margin-left:8.33333%}.large-3{width:25%}.large-push-3{position:relative;left:25%}.large-pull-3{position:relative;left:-25%}.large-offset-2{margin-left:16.66667%}.large-4{width:33.33333%}.large-push-4{position:relative;left:33.33333%}.large-pull-4{position:relative;left:-33.33333%}.large-offset-3{margin-left:25%}.large-5{width:41.66667%}.large-push-5{position:relative;left:41.66667%}.large-pull-5{position:relative;left:-41.66667%}.large-offset-4{margin-left:33.33333%}.large-6{width:50%}.large-push-6{position:relative;left:50%}.large-pull-6{position:relative;left:-50%}.large-offset-5{margin-left:41.66667%}.large-7{width:58.33333%}.large-push-7{position:relative;left:58.33333%}.large-pull-7{position:relative;left:-58.33333%}.large-offset-6{margin-left:50%}.large-8{width:66.66667%}.large-push-8{position:relative;left:66.66667%}.large-pull-8{position:relative;left:-66.66667%}.large-offset-7{margin-left:58.33333%}.large-9{width:75%}.large-push-9{position:relative;left:75%}.large-pull-9{position:relative;left:-75%}.large-offset-8{margin-left:66.66667%}.large-10{width:83.33333%}.large-push-10{position:relative;left:83.33333%}.large-pull-10{position:relative;left:-83.33333%}.large-offset-9{margin-left:75%}.large-11{width:91.66667%}.large-push-11{position:relative;left:91.66667%}.large-pull-11{position:relative;left:-91.66667%}.large-offset-10{margin-left:83.33333%}.large-12{width:100%}.large-offset-11{margin-left:91.66667%}.large-up-1>.column,.large-up-1>.columns{float:left;width:100%}.large-up-1>.column:nth-of-type(1n),.large-up-1>.columns:nth-of-type(1n){clear:none}.large-up-1>.column:nth-of-type(1n+1),.large-up-1>.columns:nth-of-type(1n+1){clear:both}.large-up-1>.column:last-child,.large-up-1>.columns:last-child{float:left}.large-up-2>.column,.large-up-2>.columns{float:left;width:50%}.large-up-2>.column:nth-of-type(1n),.large-up-2>.columns:nth-of-type(1n){clear:none}.large-up-2>.column:nth-of-type(2n+1),.large-up-2>.columns:nth-of-type(2n+1){clear:both}.large-up-2>.column:last-child,.large-up-2>.columns:last-child{float:left}.large-up-3>.column,.large-up-3>.columns{float:left;width:33.33333%}.large-up-3>.column:nth-of-type(1n),.large-up-3>.columns:nth-of-type(1n){clear:none}.large-up-3>.column:nth-of-type(3n+1),.large-up-3>.columns:nth-of-type(3n+1){clear:both}.large-up-3>.column:last-child,.large-up-3>.columns:last-child{float:left}.large-up-4>.column,.large-up-4>.columns{float:left;width:25%}.large-up-4>.column:nth-of-type(1n),.large-up-4>.columns:nth-of-type(1n){clear:none}.large-up-4>.column:nth-of-type(4n+1),.large-up-4>.columns:nth-of-type(4n+1){clear:both}.large-up-4>.column:last-child,.large-up-4>.columns:last-child{float:left}.large-up-5>.column,.large-up-5>.columns{float:left;width:20%}.large-up-5>.column:nth-of-type(1n),.large-up-5>.columns:nth-of-type(1n){clear:none}.large-up-5>.column:nth-of-type(5n+1),.large-up-5>.columns:nth-of-type(5n+1){clear:both}.large-up-5>.column:last-child,.large-up-5>.columns:last-child{float:left}.large-up-6>.column,.large-up-6>.columns{float:left;width:16.66667%}.large-up-6>.column:nth-of-type(1n),.large-up-6>.columns:nth-of-type(1n){clear:none}.large-up-6>.column:nth-of-type(6n+1),.large-up-6>.columns:nth-of-type(6n+1){clear:both}.large-up-6>.column:last-child,.large-up-6>.columns:last-child{float:left}.large-up-7>.column,.large-up-7>.columns{float:left;width:14.28571%}.large-up-7>.column:nth-of-type(1n),.large-up-7>.columns:nth-of-type(1n){clear:none}.large-up-7>.column:nth-of-type(7n+1),.large-up-7>.columns:nth-of-type(7n+1){clear:both}.large-up-7>.column:last-child,.large-up-7>.columns:last-child{float:left}.large-up-8>.column,.large-up-8>.columns{float:left;width:12.5%}.large-up-8>.column:nth-of-type(1n),.large-up-8>.columns:nth-of-type(1n){clear:none}.large-up-8>.column:nth-of-type(8n+1),.large-up-8>.columns:nth-of-type(8n+1){clear:both}.large-up-8>.column:last-child,.large-up-8>.columns:last-child{float:left}.large-collapse>.column,.large-collapse>.columns{padding-right:0;padding-left:0}.large-collapse .row{margin-right:0;margin-left:0}.expanded.row .large-collapse.row{margin-right:0;margin-left:0}.large-uncollapse>.column,.large-uncollapse>.columns{padding-right:.875rem;padding-left:.875rem}.large-centered{margin-right:auto;margin-left:auto}.large-centered,.large-centered:last-child:not(:first-child){float:none;clear:both}.large-uncentered,.large-push-0,.large-pull-0{position:static;margin-right:0;margin-left:0}.large-uncentered,.large-uncentered:last-child:not(:first-child),.large-push-0,.large-push-0:last-child:not(:first-child),.large-pull-0,.large-pull-0:last-child:not(:first-child){float:left;clear:none}.large-uncentered:last-child:not(:first-child),.large-push-0:last-child:not(:first-child),.large-pull-0:last-child:not(:first-child){float:right}}.column-block{margin-bottom:1.75rem}.column-block>:last-child{margin-bottom:0}@media print, screen and (min-width: 48em){.column-block{margin-bottom:1.75rem}.column-block>:last-child{margin-bottom:0}}.button{display:inline-block;vertical-align:middle;margin:0 0 1rem 0;padding:0.85em 1em;border:1px solid transparent;border-radius:0;-webkit-transition:background-color 0.25s ease-out,color 0.25s ease-out;transition:background-color 0.25s ease-out,color 0.25s ease-out;font-family:inherit;font-size:0.9rem;-webkit-appearance:none;line-height:1;text-align:center;cursor:pointer}[data-whatinput='mouse'] .button{outline:0}.button.tiny{font-size:.6rem}.button.small{font-size:.75rem}.button.large{font-size:1.25rem}.button.expanded{display:block;width:100%;margin-right:0;margin-left:0}.button,.button.disabled,.button[disabled],.button.disabled:hover,.button[disabled]:hover,.button.disabled:focus,.button[disabled]:focus{background-color:#1779ba;color:#fefefe}.button:hover,.button:focus{background-color:#14679e;color:#fefefe}.button.primary,.button.primary.disabled,.button.primary[disabled],.button.primary.disabled:hover,.button.primary[disabled]:hover,.button.primary.disabled:focus,.button.primary[disabled]:focus{background-color:#1779ba;color:#fefefe}.button.primary:hover,.button.primary:focus{background-color:#126195;color:#fefefe}.button.secondary,.button.secondary.disabled,.button.secondary[disabled],.button.secondary.disabled:hover,.button.secondary[disabled]:hover,.button.secondary.disabled:focus,.button.secondary[disabled]:focus{background-color:#767676;color:#fefefe}.button.secondary:hover,.button.secondary:focus{background-color:#5e5e5e;color:#fefefe}.button.success,.button.success.disabled,.button.success[disabled],.button.success.disabled:hover,.button.success[disabled]:hover,.button.success.disabled:focus,.button.success[disabled]:focus{background-color:#3adb76;color:#0a0a0a}.button.success:hover,.button.success:focus{background-color:#22bb5b;color:#0a0a0a}.button.warning,.button.warning.disabled,.button.warning[disabled],.button.warning.disabled:hover,.button.warning[disabled]:hover,.button.warning.disabled:focus,.button.warning[disabled]:focus{background-color:#ffae00;color:#0a0a0a}.button.warning:hover,.button.warning:focus{background-color:#cc8b00;color:#0a0a0a}.button.alert,.button.alert.disabled,.button.alert[disabled],.button.alert.disabled:hover,.button.alert[disabled]:hover,.button.alert.disabled:focus,.button.alert[disabled]:focus{background-color:#cc4b37;color:#fefefe}.button.alert:hover,.button.alert:focus{background-color:#a53b2a;color:#fefefe}.button.hollow,.button.hollow:hover,.button.hollow:focus,.button.hollow.disabled,.button.hollow.disabled:hover,.button.hollow.disabled:focus,.button.hollow[disabled],.button.hollow[disabled]:hover,.button.hollow[disabled]:focus{background-color:transparent}.button.hollow,.button.hollow.disabled,.button.hollow[disabled],.button.hollow.disabled:hover,.button.hollow[disabled]:hover,.button.hollow.disabled:focus,.button.hollow[disabled]:focus{border:1px solid #1779ba;color:#1779ba}.button.hollow:hover,.button.hollow:focus{border-color:#0c3d5d;color:#0c3d5d}.button.hollow.primary,.button.hollow.primary.disabled,.button.hollow.primary[disabled],.button.hollow.primary.disabled:hover,.button.hollow.primary[disabled]:hover,.button.hollow.primary.disabled:focus,.button.hollow.primary[disabled]:focus{border:1px solid #1779ba;color:#1779ba}.button.hollow.primary:hover,.button.hollow.primary:focus{border-color:#0c3d5d;color:#0c3d5d}.button.hollow.secondary,.button.hollow.secondary.disabled,.button.hollow.secondary[disabled],.button.hollow.secondary.disabled:hover,.button.hollow.secondary[disabled]:hover,.button.hollow.secondary.disabled:focus,.button.hollow.secondary[disabled]:focus{border:1px solid #767676;color:#767676}.button.hollow.secondary:hover,.button.hollow.secondary:focus{border-color:#3b3b3b;color:#3b3b3b}.button.hollow.success,.button.hollow.success.disabled,.button.hollow.success[disabled],.button.hollow.success.disabled:hover,.button.hollow.success[disabled]:hover,.button.hollow.success.disabled:focus,.button.hollow.success[disabled]:focus{border:1px solid #3adb76;color:#3adb76}.button.hollow.success:hover,.button.hollow.success:focus{border-color:#157539;color:#157539}.button.hollow.warning,.button.hollow.warning.disabled,.button.hollow.warning[disabled],.button.hollow.warning.disabled:hover,.button.hollow.warning[disabled]:hover,.button.hollow.warning.disabled:focus,.button.hollow.warning[disabled]:focus{border:1px solid #ffae00;color:#ffae00}.button.hollow.warning:hover,.button.hollow.warning:focus{border-color:#805700;color:#805700}.button.hollow.alert,.button.hollow.alert.disabled,.button.hollow.alert[disabled],.button.hollow.alert.disabled:hover,.button.hollow.alert[disabled]:hover,.button.hollow.alert.disabled:focus,.button.hollow.alert[disabled]:focus{border:1px solid #cc4b37;color:#cc4b37}.button.hollow.alert:hover,.button.hollow.alert:focus{border-color:#67251a;color:#67251a}.button.clear,.button.clear:hover,.button.clear:focus,.button.clear.disabled,.button.clear.disabled:hover,.button.clear.disabled:focus,.button.clear[disabled],.button.clear[disabled]:hover,.button.clear[disabled]:focus{border-color:transparent;background-color:transparent}.button.clear,.button.clear.disabled,.button.clear[disabled],.button.clear.disabled:hover,.button.clear[disabled]:hover,.button.clear.disabled:focus,.button.clear[disabled]:focus{color:#1779ba}.button.clear:hover,.button.clear:focus{color:#0c3d5d}.button.clear.primary,.button.clear.primary.disabled,.button.clear.primary[disabled],.button.clear.primary.disabled:hover,.button.clear.primary[disabled]:hover,.button.clear.primary.disabled:focus,.button.clear.primary[disabled]:focus{color:#1779ba}.button.clear.primary:hover,.button.clear.primary:focus{color:#0c3d5d}.button.clear.secondary,.button.clear.secondary.disabled,.button.clear.secondary[disabled],.button.clear.secondary.disabled:hover,.button.clear.secondary[disabled]:hover,.button.clear.secondary.disabled:focus,.button.clear.secondary[disabled]:focus{color:#767676}.button.clear.secondary:hover,.button.clear.secondary:focus{color:#3b3b3b}.button.clear.success,.button.clear.success.disabled,.button.clear.success[disabled],.button.clear.success.disabled:hover,.button.clear.success[disabled]:hover,.button.clear.success.disabled:focus,.button.clear.success[disabled]:focus{color:#3adb76}.button.clear.success:hover,.button.clear.success:focus{color:#157539}.button.clear.warning,.button.clear.warning.disabled,.button.clear.warning[disabled],.button.clear.warning.disabled:hover,.button.clear.warning[disabled]:hover,.button.clear.warning.disabled:focus,.button.clear.warning[disabled]:focus{color:#ffae00}.button.clear.warning:hover,.button.clear.warning:focus{color:#805700}.button.clear.alert,.button.clear.alert.disabled,.button.clear.alert[disabled],.button.clear.alert.disabled:hover,.button.clear.alert[disabled]:hover,.button.clear.alert.disabled:focus,.button.clear.alert[disabled]:focus{color:#cc4b37}.button.clear.alert:hover,.button.clear.alert:focus{color:#67251a}.button.disabled,.button[disabled]{opacity:.25;cursor:not-allowed}.button.dropdown::after{display:block;width:0;height:0;border:inset .4em;content:'';border-bottom-width:0;border-top-style:solid;border-color:#fefefe transparent transparent;position:relative;top:0.4em;display:inline-block;float:right;margin-left:1em}.button.dropdown.hollow::after,.button.dropdown.clear::after{border-top-color:#1779ba}.button.dropdown.hollow.primary::after,.button.dropdown.clear.primary::after{border-top-color:#1779ba}.button.dropdown.hollow.secondary::after,.button.dropdown.clear.secondary::after{border-top-color:#767676}.button.dropdown.hollow.success::after,.button.dropdown.clear.success::after{border-top-color:#3adb76}.button.dropdown.hollow.warning::after,.button.dropdown.clear.warning::after{border-top-color:#ffae00}.button.dropdown.hollow.alert::after,.button.dropdown.clear.alert::after{border-top-color:#cc4b37}.button.arrow-only::after{top:-0.1em;float:none;margin-left:0}a.button:hover,a.button:focus{text-decoration:none}.button-group{margin-bottom:1rem;font-size:0}.button-group::before,.button-group::after{display:table;content:' '}.button-group::after{clear:both}.button-group .button{margin:0;margin-right:1px;margin-bottom:1px;font-size:0.9rem}.button-group .button:last-child{margin-right:0}.button-group.tiny .button{font-size:.6rem}.button-group.small .button{font-size:.75rem}.button-group.large .button{font-size:1.25rem}.button-group.expanded{margin-right:-1px}.button-group.expanded::before,.button-group.expanded::after{display:none}.button-group.expanded .button:first-child:last-child{width:calc(100% - 1px)}.button-group.expanded .button:first-child:nth-last-child(2),.button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button{display:inline-block;width:calc(50% - 1px);margin-right:1px}.button-group.expanded .button:first-child:nth-last-child(2):last-child,.button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button:last-child{margin-right:-6px}.button-group.expanded .button:first-child:nth-last-child(3),.button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button{display:inline-block;width:calc(33.33333% - 1px);margin-right:1px}.button-group.expanded .button:first-child:nth-last-child(3):last-child,.button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button:last-child{margin-right:-6px}.button-group.expanded .button:first-child:nth-last-child(4),.button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button{display:inline-block;width:calc(25% - 1px);margin-right:1px}.button-group.expanded .button:first-child:nth-last-child(4):last-child,.button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button:last-child{margin-right:-6px}.button-group.expanded .button:first-child:nth-last-child(5),.button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button{display:inline-block;width:calc(20% - 1px);margin-right:1px}.button-group.expanded .button:first-child:nth-last-child(5):last-child,.button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button:last-child{margin-right:-6px}.button-group.expanded .button:first-child:nth-last-child(6),.button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button{display:inline-block;width:calc(16.66667% - 1px);margin-right:1px}.button-group.expanded .button:first-child:nth-last-child(6):last-child,.button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button:last-child{margin-right:-6px}.button-group.primary .button,.button-group.primary .button.disabled,.button-group.primary .button[disabled],.button-group.primary .button.disabled:hover,.button-group.primary .button[disabled]:hover,.button-group.primary .button.disabled:focus,.button-group.primary .button[disabled]:focus{background-color:#1779ba;color:#fefefe}.button-group.primary .button:hover,.button-group.primary .button:focus{background-color:#126195;color:#fefefe}.button-group.secondary .button,.button-group.secondary .button.disabled,.button-group.secondary .button[disabled],.button-group.secondary .button.disabled:hover,.button-group.secondary .button[disabled]:hover,.button-group.secondary .button.disabled:focus,.button-group.secondary .button[disabled]:focus{background-color:#767676;color:#fefefe}.button-group.secondary .button:hover,.button-group.secondary .button:focus{background-color:#5e5e5e;color:#fefefe}.button-group.success .button,.button-group.success .button.disabled,.button-group.success .button[disabled],.button-group.success .button.disabled:hover,.button-group.success .button[disabled]:hover,.button-group.success .button.disabled:focus,.button-group.success .button[disabled]:focus{background-color:#3adb76;color:#0a0a0a}.button-group.success .button:hover,.button-group.success .button:focus{background-color:#22bb5b;color:#0a0a0a}.button-group.warning .button,.button-group.warning .button.disabled,.button-group.warning .button[disabled],.button-group.warning .button.disabled:hover,.button-group.warning .button[disabled]:hover,.button-group.warning .button.disabled:focus,.button-group.warning .button[disabled]:focus{background-color:#ffae00;color:#0a0a0a}.button-group.warning .button:hover,.button-group.warning .button:focus{background-color:#cc8b00;color:#0a0a0a}.button-group.alert .button,.button-group.alert .button.disabled,.button-group.alert .button[disabled],.button-group.alert .button.disabled:hover,.button-group.alert .button[disabled]:hover,.button-group.alert .button.disabled:focus,.button-group.alert .button[disabled]:focus{background-color:#cc4b37;color:#fefefe}.button-group.alert .button:hover,.button-group.alert .button:focus{background-color:#a53b2a;color:#fefefe}.button-group.hollow .button,.button-group.hollow .button:hover,.button-group.hollow .button:focus,.button-group.hollow .button.disabled,.button-group.hollow .button.disabled:hover,.button-group.hollow .button.disabled:focus,.button-group.hollow .button[disabled],.button-group.hollow .button[disabled]:hover,.button-group.hollow .button[disabled]:focus{background-color:transparent}.button-group.hollow .button,.button-group.hollow .button.disabled,.button-group.hollow .button[disabled],.button-group.hollow .button.disabled:hover,.button-group.hollow .button[disabled]:hover,.button-group.hollow .button.disabled:focus,.button-group.hollow .button[disabled]:focus{border:1px solid #1779ba;color:#1779ba}.button-group.hollow .button:hover,.button-group.hollow .button:focus{border-color:#0c3d5d;color:#0c3d5d}.button-group.hollow.primary .button,.button-group.hollow.primary .button.disabled,.button-group.hollow.primary .button[disabled],.button-group.hollow.primary .button.disabled:hover,.button-group.hollow.primary .button[disabled]:hover,.button-group.hollow.primary .button.disabled:focus,.button-group.hollow.primary .button[disabled]:focus,.button-group.hollow .button.primary,.button-group.hollow .button.primary.disabled,.button-group.hollow .button.primary[disabled],.button-group.hollow .button.primary.disabled:hover,.button-group.hollow .button.primary[disabled]:hover,.button-group.hollow .button.primary.disabled:focus,.button-group.hollow .button.primary[disabled]:focus{border:1px solid #1779ba;color:#1779ba}.button-group.hollow.primary .button:hover,.button-group.hollow.primary .button:focus,.button-group.hollow .button.primary:hover,.button-group.hollow .button.primary:focus{border-color:#0c3d5d;color:#0c3d5d}.button-group.hollow.secondary .button,.button-group.hollow.secondary .button.disabled,.button-group.hollow.secondary .button[disabled],.button-group.hollow.secondary .button.disabled:hover,.button-group.hollow.secondary .button[disabled]:hover,.button-group.hollow.secondary .button.disabled:focus,.button-group.hollow.secondary .button[disabled]:focus,.button-group.hollow .button.secondary,.button-group.hollow .button.secondary.disabled,.button-group.hollow .button.secondary[disabled],.button-group.hollow .button.secondary.disabled:hover,.button-group.hollow .button.secondary[disabled]:hover,.button-group.hollow .button.secondary.disabled:focus,.button-group.hollow .button.secondary[disabled]:focus{border:1px solid #767676;color:#767676}.button-group.hollow.secondary .button:hover,.button-group.hollow.secondary .button:focus,.button-group.hollow .button.secondary:hover,.button-group.hollow .button.secondary:focus{border-color:#3b3b3b;color:#3b3b3b}.button-group.hollow.success .button,.button-group.hollow.success .button.disabled,.button-group.hollow.success .button[disabled],.button-group.hollow.success .button.disabled:hover,.button-group.hollow.success .button[disabled]:hover,.button-group.hollow.success .button.disabled:focus,.button-group.hollow.success .button[disabled]:focus,.button-group.hollow .button.success,.button-group.hollow .button.success.disabled,.button-group.hollow .button.success[disabled],.button-group.hollow .button.success.disabled:hover,.button-group.hollow .button.success[disabled]:hover,.button-group.hollow .button.success.disabled:focus,.button-group.hollow .button.success[disabled]:focus{border:1px solid #3adb76;color:#3adb76}.button-group.hollow.success .button:hover,.button-group.hollow.success .button:focus,.button-group.hollow .button.success:hover,.button-group.hollow .button.success:focus{border-color:#157539;color:#157539}.button-group.hollow.warning .button,.button-group.hollow.warning .button.disabled,.button-group.hollow.warning .button[disabled],.button-group.hollow.warning .button.disabled:hover,.button-group.hollow.warning .button[disabled]:hover,.button-group.hollow.warning .button.disabled:focus,.button-group.hollow.warning .button[disabled]:focus,.button-group.hollow .button.warning,.button-group.hollow .button.warning.disabled,.button-group.hollow .button.warning[disabled],.button-group.hollow .button.warning.disabled:hover,.button-group.hollow .button.warning[disabled]:hover,.button-group.hollow .button.warning.disabled:focus,.button-group.hollow .button.warning[disabled]:focus{border:1px solid #ffae00;color:#ffae00}.button-group.hollow.warning .button:hover,.button-group.hollow.warning .button:focus,.button-group.hollow .button.warning:hover,.button-group.hollow .button.warning:focus{border-color:#805700;color:#805700}.button-group.hollow.alert .button,.button-group.hollow.alert .button.disabled,.button-group.hollow.alert .button[disabled],.button-group.hollow.alert .button.disabled:hover,.button-group.hollow.alert .button[disabled]:hover,.button-group.hollow.alert .button.disabled:focus,.button-group.hollow.alert .button[disabled]:focus,.button-group.hollow .button.alert,.button-group.hollow .button.alert.disabled,.button-group.hollow .button.alert[disabled],.button-group.hollow .button.alert.disabled:hover,.button-group.hollow .button.alert[disabled]:hover,.button-group.hollow .button.alert.disabled:focus,.button-group.hollow .button.alert[disabled]:focus{border:1px solid #cc4b37;color:#cc4b37}.button-group.hollow.alert .button:hover,.button-group.hollow.alert .button:focus,.button-group.hollow .button.alert:hover,.button-group.hollow .button.alert:focus{border-color:#67251a;color:#67251a}.button-group.clear .button,.button-group.clear .button:hover,.button-group.clear .button:focus,.button-group.clear .button.disabled,.button-group.clear .button.disabled:hover,.button-group.clear .button.disabled:focus,.button-group.clear .button[disabled],.button-group.clear .button[disabled]:hover,.button-group.clear .button[disabled]:focus{border-color:transparent;background-color:transparent}.button-group.clear .button,.button-group.clear .button.disabled,.button-group.clear .button[disabled],.button-group.clear .button.disabled:hover,.button-group.clear .button[disabled]:hover,.button-group.clear .button.disabled:focus,.button-group.clear .button[disabled]:focus{color:#1779ba}.button-group.clear .button:hover,.button-group.clear .button:focus{color:#0c3d5d}.button-group.clear.primary .button,.button-group.clear.primary .button.disabled,.button-group.clear.primary .button[disabled],.button-group.clear.primary .button.disabled:hover,.button-group.clear.primary .button[disabled]:hover,.button-group.clear.primary .button.disabled:focus,.button-group.clear.primary .button[disabled]:focus,.button-group.clear .button.primary,.button-group.clear .button.primary.disabled,.button-group.clear .button.primary[disabled],.button-group.clear .button.primary.disabled:hover,.button-group.clear .button.primary[disabled]:hover,.button-group.clear .button.primary.disabled:focus,.button-group.clear .button.primary[disabled]:focus{color:#1779ba}.button-group.clear.primary .button:hover,.button-group.clear.primary .button:focus,.button-group.clear .button.primary:hover,.button-group.clear .button.primary:focus{color:#0c3d5d}.button-group.clear.secondary .button,.button-group.clear.secondary .button.disabled,.button-group.clear.secondary .button[disabled],.button-group.clear.secondary .button.disabled:hover,.button-group.clear.secondary .button[disabled]:hover,.button-group.clear.secondary .button.disabled:focus,.button-group.clear.secondary .button[disabled]:focus,.button-group.clear .button.secondary,.button-group.clear .button.secondary.disabled,.button-group.clear .button.secondary[disabled],.button-group.clear .button.secondary.disabled:hover,.button-group.clear .button.secondary[disabled]:hover,.button-group.clear .button.secondary.disabled:focus,.button-group.clear .button.secondary[disabled]:focus{color:#767676}.button-group.clear.secondary .button:hover,.button-group.clear.secondary .button:focus,.button-group.clear .button.secondary:hover,.button-group.clear .button.secondary:focus{color:#3b3b3b}.button-group.clear.success .button,.button-group.clear.success .button.disabled,.button-group.clear.success .button[disabled],.button-group.clear.success .button.disabled:hover,.button-group.clear.success .button[disabled]:hover,.button-group.clear.success .button.disabled:focus,.button-group.clear.success .button[disabled]:focus,.button-group.clear .button.success,.button-group.clear .button.success.disabled,.button-group.clear .button.success[disabled],.button-group.clear .button.success.disabled:hover,.button-group.clear .button.success[disabled]:hover,.button-group.clear .button.success.disabled:focus,.button-group.clear .button.success[disabled]:focus{color:#3adb76}.button-group.clear.success .button:hover,.button-group.clear.success .button:focus,.button-group.clear .button.success:hover,.button-group.clear .button.success:focus{color:#157539}.button-group.clear.warning .button,.button-group.clear.warning .button.disabled,.button-group.clear.warning .button[disabled],.button-group.clear.warning .button.disabled:hover,.button-group.clear.warning .button[disabled]:hover,.button-group.clear.warning .button.disabled:focus,.button-group.clear.warning .button[disabled]:focus,.button-group.clear .button.warning,.button-group.clear .button.warning.disabled,.button-group.clear .button.warning[disabled],.button-group.clear .button.warning.disabled:hover,.button-group.clear .button.warning[disabled]:hover,.button-group.clear .button.warning.disabled:focus,.button-group.clear .button.warning[disabled]:focus{color:#ffae00}.button-group.clear.warning .button:hover,.button-group.clear.warning .button:focus,.button-group.clear .button.warning:hover,.button-group.clear .button.warning:focus{color:#805700}.button-group.clear.alert .button,.button-group.clear.alert .button.disabled,.button-group.clear.alert .button[disabled],.button-group.clear.alert .button.disabled:hover,.button-group.clear.alert .button[disabled]:hover,.button-group.clear.alert .button.disabled:focus,.button-group.clear.alert .button[disabled]:focus,.button-group.clear .button.alert,.button-group.clear .button.alert.disabled,.button-group.clear .button.alert[disabled],.button-group.clear .button.alert.disabled:hover,.button-group.clear .button.alert[disabled]:hover,.button-group.clear .button.alert.disabled:focus,.button-group.clear .button.alert[disabled]:focus{color:#cc4b37}.button-group.clear.alert .button:hover,.button-group.clear.alert .button:focus,.button-group.clear .button.alert:hover,.button-group.clear .button.alert:focus{color:#67251a}.button-group.no-gaps .button{margin-right:-.0625rem}.button-group.no-gaps .button+.button{border-left-color:transparent}.button-group.stacked .button,.button-group.stacked-for-small .button,.button-group.stacked-for-medium .button{width:100%}.button-group.stacked .button:last-child,.button-group.stacked-for-small .button:last-child,.button-group.stacked-for-medium .button:last-child{margin-bottom:0}.button-group.stacked.expanded,.button-group.stacked-for-small.expanded,.button-group.stacked-for-medium.expanded{margin-right:-1px}.button-group.stacked.expanded::before,.button-group.stacked.expanded::after,.button-group.stacked-for-small.expanded::before,.button-group.stacked-for-small.expanded::after,.button-group.stacked-for-medium.expanded::before,.button-group.stacked-for-medium.expanded::after{display:none}.button-group.stacked.expanded .button:first-child:last-child,.button-group.stacked-for-small.expanded .button:first-child:last-child,.button-group.stacked-for-medium.expanded .button:first-child:last-child{width:calc(100% - 1px)}.button-group.stacked.expanded .button:first-child:nth-last-child(2),.button-group.stacked.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button,.button-group.stacked-for-small.expanded .button:first-child:nth-last-child(2),.button-group.stacked-for-small.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button,.button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(2),.button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button{display:inline-block;width:calc(50% - 1px);margin-right:1px}.button-group.stacked.expanded .button:first-child:nth-last-child(2):last-child,.button-group.stacked.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button:last-child,.button-group.stacked-for-small.expanded .button:first-child:nth-last-child(2):last-child,.button-group.stacked-for-small.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button:last-child,.button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(2):last-child,.button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button:last-child{margin-right:-6px}.button-group.stacked.expanded .button:first-child:nth-last-child(3),.button-group.stacked.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button,.button-group.stacked-for-small.expanded .button:first-child:nth-last-child(3),.button-group.stacked-for-small.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button,.button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(3),.button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button{display:inline-block;width:calc(33.33333% - 1px);margin-right:1px}.button-group.stacked.expanded .button:first-child:nth-last-child(3):last-child,.button-group.stacked.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button:last-child,.button-group.stacked-for-small.expanded .button:first-child:nth-last-child(3):last-child,.button-group.stacked-for-small.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button:last-child,.button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(3):last-child,.button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button:last-child{margin-right:-6px}.button-group.stacked.expanded .button:first-child:nth-last-child(4),.button-group.stacked.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button,.button-group.stacked-for-small.expanded .button:first-child:nth-last-child(4),.button-group.stacked-for-small.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button,.button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(4),.button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button{display:inline-block;width:calc(25% - 1px);margin-right:1px}.button-group.stacked.expanded .button:first-child:nth-last-child(4):last-child,.button-group.stacked.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button:last-child,.button-group.stacked-for-small.expanded .button:first-child:nth-last-child(4):last-child,.button-group.stacked-for-small.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button:last-child,.button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(4):last-child,.button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button:last-child{margin-right:-6px}.button-group.stacked.expanded .button:first-child:nth-last-child(5),.button-group.stacked.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button,.button-group.stacked-for-small.expanded .button:first-child:nth-last-child(5),.button-group.stacked-for-small.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button,.button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(5),.button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button{display:inline-block;width:calc(20% - 1px);margin-right:1px}.button-group.stacked.expanded .button:first-child:nth-last-child(5):last-child,.button-group.stacked.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button:last-child,.button-group.stacked-for-small.expanded .button:first-child:nth-last-child(5):last-child,.button-group.stacked-for-small.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button:last-child,.button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(5):last-child,.button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button:last-child{margin-right:-6px}.button-group.stacked.expanded .button:first-child:nth-last-child(6),.button-group.stacked.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button,.button-group.stacked-for-small.expanded .button:first-child:nth-last-child(6),.button-group.stacked-for-small.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button,.button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(6),.button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button{display:inline-block;width:calc(16.66667% - 1px);margin-right:1px}.button-group.stacked.expanded .button:first-child:nth-last-child(6):last-child,.button-group.stacked.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button:last-child,.button-group.stacked-for-small.expanded .button:first-child:nth-last-child(6):last-child,.button-group.stacked-for-small.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button:last-child,.button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(6):last-child,.button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button:last-child{margin-right:-6px}@media print, screen and (min-width: 48em){.button-group.stacked-for-small .button{width:auto;margin-bottom:0}}@media print, screen and (min-width: 64em){.button-group.stacked-for-medium .button{width:auto;margin-bottom:0}}@media screen and (max-width: 47.99875em){.button-group.stacked-for-small.expanded{display:block}.button-group.stacked-for-small.expanded .button{display:block;margin-right:0}}@media screen and (max-width: 63.99875em){.button-group.stacked-for-medium.expanded{display:block}.button-group.stacked-for-medium.expanded .button{display:block;margin-right:0}}.close-button{position:absolute;z-index:10;color:#8a8a8a;cursor:pointer}[data-whatinput='mouse'] .close-button{outline:0}.close-button:hover,.close-button:focus{color:#0a0a0a}.close-button.small{right:0.66rem;top:0.33em;font-size:1.5em;line-height:1}.close-button.medium,.close-button{right:1rem;top:0.5rem;font-size:2em;line-height:1}.label{display:inline-block;padding:0.33333rem 0.5rem;border-radius:0;font-size:.8rem;line-height:1;white-space:nowrap;cursor:default;background:#1779ba;color:#fefefe}.label.primary{background:#1779ba;color:#fefefe}.label.secondary{background:#767676;color:#fefefe}.label.success{background:#3adb76;color:#0a0a0a}.label.warning{background:#ffae00;color:#0a0a0a}.label.alert{background:#cc4b37;color:#fefefe}.progress{height:1rem;margin-bottom:1rem;border-radius:0;background-color:#cacaca}.progress.primary .progress-meter{background-color:#1779ba}.progress.secondary .progress-meter{background-color:#767676}.progress.success .progress-meter{background-color:#3adb76}.progress.warning .progress-meter{background-color:#ffae00}.progress.alert .progress-meter{background-color:#cc4b37}.progress-meter{position:relative;display:block;width:0%;height:100%;background-color:#1779ba}.progress-meter-text{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);margin:0;font-size:0.75rem;font-weight:bold;color:#fefefe;white-space:nowrap}.slider{position:relative;height:.5rem;margin-top:1.25rem;margin-bottom:2.25rem;background-color:#e6e6e6;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:none;touch-action:none}.slider-fill{position:absolute;top:0;left:0;display:inline-block;max-width:100%;height:.5rem;background-color:#cacaca;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.slider-fill.is-dragging{-webkit-transition:all 0s linear;transition:all 0s linear}.slider-handle{position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);left:0;z-index:1;display:inline-block;width:1.4rem;height:1.4rem;border-radius:0;background-color:#1779ba;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;-ms-touch-action:manipulation;touch-action:manipulation}[data-whatinput='mouse'] .slider-handle{outline:0}.slider-handle:hover{background-color:#14679e}.slider-handle.is-dragging{-webkit-transition:all 0s linear;transition:all 0s linear}.slider.disabled,.slider[disabled]{opacity:.25;cursor:not-allowed}.slider.vertical{display:inline-block;width:.5rem;height:12.5rem;margin:0 1.25rem;-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}.slider.vertical .slider-fill{top:0;width:.5rem;max-height:100%}.slider.vertical .slider-handle{position:absolute;top:0;left:50%;width:1.4rem;height:1.4rem;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.switch{height:2rem;position:relative;margin-bottom:1rem;outline:0;font-size:.875rem;font-weight:bold;color:#fefefe;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.switch-input{position:absolute;margin-bottom:0;opacity:0}.switch-paddle{position:relative;display:block;width:4rem;height:2rem;border-radius:0;background:#cacaca;-webkit-transition:all 0.25s ease-out;transition:all 0.25s ease-out;font-weight:inherit;color:inherit;cursor:pointer}input+.switch-paddle{margin:0}.switch-paddle::after{position:absolute;top:.25rem;left:.25rem;display:block;width:1.5rem;height:1.5rem;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);border-radius:0;background:#fefefe;-webkit-transition:all 0.25s ease-out;transition:all 0.25s ease-out;content:''}input:checked ~ .switch-paddle{background:#1779ba}input:checked ~ .switch-paddle::after{left:2.25rem}input:disabled ~ .switch-paddle{cursor:not-allowed;opacity:.5}[data-whatinput='mouse'] input:focus ~ .switch-paddle{outline:0}.switch-active,.switch-inactive{position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.switch-active{left:8%;display:none}input:checked+label>.switch-active{display:block}.switch-inactive{right:15%}input:checked+label>.switch-inactive{display:none}.switch.tiny{height:1.5rem}.switch.tiny .switch-paddle{width:3rem;height:1.5rem;font-size:.625rem}.switch.tiny .switch-paddle::after{top:.25rem;left:.25rem;width:1rem;height:1rem}.switch.tiny input:checked ~ .switch-paddle::after{left:1.75rem}.switch.small{height:1.75rem}.switch.small .switch-paddle{width:3.5rem;height:1.75rem;font-size:.75rem}.switch.small .switch-paddle::after{top:.25rem;left:.25rem;width:1.25rem;height:1.25rem}.switch.small input:checked ~ .switch-paddle::after{left:2rem}.switch.large{height:2.5rem}.switch.large .switch-paddle{width:5rem;height:2.5rem;font-size:1rem}.switch.large .switch-paddle::after{top:.25rem;left:.25rem;width:2rem;height:2rem}.switch.large input:checked ~ .switch-paddle::after{left:2.75rem}table{border-collapse:collapse;width:100%;margin-bottom:1rem;border-radius:0}thead,tbody,tfoot{border:1px solid #f1f1f1;background-color:#fefefe}caption{padding:.5rem .625rem .625rem;font-weight:bold}thead{background:#f8f8f8;color:#0a0a0a}tfoot{background:#f1f1f1;color:#0a0a0a}thead tr,tfoot tr{background:transparent}thead th,thead td,tfoot th,tfoot td{padding:.5rem .625rem .625rem;font-weight:bold;text-align:left}tbody th,tbody td{padding:.5rem .625rem .625rem}tbody tr:nth-child(even){border-bottom:0;background-color:#f1f1f1}table.unstriped tbody{background-color:#fefefe}table.unstriped tbody tr{border-bottom:0;border-bottom:1px solid #f1f1f1;background-color:#fefefe}@media screen and (max-width: 63.99875em){table.stack thead{display:none}table.stack tfoot{display:none}table.stack tr,table.stack th,table.stack td{display:block}table.stack td{border-top:0}}table.scroll{display:block;width:100%;overflow-x:auto}table.hover thead tr:hover{background-color:#f3f3f3}table.hover tfoot tr:hover{background-color:#ececec}table.hover tbody tr:hover{background-color:#f9f9f9}table.hover:not(.unstriped) tr:nth-of-type(even):hover{background-color:#ececec}.table-scroll{overflow-x:auto}.badge{display:inline-block;min-width:2.1em;padding:.3em;border-radius:50%;font-size:.6rem;text-align:center;background:#1779ba;color:#fefefe}.badge.primary{background:#1779ba;color:#fefefe}.badge.secondary{background:#767676;color:#fefefe}.badge.success{background:#3adb76;color:#0a0a0a}.badge.warning{background:#ffae00;color:#0a0a0a}.badge.alert{background:#cc4b37;color:#fefefe}.breadcrumbs{margin:0 0 1rem 0;list-style:none}.breadcrumbs::before,.breadcrumbs::after{display:table;content:' '}.breadcrumbs::after{clear:both}.breadcrumbs li{float:left;font-size:.6875rem;color:#0a0a0a;cursor:default;text-transform:uppercase}.breadcrumbs li:not(:last-child)::after{position:relative;margin:0 .75rem;opacity:1;content:"/";color:#cacaca}.breadcrumbs a{color:#1779ba}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs .disabled{color:#cacaca;cursor:not-allowed}.callout{position:relative;margin:0 0 1rem 0;padding:1rem;border:1px solid rgba(10,10,10,0.25);border-radius:0;background-color:#fff;color:#0a0a0a}.callout>:first-child{margin-top:0}.callout>:last-child{margin-bottom:0}.callout.primary{background-color:#d7ecfa;color:#0a0a0a}.callout.secondary{background-color:#eaeaea;color:#0a0a0a}.callout.success{background-color:#e1faea;color:#0a0a0a}.callout.warning{background-color:#fff3d9;color:#0a0a0a}.callout.alert{background-color:#f7e4e1;color:#0a0a0a}.callout.small{padding-top:.5rem;padding-right:.5rem;padding-bottom:.5rem;padding-left:.5rem}.callout.large{padding-top:3rem;padding-right:3rem;padding-bottom:3rem;padding-left:3rem}.card{margin-bottom:1rem;border:1px solid #e6e6e6;border-radius:0;background:#fefefe;-webkit-box-shadow:none;box-shadow:none;overflow:hidden;color:#0a0a0a}.card>:last-child{margin-bottom:0}.card-divider{padding:1rem;background:#e6e6e6}.card-divider>:last-child{margin-bottom:0}.card-section{padding:1rem}.card-section>:last-child{margin-bottom:0}.card-image{min-height:1px}.dropdown-pane{position:absolute;z-index:10;display:none;width:300px;padding:1rem;visibility:hidden;border:1px solid #cacaca;border-radius:0;background-color:#fefefe;font-size:1rem}.dropdown-pane.is-opening{display:block}.dropdown-pane.is-open{display:block;visibility:visible}.dropdown-pane.tiny{width:100px}.dropdown-pane.small{width:200px}.dropdown-pane.large{width:400px}.pagination{margin-left:0;margin-bottom:1rem}.pagination::before,.pagination::after{display:table;content:' '}.pagination::after{clear:both}.pagination li{margin-right:.0625rem;border-radius:0;font-size:.875rem;display:none}.pagination li:last-child,.pagination li:first-child{display:inline-block}@media print, screen and (min-width: 48em){.pagination li{display:inline-block}}.pagination a,.pagination button{display:block;padding:.1875rem .625rem;border-radius:0;color:#0a0a0a}.pagination a:hover,.pagination button:hover{background:#e6e6e6}.pagination .current{padding:.1875rem .625rem;background:#1779ba;color:#fefefe;cursor:default}.pagination .disabled{padding:.1875rem .625rem;color:#cacaca;cursor:not-allowed}.pagination .disabled:hover{background:transparent}.pagination .ellipsis::after{padding:.1875rem .625rem;content:'\2026';color:#0a0a0a}.pagination-previous a::before,.pagination-previous.disabled::before{display:inline-block;margin-right:0.5rem;content:"«"}.pagination-next a::after,.pagination-next.disabled::after{display:inline-block;margin-left:0.5rem;content:"»"}.has-tip{position:relative;display:inline-block;border-bottom:dotted 1px #8a8a8a;font-weight:bold;cursor:help}.tooltip{position:absolute;top:calc(100% + .6495rem);z-index:1200;max-width:10rem;padding:.75rem;border-radius:0;background-color:#0a0a0a;font-size:80%;color:#fefefe}.tooltip::before{position:absolute}.tooltip.bottom::before{display:block;width:0;height:0;border:inset .75rem;content:'';border-top-width:0;border-bottom-style:solid;border-color:transparent transparent #0a0a0a;bottom:100%}.tooltip.bottom.align-center::before{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.tooltip.top::before{display:block;width:0;height:0;border:inset .75rem;content:'';border-bottom-width:0;border-top-style:solid;border-color:#0a0a0a transparent transparent;top:100%;bottom:auto}.tooltip.top.align-center::before{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.tooltip.left::before{display:block;width:0;height:0;border:inset .75rem;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #0a0a0a;left:100%}.tooltip.left.align-center::before{bottom:auto;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.tooltip.right::before{display:block;width:0;height:0;border:inset .75rem;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #0a0a0a transparent transparent;right:100%;left:auto}.tooltip.right.align-center::before{bottom:auto;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.tooltip.align-top::before{bottom:auto;top:10%}.tooltip.align-bottom::before{bottom:10%;top:auto}.tooltip.align-left::before{left:10%;right:auto}.tooltip.align-right::before{left:auto;right:10%}.accordion{margin-left:0;background:#fefefe;list-style-type:none}.accordion[disabled] .accordion-title{cursor:not-allowed}.accordion-item:first-child>:first-child{border-radius:0 0 0 0}.accordion-item:last-child>:last-child{border-radius:0 0 0 0}.accordion-title{position:relative;display:block;padding:1.25rem 1rem;border:1px solid #e6e6e6;border-bottom:0;font-size:.75rem;line-height:1;color:#1779ba}:last-child:not(.is-active)>.accordion-title{border-bottom:1px solid #e6e6e6;border-radius:0 0 0 0}.accordion-title:hover,.accordion-title:focus{background-color:#e6e6e6}.accordion-title::before{position:absolute;top:50%;right:1rem;margin-top:-0.5rem;content:"+"}.is-active>.accordion-title::before{content:"–"}.accordion-content{display:none;padding:1rem;border:1px solid #e6e6e6;border-bottom:0;background-color:#fefefe;color:#0a0a0a}:last-child>.accordion-content:last-child{border-bottom:1px solid #e6e6e6}.media-object{display:block;margin-bottom:1rem}.media-object img{max-width:none}.media-object-section{display:table-cell;vertical-align:top}.media-object-section:first-child{padding-right:1rem}.media-object-section:last-child:not(:nth-child(2)){padding-left:1rem}.media-object-section>:last-child{margin-bottom:0}@media screen and (max-width: 47.99875em){.stack-for-small .media-object-section{padding:0;padding-bottom:1rem;display:block}.stack-for-small .media-object-section img{width:100%}}.media-object-section.middle{vertical-align:middle}.media-object-section.bottom{vertical-align:bottom}.orbit{position:relative}.orbit-container{position:relative;height:0;margin:0;list-style:none;overflow:hidden}.orbit-slide{width:100%;position:absolute}.orbit-slide.no-motionui.is-active{top:0;left:0}.orbit-figure{margin:0}.orbit-image{width:100%;max-width:100%;margin:0}.orbit-caption{position:absolute;bottom:0;width:100%;margin-bottom:0;padding:1rem;background-color:rgba(10,10,10,0.5);color:#fefefe}.orbit-previous,.orbit-next{position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);z-index:10;padding:1rem;color:#fefefe}[data-whatinput='mouse'] .orbit-previous,[data-whatinput='mouse'] .orbit-next{outline:0}.orbit-previous:hover,.orbit-next:hover,.orbit-previous:active,.orbit-next:active,.orbit-previous:focus,.orbit-next:focus{background-color:rgba(10,10,10,0.5)}.orbit-previous{left:0}.orbit-next{left:auto;right:0}.orbit-bullets{position:relative;margin-top:.8rem;margin-bottom:.8rem;text-align:center}[data-whatinput='mouse'] .orbit-bullets{outline:0}.orbit-bullets button{width:1.2rem;height:1.2rem;margin:.1rem;border-radius:50%;background-color:#cacaca}.orbit-bullets button:hover{background-color:#8a8a8a}.orbit-bullets button.is-active{background-color:#8a8a8a}.responsive-embed,.flex-video{position:relative;height:0;margin-bottom:1rem;padding-bottom:75%;overflow:hidden}.responsive-embed iframe,.responsive-embed object,.responsive-embed embed,.responsive-embed video,.flex-video iframe,.flex-video object,.flex-video embed,.flex-video video{position:absolute;top:0;left:0;width:100%;height:100%}.responsive-embed.widescreen,.flex-video.widescreen{padding-bottom:56.25%}.tabs{margin:0;border:1px solid #e6e6e6;background:#fefefe;list-style-type:none}.tabs::before,.tabs::after{display:table;content:' '}.tabs::after{clear:both}.tabs.vertical>li{display:block;float:none;width:auto}.tabs.simple>li>a{padding:0}.tabs.simple>li>a:hover{background:transparent}.tabs.primary{background:#1779ba}.tabs.primary>li>a{color:#fefefe}.tabs.primary>li>a:hover,.tabs.primary>li>a:focus{background:#1673b1}.tabs-title{float:left}.tabs-title>a{display:block;padding:1.25rem 1.5rem;font-size:.75rem;line-height:1;color:#1779ba}[data-whatinput='mouse'] .tabs-title>a{outline:0}.tabs-title>a:hover{background:#fefefe;color:#1468a0}.tabs-title>a:focus,.tabs-title>a[aria-selected='true']{background:#e6e6e6;color:#1779ba}.tabs-content{border:1px solid #e6e6e6;border-top:0;background:#fefefe;color:#0a0a0a;-webkit-transition:all 0.5s ease;transition:all 0.5s ease}.tabs-content.vertical{border:1px solid #e6e6e6;border-left:0}.tabs-panel{display:none;padding:1rem}.tabs-panel.is-active{display:block}.thumbnail{display:inline-block;max-width:100%;margin-bottom:1rem;border:4px solid #fefefe;border-radius:0;-webkit-box-shadow:0 0 0 1px rgba(10,10,10,0.2);box-shadow:0 0 0 1px rgba(10,10,10,0.2);line-height:0}a.thumbnail{-webkit-transition:-webkit-box-shadow 200ms ease-out;transition:-webkit-box-shadow 200ms ease-out;transition:box-shadow 200ms ease-out;transition:box-shadow 200ms ease-out, -webkit-box-shadow 200ms ease-out}a.thumbnail:hover,a.thumbnail:focus{-webkit-box-shadow:0 0 6px 1px rgba(23,121,186,0.5);box-shadow:0 0 6px 1px rgba(23,121,186,0.5)}a.thumbnail image{-webkit-box-shadow:none;box-shadow:none}.menu{padding:0;margin:0;list-style:none;position:relative}[data-whatinput='mouse'] .menu li{outline:0}.menu a,.menu .button{line-height:1;text-decoration:none;display:block;padding:0.7rem 1rem}.menu input,.menu select,.menu a,.menu button{margin-bottom:0}.menu input{display:inline-block}.menu li,.menu.horizontal li{display:inline-block}.menu.vertical li{display:block}.menu.expanded{display:table;width:100%}.menu.expanded>li{display:table-cell;vertical-align:middle}.menu.simple li+li{margin-left:1rem}.menu.simple a{padding:0}@media print, screen and (min-width: 48em){.menu.medium-horizontal li{display:inline-block}.menu.medium-vertical li{display:block}.menu.medium-expanded{display:table;width:100%}.menu.medium-expanded>li{display:table-cell;vertical-align:middle}.menu.medium-simple{display:table;width:100%}.menu.medium-simple>li{display:table-cell;vertical-align:middle}}@media print, screen and (min-width: 64em){.menu.large-horizontal li{display:inline-block}.menu.large-vertical li{display:block}.menu.large-expanded{display:table;width:100%}.menu.large-expanded>li{display:table-cell;vertical-align:middle}.menu.large-simple{display:table;width:100%}.menu.large-simple>li{display:table-cell;vertical-align:middle}}.menu.nested{margin-right:0;margin-left:1rem}.menu.icons img,.menu.icons i,.menu.icons svg{vertical-align:middle}.menu.icons img+span,.menu.icons i+span,.menu.icons svg+span{vertical-align:middle}.menu.icon-top img,.menu.icon-top i,.menu.icon-top svg,.menu.icon-right img,.menu.icon-right i,.menu.icon-right svg,.menu.icon-bottom img,.menu.icon-bottom i,.menu.icon-bottom svg,.menu.icon-left img,.menu.icon-left i,.menu.icon-left svg{vertical-align:middle}.menu.icon-top img+span,.menu.icon-top i+span,.menu.icon-top svg+span,.menu.icon-right img+span,.menu.icon-right i+span,.menu.icon-right svg+span,.menu.icon-bottom img+span,.menu.icon-bottom i+span,.menu.icon-bottom svg+span,.menu.icon-left img+span,.menu.icon-left i+span,.menu.icon-left svg+span{vertical-align:middle}.menu.icon-left li a img,.menu.icon-left li a i,.menu.icon-left li a svg{margin-right:.25rem;display:inline-block}.menu.icon-right li a img,.menu.icon-right li a i,.menu.icon-right li a svg{margin-left:.25rem;display:inline-block}.menu.icon-top li a{text-align:center}.menu.icon-top li a img,.menu.icon-top li a i,.menu.icon-top li a svg{display:block;margin:0 auto .25rem}.menu.icon-bottom li a{text-align:center}.menu.icon-bottom li a img,.menu.icon-bottom li a i,.menu.icon-bottom li a svg{display:block;margin:.25rem auto 0}.menu .is-active>a{background:#1779ba;color:#fefefe}.menu .active>a{background:#1779ba;color:#fefefe}.menu.align-left{text-align:left}.menu.align-right{text-align:right}.menu.align-right .submenu li{text-align:left}.menu.align-right.vertical .submenu li{text-align:right}.menu.align-right .nested{margin-right:1rem;margin-left:0}.menu.align-center{text-align:center}.menu.align-center .submenu li{text-align:left}.menu .menu-text{padding:0.7rem 1rem;font-weight:bold;line-height:1;color:inherit}.menu-centered>.menu{text-align:center}.menu-centered>.menu .submenu li{text-align:left}.no-js [data-responsive-menu] ul{display:none}.menu-icon{position:relative;display:inline-block;vertical-align:middle;width:20px;height:16px;cursor:pointer}.menu-icon::after{position:absolute;top:0;left:0;display:block;width:100%;height:2px;background:#fefefe;-webkit-box-shadow:0 7px 0 #fefefe,0 14px 0 #fefefe;box-shadow:0 7px 0 #fefefe,0 14px 0 #fefefe;content:''}.menu-icon:hover::after{background:#cacaca;-webkit-box-shadow:0 7px 0 #cacaca,0 14px 0 #cacaca;box-shadow:0 7px 0 #cacaca,0 14px 0 #cacaca}.menu-icon.dark{position:relative;display:inline-block;vertical-align:middle;width:20px;height:16px;cursor:pointer}.menu-icon.dark::after{position:absolute;top:0;left:0;display:block;width:100%;height:2px;background:#0a0a0a;-webkit-box-shadow:0 7px 0 #0a0a0a,0 14px 0 #0a0a0a;box-shadow:0 7px 0 #0a0a0a,0 14px 0 #0a0a0a;content:''}.menu-icon.dark:hover::after{background:#8a8a8a;-webkit-box-shadow:0 7px 0 #8a8a8a,0 14px 0 #8a8a8a;box-shadow:0 7px 0 #8a8a8a,0 14px 0 #8a8a8a}.accordion-menu li{width:100%}.accordion-menu a{padding:0.7rem 1rem}.accordion-menu .is-accordion-submenu a{padding:0.7rem 1rem}.accordion-menu .nested.is-accordion-submenu{margin-right:0;margin-left:1rem}.accordion-menu.align-right .nested.is-accordion-submenu{margin-right:1rem;margin-left:0}.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle)>a{position:relative}.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle)>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-bottom-width:0;border-top-style:solid;border-color:#1779ba transparent transparent;position:absolute;top:50%;margin-top:-3px;right:1rem}.accordion-menu.align-left .is-accordion-submenu-parent>a::after{right:1rem;left:auto}.accordion-menu.align-right .is-accordion-submenu-parent>a::after{right:auto;left:1rem}.accordion-menu .is-accordion-submenu-parent[aria-expanded='true']>a::after{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg);-webkit-transform-origin:50% 50%;-ms-transform-origin:50% 50%;transform-origin:50% 50%}.is-accordion-submenu-parent{position:relative}.has-submenu-toggle>a{margin-right:40px}.submenu-toggle{position:absolute;top:0;right:0;width:40px;height:40px;cursor:pointer}.submenu-toggle::after{display:block;width:0;height:0;border:inset 6px;content:'';border-bottom-width:0;border-top-style:solid;border-color:#1779ba transparent transparent;top:0;bottom:0;margin:auto}.submenu-toggle[aria-expanded='true']::after{-webkit-transform:scaleY(-1);-ms-transform:scaleY(-1);transform:scaleY(-1);-webkit-transform-origin:50% 50%;-ms-transform-origin:50% 50%;transform-origin:50% 50%}.submenu-toggle-text{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.is-drilldown{position:relative;overflow:hidden}.is-drilldown li{display:block}.is-drilldown.animate-height{-webkit-transition:height 0.5s;transition:height 0.5s}.drilldown a{padding:0.7rem 1rem;background:#fefefe}.drilldown .is-drilldown-submenu{position:absolute;top:0;left:100%;z-index:-1;width:100%;background:#fefefe;-webkit-transition:-webkit-transform 0.15s linear;transition:-webkit-transform 0.15s linear;transition:transform 0.15s linear;transition:transform 0.15s linear, -webkit-transform 0.15s linear}.drilldown .is-drilldown-submenu.is-active{z-index:1;display:block;-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%)}.drilldown .is-drilldown-submenu.is-closing{-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%)}.drilldown .is-drilldown-submenu a{padding:0.7rem 1rem}.drilldown .nested.is-drilldown-submenu{margin-right:0;margin-left:0}.drilldown .drilldown-submenu-cover-previous{min-height:100%}.drilldown .is-drilldown-submenu-parent>a{position:relative}.drilldown .is-drilldown-submenu-parent>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #1779ba;position:absolute;top:50%;margin-top:-6px;right:1rem}.drilldown.align-left .is-drilldown-submenu-parent>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #1779ba;right:1rem;left:auto}.drilldown.align-right .is-drilldown-submenu-parent>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #1779ba transparent transparent;right:auto;left:1rem}.drilldown .js-drilldown-back>a::before{display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #1779ba transparent transparent;display:inline-block;vertical-align:middle;margin-right:0.75rem}.dropdown.menu>li.opens-left>.is-dropdown-submenu{top:100%;right:0;left:auto}.dropdown.menu>li.opens-right>.is-dropdown-submenu{top:100%;right:auto;left:0}.dropdown.menu>li.is-dropdown-submenu-parent>a{position:relative;padding-right:1.5rem}.dropdown.menu>li.is-dropdown-submenu-parent>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-bottom-width:0;border-top-style:solid;border-color:#1779ba transparent transparent;right:5px;left:auto;margin-top:-3px}[data-whatinput='mouse'] .dropdown.menu a{outline:0}.dropdown.menu>li>a{padding:0.7rem 1rem}.dropdown.menu>li.is-active>a{background:rgba(0,0,0,0);color:#1779ba}.no-js .dropdown.menu ul{display:none}.dropdown.menu .nested.is-dropdown-submenu{margin-right:0;margin-left:0}.dropdown.menu.vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.vertical>li.opens-left>.is-dropdown-submenu{top:0;right:100%;left:auto}.dropdown.menu.vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.vertical>li>a::after{right:14px}.dropdown.menu.vertical>li.opens-left>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #1779ba transparent transparent;right:auto;left:5px}.dropdown.menu.vertical>li.opens-right>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #1779ba}@media print, screen and (min-width: 48em){.dropdown.menu.medium-horizontal>li.opens-left>.is-dropdown-submenu{top:100%;right:0;left:auto}.dropdown.menu.medium-horizontal>li.opens-right>.is-dropdown-submenu{top:100%;right:auto;left:0}.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a{position:relative;padding-right:1.5rem}.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-bottom-width:0;border-top-style:solid;border-color:#1779ba transparent transparent;right:5px;left:auto;margin-top:-3px}.dropdown.menu.medium-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.medium-vertical>li.opens-left>.is-dropdown-submenu{top:0;right:100%;left:auto}.dropdown.menu.medium-vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.medium-vertical>li>a::after{right:14px}.dropdown.menu.medium-vertical>li.opens-left>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #1779ba transparent transparent;right:auto;left:5px}.dropdown.menu.medium-vertical>li.opens-right>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #1779ba}}@media print, screen and (min-width: 64em){.dropdown.menu.large-horizontal>li.opens-left>.is-dropdown-submenu{top:100%;right:0;left:auto}.dropdown.menu.large-horizontal>li.opens-right>.is-dropdown-submenu{top:100%;right:auto;left:0}.dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a{position:relative;padding-right:1.5rem}.dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-bottom-width:0;border-top-style:solid;border-color:#1779ba transparent transparent;right:5px;left:auto;margin-top:-3px}.dropdown.menu.large-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.large-vertical>li.opens-left>.is-dropdown-submenu{top:0;right:100%;left:auto}.dropdown.menu.large-vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.large-vertical>li>a::after{right:14px}.dropdown.menu.large-vertical>li.opens-left>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #1779ba transparent transparent;right:auto;left:5px}.dropdown.menu.large-vertical>li.opens-right>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #1779ba}}.dropdown.menu.align-right .is-dropdown-submenu.first-sub{top:100%;right:0;left:auto}.is-dropdown-menu.vertical{width:100px}.is-dropdown-menu.vertical.align-right{float:right}.is-dropdown-submenu-parent{position:relative}.is-dropdown-submenu-parent a::after{position:absolute;top:50%;right:5px;left:auto;margin-top:-6px}.is-dropdown-submenu-parent.opens-inner>.is-dropdown-submenu{top:100%;left:auto}.is-dropdown-submenu-parent.opens-left>.is-dropdown-submenu{right:100%;left:auto}.is-dropdown-submenu-parent.opens-right>.is-dropdown-submenu{right:auto;left:100%}.is-dropdown-submenu{position:absolute;top:0;left:100%;z-index:1;display:none;min-width:200px;border:1px solid #cacaca;background:#fefefe}.dropdown .is-dropdown-submenu a{padding:0.7rem 1rem}.is-dropdown-submenu .is-dropdown-submenu-parent>a::after{right:14px}.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #1779ba transparent transparent;right:auto;left:5px}.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #1779ba}.is-dropdown-submenu .is-dropdown-submenu{margin-top:-1px}.is-dropdown-submenu>li{width:100%}.is-dropdown-submenu.js-dropdown-active{display:block}.is-off-canvas-open{overflow:hidden}.js-off-canvas-overlay{position:absolute;top:0;left:0;z-index:11;width:100%;height:100%;-webkit-transition:opacity .5s ease,visibility .5s ease;transition:opacity .5s ease,visibility .5s ease;background:rgba(254,254,254,0.25);opacity:0;visibility:hidden;overflow:hidden}.js-off-canvas-overlay.is-visible{opacity:1;visibility:visible}.js-off-canvas-overlay.is-closable{cursor:pointer}.js-off-canvas-overlay.is-overlay-absolute{position:absolute}.js-off-canvas-overlay.is-overlay-fixed{position:fixed}.off-canvas-wrapper{position:relative;overflow:hidden}.off-canvas{position:fixed;z-index:12;-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease, -webkit-transform .5s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden;background:#e6e6e6}[data-whatinput='mouse'] .off-canvas{outline:0}.off-canvas.is-transition-push{z-index:12}.off-canvas.is-closed{visibility:hidden}.off-canvas.is-transition-overlap{z-index:13}.off-canvas.is-transition-overlap.is-open{-webkit-box-shadow:0 0 10px rgba(10,10,10,0.7);box-shadow:0 0 10px rgba(10,10,10,0.7)}.off-canvas.is-open{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}.off-canvas-absolute{position:absolute;z-index:12;-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease, -webkit-transform .5s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden;background:#e6e6e6}[data-whatinput='mouse'] .off-canvas-absolute{outline:0}.off-canvas-absolute.is-transition-push{z-index:12}.off-canvas-absolute.is-closed{visibility:hidden}.off-canvas-absolute.is-transition-overlap{z-index:13}.off-canvas-absolute.is-transition-overlap.is-open{-webkit-box-shadow:0 0 10px rgba(10,10,10,0.7);box-shadow:0 0 10px rgba(10,10,10,0.7)}.off-canvas-absolute.is-open{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}.position-left{top:0;left:0;height:100%;overflow-y:auto;width:250px;-webkit-transform:translateX(-250px);-ms-transform:translateX(-250px);transform:translateX(-250px)}.off-canvas-content .off-canvas.position-left{-webkit-transform:translateX(-250px);-ms-transform:translateX(-250px);transform:translateX(-250px)}.off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}.off-canvas-content.is-open-left.has-transition-push{-webkit-transform:translateX(250px);-ms-transform:translateX(250px);transform:translateX(250px)}.position-left.is-transition-push{-webkit-box-shadow:inset -13px 0 20px -13px rgba(10,10,10,0.25);box-shadow:inset -13px 0 20px -13px rgba(10,10,10,0.25)}.position-right{top:0;right:0;height:100%;overflow-y:auto;width:250px;-webkit-transform:translateX(250px);-ms-transform:translateX(250px);transform:translateX(250px)}.off-canvas-content .off-canvas.position-right{-webkit-transform:translateX(250px);-ms-transform:translateX(250px);transform:translateX(250px)}.off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}.off-canvas-content.is-open-right.has-transition-push{-webkit-transform:translateX(-250px);-ms-transform:translateX(-250px);transform:translateX(-250px)}.position-right.is-transition-push{-webkit-box-shadow:inset 13px 0 20px -13px rgba(10,10,10,0.25);box-shadow:inset 13px 0 20px -13px rgba(10,10,10,0.25)}.position-top{top:0;left:0;width:100%;overflow-x:auto;height:250px;-webkit-transform:translateY(-250px);-ms-transform:translateY(-250px);transform:translateY(-250px)}.off-canvas-content .off-canvas.position-top{-webkit-transform:translateY(-250px);-ms-transform:translateY(-250px);transform:translateY(-250px)}.off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}.off-canvas-content.is-open-top.has-transition-push{-webkit-transform:translateY(250px);-ms-transform:translateY(250px);transform:translateY(250px)}.position-top.is-transition-push{-webkit-box-shadow:inset 0 -13px 20px -13px rgba(10,10,10,0.25);box-shadow:inset 0 -13px 20px -13px rgba(10,10,10,0.25)}.position-bottom{bottom:0;left:0;width:100%;overflow-x:auto;height:250px;-webkit-transform:translateY(250px);-ms-transform:translateY(250px);transform:translateY(250px)}.off-canvas-content .off-canvas.position-bottom{-webkit-transform:translateY(250px);-ms-transform:translateY(250px);transform:translateY(250px)}.off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}.off-canvas-content.is-open-bottom.has-transition-push{-webkit-transform:translateY(-250px);-ms-transform:translateY(-250px);transform:translateY(-250px)}.position-bottom.is-transition-push{-webkit-box-shadow:inset 0 13px 20px -13px rgba(10,10,10,0.25);box-shadow:inset 0 13px 20px -13px rgba(10,10,10,0.25)}.off-canvas-content{-webkit-transform:none;-ms-transform:none;transform:none;-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease, -webkit-transform .5s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden}.off-canvas-content.has-transition-push{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}.off-canvas-content .off-canvas.is-open{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}@media print, screen and (min-width: 48em){.position-left.reveal-for-medium{-webkit-transform:none;-ms-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-left.reveal-for-medium .close-button{display:none}.off-canvas-content .position-left.reveal-for-medium{-webkit-transform:none;-ms-transform:none;transform:none}.off-canvas-content.has-reveal-left{margin-left:250px}.position-left.reveal-for-medium ~ .off-canvas-content{margin-left:250px}.position-right.reveal-for-medium{-webkit-transform:none;-ms-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-right.reveal-for-medium .close-button{display:none}.off-canvas-content .position-right.reveal-for-medium{-webkit-transform:none;-ms-transform:none;transform:none}.off-canvas-content.has-reveal-right{margin-right:250px}.position-right.reveal-for-medium ~ .off-canvas-content{margin-right:250px}.position-top.reveal-for-medium{-webkit-transform:none;-ms-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-top.reveal-for-medium .close-button{display:none}.off-canvas-content .position-top.reveal-for-medium{-webkit-transform:none;-ms-transform:none;transform:none}.off-canvas-content.has-reveal-top{margin-top:250px}.position-top.reveal-for-medium ~ .off-canvas-content{margin-top:250px}.position-bottom.reveal-for-medium{-webkit-transform:none;-ms-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-bottom.reveal-for-medium .close-button{display:none}.off-canvas-content .position-bottom.reveal-for-medium{-webkit-transform:none;-ms-transform:none;transform:none}.off-canvas-content.has-reveal-bottom{margin-bottom:250px}.position-bottom.reveal-for-medium ~ .off-canvas-content{margin-bottom:250px}}@media print, screen and (min-width: 64em){.position-left.reveal-for-large{-webkit-transform:none;-ms-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-left.reveal-for-large .close-button{display:none}.off-canvas-content .position-left.reveal-for-large{-webkit-transform:none;-ms-transform:none;transform:none}.off-canvas-content.has-reveal-left{margin-left:250px}.position-left.reveal-for-large ~ .off-canvas-content{margin-left:250px}.position-right.reveal-for-large{-webkit-transform:none;-ms-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-right.reveal-for-large .close-button{display:none}.off-canvas-content .position-right.reveal-for-large{-webkit-transform:none;-ms-transform:none;transform:none}.off-canvas-content.has-reveal-right{margin-right:250px}.position-right.reveal-for-large ~ .off-canvas-content{margin-right:250px}.position-top.reveal-for-large{-webkit-transform:none;-ms-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-top.reveal-for-large .close-button{display:none}.off-canvas-content .position-top.reveal-for-large{-webkit-transform:none;-ms-transform:none;transform:none}.off-canvas-content.has-reveal-top{margin-top:250px}.position-top.reveal-for-large ~ .off-canvas-content{margin-top:250px}.position-bottom.reveal-for-large{-webkit-transform:none;-ms-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-bottom.reveal-for-large .close-button{display:none}.off-canvas-content .position-bottom.reveal-for-large{-webkit-transform:none;-ms-transform:none;transform:none}.off-canvas-content.has-reveal-bottom{margin-bottom:250px}.position-bottom.reveal-for-large ~ .off-canvas-content{margin-bottom:250px}}@media print, screen and (min-width: 48em){.off-canvas.in-canvas-for-medium{visibility:visible;height:auto;position:static;background:none;width:auto;overflow:visible;-webkit-transition:none;transition:none}.off-canvas.in-canvas-for-medium.position-left,.off-canvas.in-canvas-for-medium.position-right,.off-canvas.in-canvas-for-medium.position-top,.off-canvas.in-canvas-for-medium.position-bottom{-webkit-box-shadow:none;box-shadow:none;-webkit-transform:none;-ms-transform:none;transform:none}.off-canvas.in-canvas-for-medium .close-button{display:none}}@media print, screen and (min-width: 64em){.off-canvas.in-canvas-for-large{visibility:visible;height:auto;position:static;background:none;width:auto;overflow:visible;-webkit-transition:none;transition:none}.off-canvas.in-canvas-for-large.position-left,.off-canvas.in-canvas-for-large.position-right,.off-canvas.in-canvas-for-large.position-top,.off-canvas.in-canvas-for-large.position-bottom{-webkit-box-shadow:none;box-shadow:none;-webkit-transform:none;-ms-transform:none;transform:none}.off-canvas.in-canvas-for-large .close-button{display:none}}html.is-reveal-open{position:fixed;width:100%;overflow-y:hidden}html.is-reveal-open.zf-has-scroll{overflow-y:scroll}html.is-reveal-open body{overflow-y:hidden}.reveal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1005;display:none;background-color:rgba(10,10,10,0.45);overflow-y:auto}.reveal{z-index:1006;-webkit-backface-visibility:hidden;backface-visibility:hidden;display:none;padding:1rem;border:1px solid #cacaca;border-radius:0;background-color:#fefefe;position:relative;top:100px;margin-right:auto;margin-left:auto;overflow-y:auto}[data-whatinput='mouse'] .reveal{outline:0}@media print, screen and (min-width: 48em){.reveal{min-height:0}}.reveal .column,.reveal .columns{min-width:0}.reveal>:last-child{margin-bottom:0}@media print, screen and (min-width: 48em){.reveal{width:600px;max-width:73.5rem}}.reveal.collapse{padding:0}@media print, screen and (min-width: 48em){.reveal.tiny{width:30%;max-width:73.5rem}}@media print, screen and (min-width: 48em){.reveal.small{width:50%;max-width:73.5rem}}@media print, screen and (min-width: 48em){.reveal.large{width:90%;max-width:73.5rem}}.reveal.full{top:0;right:0;bottom:0;left:0;width:100%;max-width:none;height:100%;min-height:100%;margin-left:0;border:0;border-radius:0}@media screen and (max-width: 47.99875em){.reveal{top:0;right:0;bottom:0;left:0;width:100%;max-width:none;height:100%;min-height:100%;margin-left:0;border:0;border-radius:0}}.reveal.without-overlay{position:fixed}.sticky-container{position:relative}.sticky{position:relative;z-index:0;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.sticky.is-stuck{position:fixed;z-index:5;width:100%}.sticky.is-stuck.is-at-top{top:0}.sticky.is-stuck.is-at-bottom{bottom:0}.sticky.is-anchored{position:relative;right:auto;left:auto}.sticky.is-anchored.is-at-bottom{bottom:0}.title-bar{padding:.5rem;background:#0a0a0a;color:#fefefe}.title-bar::before,.title-bar::after{display:table;content:' '}.title-bar::after{clear:both}.title-bar .menu-icon{margin-left:.25rem;margin-right:.25rem}.title-bar-left{float:left}.title-bar-right{float:right;text-align:right}.title-bar-title{display:inline-block;vertical-align:middle;font-weight:bold}.top-bar{padding:.5rem}.top-bar::before,.top-bar::after{display:table;content:' '}.top-bar::after{clear:both}.top-bar,.top-bar ul{background-color:#e6e6e6}.top-bar input{max-width:200px;margin-right:1rem}.top-bar .input-group-field{width:100%;margin-right:0}.top-bar input.button{width:auto}.top-bar .top-bar-left,.top-bar .top-bar-right{width:100%}@media print, screen and (min-width: 48em){.top-bar .top-bar-left,.top-bar .top-bar-right{width:auto}}@media screen and (max-width: 63.99875em){.top-bar.stacked-for-medium .top-bar-left,.top-bar.stacked-for-medium .top-bar-right{width:100%}}@media screen and (max-width: 73.49875em){.top-bar.stacked-for-large .top-bar-left,.top-bar.stacked-for-large .top-bar-right{width:100%}}.top-bar-title{display:inline-block;float:left;padding:0.5rem 1rem 0.5rem 0}.top-bar-title .menu-icon{bottom:2px}.top-bar-left{float:left}.top-bar-right{float:right}.float-left{float:left !important}.float-right{float:right !important}.float-center{display:block;margin-right:auto;margin-left:auto}.clearfix::before,.clearfix::after{display:table;content:' '}.clearfix::after{clear:both}.hide{display:none !important}.invisible{visibility:hidden}@media screen and (max-width: 47.99875em){.hide-for-small-only{display:none !important}}@media screen and (max-width: 0em), screen and (min-width: 48em){.show-for-small-only{display:none !important}}@media print, screen and (min-width: 48em){.hide-for-medium{display:none !important}}@media screen and (max-width: 47.99875em){.show-for-medium{display:none !important}}@media screen and (min-width: 48em) and (max-width: 63.99875em){.hide-for-medium-only{display:none !important}}@media screen and (max-width: 47.99875em), screen and (min-width: 64em){.show-for-medium-only{display:none !important}}@media print, screen and (min-width: 64em){.hide-for-large{display:none !important}}@media screen and (max-width: 63.99875em){.show-for-large{display:none !important}}@media screen and (min-width: 64em) and (max-width: 73.49875em){.hide-for-large-only{display:none !important}}@media screen and (max-width: 63.99875em), screen and (min-width: 73.5em){.show-for-large-only{display:none !important}}.show-for-sr,.show-on-focus{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.show-on-focus:active,.show-on-focus:focus{position:static !important;width:auto !important;height:auto !important;overflow:visible !important;clip:auto !important;white-space:normal !important}.show-for-landscape,.hide-for-portrait{display:block !important}@media screen and (orientation: landscape){.show-for-landscape,.hide-for-portrait{display:block !important}}@media screen and (orientation: portrait){.show-for-landscape,.hide-for-portrait{display:none !important}}.hide-for-landscape,.show-for-portrait{display:none !important}@media screen and (orientation: landscape){.hide-for-landscape,.show-for-portrait{display:none !important}}@media screen and (orientation: portrait){.hide-for-landscape,.show-for-portrait{display:block !important}}@font-face{font-family:'latolight';src:url("../fonts/lato-light-webfont.eot");src:url("../fonts/lato-light-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/lato-light-webfont.woff2") format("woff2"),url("../fonts/lato-light-webfont.woff") format("woff"),url("../fonts/lato-light-webfont.svg#latolight") format("svg");font-weight:normal;font-style:normal}@font-face{font-family:'latoregular';src:url("../fonts/lato-regular-webfont.eot");src:url("../fonts/lato-regular-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/lato-regular-webfont.woff2") format("woff2"),url("../fonts/lato-regular-webfont.woff") format("woff"),url("../fonts/lato-regular-webfont.svg#latoregular") format("svg");font-weight:normal;font-style:normal}@font-face{font-family:'latosemibold';src:url("../fonts/lato-semibold-webfont.eot");src:url("../fonts/lato-semibold-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/lato-semibold-webfont.woff2") format("woff2"),url("../fonts/lato-semibold-webfont.woff") format("woff"),url("../fonts/lato-semibold-webfont.svg#latosemibold") format("svg");font-weight:normal;font-style:normal}@font-face{font-family:'latobold';src:url("../fonts/lato-bold-webfont.eot");src:url("../fonts/lato-bold-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/lato-bold-webfont.woff2") format("woff2"),url("../fonts/lato-bold-webfont.woff") format("woff"),url("../fonts/lato-bold-webfont.svg#latobold") format("svg");font-weight:normal;font-style:normal}@-webkit-keyframes spin{100%{-webkit-transform:rotateY(360deg);transform:rotateY(360deg)}}@keyframes spin{100%{-webkit-transform:rotateY(360deg);transform:rotateY(360deg)}}::-webkit-input-placeholder{color:rgba(74,74,74,0.4);opacity:1}:-moz-placeholder{color:rgba(74,74,74,0.4);opacity:1}::-moz-placeholder{color:rgba(74,74,74,0.4);opacity:1}:-ms-input-placeholder{color:rgba(74,74,74,0.4);opacity:1}.safari ::-webkit-input-placeholder{color:rgba(74,74,74,0.4)}.safari :-moz-placeholder{color:rgba(74,74,74,0.4)}.safari ::-moz-placeholder{color:rgba(74,74,74,0.4)}.safari :-ms-input-placeholder{color:rgba(74,74,74,0.4)}p.clearfix{clear:both;margin:0;padding:0;width:0;height:0}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;color:#fff}body{font-family:"latoregular";font-size:16px;background:#fff;-webkit-transition:all 300ms ease-in-out 0s;transition:all 300ms ease-in-out 0s}html{-webkit-transition:all 300ms ease-in-out 0s;transition:all 300ms ease-in-out 0s}h1,h2,h3,h4,h5,h6{clear:both;font-weight:normal;margin:0;padding:0;font-family:"latoregular"}h1{font-size:34px;line-height:33px}h2{font-size:24px;line-height:33px}h3{font-size:22px;line-height:30px}h4{font-size:20px;line-height:30px}h5{font-size:18px;line-height:33px}h6{font-size:18px;line-height:33px}p{font-size:16px;line-height:26px;color:#990707;margin:0 0 27px 0}a{color:#990707;text-decoration:none;-webkit-transition:all 300ms ease-in-out 0s;transition:all 300ms ease-in-out 0s}a:visited{outline:0}a:active,a:hover,a:focus{outline:0;text-decoration:none;color:#990707}::-webkit-input-placeholder{opacity:1;color:#575757}::-moz-placeholder{opacity:1;color:#575757}:-ms-input-placeholder{opacity:1;color:#575757}input[type="text"]{width:100%;height:48px;line-height:48px;float:left;font-size:24px;color:#919191;background:#ffffff;border:none;-webkit-box-shadow:none;box-shadow:none;padding:0 20px 0 5px;margin:0}input[type="text"]:focus{border:0;-webkit-box-shadow:none;box-shadow:none}input[type="submit"]{width:100%;height:50px;line-height:50px;float:left;font-size:18px;color:#ffffff}input:focus,input:active,textarea:focus,textarea:active,a:focus,a:active{outline:0px none !important;-webkit-appearance:none;color:#ffffff}figure{margin:0}ul{list-style:none}.js-off-canvas-overlay{background:rgba(0,0,0,0.5) !important}.is-open-right{-webkit-transform:translateX(-250px);-ms-transform:translateX(-250px);transform:translateX(-250px)}.title-bar-left{background:none;display:none;float:left;padding:0;width:95px;top:12px;right:0px;position:absolute;background:#9d0909;height:39px;border-radius:5px}@media only screen and (min-width: 768px) and (max-width: 991px){.title-bar-left{display:block;right:auto;left:143px}}@media only screen and (max-width: 767px){.title-bar-left{display:block;width:34px;right:20px}}.title-bar-left .menu-icon{width:95px;height:39px;float:left;background:url(../images/svg/nav-icon.svg) no-repeat center left;position:relative;z-index:9999;cursor:pointer}.title-bar-left .menu-icon:before{width:100%;height:100%;position:absolute;content:"Menu";color:#FFF;left:10px;top:11px}@media only screen and (max-width: 767px){.title-bar-left .menu-icon:before{display:none}}@media only screen and (max-width: 767px){.title-bar-left .menu-icon{width:34px;height:39px}}.title-bar-left .menu-icon:after{display:none}.off-canvas-content,.off-canvas-content{background:transparent}.off-canvas.position-right{height:100%}.off-canvas.position-left{height:100%;background:#fff}.off-canvas-content.is-open-left.has-transition-push{-ms-transform:translateX(0);-webkit-transform:translateX(0);transform:translateX(0)}body{padding-top:110px}@media only screen and (min-width: 768px) and (max-width: 991px){body{padding-top:0}}@media only screen and (max-width: 767px){body{padding-top:0}}.main-header-outer{width:100%;min-height:110px;position:fixed;top:0 !important;left:0;background:#fff;z-index:999}@media only screen and (min-width: 768px) and (max-width: 991px){.main-header-outer{min-height:64px;position:relative}}@media only screen and (max-width: 767px){.main-header-outer{min-height:64px;position:relative}}.main-header-outer .logo-outerblk{width:1px;height:110px;position:absolute;left:0;top:0}@media only screen and (min-width: 1370px) and (max-width: 1589px){.main-header-outer .logo-outerblk{left:0}}@media only screen and (min-width: 1120px) and (max-width: 1369px){.main-header-outer .logo-outerblk{left:0}}@media only screen and (min-width: 992px) and (max-width: 1119px){.main-header-outer .logo-outerblk{width:140px;left:0}}@media only screen and (min-width: 768px) and (max-width: 991px){.main-header-outer .logo-outerblk{left:20px}}@media only screen and (max-width: 767px){.main-header-outer .logo-outerblk{top:4px;left:6px}}.main-header-outer .logo-outerblk a{width:166px;height:183px;position:absolute;right:100%;top:0}.main-header-outer .logo-outerblk a img{width:100%}@media only screen and (min-width: 992px) and (max-width: 1119px){.main-header-outer .logo-outerblk a{width:135px;right:auto;left:0}}@media only screen and (min-width: 768px) and (max-width: 991px){.main-header-outer .logo-outerblk a{width:82px;right:auto;left:0}}@media only screen and (max-width: 767px){.main-header-outer .logo-outerblk a{width:50px;right:auto;left:0}}.main-header-outer.inner-page{border-bottom:#e3e3e3 solid 1px}.main-header-outer.inner-page .logo-outerblk a{width:96px}@media only screen and (min-width: 768px) and (max-width: 991px){.main-header-outer.inner-page .logo-outerblk a{width:50px;padding-top:5px}}@media only screen and (max-width: 767px){.main-header-outer.inner-page .logo-outerblk a{width:50px}}.main-header-outer.is-stuck .logo-outerblk a{height:110px;width:100px}@media only screen and (max-width: 767px){.main-header-outer.is-stuck .logo-outerblk a{height:110px;width:100px}}.main-header-outer .header-inner{width:78%;min-height:110px;padding:34px 0 34px 84px;max-width:1148px;margin:0 auto;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}@media only screen and (min-width: 1120px) and (max-width: 1369px){.main-header-outer .header-inner{width:72%;padding:34px 0 34px 24px}}@media only screen and (min-width: 992px) and (max-width: 1119px){.main-header-outer .header-inner{width:100%;padding:34px 0 34px 145px}}@media only screen and (min-width: 768px) and (max-width: 991px){.main-header-outer .header-inner{width:100%;padding:0px 110px 0px 60%;min-height:10px}.main-header-outer .header-inner .tab-block{float:right}}@media only screen and (max-width: 767px){.main-header-outer .header-inner{width:100%;padding:0px 60px 0px 0;min-height:10px;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.main-header-outer .header-inner .tab-block{float:right}}.main-header-outer .header-inner .navigation-block{float:left;width:auto}.main-header-outer .header-inner .navigation-block ul{width:auto;height:auto;float:left;list-style:none;margin:0;padding:0}.main-header-outer .header-inner .navigation-block ul li{width:auto;float:left;position:relative;padding:0 7px}.main-header-outer .header-inner .navigation-block ul li a{width:auto;height:auto;float:left;padding:10px;color:#333;font-size:18px}.main-header-outer .header-inner .navigation-block ul li a:hover{color:#9C0909}@media only screen and (min-width: 1120px) and (max-width: 1369px){.main-header-outer .header-inner .navigation-block ul li a{font-size:15px;padding:10px 5px}}@media only screen and (min-width: 992px) and (max-width: 1119px){.main-header-outer .header-inner .navigation-block ul li a{font-size:14px;padding:10px 5px}}.main-header-outer .header-inner .navigation-block ul li ul{width:250px;height:auto;position:absolute;left:0;top:130%;visibility:hidden;opacity:0;-webkit-transition:all 300ms ease-in-out 0s;transition:all 300ms ease-in-out 0s}.main-header-outer .header-inner .navigation-block ul li ul li{width:100%;float:left;padding:0;background:#9C0909}.main-header-outer .header-inner .navigation-block ul li ul li a{width:100%;height:auto;float:left;padding:10px;color:#fff;padding-left:17px}.main-header-outer .header-inner .navigation-block ul li ul li a:hover{background:#fff;color:#9C0909}.main-header-outer .header-inner .navigation-block ul li:hover a{color:#9C0909}.main-header-outer .header-inner .navigation-block ul li.active-nav a{color:#fff;border-radius:2px;background:#9C0909}.main-header-outer .header-inner .navigation-block ul li:hover ul{top:100%;opacity:1;visibility:visible}.main-header-outer .header-inner .navigation-block ul li:hover li a{color:#fff}.main-header-outer .header-inner .navigation-block ul li.submenu>a{padding-right:22px}.main-header-outer .header-inner .navigation-block ul li.submenu>a:after{content:"";position:absolute;right:10px;top:50%;width:10px;height:8px;margin-top:-1px;background:url("../images/svg/menu-arrow.svg") no-repeat center top;background-size:9px 5px}@media only screen and (min-width: 1120px) and (max-width: 1369px){.main-header-outer .header-inner .navigation-block ul li.submenu>a{right:15px}}@media only screen and (min-width: 768px) and (max-width: 991px){.main-header-outer .header-inner .navigation-block ul{display:none}}.main-header-outer .header-inner .navigation-block .like-btn{width:68px;height:32px;margin:6px;float:left;border-left:#e6e7e9 solid 1px;border-right:#e6e7e9 solid 1px;text-align:center}.main-header-outer .header-inner .navigation-block .like-btn .like-icon{width:100%;height:32px;float:left;background:url(../images/svg/like-btn.svg) no-repeat center center}.main-header-outer .header-inner .navigation-block .like-btn .like-icon:hover,.main-header-outer .header-inner .navigation-block .like-btn .like-icon.fav-items{background:url(../images/svg/like-btn_active.svg) no-repeat center center}@media only screen and (min-width: 768px) and (max-width: 991px){.main-header-outer .header-inner .navigation-block .like-btn .like-icon{height:64px;background-size:20px 32px}}@media only screen and (min-width: 1120px) and (max-width: 1369px){.main-header-outer .header-inner .navigation-block .like-btn{width:48px}}@media only screen and (min-width: 768px) and (max-width: 991px){.main-header-outer .header-inner .navigation-block .like-btn{margin:0;height:64px;line-height:64px}}@media only screen and (max-width: 767px){.main-header-outer .header-inner .navigation-block{display:none}}.social-block{position:absolute;right:0;top:0;list-style:none;margin:0;padding:0}.social-block li{height:56px;width:55px;margin:0;padding:0;overflow:hidden;background:#FFF}@media only screen and (min-width: 768px) and (max-width: 991px){.social-block li{float:left;height:64px}}.social-block li a{height:55px;width:55px;overflow:hidden;line-height:55px}@media only screen and (min-width: 768px) and (max-width: 991px){.social-block li a{float:left;height:64px}}.social-block li a img{width:100%;position:relative;top:-4px}@media only screen and (min-width: 768px) and (max-width: 991px){.social-block li a img{width:auto;float:left;height:64px;top:0}}.social-block li a:hover{opacity:.9}@media only screen and (max-width: 767px){.social-block{display:none}}.language{width:auto;float:left}@media only screen and (min-width: 768px) and (max-width: 991px){.language{padding-top:10px}}@media only screen and (max-width: 767px){.language{padding-top:10px}}.language-switcher{width:62px;position:relative;z-index:9;padding:13px 0 0px 17px}.language-switcher a{width:100%;margin:0;position:relative;text-decoration:none;display:block;background-size:28px 19px;background-repeat:no-repeat;padding:0}.language-switcher a img{width:28px;height:19px;display:block}.language-switcher>a:before{background:url(../images/svg/select_arrow.svg) no-repeat;background-size:10px 6px;position:absolute;content:"";width:10px;height:6px;right:0;z-index:1;top:7px;cursor:pointer}.language-switcher .dropdown{width:44px;left:9px;padding:5px 0 5px;position:absolute;display:none;background:#fff;top:100%}.language-switcher .dropdown li{padding:5px 0px 0 8px}.off-canvas .logo-outer{width:50px;margin:4px auto}.off-canvas ul li{position:relative}.off-canvas ul li a{font-size:15px;color:#333;line-height:36px;padding:0 20px}.off-canvas ul li a:hover{color:#990707}.off-canvas ul li.submenu ul{display:none}.off-canvas ul li.submenu>a{position:relative}.off-canvas ul li.submenu>a:after{content:"";position:absolute;right:22px;top:50%;width:10px;height:8px;margin-top:-1px;background:url("../images/svg/menu-arrow.svg") no-repeat center top;background-size:9px 5px}.off-canvas .like-btn{width:100%;height:46px;float:left;border-top:#e3e3e3 solid 1px;border-bottom:#e3e3e3 solid 1px;text-align:center;padding:7px 0;margin-top:20px}.off-canvas .like-btn .like-icon{width:100%;height:32px;float:left;background:url(../images/svg/like-btn.svg) no-repeat center center}.off-canvas .like-btn .like-icon:hover,.off-canvas .like-btn .like-icon.fav-items{background:url(../images/svg/like-btn_active.svg) no-repeat center center}.banner-outer-cont{width:100%;height:auto;position:relative;max-height:680px}.banner-outer-cont .banner-contentblk{width:100%;height:250px;float:left;position:absolute;bottom:0;left:0;z-index:99999}@media only screen and (min-width: 768px) and (max-width: 991px){.banner-outer-cont .banner-contentblk{height:auto}.banner-outer-cont .banner-contentblk .medium-12.columns{padding:0}}@media only screen and (max-width: 767px){.banner-outer-cont .banner-contentblk{height:auto}.banner-outer-cont .banner-contentblk .medium-12.columns{padding:0}}.banner-outer-cont .banner-contentblk .continner-blk{width:380px;height:auto;float:left;background:#fff;padding:20px 30px 5px;position:relative}@media only screen and (min-width: 768px) and (max-width: 991px){.banner-outer-cont .banner-contentblk .continner-blk{width:50%;background:rgba(0,0,0,0.8);border-top-right-radius:15px;padding:20px 30px}}@media only screen and (max-width: 767px){.banner-outer-cont .banner-contentblk .continner-blk{width:100%;background:rgba(0,0,0,0.8);border-top-right-radius:0;padding:20px 30px}}.banner-outer-cont .banner-contentblk .continner-blk h4{width:100%;height:auto;font-family:"latosemibold";color:#E0091A}.banner-outer-cont .banner-contentblk .continner-blk h4 a:active,.banner-outer-cont .banner-contentblk .continner-blk h4 a:focus{color:#E0091A}.banner-outer-cont .banner-contentblk .continner-blk h4 strong{float:right;font-family:"latosemibold";color:#333}@media only screen and (min-width: 768px) and (max-width: 991px){.banner-outer-cont .banner-contentblk .continner-blk h4 strong{color:#fff}}@media only screen and (max-width: 767px){.banner-outer-cont .banner-contentblk .continner-blk h4 strong{color:#fff}}.banner-outer-cont .banner-contentblk .continner-blk p{width:100%;height:auto;float:left;color:#767676;font-size:14px;margin:0;padding:0}.banner-outer-cont .banner-contentblk .continner-blk p span{float:right;color:#767676}@media only screen and (min-width: 768px) and (max-width: 991px){.banner-outer-cont .banner-contentblk .continner-blk p span{color:#CECECE}}@media only screen and (min-width: 768px) and (max-width: 991px){.banner-outer-cont .banner-contentblk .continner-blk p{color:#CECECE}}@media only screen and (max-width: 767px){.banner-outer-cont .banner-contentblk .continner-blk p{color:#CECECE}}.banner-outer-cont .banner-contentblk .continner-blk .details-blk{width:100%;height:auto;float:left}@media only screen and (min-width: 768px) and (max-width: 991px){.banner-outer-cont .banner-contentblk .continner-blk .details-blk{display:none}}@media only screen and (max-width: 767px){.banner-outer-cont .banner-contentblk .continner-blk .details-blk{display:none}}.banner-outer-cont .banner-contentblk .continner-blk .details-blk ul{width:100%;height:auto;float:left;margin:0;padding:0;display:-webkit-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-moz-justify-content:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;-moz-align-items:center;align-items:center}.banner-outer-cont .banner-contentblk .continner-blk .details-blk ul li{padding:3px 0;line-height:50px;color:#6B6B6B;font-family:"latolight";font-size:14px}@media only screen and (min-width: 1120px) and (max-width: 1369px){.banner-outer-cont .banner-contentblk .continner-blk .details-blk ul li{padding:3px}}@media only screen and (min-width: 768px) and (max-width: 991px){.banner-outer-cont .banner-contentblk .continner-blk .details-blk ul li:last-child{border:none}}@media only screen and (max-width: 767px){.banner-outer-cont .banner-contentblk .continner-blk .details-blk ul li:last-child{border:none}}.banner-outer-cont .banner-contentblk .continner-blk .details-blk ul li sup{color:#6B6B6B;font-family:"latolight";font-size:14px;position:relative;top:0}.banner-outer-cont .banner-contentblk .continner-blk .details-blk ul li .icon-blk{width:19px;height:19px;display:inline-block;position:relative;top:4px;margin-left:6px}.banner-outer-cont .banner-contentblk .continner-blk .details-blk ul li .icon-blk.icon-1{background:url(../images/svg/prouct-icon1.svg) no-repeat center center}.banner-outer-cont .banner-contentblk .continner-blk .details-blk ul li .icon-blk.icon-2{background:url(../images/svg/prouct-icon2.svg) no-repeat center center}.banner-outer-cont .banner-contentblk .continner-blk .details-blk ul li .icon-blk.icon-3{background:url(../images/svg/prouct-icon3.svg) no-repeat center center}.banner-outer-cont .banner-contentblk .continner-blk .details-blk ul li .icon-blk.icon-4{background:url(../images/svg/prouct-icon4.svg) no-repeat center center}.slidecontrolls{width:30px;height:60px;position:absolute;top:0;left:100%;background:#000000;z-index:99999999}@media only screen and (min-width: 768px) and (max-width: 991px){.slidecontrolls{display:none}}@media only screen and (max-width: 767px){.slidecontrolls{display:none}}.slidecontrolls .slide-prev{width:30px;height:30px;float:left;background:#fff url(../images/svg/prev-arrow.svg) no-repeat center center;opacity:.8;cursor:pointer}.slidecontrolls .slide-next{width:30px;height:30px;float:left;background:#fff url(../images/svg/next-arrow.svg) no-repeat center center;cursor:pointer}.banner-outerblock{width:100%;overflow:hidden;max-height:680px}.banner-outerblock li{width:100%;max-height:680px}.banner-outerblock li img{width:100%;height:auto;max-width:none}@media only screen and (max-width: 767px){.banner-outerblock li img{width:800px;left:50%}}.banner-outerblock li.zoom-active img{animation:animationFrames linear 50s;animation-iteration-count:infinite;transform-origin:50% 50%;-webkit-animation:animationFrames linear 50s;-webkit-animation-iteration-count:infinite;-webkit-transform-origin:50% 50%;-moz-animation:animationFrames linear 50s;-moz-animation-iteration-count:infinite;-moz-transform-origin:50% 50%;-o-animation:animationFrames linear 50s;-o-animation-iteration-count:infinite;-o-transform-origin:50% 50%;-ms-animation:animationFrames linear 50s;-ms-animation-iteration-count:infinite;-ms-transform-origin:50% 50%}.inner-bannerblock{width:100%;height:490px;background:#000;overflow:hidden}.inner-bannerblock li{width:100%;height:490px}.inner-bannerblock li img{width:100%;height:auto;max-width:none;position:absolute;bottom:0px}@keyframes animationFrames{0%{-webkit-transform:scaleX(1) scaleY(1);transform:scaleX(1) scaleY(1)}100%{-webkit-transform:scaleX(2) scaleY(2);transform:scaleX(2) scaleY(2)}}@-webkit-keyframes animationFrames{0%{-webkit-transform:scaleX(1) scaleY(1)}100%{-webkit-transform:scaleX(2) scaleY(2)}}.footer-outer{width:100%;height:auto;float:left;padding:0;background:#fff;border-top:#eaeaea solid 1px}.footer-outer .navigation-blk{width:100%;height:auto;float:left}.footer-outer .navigation-blk ul{width:100%;height:auto;float:left;padding:0;margin:0}.footer-outer .navigation-blk ul li{width:auto;height:auto;float:left;padding:0 21px}.footer-outer .navigation-blk ul li:first-child{padding-left:0}.footer-outer .navigation-blk ul li a{font-family:"latoregular";font-size:16px;color:#4f4f4f;padding:15px 0;float:left}.footer-outer .navigation-blk ul li a:hover{color:#990707}@media only screen and (max-width: 767px){.footer-outer .navigation-blk ul li a{padding:5px 0}}@media only screen and (min-width: 768px) and (max-width: 991px){.footer-outer .navigation-blk ul li{padding:0 15px;display:inline-block;width:auto}}@media only screen and (max-width: 767px){.footer-outer .navigation-blk ul li{padding:0 15px;width:100%;width:auto}.footer-outer .navigation-blk ul li:first-child{padding:0 15px}}.footer-outer .copyright-blk{font-family:"latoregular";font-size:14px;color:#4f4f4f;padding:15px 0;width:100%;background:#f7f7f7}.footer-outer .copyright-blk p{margin:0;padding:0;color:#4f4f4f;font-family:"latoregular";font-size:14px}@media only screen and (max-width: 767px){.footer-outer .copyright-blk{padding:15px}}.SumoSelect p{margin:0}.SumoSelect{width:177px}.SelectBox{padding:5px 13px}.sumoStopScroll{overflow:hidden}.SumoSelect .hidden{display:none}.SumoSelect .search-txt{display:none;outline:none}.SumoSelect .no-match{display:none;padding:6px}.SumoSelect.open .search-txt{display:inline-block;position:absolute;top:0;left:0;width:100%;margin:0;padding:5px 8px;border:none;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:5px}.SumoSelect.open>.search>span,.SumoSelect.open>.search>label{visibility:hidden}.SelectClass,.SumoUnder{position:absolute;top:0;left:0;right:0;height:100%;width:100%;border:none;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";filter:alpha(opacity=0);-moz-opacity:0;-khtml-opacity:0;opacity:0}.SelectClass{z-index:1}select{margin:0}.SumoSelect>.optWrapper>.options li.opt label,.SumoSelect>.CaptionCont,.SumoSelect .select-all>label{-ms-user-select:none;user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none}.SumoSelect{display:inline-block;position:relative;outline:none}.SumoSelect:focus>.CaptionCont,.SumoSelect:hover>.CaptionCont,.SumoSelect.open>.CaptionCont{-webkit-box-shadow:0 0 2px #7799D0;box-shadow:0 0 2px #7799D0;border-color:#7799D0}.SumoSelect>.CaptionCont{position:relative;min-height:14px;background:#f7f7f7;border-radius:2px;margin:0}.SumoSelect>.CaptionCont>span{display:block;padding-right:30px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;cursor:default;color:#333}.SumoSelect>.CaptionCont>span.placeholder{color:#333;font-style:italic}.SumoSelect>.CaptionCont>label{position:absolute;top:0;right:0;bottom:0;width:30px;color:#333}.SumoSelect>.CaptionCont>label>i{background:url("../images/svg/arrow-select.svg") no-repeat center center !important;background-size:15px 13px;background-position:center center;width:15px;height:13px;display:block;position:absolute;top:0;left:0;right:13px;bottom:0;margin:auto}.SumoSelect>.optWrapper{display:none;z-index:1000;top:30px;width:100%;position:absolute;left:0;-webkit-box-sizing:border-box;box-sizing:border-box;background:#f7f7f7;border-radius:3px;overflow:hidden}.SumoSelect.open>.optWrapper{top:35px;display:block}.SumoSelect.open>.optWrapper.up{top:auto;bottom:100%;margin-bottom:5px}.SumoSelect>.optWrapper ul{list-style:none;display:block;padding:0;margin:0;overflow:auto}.SumoSelect>.optWrapper>.options{border-radius:2px;position:relative;max-height:250px}.SumoSelect>.optWrapper.okCancelInMulti>.options{border-radius:2px 2px 0 0}.SumoSelect>.optWrapper.selall>.options{border-radius:0 0 2px 2px}.SumoSelect>.optWrapper.selall.okCancelInMulti>.options{border-radius:0}.SumoSelect>.optWrapper>.options li.group.disabled>label{opacity:0.5;color:#333}.SumoSelect>.optWrapper>.options li ul li.opt{padding-left:22px}.SumoSelect>.optWrapper.multiple>.options li ul li.opt{padding-left:50px}.SumoSelect>.optWrapper.isFloating>.options{max-height:100%}.SumoSelect>.optWrapper>.options li.opt{padding:6px 13px;position:relative}.SumoSelect>.optWrapper>.options>li.opt:first-child{border-radius:2px 2px 0 0}.SumoSelect>.optWrapper.selall>.options>li.opt:first-child{border-radius:0}.SumoSelect>.optWrapper>.options>li.opt:last-child{border-radius:0 0 2px 2px;border-bottom:none}.SumoSelect>.optWrapper.okCancelInMulti>.options>li.opt:last-child{border-radius:0}.SumoSelect>.optWrapper>.options li.opt:hover{background-color:#E4E4E4}.SumoSelect>.optWrapper>.options li.opt.sel,.SumoSelect .select-all.sel{background-color:#a1c0e4}.SumoSelect>.optWrapper>.options li label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block;cursor:pointer;color:#333}.SumoSelect>.optWrapper>.options li span{display:none}.SumoSelect>.optWrapper>.options li.group>label{cursor:default;padding:8px 6px;font-weight:bold}.SumoSelect>.optWrapper.isFloating{position:fixed;top:0;left:0;right:0;width:90%;bottom:0;margin:auto;max-height:90%}.SumoSelect>.optWrapper>.options li.opt.disabled{background-color:inherit;pointer-events:none}.SumoSelect>.optWrapper>.options li.opt.disabled *{-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";filter:alpha(opacity=50);-moz-opacity:0.5;-khtml-opacity:0.5;opacity:0.5}.SumoSelect>.optWrapper.multiple>.options li.opt{padding-left:35px;cursor:pointer}.SumoSelect>.optWrapper.multiple>.options li.opt span,.SumoSelect .select-all>span{position:absolute;display:block;width:30px;top:0;bottom:0;margin-left:-35px}.SumoSelect>.optWrapper.multiple>.options li.opt span i,.SumoSelect .select-all>span i{position:absolute;margin:auto;left:0;right:0;top:0;bottom:0;width:14px;height:14px;border-radius:2px;background-color:#fff}.SumoSelect>.optWrapper>.MultiControls{display:none;background-color:#fff;border-radius:0 0 3px 3px}.SumoSelect>.optWrapper.multiple.isFloating>.MultiControls{display:block;margin-top:5px;position:absolute;bottom:0;width:100%}.SumoSelect>.optWrapper.multiple.okCancelInMulti>.MultiControls{display:block}.SumoSelect>.optWrapper.multiple.okCancelInMulti>.MultiControls>p{padding:6px}.SumoSelect>.optWrapper.multiple.okCancelInMulti>.MultiControls>p:focus{border-color:#a1c0e4;outline:none;background-color:#a1c0e4}.SumoSelect>.optWrapper.multiple>.MultiControls>p{display:inline-block;cursor:pointer;padding:12px;width:50%;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center}.SumoSelect>.optWrapper.multiple>.MultiControls>p:hover{background-color:#f1f1f1}.SumoSelect>.optWrapper.multiple>.MultiControls>p.btnOk{border-radius:0 0 0 3px}.SumoSelect>.optWrapper.multiple>.MultiControls>p.btnCancel{border-radius:0 0 3px 0}.SumoSelect>.optWrapper.isFloating>.options li.opt{padding:12px 6px}.SumoSelect>.optWrapper.multiple.isFloating>.options li.opt{padding-left:35px}.SumoSelect>.optWrapper.multiple.isFloating{padding-bottom:43px}.SumoSelect.disabled{opacity:0.7;cursor:not-allowed}.SumoSelect.disabled>.CaptionCont{border-color:#ccc;-webkit-box-shadow:none;box-shadow:none}.SumoSelect .select-all{border-radius:3px 3px 0 0;position:relative;background-color:#fff;padding:8px 0 3px 35px;height:20px;cursor:pointer}.SumoSelect .select-all>label,.SumoSelect .select-all>span i{cursor:pointer}.SumoSelect .select-all.partial>span i{background-color:#ccc}.SumoSelect>.optWrapper>.options li.optGroup{padding-left:5px;text-decoration:underline}.slick-slider{position:relative;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:transparent}.slick-list{position:relative;overflow:hidden;display:block;margin:0;padding:0}.slick-list:focus{outline:none}.slick-list.dragging{cursor:pointer;cursor:hand}.slick-slider .slick-track,.slick-slider .slick-list{-webkit-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.slick-track{position:relative;left:0;top:0;display:block;margin-left:auto;margin-right:auto}.slick-track:before,.slick-track:after{content:"";display:table}.slick-track:after{clear:both}.slick-loading .slick-track{visibility:hidden}.slick-slide{float:left;height:100%;min-height:1px;display:none}[dir="rtl"] .slick-slide{float:right}.slick-slide img{display:block}.slick-slide.slick-loading img{display:none}.slick-slide.dragging img{pointer-events:none}.slick-initialized .slick-slide{display:block}.slick-loading .slick-slide{visibility:hidden}.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent}.slick-arrow.slick-hidden{display:none}.fancybox-enabled{overflow:hidden}.fancybox-enabled body{overflow:visible;height:100%}.fancybox-is-hidden{position:absolute;top:-9999px;left:-9999px;visibility:hidden}.fancybox-container{position:fixed;top:0;left:0;width:100%;height:100%;z-index:99993;-webkit-tap-highlight-color:transparent;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateZ(0);transform:translateZ(0)}.fancybox-container ~ .fancybox-container{z-index:99992}.fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-stage{position:absolute;top:0;right:0;bottom:0;left:0}.fancybox-outer{overflow-y:auto;-webkit-overflow-scrolling:touch}.fancybox-bg{background:#1e1e1e;opacity:0;-webkit-transition-duration:inherit;transition-duration:inherit;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:cubic-bezier(0.47, 0, 0.74, 0.71);transition-timing-function:cubic-bezier(0.47, 0, 0.74, 0.71)}.fancybox-is-open .fancybox-bg{opacity:.87;-webkit-transition-timing-function:cubic-bezier(0.22, 0.61, 0.36, 1);transition-timing-function:cubic-bezier(0.22, 0.61, 0.36, 1)}.fancybox-caption-wrap,.fancybox-infobar,.fancybox-toolbar{position:absolute;direction:ltr;z-index:99997;opacity:0;visibility:hidden;-webkit-transition:opacity .25s, visibility 0s linear .25s;transition:opacity .25s, visibility 0s linear .25s;-webkit-box-sizing:border-box;box-sizing:border-box}.fancybox-show-caption .fancybox-caption-wrap,.fancybox-show-infobar .fancybox-infobar,.fancybox-show-toolbar .fancybox-toolbar{opacity:1;visibility:visible;-webkit-transition:opacity .25s, visibility 0s;transition:opacity .25s, visibility 0s}.fancybox-infobar{top:0;left:50%;margin-left:-79px}.fancybox-infobar__body{display:inline-block;width:70px;line-height:44px;font-size:13px;font-family:Helvetica Neue, Helvetica, Arial, sans-serif;text-align:center;color:#ddd;background-color:rgba(30,30,30,0.7);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:subpixel-antialiased}.fancybox-toolbar{top:0;right:0}.fancybox-stage{overflow:hidden;direction:ltr;z-index:99994;-webkit-transform:translateZ(0)}.fancybox-slide{position:absolute;top:0;left:0;width:100%;height:100%;margin:0;padding:0;overflow:auto;outline:none;white-space:normal;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;z-index:99994;-webkit-overflow-scrolling:touch;display:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition-property:opacity, -webkit-transform;-webkit-transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.fancybox-slide:before{content:"";display:inline-block;vertical-align:middle;height:100%;width:0}.fancybox-is-sliding .fancybox-slide,.fancybox-slide--current,.fancybox-slide--next,.fancybox-slide--previous{display:block}.fancybox-slide--image{overflow:visible}.fancybox-slide--image:before{display:none}.fancybox-slide--video .fancybox-content,.fancybox-slide--video iframe{background:#000}.fancybox-slide--map .fancybox-content,.fancybox-slide--map iframe{background:#e5e3df}.fancybox-slide--next{z-index:99995}.fancybox-slide>div{display:inline-block;position:relative;padding:24px;margin:44px 0;border-width:0;vertical-align:middle;text-align:left;background-color:#fff;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box}.fancybox-slide .fancybox-image-wrap{position:absolute;top:0;left:0;margin:0;padding:0;border:0;z-index:99995;background:transparent;cursor:default;overflow:visible;-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left;background-size:100% 100%;background-repeat:no-repeat;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fancybox-can-zoomOut .fancybox-image-wrap{cursor:-webkit-zoom-out;cursor:zoom-out}.fancybox-can-zoomIn .fancybox-image-wrap{cursor:-webkit-zoom-in;cursor:zoom-in}.fancybox-can-drag .fancybox-image-wrap{cursor:-webkit-grab;cursor:grab}.fancybox-is-dragging .fancybox-image-wrap{cursor:-webkit-grabbing;cursor:grabbing}.fancybox-image,.fancybox-spaceball{position:absolute;top:0;left:0;width:100%;height:100%;margin:0;padding:0;border:0;max-width:none;max-height:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fancybox-spaceball{z-index:1}.fancybox-slide--iframe .fancybox-content{padding:0;width:80%;height:80%;max-width:calc(100% - 100px);max-height:calc(100% - 88px);overflow:visible;background:#fff}.fancybox-iframe{display:block;padding:0;border:0;height:100%}.fancybox-error,.fancybox-iframe{margin:0;width:100%;background:#fff}.fancybox-error{padding:40px;max-width:380px;cursor:default}.fancybox-error p{margin:0;padding:0;color:#444;font:16px/20px Helvetica Neue, Helvetica, Arial, sans-serif}.fancybox-close-small{position:absolute;top:0;right:0;width:44px;height:44px;padding:0;margin:0;border:0;border-radius:0;outline:none;background:transparent;z-index:10;cursor:pointer}.fancybox-close-small:after{content:"×";position:absolute;top:5px;right:5px;width:30px;height:30px;font:20px/30px Arial, Helvetica Neue, Helvetica, sans-serif;color:#888;font-weight:300;text-align:center;border-radius:50%;border-width:0;background:#fff;-webkit-transition:background .25s;transition:background .25s;-webkit-box-sizing:border-box;box-sizing:border-box;z-index:2}.fancybox-close-small:focus:after{outline:1px dotted #888}.fancybox-close-small:hover:after{color:#555;background:#eee}.fancybox-slide--iframe .fancybox-close-small{top:0;right:-44px}.fancybox-slide--iframe .fancybox-close-small:after{background:transparent;font-size:35px;color:#aaa}.fancybox-slide--iframe .fancybox-close-small:hover:after{color:#fff}.fancybox-caption-wrap{bottom:0;left:0;right:0;padding:60px 30px 0;background:-webkit-gradient(linear, left top, left bottom, color-stop(0, transparent), color-stop(20%, rgba(0,0,0,0.1)), color-stop(40%, rgba(0,0,0,0.2)), color-stop(80%, rgba(0,0,0,0.6)), to(rgba(0,0,0,0.8)));background:linear-gradient(180deg, transparent 0, rgba(0,0,0,0.1) 20%, rgba(0,0,0,0.2) 40%, rgba(0,0,0,0.6) 80%, rgba(0,0,0,0.8));pointer-events:none}.fancybox-caption{padding:30px 0;border-top:1px solid rgba(255,255,255,0.4);font-size:14px;font-family:Helvetica Neue, Helvetica, Arial, sans-serif;color:#fff;line-height:20px;-webkit-text-size-adjust:none}.fancybox-caption a,.fancybox-caption button,.fancybox-caption select{pointer-events:all}.fancybox-caption a{color:#fff;text-decoration:underline}.fancybox-button{display:inline-block;position:relative;margin:0;padding:0;border:0;width:44px;height:44px;line-height:44px;text-align:center;background:transparent;color:#ddd;border-radius:0;cursor:pointer;vertical-align:top;outline:none}.fancybox-button[disabled]{cursor:default;pointer-events:none}.fancybox-button,.fancybox-infobar__body{background:rgba(30,30,30,0.6)}.fancybox-button:hover:not([disabled]){color:#fff;background:rgba(0,0,0,0.8)}.fancybox-button:after,.fancybox-button:before{content:"";pointer-events:none;position:absolute;background-color:currentColor;color:currentColor;opacity:.9;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block}.fancybox-button[disabled]:after,.fancybox-button[disabled]:before{opacity:.3}.fancybox-button--left:after,.fancybox-button--right:after{top:18px;width:6px;height:6px;background:transparent;border-top:2px solid currentColor;border-right:2px solid currentColor}.fancybox-button--left:after{left:20px;-webkit-transform:rotate(-135deg);-ms-transform:rotate(-135deg);transform:rotate(-135deg)}.fancybox-button--right:after{right:20px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.fancybox-button--left{border-bottom-left-radius:5px}.fancybox-button--right{border-bottom-right-radius:5px}.fancybox-button--close:after,.fancybox-button--close:before{content:"";display:inline-block;position:absolute;height:2px;width:16px;top:calc(50% - 1px);left:calc(50% - 8px)}.fancybox-button--close:before{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.fancybox-button--close:after{-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.fancybox-arrow{position:absolute;top:50%;margin:-50px 0 0;height:100px;width:54px;padding:0;border:0;outline:none;background:none;cursor:pointer;z-index:99995;opacity:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:opacity .25s;transition:opacity .25s}.fancybox-arrow:after{content:"";position:absolute;top:28px;width:44px;height:44px;background-color:rgba(30,30,30,0.8);background-image:url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjRkZGRkZGIiBoZWlnaHQ9IjQ4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSI0OCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPiAgICA8cGF0aCBkPSJNMTIgNGwtMS40MSAxLjQxTDE2LjE3IDExSDR2MmgxMi4xN2wtNS41OCA1LjU5TDEyIDIwbDgtOHoiLz48L3N2Zz4=);background-repeat:no-repeat;background-position:50%;background-size:24px 24px}.fancybox-arrow--right{right:0}.fancybox-arrow--left{left:0;-webkit-transform:scaleX(-1);-ms-transform:scaleX(-1);transform:scaleX(-1)}.fancybox-arrow--left:after,.fancybox-arrow--right:after{left:0}.fancybox-show-nav .fancybox-arrow{opacity:.6}.fancybox-show-nav .fancybox-arrow[disabled]{opacity:.3}.fancybox-slide>.fancybox-loading{border:6px solid rgba(99,99,99,0.4);border-top:6px solid rgba(255,255,255,0.6);border-radius:100%;height:50px;width:50px;-webkit-animation:a .8s infinite linear;animation:a .8s infinite linear;background:transparent;position:absolute;top:50%;left:50%;margin-top:-25px;margin-left:-25px;z-index:99999}@-webkit-keyframes a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fancybox-animated{-webkit-transition-timing-function:cubic-bezier(0, 0, 0.25, 1);transition-timing-function:cubic-bezier(0, 0, 0.25, 1)}.fancybox-fx-slide.fancybox-slide--previous{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);opacity:0}.fancybox-fx-slide.fancybox-slide--next{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);opacity:0}.fancybox-fx-slide.fancybox-slide--current{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}.fancybox-fx-fade.fancybox-slide--next,.fancybox-fx-fade.fancybox-slide--previous{opacity:0;-webkit-transition-timing-function:cubic-bezier(0.19, 1, 0.22, 1);transition-timing-function:cubic-bezier(0.19, 1, 0.22, 1)}.fancybox-fx-fade.fancybox-slide--current{opacity:1}.fancybox-fx-zoom-in-out.fancybox-slide--previous{-webkit-transform:scale3d(1.5, 1.5, 1.5);transform:scale3d(1.5, 1.5, 1.5);opacity:0}.fancybox-fx-zoom-in-out.fancybox-slide--next{-webkit-transform:scale3d(0.5, 0.5, 0.5);transform:scale3d(0.5, 0.5, 0.5);opacity:0}.fancybox-fx-zoom-in-out.fancybox-slide--current{-webkit-transform:scaleX(1);-ms-transform:scaleX(1);transform:scaleX(1);opacity:1}.fancybox-fx-rotate.fancybox-slide--previous{-webkit-transform:rotate(-1turn);-ms-transform:rotate(-1turn);transform:rotate(-1turn);opacity:0}.fancybox-fx-rotate.fancybox-slide--next{-webkit-transform:rotate(1turn);-ms-transform:rotate(1turn);transform:rotate(1turn);opacity:0}.fancybox-fx-rotate.fancybox-slide--current{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);opacity:1}.fancybox-fx-circular.fancybox-slide--previous{-webkit-transform:scale3d(0, 0, 0) translate3d(-100%, 0, 0);transform:scale3d(0, 0, 0) translate3d(-100%, 0, 0);opacity:0}.fancybox-fx-circular.fancybox-slide--next{-webkit-transform:scale3d(0, 0, 0) translate3d(100%, 0, 0);transform:scale3d(0, 0, 0) translate3d(100%, 0, 0);opacity:0}.fancybox-fx-circular.fancybox-slide--current{-webkit-transform:scaleX(1) translateZ(0);transform:scaleX(1) translateZ(0);opacity:1}.fancybox-fx-tube.fancybox-slide--previous{-webkit-transform:translate3d(-100%, 0, 0) scale(0.1) skew(-10deg);transform:translate3d(-100%, 0, 0) scale(0.1) skew(-10deg)}.fancybox-fx-tube.fancybox-slide--next{-webkit-transform:translate3d(100%, 0, 0) scale(0.1) skew(10deg);transform:translate3d(100%, 0, 0) scale(0.1) skew(10deg)}.fancybox-fx-tube.fancybox-slide--current{-webkit-transform:translateZ(0) scale(1);transform:translateZ(0) scale(1)}@media (max-width: 800px){.fancybox-infobar{left:0;margin-left:0}.fancybox-button--left,.fancybox-button--right{display:none !important}.fancybox-caption{padding:20px 0;margin:0}}.fancybox-button--fullscreen:before{width:15px;height:11px;left:calc(50% - 7px);top:calc(50% - 6px);border:2px solid;background:none}.fancybox-button--pause:before,.fancybox-button--play:before{top:calc(50% - 6px);left:calc(50% - 4px);background:transparent}.fancybox-button--play:before{width:0;height:0;border-top:6px inset transparent;border-bottom:6px inset transparent;border-left:10px solid;border-radius:1px}.fancybox-button--pause:before{width:7px;height:11px;border-style:solid;border-width:0 2px}.fancybox-button--thumbs,.fancybox-thumbs{display:none}@media (min-width: 800px){.fancybox-button--thumbs{display:inline-block}.fancybox-button--thumbs span{font-size:23px}.fancybox-button--thumbs:before{width:3px;height:3px;top:calc(50% - 2px);left:calc(50% - 2px);-webkit-box-shadow:0 -4px 0, -4px -4px 0, 4px -4px 0, inset 0 0 0 32px, -4px 0 0, 4px 0 0, 0 4px 0, -4px 4px 0, 4px 4px 0;box-shadow:0 -4px 0, -4px -4px 0, 4px -4px 0, inset 0 0 0 32px, -4px 0 0, 4px 0 0, 0 4px 0, -4px 4px 0, 4px 4px 0}.fancybox-thumbs{position:absolute;top:0;right:0;bottom:0;left:auto;width:220px;margin:0;padding:5px 5px 0 0;background:#fff;word-break:normal;-webkit-tap-highlight-color:transparent;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-box-sizing:border-box;box-sizing:border-box;z-index:99995}.fancybox-show-thumbs .fancybox-thumbs{display:block}.fancybox-show-thumbs .fancybox-inner{right:220px}.fancybox-thumbs>ul{list-style:none;position:absolute;position:relative;width:100%;height:100%;margin:0;padding:0;overflow-x:hidden;overflow-y:auto;font-size:0}.fancybox-thumbs>ul>li{float:left;overflow:hidden;max-width:50%;padding:0;margin:0;width:105px;height:75px;position:relative;cursor:pointer;outline:none;border:5px solid transparent;border-top-width:0;border-right-width:0;-webkit-tap-highlight-color:transparent;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}li.fancybox-thumbs-loading{background:rgba(0,0,0,0.1)}.fancybox-thumbs>ul>li>img{position:absolute;top:0;left:0;min-width:100%;min-height:100%;max-width:none;max-height:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fancybox-thumbs>ul>li:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:2px;border:4px solid #4ea7f9;z-index:99991;opacity:0;-webkit-transition:all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);transition:all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94)}.fancybox-thumbs>ul>li.fancybox-thumbs-active:before{opacity:1}}.search-inner{width:100%;height:auto;float:left;background:#fff;display:-webkit-box;display:-moz-flex;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;border-left:#e3e3e3 solid 1px;-webkit-box-shadow:0px 9px 56px -9px rgba(0,0,0,0.15);box-shadow:0px 9px 56px -9px rgba(0,0,0,0.15)}@media only screen and (min-width: 992px) and (max-width: 1119px){.search-inner{border:none}}@media only screen and (min-width: 768px) and (max-width: 991px){.search-inner{border:none}}@media only screen and (max-width: 767px){.search-inner{border:none}}.search-inner .top-filter-blk{width:100%;height:auto;float:left;display:-webkit-box;display:-moz-flex;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;position:relative}@media only screen and (min-width: 992px) and (max-width: 1119px){.search-inner .top-filter-blk{padding:15px 0}}@media only screen and (min-width: 768px) and (max-width: 991px){.search-inner .top-filter-blk{padding:30px 0 30px 0}}@media only screen and (max-width: 767px){.search-inner .top-filter-blk{padding:30px 0 30px 0}}.search-inner .top-filter-blk .single-blk{width:auto;height:auto;float:left;padding:32px 15px;border-left:#e3e3e3 solid 1px;max-width:208px}@media only screen and (min-width: 1120px) and (max-width: 1369px){.search-inner .top-filter-blk .single-blk{padding:32px 8px}}@media only screen and (min-width: 992px) and (max-width: 1119px){.search-inner .top-filter-blk .single-blk{width:50%;max-width:none;border:none;padding:10px 15px}.search-inner .top-filter-blk .single-blk .SumoSelect{width:100%}}@media only screen and (min-width: 768px) and (max-width: 991px){.search-inner .top-filter-blk .single-blk{width:50%;max-width:none;border:none;padding:10px 15px}.search-inner .top-filter-blk .single-blk .SumoSelect{width:100%}}@media only screen and (max-width: 767px){.search-inner .top-filter-blk .single-blk{width:100%;max-width:none;border:none;padding:10px 5px}.search-inner .top-filter-blk .single-blk .SumoSelect{width:100%}}.search-inner .top-filter-blk .single-blk.icon-blk{float:left;padding:0}.search-inner .top-filter-blk .single-blk.icon-blk a{width:107px;height:auto;float:left;padding:38px 0 35px;text-align:center}.search-inner .top-filter-blk .single-blk.icon-blk a img{width:26px}.search-inner .top-filter-blk .single-blk.icon-blk a img.open-icon{display:inline-block}.search-inner .top-filter-blk .single-blk.icon-blk a img.close-icon{display:none}@media only screen and (max-width: 767px){.search-inner .top-filter-blk .single-blk.icon-blk a img{float:none}}.search-inner .top-filter-blk .single-blk.icon-blk a span{display:none;float:left}@media only screen and (min-width: 992px) and (max-width: 1119px){.search-inner .top-filter-blk .single-blk.icon-blk a{width:100%;text-align:left;padding:12px 0 12px 20px}.search-inner .top-filter-blk .single-blk.icon-blk a span{display:block;color:#333;font-size:15px;padding-left:15px;text-decoration:underline}.search-inner .top-filter-blk .single-blk.icon-blk a img{float:left}}@media only screen and (min-width: 768px) and (max-width: 991px){.search-inner .top-filter-blk .single-blk.icon-blk a{width:100%;text-align:left;padding:12px 0 12px 20px}.search-inner .top-filter-blk .single-blk.icon-blk a span{display:block;color:#333;font-size:15px;padding-left:15px;text-decoration:underline}.search-inner .top-filter-blk .single-blk.icon-blk a img{float:left}}@media only screen and (max-width: 767px){.search-inner .top-filter-blk .single-blk.icon-blk a{width:100%;padding:12px 0 12px 0}.search-inner .top-filter-blk .single-blk.icon-blk a span{display:inline-block;float:none;color:#333;font-size:12px;padding-left:10px;text-decoration:underline;position:relative;top:-7px}.search-inner .top-filter-blk .single-blk.icon-blk a img{float:none}}.search-inner .top-filter-blk .single-blk.icon-blk a.active img.open-icon{display:none}.search-inner .top-filter-blk .single-blk.icon-blk a.active img.close-icon{display:inline-block}.search-inner .top-filter-blk .single-blk.btn-blk{width:213px;float:right;padding:0;border:none}@media only screen and (min-width: 992px) and (max-width: 1119px){.search-inner .top-filter-blk .single-blk.btn-blk{width:50%;padding:0 15px}}@media only screen and (min-width: 768px) and (max-width: 991px){.search-inner .top-filter-blk .single-blk.btn-blk{width:50%;padding:0 15px}}@media only screen and (max-width: 767px){.search-inner .top-filter-blk .single-blk.btn-blk{width:100%;padding:0 5px}}.search-inner .top-filter-blk .single-blk.btn-blk button{width:100%;height:auto;float:left;padding:40px 10px 41px;font-size:16px;color:#fff;text-transform:uppercase;background:#262525;cursor:pointer}@media only screen and (min-width: 992px) and (max-width: 1119px){.search-inner .top-filter-blk .single-blk.btn-blk button{padding:15px 10px}}@media only screen and (min-width: 768px) and (max-width: 991px){.search-inner .top-filter-blk .single-blk.btn-blk button{padding:15px 10px}}@media only screen and (max-width: 767px){.search-inner .top-filter-blk .single-blk.btn-blk button{padding:0px 10px;font-size:14px;line-height:40px}}.search-inner .top-filter-blk .single-blk.btn-blk button i{width:18px;height:18px;background:url(../images/svg/search_icon.svg) no-repeat center center;background-size:18px 18px;display:inline-block;position:relative;top:3px;margin-right:5px}.search-inner .top-filter-blk .single-blk.btn-blk button:hover{background:#990707}.search-inner .bottom-filter-blk{width:100%;height:auto;float:left;padding:10px 0;display:none;position:relative;border-top:#e3e3e3 solid 1px}.search-inner .bottom-filter-blk:before,.search-inner .bottom-filter-blk:after{width:100%;height:1px;position:absolute;content:"";background:#e3e3e3}.search-inner .bottom-filter-blk:before{top:-1px;right:100%}.search-inner .bottom-filter-blk:after{top:-1px;left:100%}.search-inner .bottom-filter-blk .single-section{width:25%;height:auto;float:left;padding:10px 0}@media only screen and (min-width: 768px) and (max-width: 991px){.search-inner .bottom-filter-blk .single-section{width:50%}}@media only screen and (max-width: 767px){.search-inner .bottom-filter-blk .single-section{width:50%}}.content-details{width:100%;height:auto;float:left;background:#262525}.content-details .content-inner{width:100%;height:auto;float:left;padding:65px 0;padding-right:200px;position:relative}@media only screen and (min-width: 768px) and (max-width: 991px){.content-details .content-inner{padding:50px 20px}}@media only screen and (max-width: 767px){.content-details .content-inner{padding:50px  0}}.content-details .content-inner h1{color:#F0F0F0;padding-bottom:30px;max-width:700px}.content-details .content-inner p{font-size:18px;line-height:32px;color:#F0F0F0;margin-bottom:50px;max-width:700px}@media only screen and (min-width: 768px) and (max-width: 991px){.content-details .content-inner p{max-width:520px}}.content-details .content-inner a.view-more{width:auto;height:44px;text-align:center;padding:10px 30px;border:#F0F0F0 solid 1px;border-radius:5px;color:#F0F0F0}.content-details .content-inner .badge-blk{position:absolute;right:0;top:0;max-width:163px;height:auto;float:left;width:15%}@media only screen and (min-width: 768px) and (max-width: 991px){.content-details .content-inner .badge-blk{right:20px}}@media only screen and (max-width: 767px){.content-details .content-inner .badge-blk{display:none}}.address-details{width:100%;height:auto;float:left;padding:80px 0}@media only screen and (min-width: 768px) and (max-width: 991px){.address-details{padding:40px 0}}@media only screen and (max-width: 767px){.address-details{padding:50px 0 30px 0}}.address-details ul{width:100%;height:auto;float:left;margin:0;padding:0;display:-webkit-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;-moz-justify-content:space-between;justify-content:space-between;-ms-flex-wrap:wrap;flex-wrap:wrap}.address-details ul li{width:32%;max-width:363px;float:left;position:relative}@media only screen and (min-width: 768px) and (max-width: 991px){.address-details ul li{width:48%}}@media only screen and (max-width: 767px){.address-details ul li{width:100%;max-width:none;min-height:500px;margin-bottom:20px}}.address-details ul li .pro-details{width:90%;height:auto;float:left;position:absolute;left:0;bottom:0;background:#fff;padding:20px}.address-details ul li .pro-details a{padding:10px 0 0 0}.address-details ul li .pro-details p{font-family:"latolight";font-size:16px;color:#575757;margin:0}.address-details ul li .pro-details p strong{font-family:"latosemibold";font-size:16px;color:#575757;margin:0}.address-details ul li p{font-family:"latolight";font-size:16px;color:#fff}.address-details ul li address{font-family:"latolight";font-size:16px;color:#fff;padding-bottom:20px}.address-details ul li address strong{width:100%;float:left;font-family:"latosemibold";font-size:20px}.address-details ul li address a{color:#fff}.address-details ul li.address-blk{background:#990707;padding:30px 40px 20px}@media only screen and (min-width: 768px) and (max-width: 991px){.address-details ul li.small-block{width:100%;max-width:none}}.address-details ul li.small-block ul{width:100%;height:100%;float:left;margin:0;padding:0;display:-webkit-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;-moz-justify-content:space-between;justify-content:space-between;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-direction:normal;-webkit-box-orient:vertical;-moz-flex-direction:column;-ms-flex-direction:column;flex-direction:column}@media only screen and (min-width: 768px) and (max-width: 991px){.address-details ul li.small-block ul{-webkit-box-direction:normal;-webkit-box-orient:horizontal;-moz-flex-direction:row;-ms-flex-direction:row;flex-direction:row;padding-top:30px}}.address-details ul li.small-block ul li{width:100%;height:255px;float:left}@media only screen and (min-width: 768px) and (max-width: 991px){.address-details ul li.small-block ul li{width:48%;max-width:none;max-width:363px}}.news-outer{width:100%;height:auto;float:left;background:#f0f0f0;background:-webkit-gradient(left top, left bottom, color-stop(0%, #f0f0f0), color-stop(56%, #fff), color-stop(100%, #fff));background:-webkit-gradient(linear, left top, left bottom, from(#f0f0f0), color-stop(56%, #fff), to(#fff));background:linear-gradient(to bottom, #f0f0f0 0%, #fff 56%, #fff 100%);padding:60px 0}@media only screen and (min-width: 768px) and (max-width: 991px){.news-outer{padding:30px 0}}@media only screen and (max-width: 767px){.news-outer{padding:30px 0 70px 0}}.news-outer h1{color:#262525;font-family:"latolight";padding-bottom:60px}@media only screen and (min-width: 768px) and (max-width: 991px){.news-outer h1{text-align:center;padding-bottom:30px}}@media only screen and (max-width: 767px){.news-outer h1{text-align:center;padding-bottom:30px}}.news-outer ul{width:100%;height:auto;float:left;display:-webkit-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;-moz-justify-content:space-between;justify-content:space-between;-ms-flex-wrap:wrap;flex-wrap:wrap}@media only screen and (min-width: 768px) and (max-width: 991px){.news-outer ul{max-width:612px;margin:0 auto;float:none}}.news-outer ul li{width:24%;height:auto;float:left;max-width:266px !important;padding-bottom:25px}@media only screen and (max-width: 767px){.news-outer ul li{width:100%;max-width:none !important;padding:0 40px}}@media only screen and (max-width: 479px){.news-outer ul li{padding:0}}.news-outer ul li .image-block{width:100%;height:auto;float:left;position:relative}.news-outer ul li .image-block a{width:100%;height:auto;float:left;overflow:hidden;line-height:1px;line-height:1px}.news-outer ul li .image-block a img{width:100%;transform:scale(1);-moz-transform:scale(1);-webkit-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transition:all 300ms ease-in-out 0s;transition:all 300ms ease-in-out 0s}.news-outer ul li .image-block a:hover img{transform:scale(1.1);-moz-transform:scale(1.1);-webkit-transform:scale(1.1);-o-transform:scale(1.1);-ms-transform:scale(1.1);-webkit-transition:all 300ms ease-in-out 0s;transition:all 300ms ease-in-out 0s}.news-outer ul li .image-block .date-block{width:70px;height:70px;display:-webkit-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-moz-justify-content:center;justify-content:center;-webkit-box-direction:normal;-webkit-box-orient:vertical;-moz-flex-direction:column;-ms-flex-direction:column;flex-direction:column;position:absolute;background:rgba(255,255,255,0.9);left:0;bottom:0;z-index:999}.news-outer ul li .image-block .date-block strong{width:100%;height:auto;float:left;color:#4f4f4f;font-family:"latobold";font-size:26px;text-align:center;line-height:24px}.news-outer ul li .image-block .date-block span{width:100%;height:auto;float:left;color:#4f4f4f;font-family:"latolight";font-size:22px;text-align:center;line-height:24px}.news-outer ul li .content-block{width:100%;height:auto;float:left;background:#fff}.news-outer ul li .content-block h5{min-height:75px;display:-webkit-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-moz-justify-content:center;justify-content:center;-webkit-box-direction:normal;-webkit-box-orient:vertical;-moz-flex-direction:column;-ms-flex-direction:column;flex-direction:column;font-family:"latobold";color:#4f4f4f;line-height:24px}.news-outer ul li .content-block p{color:#575757;height:150px;overflow:hidden}.show-mobi{display:none}@media only screen and (min-width: 768px) and (max-width: 991px){.show-mobi{display:block}}@media only screen and (max-width: 767px){.show-mobi{display:block}}.slick-track{display:-webkit-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-moz-justify-content:center;justify-content:center;-webkit-box-direction:normal;-webkit-box-orient:horizontal;-moz-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.slick-track .slick-slide{padding:0 20px}.slick-prev.slick-arrow{width:44px;height:44px;background:#FFF;text-align:center;line-height:40px;border-radius:50%;position:absolute;top:200px;left:-50px;margin:0;padding:0;font-size:0;-webkit-box-shadow:0px 2px 5px 0px rgba(0,0,0,0.28);box-shadow:0px 2px 5px 0px rgba(0,0,0,0.28);background:url(../images/svg/prev_normal.svg) no-repeat center center;cursor:pointer;z-index:9999}.slick-prev.slick-arrow:hover{background:url(../images/svg/prev_active.svg) no-repeat center center}@media only screen and (max-width: 767px){.slick-prev.slick-arrow{top:101%;left:50%;width:40px;height:40px;margin-left:-50px}}@media only screen and (max-width: 479px){.slick-prev.slick-arrow{display:none}}.slick-next.slick-arrow{width:44px;height:44px;background:#FFF;text-align:center;line-height:40px;border-radius:50%;position:absolute;top:200px;right:-50px;margin:0;padding:0;font-size:0;-webkit-box-shadow:0px 2px 5px 0px rgba(0,0,0,0.28);box-shadow:0px 2px 5px 0px rgba(0,0,0,0.28);background:url(../images/svg/next_normal.svg) no-repeat center center;cursor:pointer;z-index:9999}.slick-next.slick-arrow:hover{background:url(../images/svg/next_active.svg) no-repeat center center}@media only screen and (max-width: 767px){.slick-next.slick-arrow{top:101%;right:50%;width:40px;height:40px;margin-right:-50px}}@media only screen and (max-width: 479px){.slick-next.slick-arrow{display:none}}.search-title{width:100%;position:absolute;bottom:100%;z-index:9998;color:#fff;left:0;font-family:"latobold";font-size:16px;padding-bottom:15px;text-transform:uppercase}@media only screen and (min-width: 768px) and (max-width: 991px){.search-title{display:none}}@media only screen and (max-width: 767px){.search-title{display:none}}.details-outerblk{width:100%;height:auto;max-width:1590px;margin:0 auto;padding:35px 0 20px;text-align:center;display:-webkit-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;-moz-justify-content:space-between;justify-content:space-between;-ms-flex-wrap:wrap;flex-wrap:wrap}@media only screen and (min-width: 992px) and (max-width: 1119px){.details-outerblk{padding:35px 0 0}}.details-outerblk .count-block{width:22%;height:auto;float:left;line-height:35px;text-align:left;color:#333;-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.details-outerblk .count-block strong{font-weight:bold;color:#575757}@media only screen and (min-width: 992px) and (max-width: 1119px){.details-outerblk .count-block{width:30%}}@media only screen and (min-width: 768px) and (max-width: 991px){.details-outerblk .count-block{display:none}}@media only screen and (max-width: 767px){.details-outerblk .count-block{display:none}}.details-outerblk.home-page h3{width:100%}.details-outerblk h3{width:50%;height:auto;float:left;color:#4B4B4B;text-transform:uppercase;line-height:35px;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}@media only screen and (min-width: 992px) and (max-width: 1119px){.details-outerblk h3{width:40%}}@media only screen and (min-width: 768px) and (max-width: 991px){.details-outerblk h3{width:100%}}@media only screen and (max-width: 767px){.details-outerblk h3{width:100%}}.details-outerblk .price-block{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3;width:26.5%;height:auto;float:left;color:#333;text-align:right;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.details-outerblk .price-block i{width:auto;display:inline-block;padding-right:10px;line-height:35px;position:relative;color:#333}.details-outerblk .price-block .SumoSelect{text-align:left}.details-outerblk .price-block .SumoSelect>.CaptionCont{background:#fff !important}@media only screen and (min-width: 992px) and (max-width: 1119px){.details-outerblk .price-block{width:30%}}@media only screen and (min-width: 768px) and (max-width: 991px){.details-outerblk .price-block{display:none}}@media only screen and (max-width: 767px){.details-outerblk .price-block{display:none}}.listing-mainouter{width:100%;height:auto;float:left;padding-bottom:40px;background:#e8e8e8}.listing-mainouter .product-outer{width:100%;height:auto;margin:0 auto;display:-webkit-box;display:-moz-flex;display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;-moz-justify-content:space-around;justify-content:space-around;-ms-flex-wrap:wrap;flex-wrap:wrap;max-width:1590px;padding-top:35px}.listing-mainouter .single-block{width:32.33%;float:left;max-width:490px;display:-webkit-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-moz-justify-content:center;justify-content:center;-ms-flex-wrap:wrap;flex-wrap:wrap;background:#fff;margin-bottom:45px;border-radius:3px;overflow:hidden;-webkit-box-shadow:1px 1px 19px 3px rgba(0,0,0,0.15);box-shadow:1px 1px 19px 3px rgba(0,0,0,0.15)}@media only screen and (min-width: 992px) and (max-width: 1119px){.listing-mainouter .single-block{width:49%}}@media only screen and (min-width: 768px) and (max-width: 991px){.listing-mainouter .single-block{width:46%}}@media only screen and (max-width: 767px){.listing-mainouter .single-block{width:100%;margin-bottom:20px}}.listing-mainouter .single-block .block-image{width:100%;float:left;position:relative;overflow:hidden}.listing-mainouter .single-block .block-image i{height:270px;float:left;width:100%;overflow:hidden;-webkit-transition:all 1s ease;transition:all 1s ease;background-position:center center}.listing-mainouter .single-block .block-image a:hover i{transform:scale(1.1);-moz-transform:scale(1.1);-webkit-transform:scale(1.1);-o-transform:scale(1.1);-ms-transform:scale(1.1);-webkit-transition:all 300ms ease-in-out 0s;transition:all 300ms ease-in-out 0s}.listing-mainouter .single-block .block-image img{height:100%;width:100%}.fav-icon{position:absolute;right:10px;top:10px;float:left;z-index:998}.fav-icon a{float:left;background:rgba(255,255,255,0.5);border:0;border-radius:50%;width:40px;height:40px;display:-webkit-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-moz-justify-content:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;-moz-align-items:center;align-items:center}.fav-icon a.liked .fav-btn{background:url(../images/svg/fav-icon-like.svg) no-repeat center center}.fav-icon a .fav-btn{height:38px;width:38px;background:url(../images/svg/fav-icon.svg) no-repeat center center}@media only screen and (min-width: 768px) and (max-width: 991px){.fav-icon a .fav-btn{height:30px;width:30px}}@media only screen and (max-width: 767px){.fav-icon a .fav-btn{height:30px;width:30px}}.block-content{width:100%;height:auto;float:left}.block-content .header-blk{padding:30px}.block-content .header-blk h2{width:100%;height:auto;float:left;color:#9A0808;text-transform:uppercase;font-family:"latobold";margin:0 0 4px}.block-content .header-blk h2 a:focus,.block-content .header-blk h2 a:active{color:#9A0808}.block-content .header-blk span{font-size:14px;color:#6B6B6B}.block-content .header-blk i{font-size:14px;color:#6B6B6B;float:right}@media only screen and (max-width: 767px){.block-content .header-blk i{top:-20px;position:relative}}.block-content .content-para{padding:10px 30px 30px;display:none}.block-content .content-para p{margin:0;padding:0;color:#6B6B6B;font-family:"latolight";font-size:14px}.block-content .details-blk{width:100%;height:auto;float:left;border-top:#e3e3e3 solid 1px}.block-content .details-blk ul{width:auto;height:auto;float:left;padding-left:30px;display:-webkit-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-moz-justify-content:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;-moz-align-items:center;align-items:center}@media only screen and (min-width: 768px) and (max-width: 991px){.block-content .details-blk ul{width:100%}}@media only screen and (max-width: 767px){.block-content .details-blk ul{width:100%}}.block-content .details-blk ul li{padding:3px 13px 3px 10px;line-height:50px;border-right:#e3e3e3 solid 1px;color:#6B6B6B;font-family:"latolight";font-size:14px}@media only screen and (min-width: 1120px) and (max-width: 1369px){.block-content .details-blk ul li{padding:3px 5px}}@media only screen and (min-width: 768px) and (max-width: 991px){.block-content .details-blk ul li:last-child{border:none}}@media only screen and (max-width: 767px){.block-content .details-blk ul li:last-child{border:none}}.block-content .details-blk ul li sup{color:#6B6B6B;font-family:"latolight";font-size:14px;position:relative;top:0}.block-content .details-blk ul li .icon-blk{width:25px;height:25px;display:inline-block;position:relative;top:5px;margin-right:3px}.block-content .details-blk ul li .icon-blk.icon-1{background:url(../images/svg/prouct-icon1.svg) no-repeat center center}.block-content .details-blk ul li .icon-blk.icon-2{background:url(../images/svg/prouct-icon2.svg) no-repeat center center}.block-content .details-blk ul li .icon-blk.icon-3{background:url(../images/svg/prouct-icon3.svg) no-repeat center center}.block-content .details-blk ul li .icon-blk.icon-4{background:url(../images/svg/prouct-icon4.svg) no-repeat center center}.block-content .details-blk .price-blk{font-family:"latosemibold";font-size:20px;text-align:right;line-height:50px;color:#444;padding:3px 20px 3px 0}@media only screen and (min-width: 1370px) and (max-width: 1589px){.block-content .details-blk .price-blk{font-size:16px}}@media only screen and (min-width: 1120px) and (max-width: 1369px){.block-content .details-blk .price-blk{font-size:14px;padding:3px 30px 3px 0}}@media only screen and (min-width: 768px) and (max-width: 991px){.block-content .details-blk .price-blk{width:100%;padding:3px 0;text-align:center;border-top:#e3e3e3 solid 1px;float:left}}@media only screen and (max-width: 767px){.block-content .details-blk .price-blk{width:100%;padding:3px 0;text-align:center;border-top:#e3e3e3 solid 1px;float:left}}.pagination-outer{width:100%;height:auto;float:left}.pagination-outer .pagination li{border-radius:50%;margin:0 .125em;padding:0;-webkit-box-shadow:0px 2px 5px 0px rgba(0,0,0,0.28);box-shadow:0px 2px 5px 0px rgba(0,0,0,0.28)}.pagination-outer .pagination li.ellipsis{width:44px;height:44px;background:#FFF;text-align:center;line-height:40px;border-radius:50%;position:relative;top:-2px}.pagination-outer .pagination li a{width:44px;height:44px;background:#FFF;text-align:center;line-height:40px;border-radius:50%}.pagination-outer .pagination li.current{width:44px;height:44px;background:#FFF;text-align:center;line-height:40px;border-radius:50%;color:#990707}.pagination-outer .pagination li.current a{color:inherit}.pagination-outer .pagination li.pagination-previous{-webkit-box-shadow:0px 2px 5px 0px rgba(0,0,0,0);box-shadow:0px 2px 5px 0px rgba(0,0,0,0)}.pagination-outer .pagination li.pagination-previous a{width:54px;height:54px;background:#fff url(../images/svg/prev_normal.svg) no-repeat center center;text-align:center;line-height:40px;border-radius:50%;border:#fff solid 1px;position:relative;top:21px}.pagination-outer .pagination li.pagination-previous a:hover{border:#990707 solid 1px;background:#fff url(../images/svg/prev_active.svg) no-repeat center center}.pagination-outer .pagination li.pagination-previous a:before{display:none}.pagination-outer .pagination li.pagination-next{-webkit-box-shadow:0px 2px 5px 0px rgba(0,0,0,0);box-shadow:0px 2px 5px 0px rgba(0,0,0,0)}.pagination-outer .pagination li.pagination-next a{background:none;position:relative;top:21px;width:54px;height:54px;background:#fff url(../images/svg/next_normal.svg) no-repeat center center;text-align:center;line-height:40px;border-radius:50%;border:#fff solid 1px}.pagination-outer .pagination li.pagination-next a:hover{border:#990707 solid 1px;background:#fff url(../images/svg/next_active.svg) no-repeat center center}.pagination-outer .pagination li.pagination-next a:after{display:none}@media only screen and (min-width: 768px){.product-outer.list-block .single-block{width:100%;max-width:1148px}.product-outer.list-block .single-block .block-image{max-width:488px;width:43%}.product-outer.list-block .single-block .block-image i{height:100%}.product-outer.list-block .single-block .block-content{max-width:660px;width:100%}.product-outer.list-block .single-block .block-content .header-blk i{top:0;position:relative}.product-outer.list-block .single-block .content-para{display:block;min-height:118px}.product-outer.list-block .single-block .content-para p{line-height:26px}}.readmore-outer{width:100%;text-align:center;color:#990707;font-family:"latolight";font-size:16px;text-transform:uppercase}.feature-tag{position:absolute;left:15px;top:15px;float:left;text-transform:uppercase}@media only screen and (min-width: 768px) and (max-width: 991px){.feature-tag{font-size:12px;top:5px;left:5px}}@media only screen and (max-width: 767px){.feature-tag{font-size:12px;top:5px;left:5px}}.feature-tag .red-label{float:left;background:#990707;padding:5px 10px;margin:0 0 5px 0}.feature-tag .yellow-label{width:100%;max-width:165px;float:left;background:#575757;padding:5px 10px}@media only screen and (min-width: 768px) and (max-width: 991px){.feature-tag .yellow-label{max-width:140px}}@media only screen and (max-width: 767px){.feature-tag .yellow-label{max-width:140px}}.detail-page-content{width:100%;float:left}.detail-page-content .photos-block{width:100%;float:left;margin:0px 0 20px}@media only screen and (max-width: 767px){.detail-page-content .photos-block{margin:30px 0 10px}}.detail-page-content .photos-block .detail-page-outer{float:left;width:76.1%;height:530px;overflow:hidden;position:relative;margin-right:8px}@media only screen and (min-width: 992px) and (max-width: 1119px){.detail-page-content .photos-block .detail-page-outer{width:75.1%}}@media only screen and (min-width: 768px) and (max-width: 991px){.detail-page-content .photos-block .detail-page-outer{width:100%}}@media only screen and (max-width: 767px){.detail-page-content .photos-block .detail-page-outer{width:100%;height:320px}}.detail-page-content .photos-block .detail-page-outer:after{content:'';display:table;clear:both}.detail-page-content .photos-block .detail-page-outer img{width:100%;height:530px;-o-object-fit:cover;object-fit:cover}@media screen and (max-width: 37.4375em){.detail-page-content .photos-block .detail-page-outer img{height:320px}}.detail-page-content .photos-block .detail-page-outer .icons-block{position:absolute;top:15px;right:15px;z-index:99}.detail-page-content .photos-block .detail-page-outer .icons-block .fav-icon{top:0;right:0}.detail-page-content .photos-block .detail-page-outer .icons-block .fav-icon a img{height:38px !important}.detail-page-content .photos-block .detail-page-outer .virtual-tour{position:absolute;background-color:#990707;width:80px;height:80px;border-radius:50%;left:15px;bottom:15px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;z-index:1}.detail-page-content .photos-block .detail-page-outer .virtual-tour img{width:40px;height:40px;display:block;margin:0 0 2.5px;-webkit-animation:spin 4s linear infinite;animation:spin 4s linear infinite}.detail-page-content .photos-block .detail-page-outer .virtual-tour span{color:#fff;text-decoration:none;font-size:12px;font-size:.75em;font-size:.75rem}.detail-page-content .photos-block .img-lateral-block{width:23.2%;float:left}@media only screen and (min-width: 1120px) and (max-width: 1369px){.detail-page-content .photos-block .img-lateral-block{width:23.1%}}@media only screen and (min-width: 768px) and (max-width: 991px){.detail-page-content .photos-block .img-lateral-block{float:right;width:100%;max-width:200px}}@media only screen and (max-width: 767px){.detail-page-content .photos-block .img-lateral-block{float:right;width:100%;max-width:200px}}.detail-page-content .photos-block .img-lateral-block .img-full{float:left;width:100%;height:220px;margin-bottom:8px;overflow:hidden}.detail-page-content .photos-block .img-lateral-block .img-full img{height:220px;width:100%;max-width:none;-o-object-fit:cover;object-fit:cover}@media only screen and (min-width: 768px) and (max-width: 991px){.detail-page-content .photos-block .img-lateral-block .img-full{display:none}}@media only screen and (max-width: 767px){.detail-page-content .photos-block .img-lateral-block .img-full{display:none}}.detail-page-content .photos-block .img-lateral-block .img-half{width:calc((100% - 8px) / 2);height:107px;margin:0 8px 8px 0;float:left;overflow:hidden}.detail-page-content .photos-block .img-lateral-block .img-half:nth-child(2n+1){margin-right:0}.detail-page-content .photos-block .img-lateral-block .img-half img{height:107px;width:100%;max-width:none;-o-object-fit:cover;object-fit:cover}@media only screen and (min-width: 768px) and (max-width: 991px){.detail-page-content .photos-block .img-lateral-block .img-half{display:none}}@media only screen and (max-width: 767px){.detail-page-content .photos-block .img-lateral-block .img-half{display:none}}.detail-page-content .photos-block .img-lateral-block .img-footer-block{float:left;width:100%;height:72px;background-color:#990707}.detail-page-content .photos-block .img-lateral-block .img-footer-block button{background-color:transparent;font-size:18px;font-size:1.125em;font-size:1.125rem;color:#fff;width:100%;height:100%;text-align:center;cursor:pointer;background:#353334}.detail-page-content .photos-block .img-lateral-block .img-footer-block button:hover{background:#990707;opacity:1 !important}.detail-page-content .photos-block .img-lateral-block .img-footer-block button img{width:24px;height:24px;margin-right:.25em}.detail-page-content .photos-block .img-lateral-block .img-footer-block .vr-block{width:100%}.detail-page-content .photos-block .img-lateral-block .img-footer-block .vr-block img{width:27px;height:auto;vertical-align:middle;display:inline-block}.detail-page-content .photos-block .img-lateral-block .img-footer-block .vr-block:hover{opacity:0.8}@media only screen and (min-width: 768px) and (max-width: 991px){.detail-page-content .photos-block .img-lateral-block .img-footer-block{float:right;margin-top:-90px;z-index:1005;position:relative;margin-right:20px}}@media only screen and (max-width: 767px){.detail-page-content .photos-block .img-lateral-block .img-footer-block{float:right;margin-top:-55px;width:130px;height:40px;z-index:1005;position:relative;margin-right:15px}.detail-page-content .photos-block .img-lateral-block .img-footer-block button{font-size:14px;font-size:.875em;font-size:.875rem}}.detail-page-content .photos-block .detail-page-outer .icons-block a>div{float:left;border-radius:38px}.detail-page-content .photos-block .detail-page-outer .icons-block a>div i{font-size:20px;font-size:1.25em;font-size:1.25rem;color:#fff;text-align:center}.detail-page-content .photos-block .detail-page-outer .icons-block a>div.favorite-block{background-color:rgba(0,0,0,0.5);padding:.75em .75em .55em}.detail-page-content .photos-block .detail-page-outer .icons-block a>div.favorite-block:hover{background-color:rgba(129,30,30,0.9)}.details-outercon{width:100%;height:auto;float:left;padding:60px 0;background:#f0f0f0;background:-webkit-gradient(left top, left bottom, color-stop(0%, #f0f0f0), color-stop(18%, #fff), color-stop(100%, #fff));background:-webkit-gradient(linear, left top, left bottom, from(#f0f0f0), color-stop(18%, #fff), to(#fff));background:linear-gradient(to bottom, #f0f0f0 0%, #fff 18%, #fff 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f0f0f0', endColorstr='#ffffff', GradientType=0)}.details-outercon .details-leftblk{width:74%;height:auto;float:left;max-width:850px}@media only screen and (min-width: 768px) and (max-width: 991px){.details-outercon .details-leftblk{width:100%;max-width:none}}@media only screen and (max-width: 767px){.details-outercon .details-leftblk{width:100%;max-width:none}}.details-outercon .details-leftblk .header-blk{padding:0px}.details-outercon .details-leftblk .header-blk .details-disc{width:70%;float:left}@media only screen and (max-width: 767px){.details-outercon .details-leftblk .header-blk .details-disc{width:100%;max-width:none}}.details-outercon .details-leftblk .header-blk .ref-block{width:30%;float:right}@media only screen and (max-width: 767px){.details-outercon .details-leftblk .header-blk .ref-block{width:100%;max-width:none;float:left}}.details-outercon .details-leftblk .header-blk .ref-block .price-blk{font-size:26px;color:#444;text-align:right;font-family:"latobold"}@media only screen and (max-width: 767px){.details-outercon .details-leftblk .header-blk .ref-block .price-blk{text-align:left}}.details-outercon .details-leftblk .header-blk .pointer-icon{width:8px;height:11px;float:left;position:relative;top:5px;margin-right:5px;background:url(../images/svg/map-pointer.svg) no-repeat center center;background-size:8px 11px}.details-outercon .details-leftblk .header-blk h2{width:100%;height:auto;float:left;color:#9A0808;font-size:26px;text-transform:uppercase;font-family:"latobold"}.details-outercon .details-leftblk .header-blk span{font-size:16px;color:#6B6B6B}.details-outercon .details-leftblk .header-blk i{font-size:16px;color:#6B6B6B;float:right}@media only screen and (max-width: 767px){.details-outercon .details-leftblk .header-blk i{float:left}}.details-outercon .details-leftblk .details-blk{width:100%;height:auto;float:left;border-top:#e3e3e3 solid 1px;margin-top:20px}@media only screen and (max-width: 767px){.details-outercon .details-leftblk .details-blk{display:none}}.details-outercon .details-leftblk .details-blk ul{width:auto;height:auto;float:left;display:-webkit-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-moz-justify-content:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;-moz-align-items:center;align-items:center}@media only screen and (min-width: 768px) and (max-width: 991px){.details-outercon .details-leftblk .details-blk ul{width:100%}}@media only screen and (max-width: 767px){.details-outercon .details-leftblk .details-blk ul{width:100%}}.details-outercon .details-leftblk .details-blk ul li{width:auto;padding:3px 15px;line-height:40px;color:#6B6B6B;font-family:"latolight";font-size:16px}@media only screen and (min-width: 1120px) and (max-width: 1369px){.details-outercon .details-leftblk .details-blk ul li{padding:3px 10px}}@media only screen and (min-width: 768px) and (max-width: 991px){.details-outercon .details-leftblk .details-blk ul li:last-child{border:none}}@media only screen and (max-width: 767px){.details-outercon .details-leftblk .details-blk ul li:last-child{border:none}}.details-outercon .details-leftblk .details-blk ul li sup{color:#6B6B6B;font-family:"latolight";font-size:14px;position:relative;top:0}.details-outercon .details-leftblk .details-blk ul li .icon-blk{width:25px;height:25px;display:inline-block;position:relative;top:5px;margin-right:10px;float:left}.details-outercon .details-leftblk .details-blk ul li .icon-blk.icon-1{background:url(../images/svg/prouct-icon1.svg) no-repeat center center}.details-outercon .details-leftblk .details-blk ul li .icon-blk.icon-2{background:url(../images/svg/prouct-icon2.svg) no-repeat center center}.details-outercon .details-leftblk .details-blk ul li .icon-blk.icon-3{background:url(../images/svg/prouct-icon3.svg) no-repeat center center}.details-outercon .details-leftblk .details-blk ul li .icon-blk.icon-4{background:url(../images/svg/prouct-icon4.svg) no-repeat center center}.details-outercon .details-leftblk .details-blk ul li .icon-blk.icon-5{background:url(../images/svg/prouct-icon5.svg) no-repeat center center}.details-outercon .details-leftblk .details-blk ul li .icon-blkicon{width:auto;height:22px;display:inline-block;text-align:center;line-height:22px;background:transparent;color:#575757;font-family:"latobold";border-radius:5px;margin-left:8px;font-size:14px}.details-outercon .details-leftblk .bottom-block{width:100%;float:left;padding-top:30px}.details-outercon .details-leftblk .bottom-block p,.details-outercon .details-leftblk .bottom-block div,.details-outercon .details-leftblk .bottom-block b,.details-outercon .details-leftblk .bottom-block strong,.details-outercon .details-leftblk .bottom-block i,.details-outercon .details-leftblk .bottom-block li{color:#575757}.details-outercon .details-leftblk .pro-dic-block{width:100%;float:left;padding-top:30px}@media only screen and (min-width: 768px) and (max-width: 991px){.details-outercon .details-leftblk .pro-dic-block{padding:0}}@media only screen and (max-width: 767px){.details-outercon .details-leftblk .pro-dic-block{padding:0}}.details-outercon .details-leftblk .pro-dic-block h3{color:#730909;font-family:"latobold";padding-bottom:10px;border-bottom:#eaeaea solid 1px}.details-outercon .details-leftblk .pro-dic-block ul{width:100%;height:auto;float:left;padding:20px 0}.details-outercon .details-leftblk .pro-dic-block ul li{width:50%;height:auto;float:left;max-width:388px;padding:10px 0}@media only screen and (max-width: 767px){.details-outercon .details-leftblk .pro-dic-block ul li{padding:5px 0}}@media only screen and (max-width: 479px){.details-outercon .details-leftblk .pro-dic-block ul li{width:100%}}.details-outercon .details-leftblk .pro-dic-block ul li label{width:50%;max-width:156px;float:left;color:#575757;font-size:16px}.details-outercon .details-leftblk .pro-dic-block ul li span{width:50%;max-width:230px;float:left;color:#575757;font-family:"latobold";font-size:16px}.details-outercon .details-leftblk .pro-dic-block p{width:auto;height:auto;float:left;color:#575757}.details-outercon .details-leftblk .pro-dic-block p strong{color:#575757;font-family:"latobold";font-size:16px;text-transform:uppercase;padding-right:10px}.details-outercon .details-leftblk .pro-dic-block p span{color:#575757}.details-outercon .map-outer-block{width:100%;float:left;padding-top:30px}.details-outercon .map-outer-block h3{color:#730909;font-family:"latobold";padding-bottom:10px;border-bottom:#eaeaea solid 1px}.details-outercon .map-outer-block .map-outer{width:100%;height:auto;float:left;padding-top:35px}.details-outercon .details-rightblk{width:24%;height:auto;float:right;max-width:265px}@media only screen and (min-width: 768px) and (max-width: 991px){.details-outercon .details-rightblk{width:100%;max-width:none}}@media only screen and (max-width: 767px){.details-outercon .details-rightblk{width:100%;max-width:none}}.details-outercon .details-rightblk .button-block{width:100%;height:auto;float:left}.details-outercon .details-rightblk .button-block ul{width:100%;height:auto;float:left;text-align:center}.details-outercon .details-rightblk .button-block ul li{width:48%;float:left}.details-outercon .details-rightblk .button-block ul li:first-child{width:100%;margin-bottom:10px}@media only screen and (min-width: 768px) and (max-width: 991px){.details-outercon .details-rightblk .button-block ul li:first-child{width:auto;margin-right:10px}}.details-outercon .details-rightblk .button-block ul li:last-child{float:right}@media only screen and (min-width: 768px) and (max-width: 991px){.details-outercon .details-rightblk .button-block ul li:last-child{float:left;margin-right:10px}}@media only screen and (min-width: 768px) and (max-width: 991px){.details-outercon .details-rightblk .button-block ul li{width:auto;margin-right:10px}}.details-outercon .details-rightblk .button-block ul li a{width:100%;float:left;height:60px;border:#eaeaea solid 2px;border-radius:5px;color:#5D5D5D;font-size:16px}@media only screen and (min-width: 768px) and (max-width: 991px){.details-outercon .details-rightblk .button-block ul li a{padding:0 30px}}.details-outercon .details-rightblk .button-block ul li a:hover{border:#990707 solid 2px}.details-outercon .details-rightblk .button-block ul li img{width:35px;height:35px;position:relative;top:12px;margin-right:10px}.details-outercon .details-rightblk .form-outerblk{width:100%;height:auto;float:left;padding:20px;margin-top:30px;-webkit-box-shadow:0px 6px 8px 0px rgba(0,0,0,0.1);box-shadow:0px 6px 8px 0px rgba(0,0,0,0.1);-webkit-border-bottom-right-radius:7px;-webkit-border-bottom-left-radius:7px;-moz-border-radius-bottomright:7px;-moz-border-radius-bottomleft:7px;border-bottom-right-radius:7px;border-bottom-left-radius:7px}@media only screen and (min-width: 768px) and (max-width: 991px){.details-outercon .details-rightblk .form-outerblk .section-blk{width:50%;float:left;padding-left:10px}.details-outercon .details-rightblk .form-outerblk .section-blk:first-child{padding:0 10px 0 0}}@media only screen and (max-width: 767px){.details-outercon .details-rightblk .form-outerblk .section-blk{width:50%;float:left;padding-left:10px}.details-outercon .details-rightblk .form-outerblk .section-blk:first-child{padding:0 10px 0 0}}@media only screen and (max-width: 479px){.details-outercon .details-rightblk .form-outerblk .section-blk{width:100%;float:left;padding-left:0}.details-outercon .details-rightblk .form-outerblk .section-blk:first-child{padding:0 0 0 0}}.details-outercon .details-rightblk .form-outerblk h6{width:100%;height:auto;float:left;color:#730909;font-size:16px;font-family:"latobold"}.details-outercon .details-rightblk .form-outerblk .single-blk{width:100%;float:left;position:relative}.details-outercon .details-rightblk .form-outerblk .single-blk span{position:absolute;right:15px;color:#FF0000;font-size:18px;top:20px;height:10px}.details-outercon .details-rightblk .form-outerblk .form-field{width:100%;float:left;padding:20px;font-size:16px;color:#575757;margin:3px 0;background:#ededed;padding-right:30px;-webkit-box-shadow:none;box-shadow:none;border:none}.details-outercon .details-rightblk .form-outerblk .submit-btn{width:100%;float:left;padding:20px;font-size:16px;color:#fff;margin:3px 0;background:#9C0909;padding-right:30px;text-transform:uppercase;cursor:pointer;font-family:"latobold";border-radius:5px}.details-outercon .details-rightblk .form-outerblk .submit-btn:hover{background:#353334}.checkbox-outer{padding:7px 0;width:100%;float:left}.checkbox-outer [type="checkbox"]:checked,.checkbox-outer [type="checkbox"]:not(:checked){position:absolute;left:-9999px}.checkbox-outer [type="checkbox"]:checked+label,.checkbox-outer [type="checkbox"]:not(:checked)+label{position:relative;padding-left:28px;cursor:pointer;line-height:20px;display:inline-block;color:#666;font-size:12px;margin:0}.checkbox-outer [type="checkbox"]:checked+label:before,.checkbox-outer [type="checkbox"]:not(:checked)+label:before{content:'';position:absolute;left:0;top:0;width:22px;height:22px;border:1px solid #D7DADE;background:#fff}.checkbox-outer [type="checkbox"]:not(:checked)+label:before{border:1px solid #D7DADE;background:#fff}.checkbox-outer [type="checkbox"]:checked+label:after,.checkbox-outer [type="checkbox"]:not(:checked)+label:after{content:'';width:22px;height:22px;background:url(../images/svg/check.svg) no-repeat center center;position:absolute;top:0;left:0;-webkit-transition:all 0.2s ease;transition:all 0.2s ease}.checkbox-outer [type="checkbox"]:not(:checked)+label:after{opacity:0;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}.checkbox-outer [type="checkbox"]:checked+label:after{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.mobi-map-blk{width:100%;float:left}.noticias-section{background-color:#fff}.noticias-section .outer-tag:after{z-index:0}.noticias-section .noticias-list{margin:0}.noticias-section .noticias-list .listado{margin:0 0 30px 0}.noticias-section .noticias-list .listado li{list-style:none;width:90%;margin:0 0 8px 0;padding:0 0 10px 0;border-bottom:1px solid #D8D8D8}.noticias-section .noticias-list .listado li h3{font-size:16px;font-size:1em;font-size:1rem;color:#66666D;line-height:1.25em;margin:0 0 6px 0}.noticias-section .noticias-list .listado li h3 a{color:inherit;font-size:inherit}.noticias-section .noticias-list .listado li em{font-size:14px;font-size:.875em;font-size:.875rem;color:#505050;margin-bottom:16px}.noticias-section .noticias-list .pagination{width:100%;height:auto;float:left}.noticias-section .noticias-list .pagination>li{border-radius:50%;margin:0 .125em;padding:0;-webkit-box-shadow:0px 2px 5px 0px rgba(0,0,0,0.28);box-shadow:0px 2px 5px 0px rgba(0,0,0,0.28)}.noticias-section .noticias-list .pagination>li.ellipsis{width:44px;height:44px;background:#FFF;text-align:center;line-height:40px;border-radius:50%;position:relative;top:-2px}.noticias-section .noticias-list .pagination>li a{width:44px;height:44px;background:#FFF;text-align:center;line-height:40px;border-radius:50%}.noticias-section .noticias-list .pagination>li.current{width:44px;height:44px;background:#FFF;text-align:center;line-height:40px;border-radius:50%;color:#990707}.noticias-section .noticias-list .pagination>li.current a{color:inherit}.noticias-section .noticias-list .pagination>li.pagination-previous{-webkit-box-shadow:0px 2px 5px 0px rgba(0,0,0,0);box-shadow:0px 2px 5px 0px rgba(0,0,0,0)}.noticias-section .noticias-list .pagination>li.pagination-previous a{width:54px;height:54px;background:#fff url(../images/svg/prev_normal.svg) no-repeat center center;text-align:center;line-height:40px;border-radius:50%;border:#D8D8D8 solid 1px;position:relative;top:21px}.noticias-section .noticias-list .pagination>li.pagination-previous a:hover{border:#990707 solid 1px;background:#fff url(../images/svg/prev_active.svg) no-repeat center center}.noticias-section .noticias-list .pagination>li.pagination-previous a:before{display:none}.noticias-section .noticias-list .pagination>li.pagination-next{-webkit-box-shadow:0px 2px 5px 0px rgba(0,0,0,0);box-shadow:0px 2px 5px 0px rgba(0,0,0,0)}.noticias-section .noticias-list .pagination>li.pagination-next a{background:none;position:relative;top:21px;width:54px;height:54px;background:#fff url(../images/svg/next_normal.svg) no-repeat center center;text-align:center;line-height:40px;border-radius:50%;border:#D8D8D8 solid 1px}.noticias-section .noticias-list .pagination>li.pagination-next a:hover{border:#990707 solid 1px;background:#fff url(../images/svg/next_active.svg) no-repeat center center}.noticias-section .noticias-list .pagination>li.pagination-next a:after{display:none}.noticias-section .noticias-item{padding-bottom:90px}.noticias-section .noticias-item h2{clear:none;color:#990707;font-size:32px;font-size:2em;font-size:2rem;line-height:1.25em;margin-bottom:.25em}.noticias-section .noticias-item em.fecha{display:block;color:#505050;font-size:14px;font-size:.875em;font-size:.875rem;margin-bottom:1em}.noticias-section .noticias-item .first_image{margin:0 0 1em}.noticias-section .noticias-item .first_image img{width:100%;height:420px;-o-object-fit:cover;object-fit:cover;-o-object-position:center center;object-position:center center}@media screen and (min-width: 37.5em) and (max-width: 63.9375em){.noticias-section .noticias-item .first_image img{height:320px}}@media screen and (max-width: 37.4375em){.noticias-section .noticias-item .first_image img{height:220px}}.noticias-section .noticias-item .description{padding:10px 0 0 0}.noticias-section .noticias-item .description h3,.noticias-section .noticias-item .description h4,.noticias-section .noticias-item .description h5,.noticias-section .noticias-item .description h6{color:#016e9e;font-family:"Open Sans",sans-serif;line-height:1.25em}.noticias-section .noticias-item .description h3{font-size:28px;font-size:1.75em;font-size:1.75rem}.noticias-section .noticias-item .description h4{font-size:24px;font-size:1.5em;font-size:1.5rem}.noticias-section .noticias-item .description h5{font-size:20px;font-size:1.25em;font-size:1.25rem}.noticias-section .noticias-item .description h6{font-size:16px;font-size:1em;font-size:1rem}.noticias-section .noticias-item .description strong{font-weight:bold}.noticias-section .noticias-item .description u{text-decoration:underline}.noticias-section .noticias-item .description ul,.noticias-section .noticias-item .description ol{list-style:disc;margin:10px 0 30px 30px}.noticias-section .noticias-item .description ul li,.noticias-section .noticias-item .description ol li{color:#505050;font-size:16px}.noticias-section .noticias-item .description p,.noticias-section .noticias-item .description strong,.noticias-section .noticias-item .description b,.noticias-section .noticias-item .description span{font-size:16px;font-size:1em;font-size:1rem;line-height:28px}.noticias-section .noticias-item .description p{margin-bottom:1em}.noticias-section .noticias-item .description p:last-of-type{margin-bottom:3em}.noticias-section .noticias-item .description a{text-decoration:underline;color:#016e9e}.noticias-section .noticias-item .images-list{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-wrap:wrap;flex-wrap:wrap}.noticias-section .noticias-item .images-list .image-block{width:calc((100% - 20px) / 2);height:268px;margin:0 20px 20px 0;overflow:hidden}.noticias-section .noticias-item .images-list .image-block:nth-of-type(2n){margin-right:0}@media screen and (max-width: 47.99875em){.noticias-section .noticias-item .images-list .image-block{width:100%;margin:0 0 20px !important;height:220px}}@media screen and (min-width: 48em) and (max-width: 63.99875em){.noticias-section .noticias-item .images-list .image-block{width:100%;margin:0 0 20px !important}}.noticias-section .noticias-item .images-list .image-block img{width:100%;height:268px;-o-object-fit:cover;object-fit:cover;-o-object-position:center center;object-position:center center}#barraaceptacion{display:none;position:fixed;left:0px;right:0px;bottom:0.6%;padding:10px;margin:0;width:100%;text-align:left;min-height:40px;z-index:99999}#barraaceptacion .barra{padding:0.9375rem !important;border-radius:4px;-moz-border-radius:4px;-webkit-border-radius:4px;background-color:rgba(0,0,0,0.85)}#barraaceptacion .barra p{display:block;float:left;color:#fff;margin:0;padding:6px 0;font-size:14px;line-height:1.6em}#barraaceptacion .barra img#ok_cookie{width:64px;height:auto;display:block;float:left}#barraaceptacion .barra a.ok{padding:4px;color:#febf27;text-decoration:none;float:left}#barraaceptacion .barra a.info{text-decoration:underline;color:#E0091A;font-weight:bold}#barraaceptacion .barra a.btn-ok{border-radius:4px;-moz-border-radius:4px;-webkit-border-radius:4px;background:#990707;width:100%;text-align:center;font-size:16px;font-weight:500;text-transform:uppercase;color:#fff;margin:10px 0;padding:10px 0;float:right}#favoritos .inner-wrapper{margin:1.5em 0}#favoritos .inner-wrapper h1{color:#3c424c}#favoritos .fav-list{margin:2em 0}#favoritos .fav-list .fav-block{outline:1px solid #e6e9e8;background:#f2f5f4;display:inline-table;margin-bottom:2em;padding:0}#favoritos .fav-list .fav-block>div{display:table-cell;vertical-align:middle;border-left:1px solid #e6e9e8}#favoritos .fav-list .fav-block>div:first-child{border:none}#favoritos .fav-list .fav-block .img,#favoritos .fav-list .fav-block .titulo,#favoritos .fav-list .fav-block .opciones{width:20%}#favoritos .fav-list .fav-block .img{height:139px}#favoritos .fav-list .fav-block .img a{height:inherit}#favoritos .fav-list .fav-block .img a img{height:inherit;width:100%;-o-object-fit:cover;object-fit:cover}#favoritos .fav-list .fav-block .boton-quitar{width:10%}#favoritos .fav-list .fav-block .boton-quitar a{font-size:16px;color:#fff;text-transform:uppercase;text-decoration:none;font-weight:700;background:#990707;text-align:center;padding:10px 20px 12px;border-radius:5px;cursor:pointer;width:auto;margin:0;-webkit-transition:all 300ms ease-in 0s;transition:all 300ms ease-in 0s}#favoritos .fav-list .fav-block .boton-quitar a:hover{background:#353334;color:#fff !important}#favoritos .fav-list .fav-block .titulo,#favoritos .fav-list .fav-block .opciones,#favoritos .fav-list .fav-block .localidad,#favoritos .fav-list .fav-block .precio,#favoritos .fav-list .fav-block .boton-quitar{padding:0 1em;color:#4c4e51}#favoritos .fav-list .fav-block .titulo{color:#990707;font-weight:700}#favoritos .fav-list .fav-block .precio{width:12%;font-family:"Lato",sans-serif;font-weight:700;font-size:17px;color:#444;text-align:right}#favoritos .fav-list .fav-block .opciones .no-bullet li{width:25%;float:left;text-align:right;padding-right:1.5em}#favoritos .fav-list .fav-block .opciones .no-bullet li:last-child{width:50%}#favoritos .fav-list .fav-block .opciones .no-bullet li .property-detail-icon{position:relative}#favoritos .fav-list .fav-block .opciones .no-bullet li .property-detail-icon i{position:absolute;right:-1.25em;opacity:.5;font-size:22px}#favoritos .fav-list .fav-block .localidad{width:18%}#favoritos .fav-list .fav-block .localidad i{color:#c0c52d}#favoritos .contact-block h2{text-align:center;margin:0 0 1.125em}#favoritos .contact-block h2:after{margin-left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}#favoritos #favouritesForm .mainfield{margin-bottom:10px}#favoritos #favouritesForm label{margin-bottom:10px}#favoritos #favouritesForm textarea{height:176px}#favoritos #favouritesForm .checkbox-outer{max-width:364px}#favoritos #favouritesForm input[type="submit"]{max-width:364px;float:right}label.anadir_favoritos{width:50px;margin-left:6px;cursor:pointer;float:right}.ribbon-fav{display:block;float:left;margin-right:14px}.ribbon-fav svg,.ribbon-fav .fav-icon{height:24px;margin-top:-4px;width:24px;fill:#9fa325;opacity:0.5}.ribbon-fav .favourite path{fill:#c52d46;opacity:1}.ribbon-fav:hover{cursor:pointer}.ribbon-fav:hover .fav-icon{opacity:1}@media screen and (min-width: 37.5em) and (max-width: 63.9375em){#favoritos .row .row{margin-right:auto;margin-left:auto}#favoritos .fav-list{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}#favoritos .fav-list>.row{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}#favoritos .fav-list .fav-block{width:calc(50% - 14px);margin-right:28px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}#favoritos .fav-list .fav-block:nth-child(2n){margin-right:0}#favoritos .fav-list .fav-block>div{width:100% !important;padding:.5em !important;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}#favoritos .fav-list .fav-block>div.img{height:220px}#favoritos .fav-list .fav-block>div.opciones ul{margin:0;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around}#favoritos .fav-list .fav-block>div.opciones ul li{margin-right:.5em}#favoritos .fav-list .fav-block>div.opciones ul li img{margin-right:.25em}#favoritos .fav-list .fav-block>div.opciones ul li::before{display:none}#favoritos .fav-list .fav-block>div.opciones ul li:last-of-type{margin-right:0}#favoritos #favouritesForm .checkbox-outer{max-width:none}#favoritos #favouritesForm input[type="submit"]{max-width:250px}}@media screen and (max-width: 37.4375em){#favoritos .fav-list .fav-block{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}#favoritos .fav-list .fav-block>div{width:100% !important;padding:.5em !important;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}#favoritos .fav-list .fav-block>div.img{height:220px}#favoritos .fav-list .fav-block>div.opciones ul{margin:0;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around}#favoritos .fav-list .fav-block>div.opciones ul li{margin-right:.5em}#favoritos .fav-list .fav-block>div.opciones ul li img{margin-right:.25em}#favoritos .fav-list .fav-block>div.opciones ul li::before{display:none}#favoritos .fav-list .fav-block>div.opciones ul li:last-of-type{margin-right:0}#favoritos #favouritesForm .checkbox-outer{max-width:none}#favoritos #favouritesForm input[type="submit"]{max-width:none}}.banner-outerblock>ul .banner-outerblock>li{height:590px}.banner-outerblock>ul .banner-outerblock>li img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center center;object-position:center center}form:not(#property-form) .input-outer{position:relative;overflow:auto;margin:0 0 6px}form:not(#property-form) .input-outer input{width:100%;padding:20px 20px 20px 30px;font-size:16px;font-size:1em;font-size:1rem;color:#575757;background:#ededed;-webkit-box-shadow:none;box-shadow:none;border:none;height:48px;line-height:48px}form:not(#property-form) .input-outer input:focus{background:#ededed}form:not(#property-form) .input-outer span{position:absolute;right:15px;color:#FF0000;font-size:18px;top:17px;height:10px}form:not(#property-form) input[type="submit"]{width:100%;float:none;font-size:16px;font-size:1em;font-size:1rem;color:#fff;margin:3px 0;background:#9C0909;border:none;line-height:normal;padding-right:30px;text-transform:uppercase;cursor:pointer;font-family:"latobold";border-radius:5px;cursor:pointer}form:not(#property-form) input[type="submit"]:hover{background:#353334}form:not(#property-form) textarea{width:100%;padding:15px 20px 15px 30px;font-size:16px;font-size:1em;font-size:1rem;color:#575757;background:#ededed;-webkit-box-shadow:none;box-shadow:none;border:none;height:156px;margin:0 0 6px}.content-page-blk{margin:3.5em 0}.content-page-blk .block-title-top{margin:1.5em 0 3em}.content-page-blk .block-title-top h1{text-transform:uppercase;text-align:center;font-size:28px;font-size:1.75em;font-size:1.75rem}.content-page-blk .property-wrapper{margin:0 0 5em}.content-page-blk div,.content-page-blk p,.content-page-blk span,.content-page-blk strong,.content-page-blk h1,.content-page-blk h2,.content-page-blk h3,.content-page-blk h4,.content-page-blk h5,.content-page-blk h6,.content-page-blk b,.content-page-blk li,.content-page-blk i,.content-page-blk a{color:#575757}.content-page-blk b,.content-page-blk strong{font-weight:bold}.content-page-blk ul,.content-page-blk ol{margin:0 0 1.5em}.content-page-blk li{margin:.25em 0}.content-page-blk i{font-style:italic}.content-page-blk a{text-decoration:underline}.content-page-blk .address-block h2{text-transform:uppercase;font-size:20px;font-size:1.25em;font-size:1.25rem}.content-page-blk .address-block p{margin:0 0 1em}.content-page-blk .address-block p.address{margin:0 0 .5em}.content-page-blk .address-block a{padding-left:1.65em;position:relative}.content-page-blk .address-block a:before{position:absolute;content:'';left:-.025em;top:3px;height:18px;width:18px}.content-page-blk .address-block a[href^="tel"]:before{background:transparent url("../images/svg/phone.svg") center center no-repeat}.content-page-blk .address-block a[href^="mailto"]:before{background:transparent url("../images/svg/email.svg") center center no-repeat}.content-page-blk .address-block a.fax:before{background:transparent url("../images/svg/fax.svg") center center no-repeat}.content-page-blk .address-block a.mobile:before{background:transparent url("../images/svg/mobile.svg") center center no-repeat}.content-page-blk #contactoForm{margin-bottom:2.5em}.content-page-blk #contact-map{width:100%;height:520px}#contacto .content-page-blk{margin-bottom:0}#webadmin-login .property-detail-section{margin:1.5em 0 0}#webadmin-login .property-detail-section .block-title-top{margin:2.5em 0}#webadmin-login .property-detail-section .block-title-top h2{color:#575757;text-transform:uppercase;text-align:left;font-size:28px;font-size:1.75em;font-size:1.75rem}#webadmin-login form{margin-bottom:5.5em}form input.is-invalid-input{border:1px solid #FF0000 !important;color:#FF0000 !important}form label.is-invalid-label{color:#FF0000 !important}form label.is-invalid-label a{color:inherit}form label.is-invalid-label:before{border:1px solid #FF0000 !important}#newsletter .property-wrapper{margin:0 0 5.5em}#newsletter .property-wrapper form{max-width:450px}@media screen and (max-width: 37.4375em){#newsletter .property-wrapper form{max-width:none}}.tabs-content-blk{background:#fff}.tabs-content-blk .tabs{border:none;border-bottom:1px solid #e6e6e6;height:60px;margin:0}.tabs-content-blk .tabs .tabs-title,.tabs-content-blk .tabs .examples-link{border:1px solid #e6e6e6;border-bottom:none}.tabs-content-blk .tabs .tabs-title a,.tabs-content-blk .tabs .examples-link a{color:#575757;text-transform:uppercase;text-decoration:none;font-size:16px;font-size:1em;font-size:1rem}.tabs-content-blk .tabs .tabs-title.is-active,.tabs-content-blk .tabs .examples-link.is-active{border-bottom:none}.tabs-content-blk .tabs .examples-link{float:left;margin:.25em 0}.tabs-content-blk .tabs .examples-link>a{color:#575757;text-transform:uppercase;text-decoration:none;outline:0;display:block;padding:1.25rem 1.5rem;line-height:1}#el_sueno #elsueno{margin:2.5em 0;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}#el_sueno #elsueno li{width:calc(25% - 16px);margin:0 16px 16px 0}#el_sueno #elsueno li:nth-of-type(4n){margin-right:0}@media screen and (max-width: 37.4375em){#el_sueno #elsueno li{width:calc(50% - 16px)}#el_sueno #elsueno li:nth-of-type(0n){margin:0 16px 16px 0;margin-right:0}}#el_sueno #elsueno li a{text-decoration:none;background-color:#e6e6e6}#el_sueno #elsueno li a h4,#el_sueno #elsueno li a h5{text-align:center;background-color:#e6e6e6}#el_sueno #elsueno li a h5{font-size:16px;font-size:1em;font-size:1rem}ul.newsletters{margin:2.5em 0;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}ul.newsletters li{width:calc(25% - 16px);margin:0 16px 16px 0}@media screen and (min-width: 37.5em) and (max-width: 63.9375em){ul.newsletters li{width:calc(33% - 16px)}}@media screen and (max-width: 37.4375em){ul.newsletters li{width:calc(50% - 16px)}ul.newsletters li:nth-of-type(2n){margin-right:0}}.footer-outer .copyright-blk>.row>.medium-12{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.footer-outer .copyright-blk>.row>.medium-12 p a{color:#575757;text-decoration:underline}.footer-outer .copyright-blk>.row>.medium-12 p a:focus,.footer-outer .copyright-blk>.row>.medium-12 p a:active{color:#575757}.footer-outer .copyright-blk>.row>.medium-12 p a:hover{color:#990707}.details-outercon .details-leftblk .bottom-block{color:#575757}.details-outercon .details-leftblk .bottom-block p,.details-outercon .details-leftblk .bottom-block span,.details-outercon .details-leftblk .bottom-block strong,.details-outercon .details-leftblk .bottom-block b,.details-outercon .details-leftblk .bottom-block i,.details-outercon .details-leftblk .bottom-block div{color:inherit !important}.details-outercon .details-leftblk .bottom-block a{color:inherit !important;text-decoration:underline}.details-outercon .details-leftblk .pro-dic-block:after{display:table;content:' ';clear:both}.details-outercon .details-leftblk .pro-dic-block p{display:block;margin:0 1em .5em 0}.radio-outer input[type="checkbox"]{display:none}.radio-outer label{color:#666}.radio-outer label span{content:' ';width:20px;height:20px;display:inline-block;border:2px solid #979797;margin-right:.5em;border-radius:50%;vertical-align:middle;padding:2px;position:relative}.radio-outer input[type="checkbox"]:checked+label span{border:1px solid #990707}.radio-outer input[type="checkbox"]:checked+label span:after{content:' ';width:10px;height:10px;display:block;position:absolute;top:4px;right:4px;background:#990707;border-radius:50%}sup{color:#575757 !important;font-size:.6rem}.banner-outerblock li img{width:100% !important;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center center;object-position:center center}@media screen and (max-width: 37.4375em){.banner-outerblock{max-height:360px}.banner-outerblock li{height:360px}}.responsive-embed{margin:0}@media screen and (min-width: 64em){.reveal{width:60%}}@media screen and (min-width: 37.5em) and (max-width: 63.9375em){.details-outerblk .count-block{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;display:block;width:30%}.details-outerblk h3{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0;width:100%;margin:0 0 .75em}.details-outerblk .price-block{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;display:-webkit-box;display:-ms-flexbox;display:flex;width:40%;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}}@media screen and (max-width: 37.4375em){.details-outerblk{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding-bottom:0}.details-outerblk .count-block{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;display:block;width:100%;text-align:center;margin:0 0 1em}.details-outerblk h3{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0;width:100%;margin:0 0 .75em}.details-outerblk .price-block{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}}.detail-page-content .photos-block .detail-page-outer .detail-page>a{position:relative;display:block}.detail-page-content .photos-block .detail-page-outer .detail-page>a:hover:after{content:'\002B';position:absolute;width:36px;height:36px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#fff;background-color:#353334;font-size:22px;font-size:1.375em;font-size:1.375rem;top:50%;left:50%;margin-right:-50%;-webkit-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);border-radius:100%}#viviendas .details-outerblk{padding:35px 0}#viviendas .listing-mainouter .product-outer{padding-top:0}@media screen and (max-width: 37.4375em){.grecaptcha-badge{display:none !important}}.slidecontrolls .slide-prev:hover,.slidecontrolls .slide-next:hover{background-color:#9C0909;color:#9C0909}.slidecontrolls .slide-prev:hover{background:#9C0909 url("../images/svg/prev-arrow-bl.svg") center center no-repeat}.slidecontrolls .slide-next:hover{background:#9C0909 url("../images/svg/next-arrow-bl.svg") center center no-repeat}@media screen and (min-width: 37.5em) and (max-width: 73.4375em){.product-outer.list-block .single-block{display:-webkit-box;display:-ms-flexbox;display:flex}.product-outer.list-block .single-block .block-image,.product-outer.list-block .single-block .block-content{width:50%}.product-outer.list-block .single-block .block-image{max-width:none}}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZvdW5kYXRpb24vdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiZm91bmRhdGlvbi9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsImZvdW5kYXRpb24vdmVuZG9yL25vcm1hbGl6ZS5zY3NzIiwiZm91bmRhdGlvbi9fZ2xvYmFsLnNjc3MiLCJmb3VuZGF0aW9uL3V0aWwvX3VuaXQuc2NzcyIsImZvdW5kYXRpb24vdXRpbC9fbWl4aW5zLnNjc3MiLCJmb3VuZGF0aW9uL2Zvcm1zL190ZXh0LnNjc3MiLCJmb3VuZGF0aW9uL2Zvcm1zL19jaGVja2JveC5zY3NzIiwiZm91bmRhdGlvbi9mb3Jtcy9fbGFiZWwuc2NzcyIsImZvdW5kYXRpb24vZm9ybXMvX2hlbHAtdGV4dC5zY3NzIiwiZm91bmRhdGlvbi9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsImZvdW5kYXRpb24vZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCJmb3VuZGF0aW9uL2Zvcm1zL19zZWxlY3Quc2NzcyIsImZvdW5kYXRpb24vZm9ybXMvX2Vycm9yLnNjc3MiLCJmb3VuZGF0aW9uL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsImZvdW5kYXRpb24vdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiZm91bmRhdGlvbi90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsImZvdW5kYXRpb24vdHlwb2dyYXBoeS9fcHJpbnQuc2NzcyIsImZvdW5kYXRpb24vZ3JpZC9fY2xhc3Nlcy5zY3NzIiwiZm91bmRhdGlvbi9ncmlkL19yb3cuc2NzcyIsImZvdW5kYXRpb24vZ3JpZC9fZ3V0dGVyLnNjc3MiLCJmb3VuZGF0aW9uL3V0aWwvX21hdGguc2NzcyIsImZvdW5kYXRpb24vZ3JpZC9fcG9zaXRpb24uc2NzcyIsImZvdW5kYXRpb24vZ3JpZC9fbGF5b3V0LnNjc3MiLCJmb3VuZGF0aW9uL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiZm91bmRhdGlvbi9jb21wb25lbnRzL19idXR0b24tZ3JvdXAuc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCJmb3VuZGF0aW9uL2NvbXBvbmVudHMvX2xhYmVsLnNjc3MiLCJmb3VuZGF0aW9uL2NvbXBvbmVudHMvX3Byb2dyZXNzLWJhci5zY3NzIiwiZm91bmRhdGlvbi9mb3Jtcy9fcHJvZ3Jlc3Muc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fc2xpZGVyLnNjc3MiLCJmb3VuZGF0aW9uL2Zvcm1zL19yYW5nZS5zY3NzIiwiZm91bmRhdGlvbi9jb21wb25lbnRzL19zd2l0Y2guc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fdGFibGUuc2NzcyIsImZvdW5kYXRpb24vdXRpbC9fY29sb3Iuc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fYmFkZ2Uuc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fY2FsbG91dC5zY3NzIiwiZm91bmRhdGlvbi9jb21wb25lbnRzL19jYXJkLnNjc3MiLCJmb3VuZGF0aW9uL2NvbXBvbmVudHMvX2Ryb3Bkb3duLnNjc3MiLCJmb3VuZGF0aW9uL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fdG9vbHRpcC5zY3NzIiwiZm91bmRhdGlvbi9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fbWVkaWEtb2JqZWN0LnNjc3MiLCJmb3VuZGF0aW9uL2NvbXBvbmVudHMvX29yYml0LnNjc3MiLCJmb3VuZGF0aW9uL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fdGFicy5zY3NzIiwiZm91bmRhdGlvbi9jb21wb25lbnRzL190aHVtYm5haWwuc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fbWVudS5zY3NzIiwiZm91bmRhdGlvbi9jb21wb25lbnRzL19tZW51LWljb24uc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fYWNjb3JkaW9uLW1lbnUuc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fZHJpbGxkb3duLnNjc3MiLCJmb3VuZGF0aW9uL2NvbXBvbmVudHMvX2Ryb3Bkb3duLW1lbnUuc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzIiwiZm91bmRhdGlvbi9jb21wb25lbnRzL19zdGlja3kuc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fdGl0bGUtYmFyLnNjc3MiLCJmb3VuZGF0aW9uL2NvbXBvbmVudHMvX3RvcC1iYXIuc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fZmxvYXQuc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwibW9kdWxlcy9fZm9udHMuc2NzcyIsIm1vZHVsZXMvX3ZhcmlhYmxlcy5zY3NzIiwibW9kdWxlcy9fbWl4aW5zLnNjc3MiLCJtb2R1bGVzL190eXBvZ3JhcGh5LnNjc3MiLCJtb2R1bGVzL19oZWFkZXIuc2NzcyIsIm1vZHVsZXMvX2Jhbm5lci5zY3NzIiwibW9kdWxlcy9fZm9vdGVyLnNjc3MiLCJtb2R1bGVzL19zdW1vc2VsZWN0LnNjc3MiLCJtb2R1bGVzL19zbGljay5zY3NzIiwibW9kdWxlcy9fZmFuY3lib3guc2NzcyIsIm1vZHVsZXMvc2VjdGlvbnMvX2hvbWUuc2NzcyIsIm1vZHVsZXMvc2VjdGlvbnMvX2xpc3Rpbmcuc2NzcyIsIm1vZHVsZXMvc2VjdGlvbnMvX2RldGFpbHMuc2NzcyIsIm1vZHVsZXMvc2VjdGlvbnMvX25vdGljaWFzLnNjc3MiLCJtb2RzL19jb29raWVzLnNjc3MiLCJtb2RzL19mYXZvcml0b3Muc2NzcyIsIl9jdXN0b20uc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE0S1EsMkNDL0hOLGlEQUNFLFVBQVcsQ0FDWCxTQUFVLENBQ1YsYUFBYyxDQUNmLENDaERELDJFQUFBLENBQTRFLEtBUzFFLGdCQUFp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Qkl6RVQsQ0FBUSxhQUZULENBQTBDLGNKaUZoQyxpQkkvRVQsQ0FBUSxjQUZULENBQTBDLGdCSjJGaEMsY0dvQmIsQ0FBbUQsU0gzQy9DLGVHMkNKLENBQW1ELGNIcEN0QyxpQkl6RVQsQ0FBUSxjQUZULENBQTBDLGNKaUZoQyxpQkkvRVQsQ0FBUSxlQUZULENBQTBDLGdCSjJGaEMsb0JHb0JiLENBQW1ELFNIM0MvQyxTRzJDSixDQUFtRCxjSHBDdEMsaUJJekVULENBQVEsUUFGVCxDQUEwQyxjSmlGaEMsaUJJL0VULENBQVEsU0FGVCxDQUEwQyxnQkoyRmhDLHFCR29CYixDQUFtRCxTSDNDL0MsZUcyQ0osQ0FBbUQsY0hwQ3RDLGlCSXpFVCxDQUFRLGNBRlQsQ0FBMEMsY0ppRmhDLGlCSS9FVCxDQUFRLGVBRlQsQ0FBMEMsZ0JKMkZoQyxlR29CYixDQUFtRCxTSDNDL0MsZUcyQ0osQ0FBbUQsY0hwQ3RDLGlCSXpFVCxDQUFRLGNBRlQsQ0FBMEMsY0ppRmhDLGlCSS9FVCxDQUFRLGVBRlQsQ0FBMEMsZ0JKMkZoQyxxQkdvQmIsQ0FBbUQsU0gzQy9DLFNHMkNKLENBQW1ELGNIcEN0QyxpQkl6RVQsQ0FBUSxRQUZULENBQTBDLGNKaUZoQyxpQkkvRVQsQ0FBUSxTQUZULENBQTBDLGdCSjJGaEMscUJHb0JiLENBQW1ELFNIM0MvQyxlRzJDSixDQUFtRCxjSHBDdEMsaUJJekVULENBQVEsY0FGVCxDQUEwQyxjSmlGaEMsaUJJL0VULENBQVEsZUFGVCxDQUEwQyxnQkoyRmhDLGVHb0JiLENBQW1ELFNIM0MvQyxlRzJDSixDQUFtRCxjSHBDdEMsaUJJekVULENBQVEsY0FGVCxDQUEwQyxjSmlGaEMsaUJJL0VULENBQVEsZUFGVCxDQUEwQyxnQkoyRmhDLHFCR29CYixDQUFtRCxTSDNDL0MsU0cyQ0osQ0FBbUQsY0hwQ3RDLGlCSXpFVCxDQUFRLFFBRlQsQ0FBMEMsY0ppRmhDLGlCSS9FVCxDQUFRLFNBRlQsQ0FBMEMsZ0JKMkZoQyxxQkdvQmIsQ0FBbUQsVUgzQzlDLGVHMkNMLENBQW1ELGVIcENyQyxpQkl6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Q0osQ0FESSxxQkFDSixDQURJLGtCQUNKLENBQUEsQ0FBTSxxRUFTUCxpQkFDVyxDQUFBLGFBQ0QsQ0FBQSxpRkFDRixlQUVZLENBQUEsaUJBQ0MsQ0FBQSxVQUNILENBQUEsV0FDQyxDQUFBLG1CQUNDLENBREQsbUJBQ0MsQ0FERCxZQUNDLENBQUEsdUJBQ1EsQ0FEUixvQkFDUSxDQURSLHNCQUNRLENBQUEsd0JBQ0osQ0FESSxxQkFDSixDQURJLGtCQUNKLENBQUEsVUFDTixDQUFBLHdCQUNXLENBQUEsY2RyUHRDLENBQUEsaUJBQ0EsQ0FBQSxrQkFDQSxDQUFBLE9jcVB5QixDQUFBLFFBQ0MsQ0FBQSxpQkFDUSxDQUFBLHVDQUNILENBREcsbUNBQ0gsQ0FERywrQkFDSCxDQUFBLGtCQUNJLENBQUEsNkJBVTdDLGNBQ2MsQ0FBQSw2Q0FHVCxhQUNnQixDQUFFLHlDZG5Ra0Isa0JjMFF6Qyx1QkFDYyxDQUFBLENBQWUsb0VBS0wsd0JmcmdCVCxDQUFBLGFBQUEsQ0FBQSxrQ2UyZ0JKLGlGQUV5RSxDQUFBLGtDQUd6RSxpRkFFeUUsQ0FBQSxpRWRyUm5CLHdDU2dPOUQsbUJLOERpQixDTDlEakIsbUJLOERpQixDTDlEakIsWUs4RGlCLENBQUEsNEdBRVQsU0FDVyxDQUFBLHFETDdEZixjS2dFbUIsQ0FBQSIsImZpbGUiOiJzdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdUaGUgZmlyc3Qga2V5IGluIHRoZSAkYnJlYWtwb2ludHMgbWFwIG11c3QgaGF2ZSBhIHZhbHVlIG9mIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtIC4wMDEyNTtcbiAgfVxuXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gSWYgbXVsdGlwbGUgdmFsdWVzIGFyZSBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGdlbmVyYXRlIGEgbWVkaWEgcXVlcnkgZm9yIGVhY2ggb2YgdGhlbSBhcyBkZXNjcmliZWQgYWJvdmUuXG4vLy8gU2luY2UgdGhlIGNvbnRlbnQgaXMgZHVwbGljYXRlZCBmb3IgZWFjaCBicmVha3BvaW50LCB0aGlzIG1peGluIHNob3VsZCBvbmx5IGJlIHVzZWQgd2l0aCBwcm9wZXJ0aWVzIHRoYXRcbi8vLyBjaGFuZ2UgYWNyb3NzIGJyZWFrcG9pbnRzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlcy4uLiAtIEJyZWFrcG9pbnQgbmFtZSBvciBweC9yZW0vZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlcy4uLikge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkdmFsdWVzKSB7XG4gICAgJHZhbHVlOiBudGgoJHZhbHVlcywgJGkpO1xuICAgICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHZhbHVlKTtcbiAgICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcblxuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcblxuICAgIC8vIE1ha2UgYnJlYWtwb2ludCBzaXplIGF2YWlsYWJsZSBhcyBhIHZhcmlhYmxlXG4gICAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICAgIH1cbiAgICAkLXpmLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAgIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEZvciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHByaW50LWJyZWFrcG9pbnQsIGFkZCBwcmludCB0byB0aGUgbWVkaWEgdHlwZXNcbiAgICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgJGJwIDw9ICRwYnAge1xuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBDb252ZXJ0cyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBsYXN0IGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigka2V5KSB7XG4gICRsaXN0OiAoKTtcbiAgJGZvdW5kX2tleTogZmFsc2U7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcbiAgICAgICRmb3VuZF9rZXk6IHRydWU7XG4gICAgfVxuICAgIEBpZiBub3QgJGZvdW5kX2tleSB7XG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkbmFtZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkbGFzdDogJGtleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsYXN0O1xufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbi8vLyBSZXR1cm4gdGhlIGJlc3QgYnJlYWtwb2ludCB0byB1c2UgYWNjb3JkaW5nIHRvIHRoZSBjYWxsaW5nIGNvbnRleHQuIEl0IHJldHVybnMgaW4gb3JkZXI6XG4vLy8gMS4gdGhlIGdpdmVuIGAkdmFsdWVgIGFyZ3VtZW50IGlmIGl0IGlzIG5vdCBudWxsLlxuLy8vIDIuIHRoZSBnbG9iYWwgYnJlYWtwb2ludCBjb250ZXh0IGAkLXpmLXNpemVgIGlmIGl0IGlzIG5vdCBudWxsIChsaWtlIGlmIGNhbGxlZCBpbnNpZGUgdGhlbiBgYnJlYWtwb2ludCgpYCBtaXhpbilcbi8vLyAzLiB0aGUgZ2l2ZW4gYCRkZWZhdWx0YCBhcmd1bWVudC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGluIHByaW9yaXR5IGlmIG5vbi1udWxsLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRlZmF1bHQgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgYnkgZGVmYXVsdCBpZiBubyBvdGhlciB2YWx1ZSBjYW4gYmUgdXNlZC5cbi8vL1xuLy8vIEByZXR1cm4ge0tleXdvcmR9IFRoZSByZXNvbHZlZCBicmVha3BvaW50LlxuQGZ1bmN0aW9uIC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJHZhbHVlOiBudWxsLCAkZGVmYXVsdDogbnVsbCkge1xuICBAaWYgKCR2YWx1ZSAhPSBudWxsKSB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbiAgQGVsc2UgaWYgKHZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkgYW5kIHR5cGUtb2YoJC16Zi1zaXplKSAhPSAnbnVtYmVyJykgYW5kICQtemYtc2l6ZSAhPSBudWxsIHtcbiAgICBAcmV0dXJuICQtemYtc2l6ZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkZGVmYXVsdDtcbiAgfVxufVxuXG4kc21hbGwtdXA6ICcnO1xuJHNtYWxsLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG4kbWVkaXVtLXVwOiAnJztcbiRtZWRpdW0tb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuJGxhcmdlLXVwOiAnJztcbiRsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHhsYXJnZS11cDogJyc7XG4keGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4eGxhcmdlLXVwOiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXZlYWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgYSBtb2RhbCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heGltdW0gd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgbW9kYWxzLiBUaGUgb3ZlcmxheSB1c2VzIHRoaXMgdmFsdWUsIHdoaWxlIHRoZSBtb2RhbCBpdHNlbGYgdXNlcyB0aGlzIHZhbHVlIHBsdXMgb25lLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC16aW5kZXg6IDEwMDUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIG92ZXJsYXlzLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpICFkZWZhdWx0O1xuXG5cbi8vIFBsYWNlaG9sZGVyIHNlbGVjdG9yIGZvciBtZWRpdW0tYW5kLXVwIG1vZGFsc1xuLy8gUHJldmVudHMgZHVwbGljYXRlIENTUyB3aGVuIGRlZmluaW5nIG11bHRpcGxlIFJldmVhbCBzaXplc1xuLy8gVGhpcyBzaG91bGQgYmUgaW4gdGhlIHNhbWUgYnJlYWtwb2ludCB0aGVuIGBAbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoYFxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgJXJldmVhbC1jZW50ZXJlZCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtb2RhbCBvdmVybGF5LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdmVybGF5LlxuQG1peGluIHJldmVhbC1vdmVybGF5KCRiYWNrZ3JvdW5kOiAkcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZCkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXg7XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleCArIDE7XG4gIC8vIFdvcmthcm91bmQgYW5kcm9pZCBicm93c2VyIHotaW5kZXggYnVnXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcmV2ZWFsLXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtYmFja2dyb3VuZDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgLmNvbHVtbiB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXG4pIHtcbiAgLy8gRXh0ZW5kcyBtdXN0IGJlIG1hZGUgb3V0c2lkZSBvZiBicmVha3BvaW50cyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5ld2VyIFNhc3MgdmVyc2lvbnMgKGxpYnNhc3MgdjMuNSlcbiAgQGV4dGVuZCAlcmV2ZWFsLWNlbnRlcmVkO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC1zY3JlZW4gbW9kYWwsIHdoaWNoIHN0cmV0Y2hlcyB0aGUgZnVsbCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSB3aW5kb3cuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW4ge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBtYXJnaW4tbGVmdDogMDtcblxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XG5cbiAgLy8vIERpc2FibGVzIHRoZSBzY3JvbGwgd2hlbiBSZXZlYWwgaXMgc2hvd24gdG8gcHJldmVudCB0aGUgYmFja2dyb3VuZCBmcm9tIHNoaWZ0aW5nXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG5cbiAgICAmLnpmLWhhcy1zY3JvbGwge1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIH1cblxuICAgIGJvZHkgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICAvLyBPdmVybGF5XG4gIC5yZXZlYWwtb3ZlcmxheSB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW92ZXJsYXk7XG4gIH1cblxuICAvLyBNb2RhbCBjb250YWluZXJcbiAgLnJldmVhbCB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKCRyZXZlYWwtd2lkdGgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgLy8gUmVtb3ZlIHBhZGRpbmdcbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gU2l6aW5nIGNsYXNzZXNcbiAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDMwJSk7IH1cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDUwJSk7IH1cbiAgICAmLmxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDkwJSk7IH1cblxuICAgIC8vIEZ1bGwtc2NyZWVuIG1vZGVcbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICAmLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1ub3JtYWxpemUoKSB7XG4gIC8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuICAvLyBEb2N1bWVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG5cbiAgaHRtbCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbiAgfVxuXG4gIC8vIFNlY3Rpb25zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgLy8gYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cblxuICBoMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgfVxuXG4gIC8vIEdyb3VwaW5nIGNvbnRlbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAvLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuICBociB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDFcbiAgICBoZWlnaHQ6IDA7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gMlxuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHByZSB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuXG4gIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAgLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cblxuICBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLy8gMVxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvLyAyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuXG4gIGIsXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICBjb2RlLFxuICBrYmQsXG4gIHNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cblxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gIH1cblxuICAvLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgLy8gYWxsIGJyb3dzZXJzLlxuXG4gIHN1YixcbiAgc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG4gIH1cblxuICBzdXAge1xuICAgIHRvcDogLTAuNWVtO1xuICB9XG5cbiAgLy8gRW1iZWRkZWQgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG5cbiAgaW1nIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIH1cblxuICAvLyBGb3Jtc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvLyAxXG4gICAgZm9udC1zaXplOiAxMDAlOyAvLyAxXG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICBtYXJnaW46IDA7IC8vIDJcbiAgfVxuXG4gIC8vIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAvLyAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuXG4gIGJ1dHRvbixcbiAgaW5wdXQgeyAvLyAxXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbixcbiAgc2VsZWN0IHsgLy8gMVxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cblxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGZpZWxkc2V0IHtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gIC8vIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgLy8gICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgbGVnZW5kIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgICBkaXNwbGF5OiB0YWJsZTsgLy8gMVxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDNcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuXG4gIHByb2dyZXNzIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cblxuICB0ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuXG4gIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAyXG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG5cbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG5cbiAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDJcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cblxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuXG4gIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG4gICAgZm9udDogaW5oZXJpdDsgLy8gMlxuICB9XG5cbiAgLy8gSW50ZXJhY3RpdmVcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuXG4gIGRldGFpbHMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgfVxuXG4gIC8vIE1pc2NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG5cbiAgdGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cblxuICBbaGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwb3NpdGlvbmluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gQ2FuIGJlIG92ZXJ3cml0dGVuIGF0IGluZGl2aWR1YWwgbWVudSBjb21wb25lbnQgbGV2ZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlZCByZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwcm90b3R5cGVzIGlmIGFwcGxpY2FibGVcbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gY3Vyc29yJ3MgdmFsdWUsIGBhdXRvYCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZSB0aGF0IGNvbnRhaW5zIHRoZSBmbGV4IGp1c3RpZnlpbmcgb3B0aW9uc1xuJC16Zi1mbGV4LWp1c3RpZnk6IC16Zi1mbGV4LWp1c3RpZnkoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbik7XG5cbi8vLyBHbG9iYWwgdG9sZXJhbmNlIGZvciBjb2xvciBwaWNrIGNvbnRyYXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gIHNlbGVjdCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taWRzXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogJGdsb2JhbC1idXR0b24tY3Vyc29yO1xuICB9XG5cbiAgLy8gUHJldmVudCB0ZXh0IG92ZXJmbG93IG9uIHByZVxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gTWFrZSByZXNldCBpbmhlcml0IGZvbnQtZmFtaWx5IGluc3RlYWQgb2Ygc2V0dGluZ3Mgc2Fucy1zZXJpZlxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXQncyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJyUnIHtcbiAgICAkdmFsdWU6ICgkdmFsdWUgLyAxMDAlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIC8vICdweCdcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXIgdGhhbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRoZSBzaGFkb3cgaXMgc3VwcG9zZWQgdG8gYXBwZWFyLiBDYW4gYmUgYHRvcGAsIGBsZWZ0YCwgYHJpZ2h0YCBvciBgYm90dG9tYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBXaWR0aCBmb3IgdGhlIHRhcmdldCBzaWRlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIG9mIHRoZSBzaGFkb3cuXG5AbWl4aW4gaW5uZXItc2lkZS1zaGFkb3coXG4gICRzaWRlOiBib3R0b20sXG4gICRzaXplOiAyMHB4LFxuICAkY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KVxuKSB7XG5cbiAgJGhlbHBlcjogcm91bmQoJHNpemUgKiAwLjY1KTtcblxuICBAaWYgKCRzaWRlID09IHRvcCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBsZWZ0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IHJpZ2h0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgKC0xKSokaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gYm90dG9tKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAoLTEpKiRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiAoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpKSAvICgkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6ICN7JHJnYn0nPjwvcG9seWdvbj48L3N2Zz5cIik7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGVuZm9yY2UgLSBJZiBgdHJ1ZWAsIHVzZSBgIWltcG9ydGFudGAgb24gYXBwbGllZCBwcm9wZXJ0aWVzXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUoXG4gICRlbmZvcmNlOiB0cnVlXG4pIHtcbiAgJGltcG9ydGFudDogaWYoJGVuZm9yY2UsICchaW1wb3J0YW50JywgbnVsbCk7XG5cbiAgcG9zaXRpb246IGFic29sdXRlICN7JGltcG9ydGFudH07XG4gIHdpZHRoOiAxcHggI3skaW1wb3J0YW50fTtcbiAgaGVpZ2h0OiAxcHggI3skaW1wb3J0YW50fTtcbiAgcGFkZGluZzogMCAjeyRpbXBvcnRhbnR9O1xuICBvdmVyZmxvdzogaGlkZGVuICN7JGltcG9ydGFudH07XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCkgI3skaW1wb3J0YW50fTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAjeyRpbXBvcnRhbnR9O1xuICBib3JkZXI6IDAgI3skaW1wb3J0YW50fTtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRlbmZvcmNlIC0gSWYgYHRydWVgLCB1c2UgYCFpbXBvcnRhbnRgIG9uIGFwcGxpZWQgcHJvcGVydGllc1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZihcbiAgJGVuZm9yY2U6IHRydWVcbikge1xuICAkaW1wb3J0YW50OiBpZigkZW5mb3JjZSwgJyFpbXBvcnRhbnQnLCBudWxsKTtcblxuICBwb3NpdGlvbjogc3RhdGljICN7JGltcG9ydGFudH07XG4gIHdpZHRoOiBhdXRvICN7JGltcG9ydGFudH07XG4gIGhlaWdodDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICBvdmVyZmxvdzogdmlzaWJsZSAjeyRpbXBvcnRhbnR9O1xuICBjbGlwOiBhdXRvICN7JGltcG9ydGFudH07XG4gIHdoaXRlLXNwYWNlOiBub3JtYWwgI3skaW1wb3J0YW50fTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludChcbiAgJHNtYWxsOiB0cnVlLFxuICAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHM6IHRydWVcbikge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50LWluKGF1dG8sIC16Zi1ib29sKCRzbWFsbCksIC16Zi1ib29sKCRhdXRvLWluc2VydC1icmVha3BvaW50cykpIHtcbiAgICBAY29udGVudFxuICB9O1xufVxuXG4vLy8gSXRlcmF0ZXMgd2l0aCBgQGNvbnRlbnRgIHRocm91Z2ggdGhlIGdpdmVuIGxpc3Qgb2YgYnJlYWtwb2ludHMgYCRicmVha3BvaW50c2AuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxMaXN0fSAkYnJlYWtwb2ludHMgW2F1dG9dIC0gQnJlYWtwb2ludHMgdG8gaXRlcmF0ZXMgb24uIEl0IGNhbiBiZSBhIGJyZWFrcG9pbnQgbmFtZSwgbGlzdCBvZiBicmVha3BvaW50cyBvciBgYXV0b2AgZm9yIGFsbCBicmVha3BvaW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW58TnVsbH0gJHplcm8tYnJlYWtwb2ludCBbbnVsbF0gLSBXaGV0aGVyIHRoZSB6ZXJvLWJyZWFrcG9pbnQgKG9mdGVuIGBzbWFsbGApIG11c3QgYmUgaW5jbHVkZWQuIElmIGB0cnVlYCwgaXQgd2lsbCBhbHdheXMgYmUgYWRkZWQgdG8gdGhlIGxpc3QgaWYgbm90IGFscmVhZHkgdGhlcmUuIElmIGBmYWxzZWAsIGl0IHdpbGwgYWx3YXlzIGJlIHJlbW92ZWQuIERvZXMgbm90aGluZyBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbnxLZXl3b3JkfSAkbWVkaWEtcXVlcmllcyBbdHJ1ZV0gLSBXaGV0aGVyIG1lZGlhLXF1ZXJpZXMgbXVzdCBiZSBnZW5lcmF0ZWQuIElmIGBmb3ItbGlzdHNgLCBvbmx5IGdlbmVyYXRlIG1lZGlhLXF1ZXJpZXMgd2hlbiBgJGJyZWFrcG9pbnRzYCBpcyBhIGxpc3QuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludC1pbihcbiAgJGJyZWFrcG9pbnRzOiBhdXRvLFxuICAkemVyby1icmVha3BvaW50OiBudWxsLFxuICAkbWVkaWEtcXVlcmllczogdHJ1ZVxuKSB7XG4gICQtbGlzdDogKCk7XG4gICQtYnJlYWtwb2ludHMtaXMtYS1saXN0OiB0cnVlO1xuXG4gIC8vIFJldHJpZXZlIHRoZSBsaXN0IG9mIGJyZWFrcG9pbnQocykgdG8gaXRlcmF0ZSBvbi5cbiAgQGlmICRicmVha3BvaW50cyA9PSBhdXRvIHtcbiAgICAkLWxpc3Q6ICRicmVha3BvaW50LWNsYXNzZXM7XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkYnJlYWtwb2ludHMpID09ICdsaXN0JyB7XG4gICAgJC1saXN0OiAkYnJlYWtwb2ludHM7XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkYnJlYWtwb2ludHMpID09ICdzdHJpbmcnIHtcbiAgICAkLWxpc3Q6ICgkYnJlYWtwb2ludHMpO1xuICAgICQtYnJlYWtwb2ludHMtaXMtYS1saXN0OiBmYWxzZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIFwiJGJyZWFrcG9pbnRzXCIgaW4gXCItemYtZWFjaC1icmVha3BvaW50LWluKClcIi4gR290IFwiI3skYnJlYWtwb2ludHN9XCIgKCN7dHlwZS1vZigkYnJlYWtwb2ludHMpfSkuIEV4cGVjdGVkIGEgYnJlYWtwb2ludCBuYW1lLCBhIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgXCJhdXRvXCInO1xuICB9XG5cbiAgLy8gQWRkIG9yIHJlbW92ZSB0aGUgemVybyBicmVha3BvaW50IGFjY29yZGluZyB0byBgJHplcm8tYnJlYWtwb2ludGBcbiAgQGlmICR6ZXJvLWJyZWFrcG9pbnQgPT0gdHJ1ZSB7XG4gICAgJC1saXN0OiBqb2luKCgkLXpmLXplcm8tYnJlYWtwb2ludCksIHNsLXJlbW92ZSgkLWxpc3QsICQtemYtemVyby1icmVha3BvaW50KSk7XG4gIH1cbiAgQGVsc2UgaWYgJHplcm8tYnJlYWtwb2ludCA9PSBmYWxzZSB7XG4gICAgJC1saXN0OiBzbC1yZW1vdmUoJC1saXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICAvLyBJdGVyYXRlIG9uIGJyZWFrcG9pbnQocylcbiAgQGVhY2ggJGJwIGluICQtbGlzdCB7XG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiAkYnAgIWdsb2JhbDtcblxuICAgIEBpZiAoJG1lZGlhLXF1ZXJpZXMgPT0gdHJ1ZVxuICAgICAgb3IgKCRtZWRpYS1xdWVyaWVzID09ICdmb3ItbGlzdHMnIGFuZCAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdCkpIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRicC12YWx1ZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgICAgQGlmICRicC12YWx1ZSAhPSBudWxsIHtcbiAgICAgICAgJG5hbWU6ICRicC12YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBicmVha3BvaW50IHZhbHVlXG4gICAgJC16Zi1icC12YWx1ZTogJG5hbWUgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZm9jdXNlZCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBmb2N1c2VkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgaW5zaWRlIHRleHQgaW5wdXRzIHdoZW4gbm90IGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IG91dHNpZGUgdGV4dCBpbnB1dHMgd2hlbiBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDdXJzb3IgdG8gdXNlIHdoZW4gaG92ZXJpbmcgb3ZlciBhIGRpc2FibGVkIHRleHQgaW5wdXQuXG4vLy8gQHR5cGUgQ3Vyc29yXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8vIFByb3BlcnRpZXMgdG8gdHJhbnNpdGlvbiBvbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIHRoZSB1cC9kb3duIGJ1dHRvbnMgdGhhdCBDaHJvbWUgYW5kIEZpcmVmb3ggYWRkIHRvIGA8aW5wdXQgdHlwZT0nbnVtYmVyJz5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBSYWRpdXMgZm9yIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBmb3JtIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3c7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS10ZXh0IHtcbiAgLy8gVGV4dCBpbnB1dHNcbiAgI3t0ZXh0LWlucHV0cygpfSxcbiAgdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gVGV4dCBhcmVhc1xuICB0ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJltyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgICAvLyBEaXNhYmxlZC9yZWFkb25seSBzdGF0ZVxuICAgICY6ZGlzYWJsZWQsXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9uIGJ1dHRvbi1saWtlIGlucHV0c1xuICBbdHlwZT0nc3VibWl0J10sXG4gIFt0eXBlPSdidXR0b24nXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1idXR0b24tcmFkaXVzO1xuICB9XG5cbiAgLy8gUmVzZXQgTm9ybWFsaXplIHNldHRpbmcgY29udGVudC1ib3ggdG8gc2VhcmNoIGVsZW1lbnRzXG4gIGlucHV0W3R5cGU9J3NlYXJjaCddIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIE51bWJlciBpbnB1dCBzdHlsZXNcbiAgW3R5cGU9J251bWJlciddIHtcbiAgICBAaWYgbm90ICRpbnB1dC1udW1iZXItc3Bpbm5lcnMge1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG5cbiAgICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGxhY2Vob2xkZXIgdGV4dFxuICA6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc3R5bGUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcbiAgLmhlbHAtdGV4dCB7XG4gICAgJG1hcmdpbi10b3A6ICgkZm9ybS1zcGFjaW5nICogMC41KSAqIC0xO1xuXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkaGVscHRleHQtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogJGlucHV0LWxpbmUtaGVpZ2h0KSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgdGFibGUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgICYsICYuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICYsICYuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAlaW5wdXQtZ3JvdXAtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nOiAwICRpbnB1dC1wcmVmaXgtcGFkZGluZztcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcblxuICAgIGNvbG9yOiAkaW5wdXQtcHJlZml4LWNvbG9yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtcHJlZml4LWJvcmRlcikge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIGEsXG4gICAgaW5wdXQsXG4gICAgYnV0dG9uLFxuICAgIGxhYmVsIHtcbiAgICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuXG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNwZWNpZmljaXR5IGJ1bXAgbmVlZGVkIHRvIHByZXZlbnQgb3ZlcnJpZGUgYnkgYnV0dG9uc1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgLmlucHV0LWdyb3VwIHtcbiAgICAgIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGRyb3Bkb3duIHRyaWFuZ2xlIGluc2lkZSBzZWxlY3QgbWVudXMuIFNldCB0byBgdHJhbnNwYXJlbnRgIHRvIHJlbW92ZSBpdCBlbnRpcmVseS5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tc2VsZWN0IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkc2VsZWN0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgJHNlbGVjdC10cmlhbmdsZS1jb2xvciAhPSB0cmFuc3BhcmVudCB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC10cmlhbmdsZSgkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGdsb2JhbC1yaWdodCAoLSRmb3JtLXNwYWNpbmcpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcblxuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogKCRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuICB9XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIEhpZGUgdGhlIGRyb3Bkb3duIGFycm93IHNob3duIGluIG5ld2VyIElFIHZlcnNpb25zXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbiAgJjpub3QoW211bHRpcGxlXSkge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWxpZ2h0ZW4gWzEwJV0gLSBMaWdodG5lc3MgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWxpZ2h0ZW46IDEwJVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRiYWNrZ3JvdW5kLCAkd2hpdGUsICRiYWNrZ3JvdW5kLWxpZ2h0ZW4pO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBlcnJvciBzdHlsZXMgdG8gYSBmb3JtIGVsZW1lbnQsIHVzaW5nIHRoZSB2YWx1ZXMgaW4gdGhlIHNldHRpbmdzIGZpbGUuXG5AbWl4aW4gZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXNwYWNpbmcgKiAtMC41O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XG4gIEBpZiAkYWJpZGUtaW5wdXRzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgaW52YWxpZCBpbnB1dHNcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWVycm9yO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJpZGUtbGFiZWxzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xuICAgIC5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxuICAuZm9ybS1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvcjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPi08aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgZm9yIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc3R5bGVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyAkaGVhZGVyLXN0eWxlcyBtYXAgaXMgYnVpbHQgZnJvbSAkaGVhZGVyLXNpemVzIGluIG9yZGVyIHRvIGVuc3VyZSBkb3dud2FyZCBjb21wYXRpYmlsaXR5XG4vLyB3aGVuICRoZWFkZXItc2l6ZXMgaXMgZGVwcmVjaWF0ZWQsICRoZWFkZXItc3R5bGVzIG5lZWRzIHRvIGdldCAhZGVmYXVsdCB2YWx1ZXMgbGlrZSBzZXR0aW5ncy5zY3NzXG5AZnVuY3Rpb24gYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcykge1xuICBAd2FybiAnTm90ZSwgdGhhdCAkaGVhZGVyLXNpemVzIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggJGhlYWRlci1zdHlsZXMuICRoZWFkZXItc2l6ZXMgc3RpbGwgd29ya3MsIGJ1dCBpdCBpcyBnb2luZyB0byBiZSBkZXByZWNpYXRlZC4nO1xuICAkaGVhZGVyLXN0eWxlczogKCk7XG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICAkaGVhZGVyLW1hcDogKCk7XG4gICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAkaGVhZGVyLW1hcDogbWFwLW1lcmdlKCRoZWFkZXItbWFwLCAoJGhlYWRlcjogKCdmb250LXNpemUnOiAkZm9udC1zaXplKSkpO1xuICAgIH1cbiAgICAkaGVhZGVyLXN0eWxlczogbWFwLW1lcmdlKCRoZWFkZXItc3R5bGVzLCAoJHNpemU6ICRoZWFkZXItbWFwKSk7XG4gIH1cbiAgQHJldHVybiAkaGVhZGVyLXN0eWxlcztcbn1cblxuLy8gSWYgaXQgZXhpc3RzICRoZWFkZXJzLXNpemVzIGlzIHVzZWQgdG8gYnVpbGQgJGhlYWRlci1zdHlsZXMuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoaGVhZGVyLXNpemVzKSB7XG4gICRoZWFkZXItc3R5bGVzOiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKTtcbn1cblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFVzZSB0aGUgYC5jb2RlLWlubGluZWAgY29tcG9uZW50IGFzIGRlZmF1bHQgZm9yIGA8Y29kZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRlbmFibGUtY29kZS1pbmxpbmU6IHRydWU7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gVXNlIHRoZSBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudCBhcyBkZWZhdWx0IGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZW5hYmxlLWNpdGUtYmxvY2s6IHRydWU7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsIC5oMSxcbiAgaDIsIC5oMixcbiAgaDMsIC5oMyxcbiAgaDQsIC5oNCxcbiAgaDUsIC5oNSxcbiAgaDYsIC5oNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuXG4gICAgc21hbGwge1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc3R5bGVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXN0eWxlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGhlYWRlci1kZWZzIGluICRoZWFkZXJzIHtcbiAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiAxcmVtO1xuICAgICAgICAjeyRoZWFkZXJ9LCAuI3skaGVhZGVyfSB7XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmb250LXNpemUpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZzKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmcykpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxoKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGgpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMoJGhlYWRlci1saW5laGVpZ2h0LCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG10KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbXQpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1iKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWIpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRoZWFkZXItbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua3NcbiAgYSB7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcblxuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBMaXN0c1xuICB1bCxcbiAgb2wsXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtc1xuICBsaSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ICRsaXN0LXN0eWxlLXR5cGU7XG4gIH1cblxuICAvLyBPcmRlcmVkIGxpc3RzXG4gIG9sIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xuICB1bCwgb2wge1xuICAgICYgJiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluaXRpb24gbGlzdHNcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmbmxpc3QtdGVybS13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2txdW90ZXNcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgJiwgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIElubGluZSBDaXRhdGlvbnNcbiAgQGlmICgkZW5hYmxlLWNpdGUtYmxvY2sgPT0gdHJ1ZSkge1xuICAgIGNpdGUge1xuICAgICAgLy8gRXh0ZW5kaW5nIGEgY2xhc3MgaXMgbm90IHJlY29tbWVuZGVkLlxuICAgICAgLy8gVE9ETzogQnJlYWsgdGhlIHR5cG9ncmFwaHktYmFzZS90eXBvZ3JhcGh5LWhlbHBlcnMgc2VwYXJhdGlvblxuICAgICAgQGV4dGVuZCAuY2l0ZS1ibG9jaztcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIEZpZ3VyZXNcbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBDb2RlXG4gIEBpZiAoJGVuYWJsZS1jb2RlLWlubGluZSA9PSB0cnVlKSB7XG4gICAgY29kZSB7XG4gICAgICBAZXh0ZW5kIC5jb2RlLWlubGluZTtcbiAgICB9XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktaGVscGVyc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxlYWQtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3Igc3RhdGlzdGljIG51bWJlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIFBzZXVkbyBjb250ZW50IGZvciBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCcgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiB0aGUgYC5jb2RlLWlubGluZWAgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgdGhlIGAuY29kZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLWJsb2NrLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gdW5kZXIgdGhlIGAuY29kZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNvZGUtYmxvY2stbWFyZ2luLWJvdHRvbTogMS41cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gY2l0ZS1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogJGNpdGUtY29sb3I7XG4gIGZvbnQtc2l6ZTogJGNpdGUtZm9udC1zaXplO1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkY2l0ZS1wc2V1ZG8tY29udGVudDtcbiAgfVxufVxuXG4vLy8gQWRkIGJhc2ljIHN0eWxlcyBmb3IgYSBjb2RlIGhlbHBlci5cbi8vLyBTZWUgYGNvZGUtaW5saW5lYCBhbmQgYGNvZGUtYmxvY2tgIG1peGlucy5cbkBtaXhpbiBjb2RlLXN0eWxlIHtcbiAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkY29kZS1jb2xvcjtcbn1cblxuLy8vIE1ha2UgY29kZSBoZWxwZXIgZnJvbSB0aGUgYGNvZGUtc3R5bGVgIG1peGluIGlubGluZS5cbi8vLyBVc2VkIHRvIGdlbmVyYXRlIGAuY29kZS1pbmxpbmVgXG5AbWl4aW4gY29kZS1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuXG4gIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmc7XG59XG5cbi8vLyBNYWtlIGNvZGUgaGVscGVyIGZyb20gdGhlIGBjb2RlLXN0eWxlYCBtaXhpbiBhIGJsb2NrLlxuLy8vIFVzZWQgdG8gZ2VuZXJhdGUgYC5jb2RlLWJsb2NrYFxuQG1peGluIGNvZGUtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG5cbiAgcGFkZGluZzogJGNvZGUtYmxvY2stcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogJGNvZGUtYmxvY2stbWFyZ2luLWJvdHRvbTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcbiAgLy8gVXNlIHRvIGNyZWF0ZSBhIHN1YmhlYWRpbmcgdW5kZXIgYSBtYWluIGhlYWRlclxuICAvLyBNYWtlIHN1cmUgeW91IHBhaXIgdGhlIHR3byBlbGVtZW50cyBpbiBhIDxoZWFkZXI+IGVsZW1lbnQsIGxpa2UgdGhpczpcbiAgLy8gPGhlYWRlcj5cbiAgLy8gICA8aDE+SGVhZGluZzwvaDE+XG4gIC8vICAgPGgyPlN1YmhlYWRpbmc8L2gyPlxuICAvLyA8L2hlYWRlcj5cbiAgLnN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci1tYXJnaW4tdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRzdWJoZWFkZXItY29sb3I7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYW4gaW50cm9kdWN0b3J5IGxlYWQsIGRlY2ssIGJsdXJiLCBldGMuXG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxlYWQtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhIGxhcmdlIG51bWJlciB0byBkaXNwbGF5IGEgc3RhdGlzdGljXG4gIC5zdGF0IHtcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxuXG4gIHVsLCBvbCB7XG4gICAgLy8gVXNlIHRvIHJlbW92ZSBudW1iZXJzIGZyb20gb3JkZXJlZCBsaXN0ICYgYnVsbGV0cyBmcm9tIHVub3JkZXJlZCBsaXN0XG4gICAgJi5uby1idWxsZXQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmNpdGUtYmxvY2sge1xuICAgIEBpbmNsdWRlIGNpdGUtYmxvY2s7XG4gIH1cblxuICAuY29kZS1pbmxpbmUge1xuICAgIEBpbmNsdWRlIGNvZGUtc3R5bGU7XG4gICAgQGluY2x1ZGUgY29kZS1pbmxpbmU7XG4gIH1cblxuICAuY29kZS1ibG9jayB7XG4gICAgQGluY2x1ZGUgY29kZS1zdHlsZTtcbiAgICBAaW5jbHVkZSBjb2RlLWJsb2NrO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQge1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkYWxpZ24gaW4gKGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnkpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheXMgbmV4dCB0byBhbGwgbGlua3MgdGhlaXIgXCJocmVmXCIgd2hlbiBwcmludGVkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgLy8gRW5zdXJlIGEgXCJibGFjay1vbi13aGl0ZVwiIHByaW50IGJ5IHJlbW92aW5nIGJhY2tncm91bmRzLFxuICAgICAgLy8gdXNpbmcgYmxhY2sgdGV4dCBldmVyeXdoZXJlIGFuZCBmb3JjaW5nIHRoZSBicm93c2VyIHRvIGVjb25vbWl6ZSBpbmsuXG4gICAgICBAaWYgJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgICAgY29sb3ItYWRqdXN0OiBlY29ub215O1xuICAgICAgfVxuICAgICAgLy8gT3RoZXJ3aXNlLCBwcmV2ZW50IGFueSBlY29ub215IGJ5IHRoZSBicm93c2VyLlxuICAgICAgQGVsc2Uge1xuICAgICAgICBjb2xvci1hZGp1c3Q6IGV4YWN0O1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBAaWYgJHByaW50LWhyZWZzIHtcbiAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG4gICAgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuXG4gICAgLy8gSGVscGVyIHRvIHJlLWFsbG93IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgY2VydGFpbiBlbGVtZW50cyAoZS5nLiBwcmUsIGJsb2NrcXVvdGUsIHRyKVxuICAgIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBPdXRwdXRzIENTUyBjbGFzc2VzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiBmb3VuZGF0aW9uLWdyaWQoXG4gICRyb3c6ICdyb3cnLFxuICAkY29sdW1uOiAnY29sdW1uJyxcbiAgJGNvbHVtbi1yb3c6ICdjb2x1bW4tcm93JyxcbiAgJGd1dHRlcjogJ2d1dHRlcicsXG4gICRwdXNoOiAncHVzaCcsXG4gICRwdWxsOiAncHVsbCcsXG4gICRjZW50ZXI6ICdjZW50ZXJlZCcsXG4gICR1bmNlbnRlcjogJ3VuY2VudGVyZWQnLFxuICAkY29sbGFwc2U6ICdjb2xsYXBzZScsXG4gICR1bmNvbGxhcHNlOiAndW5jb2xsYXBzZScsXG4gICRvZmZzZXQ6ICdvZmZzZXQnLFxuICAkZW5kOiAnZW5kJyxcbiAgJGV4cGFuZGVkOiAnZXhwYW5kZWQnLFxuICAkYmxvY2s6ICdibG9jaydcbikge1xuICAvLyBSb3dcbiAgLiN7JHJvd30ge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93O1xuXG4gICAgLy8gQ29sbGFwc2luZ1xuICAgICYuI3skY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJiAuI3skcm93fSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuXG4gICAgICAmLiN7JGNvbGxhcHNlfSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXhwYW5kZWQgKGZ1bGwtd2lkdGgpIHJvd1xuICAgICYuI3skZXhwYW5kZWR9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcblxuICAgICAgLiN7JHJvd30ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC4jeyRleHBhbmRlZH0pIC4jeyRyb3d9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcbiAgICB9XG5cbiAgICBAaWYgdHlwZS1vZigkZ3JpZC1jb2x1bW4tZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgICAvLyBTdGF0aWMgKHVucmVzcG9uc2l2ZSkgcm93IGd1dHRlcnNcbiAgICAgIC8vXG4gICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRncmlkLWNvbHVtbi1ndXR0ZXIge1xuICAgICAgICAmLiN7JGd1dHRlcn0tI3skYnJlYWtwb2ludH0ge1xuICAgICAgICAgID4gLiN7JGNvbHVtbn0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCR2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uXG4gIC4jeyRjb2x1bW59IHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbDtcblxuICAgIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgICAmLiN7JGVuZH0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1lbmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uIHJvd1xuICAvLyBUaGUgZG91YmxlIC5yb3cgY2xhc3MgaXMgbmVlZGVkIHRvIGJ1bXAgdXAgdGhlIHNwZWNpZmljaXR5XG4gIC4jeyRjb2x1bW59LiN7JHJvd30uI3skcm93fSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cblxuICAvLyBUbyBwcm9wZXJseSBuZXN0IGEgY29sdW1uIHJvdywgcGFkZGluZyBhbmQgbWFyZ2luIGlzIHJlbW92ZWRcbiAgLiN7JHJvd30gLiN7JGNvbHVtbn0uI3skcm93fS4jeyRyb3d9IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAvLyBDb2x1bW4gd2lkdGhcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1zaXplKCRpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU291cmNlIG9yZGVyaW5nXG4gICAgICBAaWYgJGkgPCAkZ3JpZC1jb2x1bW4tY291bnQge1xuICAgICAgICBAaWYgJHB1c2gge1xuICAgICAgICAgIC4jeyQtemYtc2l6ZX0tI3skcHVzaH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKCRpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJHB1bGwge1xuICAgICAgICAgIC4jeyQtemYtc2l6ZX0tI3skcHVsbH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKC0kaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIEBpZiAkb2Zmc2V0IHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS0jeyRvZmZzZXR9LSN7JG99IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1vZmYoJG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQmxvY2sgZ3JpZFxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtbWF4IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWxheW91dCgkaSwgJy4jeyRjb2x1bW59Jyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBjb2xsYXBzaW5nXG4gICAgLiN7JC16Zi1zaXplfS0jeyRjb2xsYXBzZX0ge1xuICAgICAgPiAuI3skY29sdW1ufSB7IEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlOyB9XG5cbiAgICAgIC4jeyRyb3d9IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuI3skZXhwYW5kZWR9LiN7JHJvd30gLiN7JC16Zi1zaXplfS0jeyRjb2xsYXBzZX0uI3skcm93fSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LSN7JHVuY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0geyBAaW5jbHVkZSBncmlkLWNvbC1ndXR0ZXIoJC16Zi1zaXplKTsgfVxuICAgIH1cblxuICAgIC8vIFBvc2l0aW9uaW5nXG4gICAgQGlmICRjZW50ZXIge1xuICAgICAgLiN7JC16Zi1zaXplfS0jeyRjZW50ZXJ9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKGNlbnRlcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gR3V0dGVyIGFkanVzdG1lbnRcbiAgICAkLWd1dHRlci11bnBvcy1zZWxlY3RvcjogKFxuICAgICAgaWYoJHVuY2VudGVyLCAnLiN7JC16Zi1zaXplfS0jeyR1bmNlbnRlcn0nLCBudWxsKSxcbiAgICAgIGlmKCRwdXNoLCAnLiN7JC16Zi1zaXplfS0jeyRwdXNofS0wJywgbnVsbCksXG4gICAgICBpZigkcHVsbCwgJy4jeyQtemYtc2l6ZX0tI3skcHVsbH0tMCcsIG51bGwpLFxuICAgICk7XG4gICAgQGlmICgkdW5jZW50ZXIgb3IgJHB1c2ggb3IgJHB1bGwpIHtcbiAgICAgICN7JC1ndXR0ZXItdW5wb3Mtc2VsZWN0b3J9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtdW5wb3M7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZCBjb2x1bW5zXG4gIC4jeyRjb2x1bW59LSN7JGJsb2NrfSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tbWFyZ2luO1xuICB9XG5cbiAgQGlmICRjb2x1bW4gPT0gJ2NvbHVtbicgYW5kIGhhcy12YWx1ZSgkZ3JpZC1jb2x1bW4tYWxpYXMpIHtcbiAgICAuI3skZ3JpZC1jb2x1bW4tYWxpYXN9IHtcbiAgICAgIC8vIHNhc3MtbGludDpkaXNhYmxlLWJsb2NrIHBsYWNlaG9sZGVyLWluLWV4dGVuZFxuICAgICAgQGV4dGVuZCAuY29sdW1uO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2hhbmdlIHRoZSBiZWhhdmlvciBvZiBjb2x1bW5zIGRlZmluZWQgaW5zaWRlIHRoaXMgbWl4aW4gdG8gdXNlIGEgZGlmZmVyZW50IGNvbHVtbiBjb3VudC5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHJvb3QgW2ZhbHNlXVxuLy8vICAgSWYgYGZhbHNlYCwgc2VsZWN0b3JzIGluc2lkZSB0aGlzIG1peGluIHdpbGwgbmVzdCBpbnNpZGUgdGhlIHBhcmVudCBzZWxlY3Rvci5cbi8vLyAgIElmIGB0cnVlYCwgc2VsZWN0b3JzIHdpbGwgbm90IG5lc3QuXG5AbWl4aW4gZ3JpZC1jb250ZXh0KFxuICAkY29sdW1ucyxcbiAgJHJvb3Q6IGZhbHNlXG4pIHtcbiAgLy8gU3RvcmUgdGhlIGN1cnJlbnQgY29sdW1uIGNvdW50IHNvIGl0IGNhbiBiZSByZS1zZXQgbGF0ZXJcbiAgJG9sZC1ncmlkLWNvbHVtbi1jb3VudDogJGdyaWQtY29sdW1uLWNvdW50O1xuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRjb2x1bW5zICFnbG9iYWw7XG5cbiAgQGlmICRyb290IHtcbiAgICBAYXQtcm9vdCB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgb2xkIGNvbHVtbiBjb3VudFxuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRvbGQtZ3JpZC1jb2x1bW4tY291bnQgIWdsb2JhbDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIHJvdy5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIENvbHVtbiBjb3VudCBmb3IgdGhpcyByb3cuIGBudWxsYCB3aWxsIHVzZSB0aGUgZGVmYXVsdCBjb2x1bW4gY291bnQuXG4vLy8gQHBhcmFtIHtLZXl3b3Jkc30gJGJlaGF2aW9yIFtudWxsXVxuLy8vICAgTW9kaWZpY2F0aW9ucyB0byB0aGUgZGVmYXVsdCBncmlkIHN0eWxlcy4gYG5lc3RgIGluZGljYXRlcyB0aGUgcm93IHdpbGwgYmUgcGxhY2VkIGluc2lkZSBhbm90aGVyIHJvdy4gYGNvbGxhcHNlYCBpbmRpY2F0ZXMgdGhhdCB0aGUgY29sdW1ucyBpbnNpZGUgdGhpcyByb3cgd2lsbCBub3QgaGF2ZSBwYWRkaW5nLiBgbmVzdCBjb2xsYXBzZWAgY29tYmluZXMgYm90aCBiZWhhdmlvcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGNmIFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgYSBjbGVhcmZpeC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93KFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkc2l6ZTogJGdyaWQtcm93LXdpZHRoLFxuICAkY2Y6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXJzKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZSgkc2l6ZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRjZiB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEludmVydHMgdGhlIG1hcmdpbnMgb2YgYSByb3cgdG8gbmVzdCBpdCBpbnNpZGUgb2YgYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93LW5lc3QoJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgJG1hcmdpbjogcmVtLWNhbGMoLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICQtemYtc2l6ZSkpIC8gMiAqIC0xO1xuXG4gICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luO1xuICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXQgYSBncmlkIHJvdyBzaXplXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG5AbWl4aW4gZ3JpZC1yb3ctc2l6ZSgkc2l6ZTogJGdyaWQtcm93LXdpZHRoKSB7XG4gIEBpZiAkc2l6ZSA9PSBleHBhbmQge1xuICAgICRzaXplOiBub25lO1xuICB9XG5cbiAgbWF4LXdpZHRoOiAkc2l6ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNldCB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtblxuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRndXR0ZXIgW2F1dG9dXG4vLy8gICBTcGFjaW5nIGJldHdlZW4gY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBndXR0ZXIgdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJGd1dHRlcnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIGd1dHRlciByZXNwb25zaXZlLCB1c2luZyB0aGUgJGd1dHRlcnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLWNvbHVtbi1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJGd1dHRlciwgJGd1dHRlcnMpIHtcbiAgICAkcGFkZGluZzogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuXG4gICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgfVxufVxuXG4vLy8gQ29sbGFwc2UgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW4gYnkgcmVtb3ZpbmcgdGhlIHBhZGRpbmcuICoqTm90ZToqKiBvbmx5IHVzZSB0aGlzIG1peGluIHdpdGhpbiBhIGJyZWFrcG9pbnQuIFRvIGNvbGxhcHNlIGEgY29sdW1uJ3MgZ3V0dGVycyBvbiBhbGwgc2NyZWVuIHNpemVzLCB1c2UgdGhlIGAkZ3V0dGVyYCBwYXJhbWV0ZXIgb2YgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiBpbnN0ZWFkLlxuQG1peGluIGdyaWQtY29sdW1uLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKDApO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1ndXR0ZXJcbkBtaXhpbiBncmlkLWNvbC1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXIsICRndXR0ZXJzKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tY29sbGFwc2U7XG59XG5cbi8vLyBTZXRzIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zIHRvIG1hdGNoIGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkbWFyZ2luIFthdXRvXVxuLy8vICAgVGhlIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIG1hcmdpbiB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkbWFyZ2lucyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkbWFyZ2lucyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcmdpbnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tbWFyZ2luIChcbiAgJG1hcmdpbjogYXV0byxcbiAgJG1hcmdpbnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkbWFyZ2luLCAkbWFyZ2lucykge1xuICAgICRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gRmluZHMgdGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yIG9mIHR3byBpbnRlZ2Vycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYSAtIEZpcnN0IG51bWJlciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYiAtIFNlY29uZCBudW1iZXIgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvci5cbkBmdW5jdGlvbiBnY2QoJGEsICRiKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9HcmVhdGVzdF9jb21tb25fZGl2aXNvciNKYXZhU2NyaXB0XG4gIEBpZiAoJGIgIT0gMCkge1xuICAgIEByZXR1cm4gZ2NkKCRiLCAkYSAlICRiKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBhYnMoJGEpO1xuICB9XG59XG5cbi8vLyBIYW5kbGVzIGRlY2ltYWwgZXhwb25lbnRzIGJ5IHRyeWluZyB0byBjb252ZXJ0IHRoZW0gaW50byBhIGZyYWN0aW9uIGFuZCB0aGVuIHVzZSBhIG50aC1yb290LWFsZ29yaXRobSBmb3IgcGFydHMgb2YgdGhlIGNhbGN1bGF0aW9uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgYmFzZSBudW1iZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRleHBvbmVudCAtIFRoZSBleHBvbmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBwcm9kdWN0IG9mIHRoZSBleHBvbmVudGlhdGlvbi5cbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHBvbmVudCwgJHByZWM6IDE2KSB7XG4gIEBpZiAoZmxvb3IoJGV4cG9uZW50KSAhPSAkZXhwb25lbnQpIHtcbiAgICAkcHJlYzIgOiBwb3coMTAsICRwcmVjKTtcbiAgICAkZXhwb25lbnQ6IHJvdW5kKCRleHBvbmVudCAqICRwcmVjMik7XG4gICAgJGRlbm9taW5hdG9yOiBnY2QoJGV4cG9uZW50LCAkcHJlYzIpO1xuICAgIEByZXR1cm4gbnRoLXJvb3QocG93KCRiYXNlLCAkZXhwb25lbnQgLyAkZGVub21pbmF0b3IpLCAkcHJlYzIgLyAkZGVub21pbmF0b3IsICRwcmVjKTtcbiAgfVxuXG4gICR2YWx1ZTogJGJhc2U7XG4gIEBpZiAkZXhwb25lbnQgPiAxIHtcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqICRiYXNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZXhwb25lbnQgPCAxIHtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgLyAkYmFzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIG50aC1yb290KCRudW0sICRuOiAyLCAkcHJlYzogMTIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL050aF9yb290I0phdmFTY3JpcHRcbiAgJHg6IDE7XG5cbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkcHJlYyB7XG4gICAgJHg6IDEgLyAkbiAqICgoJG4gLSAxKSAqICR4ICsgKCRudW0gLyBwb3coJHgsICRuIC0gMSkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHg7XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSB3aWR0aCBmb3IgYSBnaXZlbiByYXRpby5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IHJlbGF0aXZlIHRvIHRoZSB3aWR0aCBvZiBhIHJlc3BvbnNpdmUgY29udGFpbmVyLlxuQGZ1bmN0aW9uIHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKSB7XG4gICR3OiBudGgoJHJhdGlvLCAxKTtcbiAgJGg6IG50aCgkcmF0aW8sIDMpO1xuICBAcmV0dXJuICRoIC8gJHcgKiAxMDAlO1xufVxuXG4vLy8gUGFyc2UgdGhlIGdpdmVuIGAkZnJhY3Rpb25gIHRvIG51bWVyYXRvcnMgYW5kIGRlbnVtZXJhdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJGZyYWN0aW9uIC0gVmFsdWUgcmVwcmVzZW50aW5nIGEgZnJhY3Rpb24gdG8gcGFyc2UuIEl0IGNhbiBiZSBmb3JtYXR0ZWQgYXMgYDUwJWAsIGAxIG9mIDJgLCBgMS8yYCBvciBgNTBgIChubyBkZW5vbWluYXRvciB3b3VsZCBiZSByZXR1cm5lZCkuXG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fSBMaXN0IG9mIHBhcnNlZCB2YWx1ZXMgd2l0aCBudW1lcmF0b3IgYXQgZmlyc3QgcG9zaXRpb24gYW5kIGRlbnVtZXJhdG9yIGFzIHNlY29uZC4gVGhlc2UgdmFsdWVzIG1heSBiZSBudWxsLlxuQGZ1bmN0aW9uIHpmLXBhcnNlLWZyYWN0aW9uKCRmcmFjdGlvbikge1xuXG4gIEBpZiB0eXBlLW9mKCRmcmFjdGlvbikgPT0gJ251bWJlcicge1xuICAgIC8vIFwiNTAlXCJcbiAgICBAaWYgdW5pdCgkZnJhY3Rpb24pID09ICclJyB7XG4gICAgICBAcmV0dXJuIChzdHJpcC11bml0KCRmcmFjdGlvbiksIDEwMCk7XG4gICAgfVxuICAgIEBlbHNlIGlmICh1bml0KCRmcmFjdGlvbikgPT0gJycpIHtcbiAgICAgIC8vIFwiMC41XCJcbiAgICAgIEBpZiAkZnJhY3Rpb24gPCAxIHtcbiAgICAgICAgQHJldHVybiAoJGZyYWN0aW9uICogMTAwLCAxMDApO1xuICAgICAgfVxuICAgICAgLy8gXCI1MFwiXG4gICAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gKCRmcmFjdGlvbiwgbnVsbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgdHlwZS1vZigkZnJhY3Rpb24pID09ICdsaXN0JyB7XG4gICAgLy8gXCI1MCBvZiAxMDBcIiwgXCI1MC8xMDBcIi4uLlxuICAgIEBpZiBsZW5ndGgoJGZyYWN0aW9uKSA9PSAzXG4gICAgICBhbmQgdHlwZS1vZihudGgoJGZyYWN0aW9uLCAxKSA9PSAnbnVtYmVyJylcbiAgICAgIGFuZCB0eXBlLW9mKG50aCgkZnJhY3Rpb24sIDMpID09ICdudW1iZXInKSB7XG4gICAgICBAcmV0dXJuIChudGgoJGZyYWN0aW9uLCAxKSwgbnRoKCRmcmFjdGlvbiwgMykpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gKG51bGwsIG51bGwpO1xufVxuXG4vLy8gUmV0dXJucyB3aGV0aGVyIHRoZSBnaXZlbiBgJHZhbHVlYCByZXByZXNlbnRzIGEgZnJhY3Rpb24uIFN1cHBvcnRzIGZvcm1hdHMgbGlrZSBgNTAlYCwgYDEgb2YgMmAsIGAxIHBlciAyYCBvciBgMS8yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJHZhbHVlIC0gVmFsdWUgdG8gdGVzdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhbGxvdy1uby1kZW5vbWluYXRvciBbZmFsc2VdIC0gSWYgYHRydWVgLCBzaW1wbGUgbnVtYmVycyB3aXRob3V0IGRlbm9taW5hdG9ycyBsaWtlIGA1MGAgYXJlIHN1cHBvcnRlZC5cbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2xlYW59IGB0cnVlYCBpZiBgJHZhbHVlYCByZXByZXNlbnRzIGEgZnJhY3Rpb24sIGBmYWxzZWAgb3RoZXJ3aXNlLlxuQGZ1bmN0aW9uIHpmLWlzLWZyYWN0aW9uKCR2YWx1ZSwgJGFsbG93LW5vLWRlbm9taW5hdG9yOiBmYWxzZSkge1xuICAkcGFyc2VkOiB6Zi1wYXJzZS1mcmFjdGlvbigkdmFsdWUpO1xuICBAcmV0dXJuIG5vdChudGgoJHBhcnNlZCwgMSkgPT0gbnVsbFxuICAgIG9yIChudGgoJHBhcnNlZCwgMikgPT0gbnVsbCBhbmQgJGFsbG93LW5vLWRlbm9taW5hdG9yID09IGZhbHNlKSk7XG59XG5cbi8vLyBDYWxjdWxhdGUgYSBwZXJjZW50YWdlIGZyb20gYSBnaXZlbiBmcmFjdGlvbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRmcmFjdGlvbiAtIFZhbHVlIHJlcHJlc2VudGluZyBhIGZyYWN0aW9uIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIHBlcmNlbnRhZ2UsIGZvcm1hdHRlZCBhcyBgNTBgIChyZWxhdGl2ZSB0byBgJGRlbm9taW5hdG9yYCksIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkZGVub21pbmF0b3IgLSBEZWZhdWx0IHZhbHVlIHRvIHVzZSBhcyBkZW5vbWluYXRvciB3aGVuIGAkZnJhY3Rpb25gIHJlcHJlc2VudHMgYW4gYWJzb2x1dGUgdmFsdWUuXG5AZnVuY3Rpb24gZnJhY3Rpb24tdG8tcGVyY2VudGFnZShcbiAgJGZyYWN0aW9uLFxuICAkZGVub21pbmF0b3I6IG51bGxcbikge1xuICAkcGFyc2VkOiB6Zi1wYXJzZS1mcmFjdGlvbigkZnJhY3Rpb24pO1xuICAkcGFyc2VkLW5vbWluYXRvcjogbnRoKCRwYXJzZWQsIDEpO1xuICAkcGFyc2VkLWRlbm9taW5hdG9yOiBudGgoJHBhcnNlZCwgMik7XG5cbiAgQGlmICRwYXJzZWQtbm9taW5hdG9yID09IG51bGwge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBcImZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoKVwiLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIgLyBcIm4vblwiLic7XG4gIH1cbiAgQGlmICRwYXJzZWQtZGVub21pbmF0b3IgPT0gbnVsbCB7XG4gICAgQGlmIHR5cGUtb2YoJGRlbm9taW5hdG9yKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkcGFyc2VkLWRlbm9taW5hdG9yOiAkZGVub21pbmF0b3I7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBlcnJvciAnRXJyb3Igd2l0aCBcImZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoKVwiLiBBIGRlZmF1bHQgXCIkZGVub21pbmF0b3JcIiBpcyByZXF1aXJlZCB0byBzdXBwb3J0IGFic29sdXRlIHZhbHVlcyc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBwZXJjZW50YWdlKCRwYXJzZWQtbm9taW5hdG9yIC8gJHBhcnNlZC1kZW5vbWluYXRvcik7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBSZXBvc2l0aW9uIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJHBvc2l0aW9uIC0gSXQgY2FuIGJlOlxuLy8vICAgKiBBIG51bWJlcjogVGhlIGNvbHVtbiB3aWxsIG1vdmUgZXF1YWwgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4gY291bnRcbi8vLyAgICAgc3BlY2lmaWVkLiBBIHBvc2l0aXZlIG51bWJlciB3aWxsIHB1c2ggdGhlIGNvbHVtbiB0byB0aGUgcmlnaHQsIHdoaWxlXG4vLy8gICAgIGEgbmVnYXRpdmUgbnVtYmVyIHdpbGwgcHVsbCBpdCB0byB0aGUgbGVmdC5cbi8vLyAgICogYGNlbnRlcmA6IENvbHVtbiB3aWxsIGJlIGNlbnRlcmVkXG4vLy8gICAqIGBhdXRvYDogQ29sdW1uIHdpbGwgYmUgcHVzaGVkIHRvIHRoZSBsZWZ0IChvciB0byB0aGUgcmlnaHQgZm9yIHRoZSBsYXN0IGNvbHVtbikuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKSB7XG4gIC8vIEF1dG8gcG9zaXRpb25pbmdcbiAgQGlmICRwb3NpdGlvbiA9PSBhdXRvIHtcbiAgICAmLCAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgIH1cblxuICAgIC8vIExhc3QgY29sdW1uIGFsaWdubWVudFxuICAgIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQdXNoL3B1bGxcbiAgQGVsc2UgaWYgdHlwZS1vZigkcG9zaXRpb24pID09ICdudW1iZXInIHtcbiAgICAkb2Zmc2V0OiBwZXJjZW50YWdlKCRwb3NpdGlvbiAvICRncmlkLWNvbHVtbi1jb3VudCk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG5cbiAgLy8gQ2VudGVyIHBvc2l0aW9uaW5nXG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBjZW50ZXIge1xuICAgICYsICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKS4gRW50ZXIgYSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBudW1iZXIsIFwiY2VudGVyXCIgb3IgXCJhdXRvXCIuJztcbiAgfVxufVxuXG4vLy8gUmVzZXQgYSBwb3NpdGlvbiBkZWZpbml0aW9uLlxuQG1peGluIGdyaWQtY29sdW1uLXVucG9zaXRpb24ge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbihhdXRvKTtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFdpZHRoIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLW9mZnNldCgkbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XG59XG5cbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cbkBtaXhpbiBncmlkLWNvbHVtbi1lbmQge1xuICAvLyBUaGlzIGV4dHJhIHNwZWNpZmljaXR5IGlzIHJlcXVpcmVkIGZvciB0aGUgcHJvcGVydHkgdG8gYmUgYXBwbGllZFxuICAmOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtcG9zKCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXVucG9zIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLW9mZnNldCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XG5AbWl4aW4gZ3JpZC1jb2wtb2ZmKCRuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1lbmQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxuQG1peGluIGdyaWQtY29sLWVuZCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWVuZDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNvbHVtbiddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkZ3V0dGVyXG4vLy8gICBUaGUgZ3V0dGVyIHRvIGFwcGx5IHRvIGNoaWxkIGVsZW1lbnRzLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gJGdyaWQtY29sdW1uLWd1dHRlciB3aWxsIHVzZSB0aGUgdmFsdWVzIGluIHRoZSAkZ3JpZC1jb2x1bW4tZ3V0dGVyIG1hcCwgaW5jbHVkaW5nIGJyZWFrcG9pbnQgc2l6ZXMuXG4vLy8gICAtIEEgZml4ZWQgbnVtZXJpYyB2YWx1ZSB3aWxsIGFwcGx5IHRoaXMgZ3V0dGVyIHRvIGFsbCBicmVha3BvaW50cy5cbkBtaXhpbiBncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jb2x1bW4nLFxuICAkZ3V0dGVyOiBudWxsXG4pIHtcbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgxLyRuKTtcblxuICAgIC8vIElmIGEgJGd1dHRlciB2YWx1ZSBpcyBwYXNzZWRcbiAgICBAaWYoJGd1dHRlcikge1xuICAgICAgLy8gR3V0dGVyc1xuICAgICAgQGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ21hcCcge1xuICAgICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRndXR0ZXIge1xuICAgICAgICAgICRwYWRkaW5nOiByZW0tY2FsYygkdmFsdWUpIC8gMjtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ251bWJlcicgYW5kIHN0cmlwLXVuaXQoJGd1dHRlcikgPiAwIHtcbiAgICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCRndXR0ZXIpIC8gMjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgjeyRufW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGV4dHJhIENTUyB0byBibG9jayBncmlkIGNoaWxkcmVuIHNvIHRoZSBsYXN0IGl0ZW1zIGluIHRoZSByb3cgY2VudGVyIGF1dG9tYXRpY2FsbHkuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbHVtbnMsIG5vdCB0aGUgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGl0ZW1zIHRoYXQgYXBwZWFyIGluIGVhY2ggcm93LlxuQG1peGluIGdyaWQtbGF5b3V0LWNlbnRlci1sYXN0KCRuKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRvICRuIHtcbiAgICBAaWYgJGkgPT0gMSB7XG4gICAgICAmOm50aC1jaGlsZCgjeyRufW4rMSk6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoMTAwIC0gMTAwLyRuICogJGkpIC8gMiAqIDElO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAmOm50aC1jaGlsZCgjeyRufW4rMSk6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgxMDAgLSAxMDAvJG4gKiAkaSkgLyAyICogMSU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b25cbi8vLy9cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gQHR5cGUgRm9udFxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gSWdub3JlZCBpZiBudWxsIChkZWZhdWx0KVxuLy8vIEB0eXBlIEZvbnQtV2VpZ2h0XG4kYnV0dG9uLWZvbnQtd2VpZ2h0OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgZm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGJ1dHRvbnMsIHRyYW5zcGFyZW50IGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIGZvciBob2xsb3cgb3V0bGluZSBidXR0b25zXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vLyB0cmFuc2l0aW9ucyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkaXRpb25hbCByZXNwb25zaXZlIGNsYXNzZXMgZm9yIC5leHBhbmRlZFxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuXG4gIEBpZiAodHlwZS1vZigkYnV0dG9uLXBhZGRpbmcpID09ICdtYXAnKSB7XG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluICRidXR0b24tcGFkZGluZyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICB9XG5cbiAgYm9yZGVyOiAkYnV0dG9uLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcbiAgZm9udC1mYW1pbHk6ICRidXR0b24tZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbiAgZm9udC13ZWlnaHQ6ICRidXR0b24tZm9udC13ZWlnaHQ7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLy8gRXhwYW5kcyBhIGJ1dHRvbiB0byBtYWtlIGl0IGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHRoZSBleHBhbmQgYmVoYXZpb3IuIFNldCB0byBgZmFsc2VgIHRvIHJldmVyc2UgdGhpcyBiZWhhdmlvci5cbkBtaXhpbiBidXR0b24tZXhwYW5kKCRleHBhbmQ6IHRydWUpIHtcbiAgQGlmICRleHBhbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgaG9sbG93IG9yIGNsZWFyIGJ1dHRvbiBmaWxsaW5nIGFjY29yZGluZyB0byBgJGZpbGxgLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWZpbGwtc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZmlsbCBbJGJ1dHRvbi1maWxsXSAtIFR5cGUgb2YgZmlsbGluZyBiZXR3ZWVuIGBob2xsb3dgIGFuZCBgY2xlYXJgLiBgc29saWRgIGhhcyBubyBlZmZlY3RzLlxuQG1peGluIGJ1dHRvbi1maWxsKFxuICAkZmlsbDogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGlmICRmaWxsID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgfVxuICBAZWxzZSBpZiAkZmlsbCA9PSBjbGVhciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWNsZWFyO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGVzIG9mIGEgc29saWQvaG9sbG93L2NsZWFyIGJ1dHRvbiBmaWxsaW5nIGFjY29yZGluZyB0byBgJGZpbGxgLlxuLy8vIFNlZSBtaXhpbnMgYGJ1dHRvbi1zdHlsZWAsIGBidXR0b24taG9sbG93LXN0eWxlYCBhbmQgYGJ1dHRvbi1jbGVhci1zdHlsZWAgZm9yIGVmZmVjdHMgb2YgdmlzdWFsIHN0eWxpbmcgcGFyYW1ldGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmaWxsIFskYnV0dG9uLWZpbGxdIC0gVHlwZSBvZiBmaWxsaW5nIGJldHdlZW4gYGhvbGxvd2AgYW5kIGBjbGVhcmAuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSAtXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSAtXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIC1cbkBtaXhpbiBidXR0b24tZmlsbC1zdHlsZShcbiAgJGZpbGw6ICRidXR0b24tZmlsbCxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcbiAgQGlmICRmaWxsID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRmaWxsID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cbiAgQGVsc2UgaWYgJGZpbGwgPT0gY2xlYXIge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1jbGVhci1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLXN0eWxlKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6ICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzcyk7XG4gIH1cblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgaG9sbG93IGJ1dHRvbi5cbi8vLyBTZWUgbWl4aW4gYGJ1dHRvbi1ob2xsb3ctc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgaG9sbG93IGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tYmFja2dyb3VuZF0gLSBUZXh0IGFuZCBib3JkZXIgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkaG92ZXItbGlnaHRuZXNzIFskYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3NdIC0gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRib3JkZXItd2lkdGggWyRidXR0b24taG9sbG93LWJvcmRlci13aWR0aF0gLSBCb3JkZXIgd2lkdGggb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKFxuICAkY29sb3I6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzLFxuICAkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgLy8gRGVmYXVsdCBhbmQgZGlzYWJsZWQgc3RhdGVzXG4gICYsXG4gICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkOmhvdmVyLCAmW2Rpc2FibGVkXTpob3ZlcixcbiAgJi5kaXNhYmxlZDpmb2N1cywgJltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgY2xlYXIgYnV0dG9uLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWNsZWFyLXN0eWxlYCBmb3IgdGhlIGZpbGxpbmcgc3R5bGVzLlxuQG1peGluIGJ1dHRvbi1jbGVhciB7XG4gICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGNsZWFyIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tYmFja2dyb3VuZF0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGhvdmVyLWxpZ2h0bmVzcyBbJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzXSAtIENvbG9yIGxpZ2h0bmVzcyBvbiBob3Zlci5cbkBtaXhpbiBidXR0b24tY2xlYXItc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3Ncbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgLy8gRGVmYXVsdCBhbmQgZGlzYWJsZWQgc3RhdGVzXG4gICYsXG4gICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkOmhvdmVyLCAmW2Rpc2FibGVkXTpob3ZlcixcbiAgJi5kaXNhYmxlZDpmb2N1cywgJltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQgYW5kIHJlc2V0aW5nIHRoZSBjdXJzb3IuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcGFjaXR5IFskYnV0dG9uLW9wYWNpdHktZGlzYWJsZWRdIC0gT3BhY2l0eSBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZChcbiAgJG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZFxuKSB7XG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuICAkc2l6ZTogMC40ZW0sXG4gICRjb2xvcjogJHdoaXRlLFxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuICBAaW5jbHVkZSBidXR0b24tZmlsbCgkc3R5bGUpO1xuICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkc3R5bGUsICRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b24oJHN0eWxlOiBub25lKTtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgQGlmICRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZCB7XG4gICAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSBvbmx5KSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1vbmx5LWV4cGFuZGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSBkb3duKSB7XG4gICAgICAgICAgICAmLiN7JHNpemV9LWRvd24tZXhwYW5kZWQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0pIHtcbiAgICAgICAgICAgICYuI3skc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNvbGlkLCBob2xsb3cgJiBjbGVhciBzdHlsZXNcbiAgICBAZWFjaCAkZmlsbGluZyBpbiAoc29saWQgaG9sbG93IGNsZWFyKSB7XG4gICAgICAkc2VsZWN0b3I6IGlmKCRidXR0b24tZmlsbCA9PSAkZmlsbGluZywgbnVsbCwgJy4jeyRmaWxsaW5nfScpO1xuXG4gICAgICAmI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwoJGZpbGxpbmcpO1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZyk7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJGZpbGxpbmcsICRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaG9sbG93LCAmLmNsZWFyIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIH1cbiAgfVxuXG4gIGEuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvbi1ncm91cFxuLy8vL1xuXG4vLy8gTWFyZ2luIGZvciBidXR0b24gZ3JvdXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYnV0dG9ucyB0aGF0IGNhbiBiZSBpbiBhbiBldmVuLXdpZHRoIGJ1dHRvbiBncm91cC4gKE9ubHkgbmVlZGVkIHdoZW4gJGdsb2JhbC1mbGV4Ym94OiBmYWxzZTspXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIERldGVybWluZXMgaWYgJGJ1dHRvbi1yYWRpdXMgaXMgYXBwbGllZCB0byBlYWNoIGJ1dHRvbiBvciB0aGUgYnV0dG9uIGdyb3VwIGFzIGEgd2hvbGUuIFVzZSAkZ2xvYmFsLXJhZGl1cyBpbiBfc2V0dGluZ3Muc2NzcyB0byBjaGFuZ2UgcmFkaXVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZCBzdHlsZXMgZm9yIGEgYnV0dG9uIGdyb3VwIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGNoaWxkLXNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmcgWyRidXR0b25ncm91cC1zcGFjaW5nXSAtIFNwYWNpbmcgYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cChcbiAgJGNoaWxkLXNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZ1xuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tYm90dG9tOiAkYnV0dG9uZ3JvdXAtbWFyZ2luO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgfVxuXG4gICN7JGNoaWxkLXNlbGVjdG9yfSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICB9XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gTWFrZSBidXR0b25zIGJvbmRlZCB3aXRob3V0IGdhcCBiZXR3ZWVuIHRoZW0uIEJvcmRlcnMgYmV0d2VlbiBidXR0b25zIGFyZSBtZXJnZWRcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtbm8tZ2FwcyhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICN7JHNlbGVjdG9yfSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IHJlbS1jYWxjKC0kYm9yZGVyLXdpZHRoKTtcblxuICAgICsgI3skc2VsZWN0b3J9IHtcbiAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtd2lkdGggYnV0dG9uIGdyb3VwLCBtYWtpbmcgZWFjaCBidXR0b24gZXF1YWwgd2lkdGguXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtZXhwYW5kKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nLFxuICAkY291bnQ6IG51bGxcbikge1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IC0kc3BhY2luZztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBPbmUgY2hpbGRcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRzcGFjaW5nfSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gVHdvIG9yIG1vcmUgY2hpbGRyZWVuXG4gICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRidXR0b25ncm91cC1leHBhbmQtbWF4IHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICAgICYsICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIH4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZSgxIC8gJGkpfSAtICN7JHNwYWNpbmd9KTtcbiAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nICogLSRidXR0b25ncm91cC1leHBhbmQtbWF4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbi8vLyBVbi1zdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtdW5zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cCB7XG4gIC5idXR0b24tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cDtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBHcm91cFxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDtcbiAgICB9XG5cbiAgICAvLyBTb2xpZCwgaG9sbG93ICYgY2xlYXIgc3R5bGVzXG4gICAgQGVhY2ggJGZpbGxpbmcgaW4gKHNvbGlkIGhvbGxvdyBjbGVhcikge1xuICAgICAgJGJhc2Utc2VsZWN0b3I6IGlmKCRidXR0b24tZmlsbCA9PSAkZmlsbGluZywgbnVsbCwgJy4jeyRmaWxsaW5nfScpO1xuXG4gICAgICAmI3skYmFzZS1zZWxlY3Rvcn0ge1xuICAgICAgICAvLyBEbyBub3QgZ2VuZXJhdGUgYnV0dG9uIGJhc2Ugc3R5bGVzIGZvciB0aGUgZGVmYXVsdCBmaWxsaW5nXG4gICAgICAgIEBpZigkYnV0dG9uLWZpbGwgIT0gJGZpbGxpbmcpIHtcbiAgICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwoJGZpbGxpbmcpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJGZpbGxpbmcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAkaW5kaXZpZHVhbC1zZWxlY3RvcjogaWYoJGJ1dHRvbi1maWxsID09ICRmaWxsaW5nLCBudWxsLCAnICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfS4jeyRuYW1lfScpO1xuXG4gICAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0sICN7JGluZGl2aWR1YWwtc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nLCAkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi5uby1nYXBzIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1uby1nYXBzO1xuICAgIH1cblxuICAgICYuc3RhY2tlZCxcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLFxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdGFjaztcblxuICAgICAgJi5leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNsb3NlLWJ1dHRvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLiBUaGUgZmlyc3QgdmFsdWUgc2hvdWxkIGJlIGByaWdodGAgb3IgYGxlZnRgLCBhbmQgdGhlIHNlY29uZCB2YWx1ZSBzaG91bGQgYmUgYHRvcGAgb3IgYGJvdHRvbWAuXG4vLy8gQHR5cGUgTGlzdFxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3AgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHotaW5kZXggZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLXotaW5kZXg6IDEwICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIHNpemUgdG8gdXNlIGFzIGRlZmF1bHRcbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAc2VlICRjbG9zZWJ1dHRvbi1zaXplXG4vLy8gQHNlZSAkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWxcbi8vLyBAc2VlICRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWxcbiRjbG9zZWJ1dHRvbi1kZWZhdWx0LXNpemU6IG1lZGl1bSAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IChvciBsZWZ0KSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRvcCAob3IgYm90dG9tKSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gU2l6ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLiBVc2VkIHRvIGdlbmVyYXRlIHNpemluZyBtb2RpZmllcnMuXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZS1oZWlnaHQgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gSXQgYWZmZWN0cyB0aGUgc3BhY2luZyBvZiB0aGUgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24gd2hlbiBiZWluZyBob3ZlcmVkIG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjayAhZGVmYXVsdDtcblxuXG4vLy8gR2V0IHRoZSBzaXplIGFuZCBwb3NpdGlvbiBmb3IgYSBjbG9zZSBidXR0b24uIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIG51bWJlciwgdGhlIG51bWJlciBpcyByZXR1cm5lZC4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgY29uZmlnIG1hcCBhbmQgdGhlIG1hcCBoYXMgdGhlIGtleSBgJHNpemVgLCB0aGUgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICR2YWx1ZSAtIEEgbnVtYmVyIG9yIG1hcCB0aGF0IHJlcHJlc2VudHMgdGhlIHNpemUgb3IgcG9zaXRpb24gdmFsdWUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gVGhlIHNpemUgb2YgdGhlIGNsb3NlIGJ1dHRvbiB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBnaXZlbiBudW1iZXIgb3IgdGhlIHZhbHVlIGZvdW5kIGluIHRoZSBtYXAuXG5AZnVuY3Rpb24gLXpmLWdldC1zaXplLXZhbCgkdmFsdWUsICRzaXplKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAvLyBJZiBpdCBpcywganVzdCByZXR1cm4gdGhlIG51bWJlclxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHNpemUgbmFtZSBleGlzdHMgaW4gdGhlIHZhbHVlIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkdmFsdWUsICRzaXplKSB7XG4gICAgLy8gSWYgaXQgZG9lcywgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWUsICRzaXplKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gb2YgYSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbbWVkaXVtXSAtIFRoZSBzaXplIHRvIHVzZS4gU2V0IHRvIGBzbWFsbGAgdG8gY3JlYXRlIGEgc21hbGwgY2xvc2UgYnV0dG9uLiBUaGUgJ21lZGl1bScgdmFsdWVzIGRlZmluZWQgaW4gYCRjbG9zZWJ1dHRvbi0qYCB2YXJpYWJsZXMgd2lsbCBiZSB1c2VkIGFzIHRoZSBkZWZhdWx0IHNpemUgYW5kIHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uXG5AbWl4aW4gY2xvc2UtYnV0dG9uLXNpemUoJHNpemUpIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgI3skeH06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsLCAkc2l6ZSk7XG4gICN7JHl9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWwsICRzaXplKTtcbiAgZm9udC1zaXplOiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1zaXplLCAkc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0LCAkc2l6ZSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjbG9zZSBidXR0b24sIHVzaW5nIHRoZSBzdHlsZXMgaW4gdGhlIHNldHRpbmdzIHZhcmlhYmxlcy5cbkBtaXhpbiBjbG9zZS1idXR0b24ge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogJGNsb3NlYnV0dG9uLXotaW5kZXg7XG4gIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3I7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbiB7XG4gIC5jbG9zZS1idXR0b24ge1xuICAgIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbjtcblxuICAgIC8vIEdlbmVyYXRlIGEgcGxhY2Vob2xkZXIgYW5kIGEgY2xhc3MgZm9yIGVhY2ggc2l6ZVxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkY2xvc2VidXR0b24tc2l6ZSB7XG4gICAgICBAYXQtcm9vdCB7XG4gICAgICAgICV6Zi1jbG9zZS1idXR0b24tLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBjbG9zZS1idXR0b24tc2l6ZSgkbmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIEBleHRlbmQgJXpmLWNsb3NlLWJ1dHRvbi0tI3skbmFtZX07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVXNlIGJ5IGRlZmF1bHQgdGhlIHBsYWNlaG9sZGVyIG9mIHRoZSBkZWZhdWx0IHNpemVcbiAgICBAZXh0ZW5kICV6Zi1jbG9zZS1idXR0b24tLSN7JGNsb3NlYnV0dG9uLWRlZmF1bHQtc2l6ZX07XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGxhYmVsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGJhc2Ugc3R5bGVzIGZvciBhIGxhYmVsLlxuQG1peGluIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkbGFiZWwtcmFkaXVzO1xuXG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGxhYmVsLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGxhYmVsLWNvbG9yLCAkbGFiZWwtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHByb2dyZXNzIGJhciBjb250YWluZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIG1ldGVyIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGV4dCBpbiB0aGUgcHJvZ3Jlc3MgbWV0ZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcjtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJHdoaXRlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyIHtcbiAgLy8gUHJvZ3Jlc3MgYmFyXG4gIC5wcm9ncmVzcyB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtY29udGFpbmVyO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyXG4gIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXI7XG4gIH1cblxuICAvLyBJbm5lciBtZXRlciB0ZXh0XG4gIC5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlci10ZXh0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm9ncmVzcy1iYXJcbi8vLy9cblxuLy8vIEhlaWdodCBvZiBhIHByb2dyZXNzIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBhIHByb2dyZXNzIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgYSBwcm9ncmVzcyBiYXIncyBtZXRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgb2YgYSBwcm9ncmVzcyBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tcHJvZ3Jlc3MtZWxlbWVudCB7XG4gIHByb2dyZXNzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLW1hcmdpbi1ib3R0b207XG5cbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICAgIH1cblxuICAgIC8vIEZvciBGaXJlZm94XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xuXG4gICAgJjo6LXdlYmtpdC1wcm9ncmVzcy1iYXIge1xuICAgICAgYmFja2dyb3VuZDogJHByb2dyZXNzLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICAgICAgYmFja2dyb3VuZDogJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIC8vIEludGVybmV0IEV4cGxvcmVyIHNldHMgdGhlIGZpbGwgd2l0aCBjb2xvclxuICAgICAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgICAgICY6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGb3IgSUUgYW5kIEVkZ2VcbiAgICAmOjotbXMtZmlsbCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIFtUT0RPXSBDaGVjayBob3cgcGx1Z2luIGNvbmZpcm1zIGRpc2FibGVkIG9yIHZlcnRpY2FsIHN0YXR1c1xuLy8gW1RPRE9dIENoZWNrIGlmIHRyYW5zaXRpb246IGFsbDsgaXMgbmVjZXNzYXJ5XG5cbi8vLy9cbi8vLyBAZ3JvdXAgc2xpZGVyXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHNsaWRlciB3aWR0aCBvZiBhIHZlcnRpY2FsIHNsaWRlci4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0aWVzIHRvIGFwcGx5IHRvIHRoZSBzbGlkZXIgaGFuZGxlIGFuZCBmaWxsLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgYWN0aXZlIGZpbGwgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWZpbGwtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0aGUgc2xpZGVyIGhhbmRsZXMuXG5AbWl4aW4gc2xpZGVyLWhhbmRsZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiAgfVxuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuQG1peGluIHNsaWRlci1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6ICRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuQG1peGluIHNsaWRlci12ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xuXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zbGlkZXIge1xuICAvLyBDb250YWluZXJcbiAgLnNsaWRlciB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIEZpbGwgYXJlYVxuICAuc2xpZGVyLWZpbGwge1xuICAgIEBpbmNsdWRlIHNsaWRlci1maWxsO1xuICB9XG5cbiAgLy8gRHJhZ2dhYmxlIGhhbmRsZVxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWhhbmRsZTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gIC5zbGlkZXIuZGlzYWJsZWQsXG4gIC5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBzbGlkZXJcbiAgLnNsaWRlci52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gUlRMIHN1cHBvcnRcbiAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAuc2xpZGVyOm5vdCgudmVydGljYWwpIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgc2xpZGVyXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGhlaWdodCBvZiB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgc2xpZGVyJ3MgdHJhY2suXG4vLy8gQHR5cGUgQ29sb3JcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBhY3RpdmUgZmlsbCBjb2xvciBvZiB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBoZWlnaHQgb2YgdGhlIGhhbmRsZSBvZiB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIHRoZSBoYW5kbGUgb2YgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBoYW5kbGUgZm9yIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmYWRlIGFtb3VudCBvZiBhIGRpc2FibGVkIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJhbmdlLWlucHV0IHtcbiAgaW5wdXRbdHlwZT0ncmFuZ2UnXSB7ICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAkbWFyZ2luOiAoJHNsaWRlci1oYW5kbGUtaGVpZ2h0IC0gJHNsaWRlci1oZWlnaHQpIC8gMjtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luO1xuICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW47XG5cbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRzbGlkZXItcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkO1xuICAgIH1cblxuICAgIC8vIHNhc3MtbGludDpkaXNhYmxlIG5vLXZlbmRvci1wcmVmaXhcblxuICAgIC8vIENocm9tZS9TYWZhcmlcbiAgICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgICAgbWFyZ2luLXRvcDogLSRtYXJnaW47XG5cbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRmlyZWZveFxuICAgICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgICAgbWFyZ2luLXRvcDogLSRtYXJnaW47XG5cbiAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSW50ZXJuZXQgRXhwbG9yZXJcbiAgICAmOjotbXMtdHJhY2sge1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcblxuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXRvcDogJG1hcmdpbiBzb2xpZCAkYm9keS1iYWNrZ3JvdW5kO1xuICAgICAgYm9yZGVyLWJvdHRvbTogJG1hcmdpbiBzb2xpZCAkYm9keS1iYWNrZ3JvdW5kO1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1iYWNrZ3JvdW5kO1xuXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmOjotbXMtdGh1bWIge1xuICAgICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRzbGlkZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi1tcy1maWxsLWxvd2VyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICY6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICBAYXQtcm9vdCB7XG4gICAgICBvdXRwdXQge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41ZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBzd2l0Y2hcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBhY3RpdmUgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodDogMnJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC50aW55IGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnNtYWxsIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAubGFyZ2UgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lciBhbmQgcGFkZGxlLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaCBwYWRkbGVcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBzd2l0Y2ggdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIE9wYWNpdHkgb2YgYSBkaXNhYmxlZCBzd2l0Y2guXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLW9wYWNpdHktZGlzYWJsZWQ6IC41ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIGZvciBhIGRpc2FibGVkIHN3aXRjaC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRzd2l0Y2gtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8gbWFrZSB0aGVtIHZhcmlhYmxlc1xuLy8gYXNrIGFib3V0IGFjY2Vzc2liaWxpdHkgb24gbGFiZWxcbi8vIGNoYW5nZSBjbGFzcyBuYW1lIGZvciB0ZXh0XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgY29udGFpbmVyIGNsYXNzLlxuQG1peGluIHN3aXRjaC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206ICRzd2l0Y2gtbWFyZ2luO1xuICBvdXRsaW5lOiAwO1xuXG4gIC8vIFRoZXNlIHByb3BlcnRpZXMgY2FzY2FkZSBkb3duIHRvIHRoZSBzd2l0Y2ggdGV4dFxuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggaW5wdXQuIEFwcGx5IHRoaXMgdG8gYW4gYDxpbnB1dD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGJhY2tncm91bmQgYW5kIHBhZGRsZSBvZiBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byBhIGA8bGFiZWw+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXBhZGRsZSB7XG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXJhZGl1cztcbiAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuXG4gIC8vIFJlc2V0dGluZyB0aGVzZSA8bGFiZWw+IHByZXNldHMgc28gdHlwZSBzdHlsZXMgY2FzY2FkZSBkb3duXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcblxuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gTmVlZGVkIHRvIG92ZXJyaWRlIHNwZWNpZmljaXR5XG4gIGlucHV0ICsgJiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gVGhlIHBhZGRsZSBpdHNlbGZcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcGFkZGxlLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBDaGFuZ2UgdGhlIHZpc3VhbCBzdHlsZSB3aGVuIHRoZSBzd2l0Y2ggaXMgYWN0aXZlXG4gIGlucHV0OmNoZWNrZWQgfiAmIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gICAgfVxuICB9XG5cbiAgLy8gaW5kaWNhdGUgYSBkaXNhYmxlZCBzd2l0Y2hcbiAgaW5wdXQ6ZGlzYWJsZWQgfiAmIHtcbiAgICBjdXJzb3I6ICRzd2l0Y2gtY3Vyc29yLWRpc2FibGVkO1xuICAgIG9wYWNpdHk6ICRzd2l0Y2gtb3BhY2l0eS1kaXNhYmxlZDtcbiAgfVxuXG4gIGlucHV0OmZvY3VzIH4gJiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhY3RpdmUvaW5hY3RpdmUgdGV4dCBpbnNpZGUgYSBzd2l0Y2guIEFwcGx5IHRoaXMgdG8gdGV4dCBlbGVtZW50cyBpbnNpZGUgdGhlIHN3aXRjaCBgPGxhYmVsPmAuXG5AbWl4aW4gc3dpdGNoLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1hY3RpdmUge1xuICAjeyRnbG9iYWwtbGVmdH06IDglO1xuICBkaXNwbGF5OiBub25lO1xuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+ICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWluYWN0aXZlIHtcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMTUlO1xuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+ICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8vIENoYW5nZXMgdGhlIHNpemUgb2YgYSBzd2l0Y2ggYnkgbW9kaWZ5aW5nIHRoZSBzaXplIG9mIHRoZSBib2R5IGFuZCBwYWRkbGUuIEFwcGx5IHRoaXMgdG8gYSBzd2l0Y2ggY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZm9udC1zaXplIFsxcmVtXSAtIEZvbnQgc2l6ZSBvZiBsYWJlbCB0ZXh0IHdpdGhpbiB0aGUgc3dpdGNoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3dpdGNoLWhlaWdodCBbMnJlbV0gLSBIZWlnaHQgb2YgdGhlIHN3aXRjaCBib2R5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGxlLW9mZnNldCBbMC4yNXJlbV0gLSBTcGFjaW5nIGJldHdlZW4gdGhlIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBzd2l0Y2ggYm9keS5cbkBtaXhpbiBzd2l0Y2gtc2l6ZShcbiAgJGZvbnQtc2l6ZTogMXJlbSxcbiAgJHN3aXRjaC1oZWlnaHQ6IDJyZW0sXG4gICRwYWRkbGUtb2Zmc2V0OiAwLjI1cmVtXG4pIHtcblxuICAkc3dpdGNoLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAqIDI7XG4gICRwYWRkbGUtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtaGVpZ2h0OiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q6ICRzd2l0Y2gtd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHBhZGRsZS1vZmZzZXQ7XG5cbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6ICRzd2l0Y2gtd2lkdGg7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIH1cblxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogJHBhZGRsZS1vZmZzZXQ7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLW9mZnNldDtcbiAgICB3aWR0aDogJHBhZGRsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRwYWRkbGUtaGVpZ2h0O1xuICB9XG5cbiAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc3dpdGNoIHtcbiAgLy8gQ29udGFpbmVyIGNsYXNzXG4gIC5zd2l0Y2gge1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIDxpbnB1dD4gZWxlbWVudFxuICAuc3dpdGNoLWlucHV0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtaW5wdXQ7XG4gIH1cblxuICAvLyA8bGFiZWw+IGVsZW1lbnRcbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1wYWRkbGU7XG4gIH1cblxuICAvLyBCYXNlIGxhYmVsIHRleHQgc3R5bGVzXG4gICVzd2l0Y2gtdGV4dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQ7XG4gIH1cblxuICAvLyBBY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1hY3RpdmUge1xuICAgIEBleHRlbmQgJXN3aXRjaC10ZXh0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWFjdGl2ZTtcbiAgfVxuXG4gIC8vIEluYWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtaW5hY3RpdmUge1xuICAgIEBleHRlbmQgJXN3aXRjaC10ZXh0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWluYWN0aXZlO1xuICB9XG5cbiAgLy8gU3dpdGNoIHNpemVzXG4gIC5zd2l0Y2gudGlueSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTApLCAkc3dpdGNoLWhlaWdodC10aW55LCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5zbWFsbCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTIpLCAkc3dpdGNoLWhlaWdodC1zbWFsbCwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2gubGFyZ2Uge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDE2KSwgJHN3aXRjaC1oZWlnaHQtbGFyZ2UsICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFibGVcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIHRhYmxlIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSBzdHJpcGVkIHRhYmxlIHJvd3MgYW5kIHRoZSB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzdHlsZSBmb3IgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFibGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdGFuZGFyZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RyaXBlZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIHRhYmxlcyBhcmUgc3RyaXBlZCBieSBkZWZhdWx0IGFuZCBhbiAudW5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuIElmIGBmYWxzZWAsIGEgLnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3Igc3RyaXBlZCByb3dzLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIHN0cmlwZSBvbiByb3dzIG9mIHRoZSB0YWJsZXMsIGV4Y2x1ZGluZyB0aGUgaGVhZGVyIGFuZCBmb290ZXIuIElmIGV2ZW4sIHRoZSBldmVuIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgb2RkLCB0aGUgb2RkIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgZW1wdHksIG9yIGFueSBvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxuLy8vIEB0eXBlIEtleXdvcmRcbiR0YWJsZS1zdHJpcGU6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBoZWFkZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgZm9vdGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBmb290ZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBoZWFkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvb3Rlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIGhlYWRlciB3aGVuIHVzaW5nIHN0YWNrZWQgdGFibGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHN0YWNrZWQgdGFibGUgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUpIHtcbiAgdHIge1xuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gZXZlbiwgZGFya2VuIHRoZSBldmVuIHJvd3MuXG4gICAgQGlmICRzdHJpcGUgPT0gZXZlbiB7XG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBvZGQsIGRhcmtlbiB0aGUgb2RkIHJvd3MuXG4gICAgQGVsc2UgaWYgJHN0cmlwZSA9PSBvZGQge1xuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtdW5zdHJpcGUoKSB7XG4gIHRyIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSwgJGlzLXN0cmlwZWQ6ICR0YWJsZS1pcy1zdHJpcGVkKSB7XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENhcHRpb25cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkXG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgZm9vdFxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWZvb3QtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWZvb3QtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWQgYW5kIGZvb3RcbiAgdGhlYWQsXG4gIHRmb290IHtcbiAgICAvLyBSb3dzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gQ2VsbHMgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgdGV4dC1hbGlnbjogI3skZ2xvYmFsLWxlZnR9O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRhYmxlIHJvd3NcbiAgdGJvZHkge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgc3RyaXBlZFxuICBAaWYgJGlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICB9XG5cbiAgICAmLnVuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIG5vdCBzdHJpcGVkXG4gIEBlbHNlIGlmICRpcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICB9XG5cbiAgICAmLnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHJpcGUgWyR0YWJsZS1zdHJpcGVdIC0gVXNlcyBrZXl3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBldmVuLlxuQG1peGluIHRhYmxlKFxuICAkc3RyaXBlOiAkdGFibGUtc3RyaXBlLFxuICAkbmVzdDogZmFsc2Vcbikge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gIEBpZiAkbmVzdCB7XG4gICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGFiaWxpdHkgdG8gaG9yaXpvbnRhbGx5IHNjcm9sbCB0aGUgdGFibGUgd2hlbiB0aGUgY29udGVudCBvdmVyZmxvd3MgaG9yaXpvbnRhbGx5LlxuQG1peGluIHRhYmxlLXNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLy8vIFNsaWdodGx5IGRhcmtlbnMgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG5AbWl4aW4gdGFibGUtaG92ZXIge1xuICB0aGVhZCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBoZWFkZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1oZWFkLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBmb290ZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1mb290LXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Ym9keSB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSBub24tc3RyaXBlZCB0YWJsZSByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlIGlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2UgaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFja2VkIHRhYmxlLiBVc2VmdWwgZm9yIHNtYWxsLXNjcmVlbiBsYXlvdXRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGhlYWRlciBbJHNob3ctaGVhZGVyLWZvci1zdGFja2VkXSAtIFNob3cgdGhlIGZpcnN0IHRoIG9mIGhlYWRlciB3aGVuIHN0YWNrZWQuXG5AbWl4aW4gdGFibGUtc3RhY2soJGhlYWRlcjogJHNob3ctaGVhZGVyLWZvci1zdGFja2VkKSB7XG4gIEBpZiAkaGVhZGVyIHtcbiAgICB0aGVhZCB7XG4gICAgICB0aCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHRyLFxuICB0aCxcbiAgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgdGQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFibGUoJG5lc3Q6IGZhbHNlKSB7XG4gIHRhYmxlIHtcbiAgICBAaW5jbHVkZSB0YWJsZSgkbmVzdDogJG5lc3QpO1xuICB9XG5cbiAgdGFibGUuc3RhY2sge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQgZG93bikge1xuICAgICAgQGluY2x1ZGUgdGFibGUtc3RhY2s7XG4gICAgfVxuICB9XG5cbiAgdGFibGUuc2Nyb2xsIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1zY3JvbGw7XG4gIH1cblxuICB0YWJsZS5ob3ZlciB7XG4gICAgQGluY2x1ZGUgdGFibGUtaG92ZXI7XG4gIH1cblxuICAudGFibGUtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuJGNvbnRyYXN0LXdhcm5pbmdzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcbiAgJHJnYmEyOiAoKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICRyZ2I6IG50aCgkcmdiYSwgJGkpO1xuICAgICRyZ2I6ICRyZ2IgLyAyNTU7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgJHJnYiAvIDEyLjkyLCBwb3coKCRyZ2IgKyAwLjA1NSkgLyAxLjA1NSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogJGx1bWluYW5jZTEgLyAkbHVtaW5hbmNlMjtcblxuICBAaWYgJGx1bWluYW5jZTIgPiAkbHVtaW5hbmNlMSB7XG4gICAgJHJhdGlvOiAxIC8gJHJhdGlvO1xuICB9XG5cbiAgJHJhdGlvOiByb3VuZCgkcmF0aW8gKiAxMCkgLyAxMDtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhc2UgLSBDb2xvciB0byBjaGVjayBsdW1pbmFuY2UuXG4vLy8gQHBhcmFtIHtMaXN0fSAkY29sb3JzIFsoJHdoaXRlLCAkYmxhY2spXSAtIENvbG9ycyB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9sZXJhbmNlIFskZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlXSAtIENvbnRyYXN0IHRvbGVyYW5jZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZSkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0LXdhcm5pbmdzIGFuZCAkY29udHJhc3QgPCAzKSB7XG4gICAgQHdhcm4gXCJDb250cmFzdCByYXRpbyBvZiAjeyRiZXN0fSBvbiAjeyRiYXNlfSBpcyBwcmV0dHkgYmFkLCBqdXN0ICN7JGNvbnRyYXN0fVwiO1xuICB9XG5cbiAgQHJldHVybiAkYmVzdDtcbn1cblxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGRhcmtlciBpZiBpdCdzIGxpZ2h0LCBvciBsaWdodGVyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG5cbi8vLyBHZXQgY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEBwYXJhbSB7a2V5fSBjb2xvciBrZXkgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbkBmdW5jdGlvbiBnZXQtY29sb3IoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdnaXZlbiAka2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSc7XG4gIH1cbn1cblxuLy8vIFRyYW5zZmVycyB0aGUgY29sb3JzIGluIHRoZSBgJGZvdW5kYXRpb24tcGFsZXR0ZWAgbWFwIGludG8gdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogIzE3NzliYSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogIzc2NzY3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6ICMzYWRiNzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xuICAgICR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICR3YXJuaW5nLWNvbG9yOiAjZmZhZTAwICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSB7XG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkYWxlcnQtY29sb3I6ICNjYzRiMzcgIWdsb2JhbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYmFkZ2Vcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtcGFkZGluZzogMC4zZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGEgYmFkZ2UuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgYmFkZ2UuXG5AbWl4aW4gYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogJGJhZGdlLW1pbndpZHRoO1xuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgZm9udC1zaXplOiAkYmFkZ2UtZm9udC1zaXplO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJhZGdlIHtcbiAgLmJhZGdlIHtcbiAgICBAaW5jbHVkZSBiYWRnZTtcblxuICAgIGJhY2tncm91bmQ6ICRiYWRnZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFkZ2UtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRiYWRnZS1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRiYWRnZS1jb2xvciwgJGJhZGdlLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYnNcbi8vLy9cblxuLy8vIE1hcmdpbiBhcm91bmQgYSBicmVhZGNydW1icyBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgYWN0aXZlIGJyZWFkY3J1bWIgbGluay5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gT3BhY2l0eSBvZiBkaXNhYmxlZCBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJyZWFkY3J1bWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIG1ha2VzIGJyZWFkY3J1bWIgbGlua3MgdXBwZXJjYXNlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBhIHNlcGVyYXRvciBiZXR3ZWVuIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBJZiBpdCBleGlzdHMgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2ggaXMgdXNlZCB0byBidWlsZCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3IuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCkge1xuICAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6ICRicmVhZGNydW1icy1pdGVtLXNsYXNoO1xufVxuXG4vLy8gVXNlZCBjaGFyYWN0ZXIgZm9yIHRoZSBicmVhZGNydW1iIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBDb250ZW50XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nICFkZWZhdWx0O1xuXG4vLy8gVXNlZCBjaGFyYWN0ZXIgZm9yIHRoZSBicmVhZGNydW1iIHNlcGFyYXRvciBpbiBydGwgbW9kZS5cbi8vLyBAdHlwZSBDb250ZW50XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJyAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvciBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yKSB7XG4gICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3I7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBicmVhZGNydW1icyBjb250YWluZXIsIGFsb25nIHdpdGggdGhlIHN0eWxlcyBmb3IgdGhlIGA8bGk+YCBhbmQgYDxhPmAgZWxlbWVudHMgaW5zaWRlIG9mIGl0LlxuQG1peGluIGJyZWFkY3J1bWJzLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRicmVhZGNydW1icy1tYXJnaW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLy8gSXRlbSB3cmFwcGVyXG4gIGxpIHtcbiAgICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gICAgZm9udC1zaXplOiAkYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3Ige1xuICAgICAgLy8gTmVlZCB0byBlc2NhcGUgdGhlIGJhY2tzbGFzaFxuICAgICAgJHNlcGFyYXRvcjogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAnbHRyJywgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0sICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bCk7XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgbWFyZ2luOiAwICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIGNvbnRlbnQ6ICRzZXBhcmF0b3I7XG4gICAgICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnJlYWRjcnVtYnMge1xuICAuYnJlYWRjcnVtYnMge1xuICAgIEBpbmNsdWRlIGJyZWFkY3J1bWJzLWNvbnRhaW5lcjtcblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FsbG91dFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgdmFsdWUgZm9yIGNhbGxvdXQgYmFja2dyb3VuZHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIENhbGxvdXQgcGFkZGluZ3MuXG4vLy8gQHR5cGUgTWFwXG4kY2FsbG91dC1zaXplczogKFxuICBzbWFsbDogMC41cmVtLFxuICBkZWZhdWx0OiAxcmVtLFxuICBsYXJnZTogM3JlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cywgaWYgdGhlIGNhbGxvdXQgaGFzIGEgZGFyayBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBbW91bnQgdG8gdGludCBsaW5rcyB1c2VkIHdpdGhpbiBjb2xvcmVkIHBhbmVscy4gU2V0IHRvIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGlzIGZlYXR1cmUuXG4vLy8gQHR5cGUgTnVtYmVyIHwgQm9vbGVhblxuJGNhbGxvdXQtbGluay10aW50OiAzMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYSBjYWxsb3V0LCBpbmNsdWRpbmcgcGFkZGluZyBhbmQgbWFyZ2luLlxuQG1peGluIGNhbGxvdXQtYmFzZSgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46ICRjYWxsb3V0LW1hcmdpbjtcbiAgcGFkZGluZzogbWFwLWdldCgkY2FsbG91dC1zaXplcywgZGVmYXVsdCk7XG5cbiAgYm9yZGVyOiAkY2FsbG91dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRjYWxsb3V0LXJhZGl1cztcblxuICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHF1aWNrIHN0eWxlcyBmb3IgYSBjYWxsb3V0IHVzaW5nIGEgc2luZ2xlIGNvbG9yIGFzIGEgYmFzZWxpbmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0LXN0eWxlKCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICAkYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGUpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRjYWxsb3V0LWZvbnQtY29sb3IsICRjYWxsb3V0LWZvbnQtY29sb3ItYWx0KSk7XG59XG5cbkBtaXhpbiBjYWxsb3V0LXNpemUoJHBhZGRpbmcpIHtcbiAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xuICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYWxsb3V0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dCgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgQGluY2x1ZGUgY2FsbG91dC1iYXNlO1xuICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhbGxvdXQge1xuICAuY2FsbG91dCB7XG4gICAgQGluY2x1ZGUgY2FsbG91dDtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlYWNoICRzaXplLCAkcGFkZGluZyBpbiBtYXAtcmVtb3ZlKCRjYWxsb3V0LXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKCRwYWRkaW5nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhcmRcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYXJkcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjYXJkIHNoYWRvdy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4uXG4vLy8gQHR5cGUgbnVtYmVyXG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBmb250IGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIC0gQm90dG9tIG1hcmdpbiBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRib3JkZXIgLSBCb3JkZXIgYXJvdW5kIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhZGl1cyAtIGJvcmRlciByYWRpdXMgb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hhZG93IC0gYm94IHNoYWRvdyBvZiB0aGUgY2FyZC5cbkBtaXhpbiBjYXJkLWNvbnRhaW5lcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGNhcmQtZm9udC1jb2xvcixcbiAgJG1hcmdpbjogJGNhcmQtbWFyZ2luLWJvdHRvbSxcbiAgJGJvcmRlcjogJGNhcmQtYm9yZGVyLFxuICAkcmFkaXVzOiAkY2FyZC1ib3JkZXItcmFkaXVzLFxuICAkc2hhZG93OiAkY2FyZC1zaGFkb3dcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG5cbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgZGl2aWRlci5cbkBtaXhpbiBjYXJkLWRpdmlkZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1kaXZpZGVyLWJhY2tncm91bmQsXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgc2VjdGlvbi5cbkBtaXhpbiBjYXJkLXNlY3Rpb24oXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FyZCB7XG4gIC5jYXJkIHtcbiAgICBAaW5jbHVkZSBjYXJkLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5jYXJkLWRpdmlkZXIge1xuICAgIEBpbmNsdWRlIGNhcmQtZGl2aWRlcjtcbiAgfVxuXG4gIC5jYXJkLXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGNhcmQtc2VjdGlvbjtcbiAgfVxuXG4gIC8vIEZvciBJRSAxMSAtIEZsZXhidWdcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncy9pc3N1ZXMvNzVcbiAgLmNhcmQtaW1hZ2Uge1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd25cbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBkcm9wZG93biBwYW5lcy4gRWFjaCBzaXplIGlzIGEgQ1NTIGNsYXNzIHlvdSBjYW4gYXBwbHkuXG4vLy8gQHR5cGUgTWFwXG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEFwcGxpZXMgc3R5bGVzIGZvciBhIGJhc2ljIGRyb3Bkb3duLlxuQG1peGluIGRyb3Bkb3duLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG5cbiAgZGlzcGxheTogbm9uZTtcblxuICB3aWR0aDogJGRyb3Bkb3duLXdpZHRoO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZztcblxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGRyb3Bkb3duLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWJhY2tncm91bmQ7XG5cbiAgZm9udC1zaXplOiAkZHJvcGRvd24tZm9udC1zaXplO1xuXG5cbiAgLy8gQWxsb3cgYW4gaW50ZXJtaXR0ZW50IHN0YXRlIHRvIGRvIHBvc2l0aW9uaW5nIGJlZm9yZSBtYWtpbmcgdmlzaWJsZS5cbiAgJi5pcy1vcGVuaW5nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICYuaXMtb3BlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93biB7XG4gIC5kcm9wZG93bi1wYW5lIHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXI7XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGRyb3Bkb3duLXNpemVzIHtcbiAgICAuZHJvcGRvd24tcGFuZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcGFnaW5hdGlvblxuLy8vL1xuXG4vLy8gRm9udCBzaXplIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBvZiB0aGUgcGFnaW5hdGlvbiBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCBtYXJnaW4gdG8gc2VwYXJhdGUgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBlbGxpcHNpcyBpbiBhIHBhZ2luYXRpb24gbWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIElmIGBmYWxzZWAsIGRvbid0IGRpc3BsYXkgcGFnZSBudW1iZXIgbGlua3Mgb24gbW9iaWxlLCBvbmx5IG5leHQvcHJldmlvdXMgbGlua3Ncbi8vLyBhbmQgb3B0aW9uYWxseSBjdXJyZW50IHBhZ2UgbnVtYmVyLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXkgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgb24gbW9iaWxlIGV2ZW4gaWYgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGBmYWxzZWAuXG4vLy8gVGhpcyBwYXJhbWV0ZXIgd2lsbCBvbmx5IG92ZXJyaWRlIHRoZSB2aXNpYmlsaXR5IHNldHRpbmcgb2YgdGhlIGN1cnJlbnQgaXRlbSBmb3IgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7YCxcbi8vLyBpdCB3aWxsIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgdmlzaWJpbGl0eSB3aGVuIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgdHJ1ZWAuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFycm93cyBhcmUgYWRkZWQgdG8gdGhlIG5leHQgYW5kIHByZXZpb3VzIGxpbmtzIG9mIHBhZ2luYXRpb24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ29udGVudCBmb3IgdGhlIHByZXZpb3VzIGFycm93IHdoZW4gYCRwYWdpbmF0aW9uLWFycm93c2AgaXMgYHRydWVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFnaW5hdGlvbi1hcnJvdy1wcmV2aW91czogJ1xcMDBBQicgIWRlZmF1bHQ7XG5cbi8vLyBDb250ZW50IGZvciB0aGUgbmV4dCBhcnJvdyB3aGVuIGAkcGFnaW5hdGlvbi1hcnJvd3NgIGlzIGB0cnVlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhZ2luYXRpb24tYXJyb3ctbmV4dDogJ1xcMDBCQicgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwYWdpbmF0aW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWNvbnRhaW5lciAoXG4gICRtYXJnaW4tYm90dG9tOiAkcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tLFxuICAkZm9udC1zaXplOiAkcGFnaW5hdGlvbi1mb250LXNpemUsXG4gICRzcGFjaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmcsXG4gICRyYWRpdXM6ICRwYWdpbmF0aW9uLXJhZGl1cyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuXG4gIC8vIExpc3QgaXRlbVxuICBsaSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuXG4gICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICY6bGFzdC1jaGlsZCxcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtIHtcbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBjdXJyZW50IHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50LFxuICAkY29sb3ItY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50XG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWN1cnJlbnQ7XG4gIGNvbG9yOiAkY29sb3ItY3VycmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb2xvcjogJGNvbG9yO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gZWxsaXBzaXMgZm9yIHVzZSBpbiBhIHBhZ2luYXRpb24gbGlzdC5cbkBtaXhpbiBwYWdpbmF0aW9uLWVsbGlwc2lzIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvclxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb250ZW50OiAnXFwyMDI2JztcbiAgY29sb3I6ICRjb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcGFnaW5hdGlvbiB7XG4gIC5wYWdpbmF0aW9uIHtcbiAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWNvbnRhaW5lcjtcblxuICAgIC5jdXJyZW50IHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1jdXJyZW50O1xuICAgIH1cblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLmVsbGlwc2lzOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWVsbGlwc2lzO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFnaW5hdGlvbi1hcnJvd3Mge1xuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAkcGFnaW5hdGlvbi1hcnJvdy1wcmV2aW91cztcbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuICAgIC5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICRwYWdpbmF0aW9uLWFycm93LW5leHQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b29sdGlwXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGN1cnNvciBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoYXMtdGlwLWN1cnNvcjogaGVscCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGJvdHRvbSBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIExpc3RcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBmb250LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXggd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIG9mIHRoZSB0b29sdGlwIHRleHQuIEJ5IGRlZmF1bHQsIHdlIHJlY29tbWVuZCBhIHNtYWxsZXIgZm9udCBzaXplIHRoYW4gdGhlIGJvZHkgY29weS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIGhlaWdodCBmb3IgdG9vbHRpcHMuIFRoaXMgaXMgaGVscGZ1bCBmb3IgY2FsY3VsYXRpbmcgdGhlIGRpc3RhbmNlIG9mIHRoZSB0b29sdGlwIGZyb20gdGhlIHRvb2x0aXAgd29yZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBib3JkZXItYm90dG9tOiAkaGFzLXRpcC1ib3JkZXItYm90dG9tO1xuICBmb250LXdlaWdodDogJGhhcy10aXAtZm9udC13ZWlnaHQ7XG4gIGN1cnNvcjogJGhhcy10aXAtY3Vyc29yO1xufVxuXG5AbWl4aW4gdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAjeyR0b29sdGlwLXBpcC1oZWlnaHR9KTtcbiAgei1pbmRleDogMTIwMDtcblxuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XG4gIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAmLmJvdHRvbSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHVwKTtcbiAgICAgIGJvdHRvbTogMTAwJTtcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnRvcCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGRvd24pO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYubGVmdCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHJpZ2h0KTtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnJpZ2h0IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgbGVmdCk7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLXRvcDo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiAxMCU7XG4gIH1cblxuICAmLmFsaWduLWJvdHRvbTo6YmVmb3JlIHtcbiAgICBib3R0b206IDEwJTtcbiAgICB0b3A6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLWxlZnQ6OmJlZm9yZSB7XG4gICAgbGVmdDogMTAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodDo6YmVmb3JlIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9vbHRpcCB7XG4gIC5oYXMtdGlwIHtcbiAgICBAaW5jbHVkZSBoYXMtdGlwO1xuICB9XG5cbiAgLnRvb2x0aXAge1xuICAgIEBpbmNsdWRlIHRvb2x0aXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjY29yZGlvbiBncm91cC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgcGx1cyBhbmQgbWludXMgaWNvbnMgdG8gdGhlIHNpZGUgb2YgZWFjaCBhY2NvcmRpb24gdGl0bGUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDb250ZW50IGZvciB0aGUgcGx1cyBpY29uIHdoZW4gYCRhY2NvcmRpb24tcGx1c21pbnVzYCBpcyBgdHJ1ZWBcbi8vLyBAdHlwZSBTdHJpbmdcbiRhY2NvcmRpb24tcGx1cy1jb250ZW50OiAnXFwwMDJCJyAhZGVmYXVsdDtcblxuLy8vIENvbnRlbnQgZm9yIHRoZSBtaW51cyBpY29uIHdoZW4gYCRhY2NvcmRpb24tcGx1c21pbnVzYCBpcyBgdHJ1ZWBcbi8vLyBAdHlwZSBTdHJpbmdcbiRhY2NvcmRpb24tbWludXMtY29udGVudDogJ1xcMjAxMycgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYWNjb3JkaW9uIHRpdGxlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gYWNjb3JkaW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgc2FtZSBlbGVtZW50IHRoYXQgZ2V0cyBgZGF0YS1hY2NvcmRpb25gLlxuQG1peGluIGFjY29yZGlvbi1jb250YWluZXIgKFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1iYWNrZ3JvdW5kXG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAmW2Rpc2FibGVkXSB7XG4gICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGlzdCBpdGVtIHdpdGhpbiBhbiBhY2NvcmRpb24gdWwuXG5AbWl4aW4gYWNjb3JkaW9uLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwIDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHRpdGxlIG9mIGFuIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaW5rIHdpdGhpbiBhbiBhY2NvcmRpb24gaXRlbS5cbkBtaXhpbiBhY2NvcmRpb24tdGl0bGUgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplLFxuICAkY29sb3I6ICRhY2NvcmRpb24taXRlbS1jb2xvcixcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gJiB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxuXG4gIEBpZiAkYWNjb3JkaW9uLXBsdXNtaW51cyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgICBjb250ZW50OiAkYWNjb3JkaW9uLXBsdXMtY29udGVudDtcbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlID4gJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICRhY2NvcmRpb24tbWludXMtY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhY2NvcmRpb24gY29udGVudC4gQXBwbHkgdGhpcyB0byB0aGUgY29udGVudCBwYW5lIGJlbG93IGFuIGFjY29yZGlvbiBpdGVtJ3MgdGl0bGUuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtY29sb3Jcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQgPiAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uIHtcbiAgLmFjY29yZGlvbiB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWl0ZW07XG4gIH1cblxuICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tdGl0bGU7XG4gIH1cblxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGltYWdlcyB3aXRoaW4gYSBtZWRpYSBvYmplY3QsIHdoZW4gdGhlIG9iamVjdCBpcyBzdGFja2VkIHZlcnRpY2FsbHkuIFNldCB0byAnYXV0bycgdG8gdXNlIHRoZSBpbWFnZSdzIG5hdHVyYWwgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgYmxvY2spO1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuXG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nXSAtIFBhZGRpbmcgYmV0d2VlbiBzZWN0aW9ucy5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc2VjdGlvbigkcGFkZGluZzogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZykge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkcGFkZGluZztcbiAgfVxuXG4gICY6bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGluZztcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9ICYge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICYubWFpbi1zZWN0aW9uIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAmLm1pZGRsZSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgICYuYm90dG9tIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBzdGFjayBzZWN0aW9ucyBvZiBhIG1lZGlhIG9iamVjdC4gQXBwbHkgdGhpcyB0byB0aGUgc2VjdGlvbiBlbGVtZW50cywgbm90IHRoZSBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXN0YWNrIHtcbiAgcGFkZGluZzogMDtcbiAgcGFkZGluZy1ib3R0b206ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0IHtcbiAgLm1lZGlhLW9iamVjdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXNlY3Rpb247XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9yYml0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBhY3RpdmUgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGlhbWV0ZXIgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGJldHdlZW4gT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGlzdGFuY2UgZnJvbSBzbGlkZSByZWdpb24gZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZyb20gT3JiaXQncyBidWxsZXRzIHRvIHdoYXRldmVyIGNvbnRlbnQgbWF5IGx1cmsgYmVsb3cgaXQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjYXB0aW9uLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjYXB0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjb250cm9scyB3aGVuIGhvdmVyZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgei1pbmRleCBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTAgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIG91dGVyIE9yYml0IHdyYXBwZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5uZXIgT3JiaXQgc2xpZGUgY29udGFpbmVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY29udGFpbmVyYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDsgLy8gUHJldmVudCBGT1VDIGJ5IG5vdCBzaG93aW5nIHVudGlsIEpTIHNldHMgaGVpZ2h0XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5kaXZpZHVhbCBzbGlkZXMgb2YgYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtc2xpZGVgIGNsYXNzLlxuQG1peGluIG9yYml0LXNsaWRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAmLm5vLW1vdGlvbnVpIHtcbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gb3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc2xpZGUgY29udGFpbmluZyBhbiBpbWFnZS4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWltYWdlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBvcmJpdCBzbGlkZSBjYXB0aW9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY2FwdGlvbmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogJG9yYml0LWNhcHRpb24tcGFkZGluZztcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kKTtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIHRoZSBuZXh0L3ByZXZpb3VzIGJ1dHRvbnMgaW4gYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZSBgLm9yYml0LW5leHRgIGFuZCBgLm9yYml0LXByZXZpb3VzYCBjbGFzc2VzIGluIHRoZSBkZWZhdWx0IENTUy5cbkBtaXhpbiBvcmJpdC1jb250cm9sIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIHotaW5kZXg6ICRvcmJpdC1jb250cm9sLXppbmRleDtcbiAgcGFkZGluZzogJG9yYml0LWNvbnRyb2wtcGFkZGluZztcbiAgY29sb3I6ICR3aGl0ZTtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtcHJldmlvdXMge1xuICAjeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IG5leHQgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtbmV4dGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtbmV4dCB7XG4gICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNvbnRhaW5lciBvZiBPcmJpdCBidWxsZXRzLiAvLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1idWxsZXRzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1idWxsZXRzIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6ICRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDtcbiAgbWFyZ2luLWJvdHRvbTogJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgYnV0dG9uIHtcbiAgICB3aWR0aDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBoZWlnaHQ6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgbWFyZ2luOiAkb3JiaXQtYnVsbGV0LW1hcmdpbjtcblxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb3JiaXQge1xuICAub3JiaXQge1xuICAgIEBpbmNsdWRlIG9yYml0LXdyYXBwZXI7XG4gIH1cblxuICAub3JiaXQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250YWluZXI7XG4gIH1cblxuICAub3JiaXQtc2xpZGUge1xuICAgIEBpbmNsdWRlIG9yYml0LXNsaWRlO1xuICB9XG5cbiAgLm9yYml0LWZpZ3VyZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtZmlndXJlO1xuICB9XG5cbiAgLm9yYml0LWltYWdlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1pbWFnZTtcbiAgfVxuXG4gIC5vcmJpdC1jYXB0aW9uIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jYXB0aW9uO1xuICB9XG5cbiAgJW9yYml0LWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRyb2w7XG4gIH1cblxuICAub3JiaXQtcHJldmlvdXMge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtcHJldmlvdXM7XG4gIH1cblxuICAub3JiaXQtbmV4dCB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1uZXh0O1xuICB9XG5cbiAgLm9yYml0LWJ1bGxldHMge1xuICAgIEBpbmNsdWRlIG9yYml0LWJ1bGxldHM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJlc3BvbnNpdmUtZW1iZWRcbi8vLy9cblxuLy8vIE1hcmdpbiBiZWxvdyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gQXNwZWN0IHJhdGlvcyB1c2VkIHRvIGRldGVybWluZSBwYWRkaW5nLWJvdHRvbSBvZiByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lcnMuXG4vLy8gQHR5cGUgTWFwXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ3xMaXN0fSAkcmF0aW8gW2RlZmF1bHRdIC0gUmF0aW8gb2YgdGhlIGNvbnRhaW5lci4gQ2FuIGJlIGEga2V5IGZyb20gdGhlIGAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3NgIG1hcCBvciBhIGxpc3QgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuQG1peGluIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KSB7XG4gIEBpZiB0eXBlLW9mKCRyYXRpbykgPT0gJ3N0cmluZycge1xuICAgICRyYXRpbzogbWFwLWdldCgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsICRyYXRpbyk7XG4gIH1cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b207XG4gIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkLFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQge1xuICAucmVzcG9uc2l2ZS1lbWJlZCxcbiAgLmZsZXgtdmlkZW8ge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KTtcblxuICAgICRyYXRpb3M6IG1hcC1yZW1vdmUoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLGRlZmF1bHQpO1xuXG4gICAgQGVhY2ggJG5hbWUsICRyYXRpbyBpbiAkcmF0aW9zIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFic1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gb2YgdGhlIHRhYiBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0YWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYSB0YWIgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gdGFicy1jb250YWluZXIgKFxuICAkbWFyZ2luOiAkdGFiLW1hcmdpbixcbiAgJGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZCxcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRtYXJnaW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250YWluZXIgdG8gaGF2ZSB2ZXJ0aWNhbCB0YWJzLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRhaW5lcigpYC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbCB7XG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGxpbmtzIHdpdGhpbiBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIGA8bGk+YCBlbGVtZW50cyBpbnNpZGUgYSB0YWIgY29udGFpbmVyLlxuQG1peGluIHRhYnMtdGl0bGUgKFxuICAkcGFkZGluZzogJHRhYi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICR0YWItaXRlbS1mb250LXNpemUsXG4gICRjb2xvcjogJHRhYi1jb2xvcixcbiAgJGNvbG9yLWFjdGl2ZTogJHRhYi1hY3RpdmUtY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGJhY2tncm91bmQtYWN0aXZlOiAkdGFiLWJhY2tncm91bmQtYWN0aXZlXG4pIHtcbiAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICA+IGEge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkY29sb3ItYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIHRoYXQgc3Vycm91bmRzIGEgdGFiIGdyb3VwJ3MgY29udGVudCBwYW5lcy5cbkBtaXhpbiB0YWJzLWNvbnRlbnQgKFxuICAkYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJHRhYi1jb250ZW50LWNvbG9yLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250ZW50IGNvbnRhaW5lciB0byBoYXZlIGEgdmVydGljYWwgc3R5bGUsIGJ5IHNoaWZ0aW5nIHRoZSBib3JkZXIgYXJvdW5kLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRlbnQoKWAuXG5AbWl4aW4gdGFicy1jb250ZW50LXZlcnRpY2FsIChcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gaW5kaXZpZHVhbCB0YWIgY29udGVudCBwYW5lbCB3aXRoaW4gdGhlIHRhYiBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXBhbmVsIChcbiAgJHBhZGRpbmc6ICR0YWItY29udGVudC1wYWRkaW5nXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYnMge1xuICAudGFicyB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXI7XG4gIH1cblxuICAvLyBWZXJ0aWNhbFxuICAudGFicy52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBTaW1wbGVcbiAgLnRhYnMuc2ltcGxlIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJpbWFyeSBjb2xvclxuICAudGFicy5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRwcmltYXJ5LWNvbG9yKTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkcHJpbWFyeS1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhYnMtdGl0bGUge1xuICAgIEBpbmNsdWRlIHRhYnMtdGl0bGU7XG4gIH1cblxuICAudGFicy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQ7XG4gIH1cblxuICAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQtdmVydGljYWw7XG4gIH1cblxuICAudGFicy1wYW5lbCB7XG4gICAgQGluY2x1ZGUgdGFicy1wYW5lbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGh1bWJuYWlsXG4vLy8vXG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kdGh1bWJuYWlsLWJvcmRlcjogNHB4IHNvbGlkICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wcnRpZXMgZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRodW1ibmFpbCBzdHlsZXMgdG8gYW4gZWxlbWVudC5cbkBtaXhpbiB0aHVtYm5haWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tO1xuXG4gIGJvcmRlcjogJHRodW1ibmFpbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICR0aHVtYm5haWwtcmFkaXVzO1xuICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdztcblxuICBsaW5lLWhlaWdodDogMDtcbn1cblxuQG1peGluIHRodW1ibmFpbC1saW5rIHtcbiAgdHJhbnNpdGlvbjogJHRodW1ibmFpbC10cmFuc2l0aW9uO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93LWhvdmVyO1xuICB9XG5cbiAgaW1hZ2Uge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGh1bWJuYWlsIHtcbiAgLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsO1xuICB9XG5cbiAgYS50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbC1saW5rO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIHBpbGwgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gbWFyZ2luIGZvciBpdGVtcyBpbiBhIHNpbXBsZSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0aXZlIHRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS4uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWx0LWFjdGl2ZTogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgc3RhdGUuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGBhY3RpdmVgIHdpdGggYGlzLWFjdGl2ZWAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBhY3RpdmVgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgY2VudGVyZWQuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGAubWVudS1jZW50ZXJlZCA+IC5tZW51YCB3aXRoIGAubWVudS5hbGlnbi1jZW50ZXJgLiBcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgbWVudS1jZW50ZXJlZGAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgdXNpbmcgYGljb24tKmAgY2xhc3NlcyB3aXRob3V0IGAuaWNvbnNgIGNsYXNzZXNcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCB0aGlzIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cblxuICBhLFxuICAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG1lbnUtaXRlbXMtcGFkZGluZztcbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvZiBpbm5lciBlbGVtZW50c1xuICBpbnB1dCxcbiAgc2VsZWN0LFxuICBhLFxuICBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8vLyBFeHBhbmRzIHRoZSBpdGVtcyBvZiBhIE1lbnUsIHNvIGVhY2ggaXRlbSBpcyB0aGUgc2FtZSB3aWR0aC5cbkBtaXhpbiBtZW51LWV4cGFuZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBbGlnbiBtZW51IGl0ZW1zLlxuQG1peGluIG1lbnUtYWxpZ24oJGFsaWdubWVudCkge1xuICBAaWYgJGFsaWdubWVudCA9PSBsZWZ0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gY2VudGVyIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIGEgTWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgW2hvcml6b250YWxdIC0gRGlyZWN0aW9uIG9mIHRoZSBNZW51LiBDYW4gYmUgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGAuXG5AbWl4aW4gbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIG1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW1wbGUgTWVudSwgd2hpY2ggaGFzIG5vIHBhZGRpbmcgb3IgaG92ZXIgc3RhdGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFskZ2xvYmFsLWxlZnRdIC0gRGlyZWN0aW9uIG9mIHRoZSBtZW51LiBUaGlzIGVmZmVjdHMgdGhlIHNpZGUgb2YgdGhlIGA8bGk+YCB0aGF0IHJlY2VpdmVzIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LXNpbXBsZS1tYXJnaW5dIC0gVGhlIG1hcmdpbiB0byBhcHBseSB0byBlYWNoIGA8bGk+YC5cbkBtaXhpbiBtZW51LXNpbXBsZSgkZGlyOiAkZ2xvYmFsLWxlZnQsICRtYXJnaW46ICRtZW51LXNpbXBsZS1tYXJnaW4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIGxpICsgbGkge1xuICAgIG1hcmdpbi0jeyRkaXJ9OiAkbWFyZ2luO1xuICB9XG5cbiAgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LW5lc3RlZC1tYXJnaW5dIC0gTGVuZ3RoIG9mIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbmVzdGVkLWFsaWdubWVudCBbbGVmdF0gLSBBbGlnbm1lbnQgb2YgdGhlIG5lc3RlZCBjbGFzc1xuQG1peGluIG1lbnUtbmVzdGVkKFxuICAkbWFyZ2luOiAkbWVudS1uZXN0ZWQtbWFyZ2luLFxuICAkbmVzdGVkLWFsaWdubWVudDogbGVmdFxuKSB7XG4gIEBpZiAkbmVzdGVkLWFsaWdubWVudCA9PSByaWdodCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRtYXJnaW47XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcbiAgfVxuXG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgaWNvbnMgaW4gbWVudXMuXG5AbWl4aW4gbWVudS1pY29ucygpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgaW1nLFxuICAgIGksXG4gICAgc3ZnIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICsgc3BhbiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHBvc2l0aW9uIGNsYXNzZXMgZm9yIGljb25zIHdpdGhpbiBhIG1lbnUuXG5AbWl4aW4gbWVudS1pY29uLXBvc2l0aW9uKCRwb3NpdGlvbjogbGVmdCwgJHNwYWNpbmc6ICRtZW51LWljb24tc3BhY2luZykge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byAkc3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAkc3BhY2luZyBhdXRvIDA7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZW51LXRleHQge1xuICBwYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcblxuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5AbWl4aW4gbWVudS1zdGF0ZS1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAkbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlLCAoJG1lbnUtaXRlbS1jb2xvci1hY3RpdmUsICRtZW51LWl0ZW0tY29sb3ItYWx0LWFjdGl2ZSkpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZW51IHtcbiAgLm1lbnUge1xuICAgIEBpbmNsdWRlIG1lbnUtYmFzZTtcblxuICAgIC8vIERlZmF1bHQgb3JpZW50YXRpb246IGhvcml6b250YWxcbiAgICAmLCAmLmhvcml6b250YWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgb3JpZW50YXRpb24gbW9kaWZpZXJcbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIG1vZGlmaWVyIGZvciBob3Jpem9udGFsIG9yaWVudGF0aW9uXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICB9XG5cbiAgICAvLyBTaW1wbGVcbiAgICAmLnNpbXBsZSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZTtcbiAgICB9XG5cbiAgICAvLyBCcmVha3BvaW50IHNwZWNpZmljIHZlcnNpb25zXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IGZhbHNlKSB7XG4gICAgICAmLiN7JC16Zi1zaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1zaW1wbGUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJi5uZXN0ZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQ7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCYXNlIFN0eWxlc1xuICAgICYuaWNvbnMge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICB9XG5cbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtaWNvbnMtYmFjay1jb21wYXQge1xuICAgICAgJi5pY29uLXRvcCxcbiAgICAgICYuaWNvbi1yaWdodCxcbiAgICAgICYuaWNvbi1ib3R0b20sXG4gICAgICAmLmljb24tbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWNvbiBMZWZ0XG4gICAgJi5pY29uLWxlZnQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEljb24gUmlnaHRcbiAgICAmLmljb24tcmlnaHQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHJpZ2h0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFRvcFxuICAgICYuaWNvbi10b3Age1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHRvcCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCb3R0b21cbiAgICAmLmljb24tYm90dG9tIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihib3R0b20pO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgIH1cbiAgICBcbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtc3RhdGUtYmFjay1jb21wYXQge1xuICAgICAgLmFjdGl2ZSA+IGEge1xuICAgICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBsZWZ0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtbGVmdH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBBbGlnbiByaWdodFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKHJpZ2h0KTtcblxuICAgICAgLm5lc3RlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRuZXN0ZWQtYWxpZ25tZW50OiByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gY2VudGVyXG4gICAgJi5hbGlnbi1jZW50ZXIge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgIH1cblxuICAgIC5tZW51LXRleHQge1xuICAgICAgQGluY2x1ZGUgbWVudS10ZXh0O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdCB7XG4gICAgLm1lbnUtY2VudGVyZWQge1xuICAgICAgPiAubWVudSB7XG4gICAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJldmVudCBGT1VDIHdoZW4gdXNpbmcgdGhlIFJlc3BvbnNpdmUgTWVudSBwbHVnaW5cbiAgLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUtaWNvbiB7XG4gIC5tZW51LWljb24ge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcigkY29sb3I6ICR0aXRsZWJhci1pY29uLWNvbG9yLCAkY29sb3ItaG92ZXI6ICR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyKTtcbiAgfVxuXG4gIC5tZW51LWljb24uZGFyayB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyO1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvbi1tZW51XG4vLy8vXG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgYWNjb3JkaW9uIG1lbnVzIGhhdmUgdGhlIGRlZmF1bHQgYXJyb3cgc3R5bGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBib3JkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgTGlzdFxuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSB0b2dnbGUgYmFja2dyb3VuZCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIGhlaWdodC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWFjY29yZGlvbi1tZW51LWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplIC8gMik7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tbGVmdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMXJlbTtcbiAgfVxufVxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnUge1xuXG4gIC5hY2NvcmRpb24tbWVudSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICAgIGJvcmRlci10b3A6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICB9XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbiwgcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1hcnJvd3Mge1xuICAgICAgQGluY2x1ZGUgemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudSBsaSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBib3JkZXItbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuaGFzLXN1Ym1lbnUtdG9nZ2xlID4gYSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuICB9XG5cbiAgLy8gU3VibWVudSB0b2dnbGVcbiAgLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1yaWdodH06IDA7XG5cbiAgICB3aWR0aDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ7XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjtcblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kIHtcbiAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQWRkIHRoZSBhcnJvdyB0byB0aGUgdG9nZ2xlXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDZweCwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuXG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLy8gUm90YXRlIHRoZSBhcnJvdyB3aGVuIG1lbnUgaXMgb3BlblxuICAuc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIH1cblxuICAuc3VibWVudS10b2dnbGUtdGV4dCB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyaWxsZG93blxuLy8vL1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0eSB0byB1c2UgZm9yIGFuaW1hdGluZyBtZW51cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGFycm93cyB0byBkcmlsbGRvd24gaXRlbXMgd2l0aCBzdWJtZW51cywgYXMgd2VsbCBhcyB0aGUgYmFjayBidXR0b24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcgaW4gdGhlIHN1Ym1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHN1Ym1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLXJpZ2h0KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJpbGxkb3duLWFycm93LXNpemU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgICByaWdodDogMXJlbTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gIH1cblxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIE1lbnUgY29udGFpbmVyXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi5hbmltYXRlLWhlaWdodCB7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgICB9XG4gIH1cblxuICAvLyBUaGUgdG9wIGxldmVsIDx1bD5cbiAgLmRyaWxsZG93biB7XG4gICAgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQXBwbGllZCB0byBzdWJtZW51IDx1bD5zXG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgICAgdHJhbnNpdGlvbjogJGRyaWxsZG93bi10cmFuc2l0aW9uO1xuXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIC0xMDAlLCAxMDAlKSk7XG4gICAgICB9XG5cbiAgICAgICYuaXMtY2xvc2luZyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgMTAwJSwgLTEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU3VibWVudSBpdGVtIHBhZGRpbmdcbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmICRkcmlsbGRvd24tYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1sZWZ0KTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC43NXJlbTsgLy8gQ3JlYXRlcyBzcGFjZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHRcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duLW1lbnVcbi8vLy9cblxuLy8vIEVuYWJsZXMgYXJyb3dzIGZvciBpdGVtcyB3aXRoIGRyb3Bkb3duIG1lbnVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgcGFkZGluZyBmb3IgYWxpZ25pbmcgdGhlIGFycm93IGNvcnJlY3RseS5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyb3Bkb3ducy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3Igc3ViLW1lbnUgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIEJvcmRlciB3aWR0aCBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8gVXNlZCB0byBhZGp1c3QgdG9wIG1hcmdpbiBvZiBhIHN1Yi1tZW51IGlmIGEgYm9yZGVyIGlzIHVzZWQuXG4vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoOiBudGgoJGRyb3Bkb3dubWVudS1ib3JkZXIsIDEpO1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtLiBFeHBsaWNpdCBvdmVycmlkZSBmb3IgbWVudSBkZWZhdWx0c1xuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtLiBFeHBsaWNpdCBvdmVycmlkZSBmb3IgbWVudSBkZWZhdWx0c1xuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgPiBhOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMTRweDtcbiAgfVxuXG4gICYub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gIH1cblxuICAmLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgfVxufVxuXG5AbWl4aW4gZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICA+IGxpLm9wZW5zLWxlZnQgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkub3BlbnMtcmlnaHQgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nO1xuICAgICAgfVxuXG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMSAqICgkZHJvcGRvd25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgPiBsaSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1sZWZ0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1yaWdodCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnUge1xuICAuZHJvcGRvd24ubWVudSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICB9XG5cbiAgICAvLyBUb3AtbGV2ZWwgaXRlbVxuICAgID4gbGkgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAvLyBUb3AtbGV2ZWwgaXRlbSBhY3RpdmUgc3RhdGVcbiAgICA+IGxpLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgYmFja2dyb3VuZDogJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbiAgICB9XG5cbiAgICAubm8tanMgJiB1bCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAgICYuI3skc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLiN7JHNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICAgIHdpZHRoOiAxMDBweDtcblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgYTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTtcbiAgICB9XG5cbiAgICAmLm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuXG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICYub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAmLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtaW4td2lkdGg6ICRkcm9wZG93bm1lbnUtbWluLXdpZHRoO1xuXG4gICAgYm9yZGVyOiAkZHJvcGRvd25tZW51LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDtcblxuICAgIC5kcm9wZG93biAmIGEge1xuICAgICAgcGFkZGluZzogJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAodHlwZS1vZigkZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCkgPT0gJ251bWJlcicpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgbWFyZ2luLXRvcDogKC0kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBbVE9ET10gQ3V0IGJhY2sgc3BlY2lmaWNpdHlcbiAgICAvLyY6bm90KC5qcy1kcm9wZG93bi1ub2hvdmVyKSA+IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudDpob3ZlciA+ICYsIC8vIHdoeSBpcyB0aGlzIGxpbmUgbmVlZGVkPyBPcGVuaW5nIGlzIGhhbmRsZWQgYnkgSlMgYW5kIHRoaXMgY2F1c2VzIHNvbWUgdWdseSBmbGlja2VyaW5nIHdoZW4gdGhlIHN1YiBpcyByZS1wb3NpdGlvbmVkIGF1dG9tYXRpY2FsbHkuLi5cbiAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9mZi1jYW52YXNcbi8vLy9cblxuLy8vIFdpZHRoIG1hcCBvZiBhIGxlZnQvcmlnaHQgb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBtYXAgb2YgYSB0b3AvYm90dG9tIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTWFwXG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGZvciB0aGUgb2ZmLWNhbnZhcyBvdmVybGFwIHBhbmVsLlxuLy8vIEB0eXBlIFNoYWRvd1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBzaXplIGZvciB0aGUgb2ZmLWNhbnZhcyBwdXNoIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweCAhZGVmYXVsdDtcblxuLy8vIElubmVyIGJveCBzaGFkb3cgY29sb3IgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgY29udGVudCBvdmVybGF5LlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTEgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYHB1c2hgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMiAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgb3ZlcmxhcGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHVzaW5nIHRoZSBgcmV2ZWFsLWZvci0qYCBjbGFzc2VzIG9yIG1peGluLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMiAhZGVmYXVsdDtcblxuLy8vIExlbmd0aCBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzICFkZWZhdWx0O1xuXG4vLy8gVGltaW5nIGZ1bmN0aW9uIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhIHJldmVhbGVkIG9mZi1jYW52YXMgd2lsbCBiZSBmaXhlZC1wb3NpdGlvbiwgYW5kIHNjcm9sbCB3aXRoIHRoZSBzY3JlZW4uXG4vLy8gQHR5cGUgQm9vbFxuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgb3ZlcmxheSB0aGF0IGFwcGVhcnMgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBDU1MgY2xhc3MgdXNlZCBmb3IgdGhlIG1haW4gY29udGVudCBhcmVhLiBUaGUgb2ZmLWNhbnZhcyBtaXhpbnMgdXNlIHRoaXMgdG8gdGFyZ2V0IHRoZSBwYWdlIGNvbnRlbnQuXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNlbGluZSBzdHlsZXMgZm9yIG9mZi1jYW52YXMuIFRoaXMgQ1NTIGlzIHJlcXVpcmVkIHRvIG1ha2UgdGhlIG90aGVyIHBpZWNlcyB3b3JrLlxuQG1peGluIG9mZi1jYW52YXMtYmFzaWNzIHtcblxuICAvLy8gVHJhbnNmb3JtIGRlcHJlY2F0ZWQgc2l6ZSBzZXR0aW5ncyBpbnRvIG1hcCAmIHNob3cgd2FybmluZ1xuICBAaWYgdmFyaWFibGUtZXhpc3RzKG9mZmNhbnZhcy1zaXplKSB7XG4gICAgJG9mZmNhbnZhcy1zaXplczogKHNtYWxsOiAkb2ZmY2FudmFzLXNpemUsIG1lZGl1bTogJG9mZmNhbnZhcy1zaXplKSAhZ2xvYmFsO1xuICAgIEB3YXJuICckb2ZmY2FudmFzLXNpemUgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHVzZWQgYW55bW9yZSEgUGxlYXNlIHVwZGF0ZSB5b3VyIHNldHRpbmdzIGFuZCB1c2UgdGhlIG1hcCAkb2ZmY2FudmFzLXNpemVzIGluc3RlYWQnO1xuICB9XG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cblxuICAvLyBDaGVja3MgdGhlIHotaW5kZXhlcyBhbmQgaW5jcmVhc2UgdGhlbSBkdWUgdG8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXG4gIC8vIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgdGhlIG92ZXJsYXkncyB6LWluZGV4IGlzIG5ldyBzaW5jZSB2Ni40IGFuZCBtYXkgYmUgaWRlbnRpY2FsIHRvIHRoZSB1c2VyIGN1c3RvbSBzZXR0aW5ncyBvZiB0aGUgcHVzaCB6LWluZGV4LlxuICBAaWYgJG9mZmNhbnZhcy1wdXNoLXppbmRleCA8PSAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4IHsgJG9mZmNhbnZhcy1wdXNoLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuICBAaWYgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleCA8PSAkb2ZmY2FudmFzLXB1c2gtemluZGV4IHsgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleCArIDEgIWdsb2JhbDsgfVxuICBAaWYgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggKyAxICFnbG9iYWw7IH1cblxuICAvLyBIaWRlcyBvdmVyZmxvdyBvbiBib2R5IHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuICAuaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBvdmVybGF5IChnZW5lcmF0ZWQgYnkgSmF2YVNjcmlwdClcbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZywgdmlzaWJpbGl0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG5cbiAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDtcblxuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAmLmlzLWNsb3NhYmxlIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAmLmlzLW92ZXJsYXktYWJzb2x1dGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1maXhlZCB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHdyYXBwZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy13cmFwcGVyKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2UoXG4gICRiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWJhY2tncm91bmQsXG4gICR0cmFuc2l0aW9uOiAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsXG4gICRmaXhlZDogdHJ1ZVxuKSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblxuICBAaWYgJGZpeGVkID09IHRydWUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLy8gU2V0IHRoZSBvZmYtY2FudmFzIHotaW5kZXguXG4gIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuICB9XG5cbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgLy8gSGlkZSBpbmFjdGl2ZSBvZmYtY2FudmFzIHdpdGhpbiB0aGUgY29udGVudCB0aGF0IGhhdmUgdGhlIHNhbWUgcG9zaXRpb25cbiAgJi5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE92ZXJsYXAgb25seSBzdHlsZXMuXG4gICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4O1xuXG4gICAgJi5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6ICRvZmZjYW52YXMtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldHMgdHJhbnNmb3JtIHRvIDAgdG8gc2hvdyBhbiBvZmYtY2FudmFzIHBhbmVsLlxuICAmLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBwb3NpdGlvbiBhbiBvZmYtY2FudmFzIHBhbmVsIHRvIHRoZSBsZWZ0L3JpZ2h0L3RvcC9ib3R0b20uXG5AbWl4aW4gb2ZmLWNhbnZhcy1wb3NpdGlvbihcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkb3JpZW50YXRpb246IGhvcml6b250YWwsXG4gICRzaXplczogaWYoJG9yaWVudGF0aW9uID09IGhvcml6b250YWwsICRvZmZjYW52YXMtc2l6ZXMsICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMpXG4pIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcblxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSBpcyBzZXQsIGFkZCBpbm5lciBib3gtc2hhZG93LlxuICAvLyBUaGlzIG1pbWljcyB0aGUgb2ZmLWNhbnZhcyBwYW5lbCBoYXZpbmcgYSBsb3dlciB6LWluZGV4LCB3aXRob3V0IGhhdmluZyB0byBoYXZlIG9uZS5cbiAgQGlmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUge1xuICAgICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHJpZ2h0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhsZWZ0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3coYm90dG9tLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3codG9wLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuLy8vIFNldHMgdGhlIHN0eWxlcyBmb3IgdGhlIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIG9mZi1jYW52YXMtY29udGVudCgpIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgLy8gVHJhbnNmb3JtIHNjb3BlIHVudGlsIHRoZSBlbGVtZW50IGlzIGNsb3NlZCAobWFrZXMgc3VyZSB0cmFuc2l0aW9uZW5kIGdldHMgdHJpZ2dlcmVkKVxuICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgZWxlbWVudCAmIGNvbnRlbnQsIG5lc3RlZCBpbiBhbm90aGVyIGNvbnRlbnRcbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRoYXQgcmV2ZWFsIGFuIG9mZi1jYW52YXMgcGFuZWwuXG5AbWl4aW4gb2ZmLWNhbnZhcy1yZXZlYWwoXG4kcG9zaXRpb246IGxlZnQsXG4kemluZGV4OiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsXG4kY29udGVudDogJG1haW5jb250ZW50LWNsYXNzLFxuJGJyZWFrcG9pbnQ6IHNtYWxsXG4pIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB6LWluZGV4OiAkemluZGV4O1xuICB0cmFuc2l0aW9uOiBub25lO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG4gIEBpZiBub3QgJG9mZmNhbnZhcy1maXhlZC1yZXZlYWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBDb25zaWRlciByZXZlYWxlZCBlbGVtZW50IGlzIG5lc3RlZCBpbiBjb250ZW50XG4gIC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgQGF0LXJvb3QgLiN7JGNvbnRlbnR9Lmhhcy1yZXZlYWwtI3skcG9zaXRpb259IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XG4gIH1cblxuICAvLyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSAocHJpb3IgdG8gdjYuNClcbiAgJiB+IC4jeyRjb250ZW50fSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG59XG5cbi8vLyBPdmVycmlkZXMgdGhlIG9mZi1jYW52YXMgc3R5bGVzXG5AbWl4aW4gaW4tY2FudmFzKCkge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgdHJhbnNpdGlvbjogbm9uZTtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5wb3NpdGlvbi1sZWZ0LFxuICAmLnBvc2l0aW9uLXJpZ2h0LFxuICAmLnBvc2l0aW9uLXRvcCxcbiAgJi5wb3NpdGlvbi1ib3R0b20ge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vZmYtY2FudmFzIHtcbiAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNpY3M7XG5cbiAgLy8gT2ZmLWNhbnZhcyB3cmFwcGVyXG4gIC5vZmYtY2FudmFzLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtd3JhcHBlcjtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyXG4gIC5vZmYtY2FudmFzIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2U7XG5cbiAgICAvLyBGb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSBmb3IgbmVzdGVkIG9mZi1jYW52YXMgYmVjYXVzZSBmaXhlZCBkb2Vzbid0IHdvcmsgZm9yIHB1c2ggdHJhbnNpdGlvbiB3aXRoaW4gdGhlIHRyYW5zZm9ybSBzY29wZS5cbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgICAgLy8gTk9URTogc2luY2Ugb3ZlcmxhcCB0cmFuc2l0aW9uIGlzIGN1cnJlbnRseSBmb3JjZWQgaWYgbmVzdGVkLCB0aGVyZSdzIG5vIG5lZWQgdG8gZm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgdW50aWwgbmVzdGVkIHB1c2ggdHJhbnNpdGlvbiBpcyBzdXBwb3J0ZWQuXG4gICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXIgd2l0aCBhYnNvbHV0ZSBwb3NpdGlvblxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlKCRmaXhlZDogZmFsc2UpO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBwb3NpdGlvbiBjbGFzc2VzXG4gIC5wb3NpdGlvbi1sZWZ0ICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihsZWZ0LCAgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi1yaWdodCAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihyaWdodCwgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi10b3AgICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbih0b3AsICAgIHZlcnRpY2FsKTsgfVxuICAucG9zaXRpb24tYm90dG9tICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24oYm90dG9tLCB2ZXJ0aWNhbCk7IH1cblxuICAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXZlYWwgb2ZmLWNhbnZhcyBwYW5lbCBvbiBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGxlZnQsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwocmlnaHQsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHRvcCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwoYm90dG9tLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTW92ZSBpbi1jYW52YXMgZm9yIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgaW4tY2FudmFzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zdGlja3kge1xuICAuc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnN0aWNreSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi5pcy1hdC10b3Age1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRpdGxlLWJhclxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIFdlaWdodFxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIHRoZSBtZW51IGljb24gYW5kIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdGl0bGUtYmFyIHtcbiAgLnRpdGxlLWJhciB7XG4gICAgcGFkZGluZzogJHRpdGxlYmFyLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJHRpdGxlYmFyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0aXRsZWJhci1jb2xvcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIC5tZW51LWljb24ge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50aXRsZS1iYXItbGVmdCxcbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50aXRsZS1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC50aXRsZS1iYXItdGl0bGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkdGl0bGViYXItdGV4dC1mb250LXdlaWdodDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9wLWJhclxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0b3AgYmFyLiBUaGlzIGNvbG9yIGFsc28gY2FzY2FkZXMgdG8gbWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBzdWJtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuIFVzZWZ1bGwgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIHRyYW5zcGFyZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBmb3IgdGhlIHRvcCBiYXIgdGl0bGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBgPGlucHV0PmAgZWxlbWVudHMgaW5zaWRlIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHRvcCBiYXIgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0b3AgYmFyIGNvbnRhaW5lci5cbkBtaXhpbiB0b3AtYmFyLWNvbnRhaW5lciB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgcGFkZGluZzogJHRvcGJhci1wYWRkaW5nO1xuXG4gICYsXG4gIHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgZGlmZmVybnQgZnJvbSAkdG9wYmFyLWJhY2tncm91bmQtc3VibWVudVxuICBAaWYgKCR0b3BiYXItYmFja2dyb3VuZCAhPSAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZCkge1xuICAgIHVsIHVsIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc3RyYWluIHdpZHRoIG9mIGlucHV0cyBieSBkZWZhdWx0IHRvIG1ha2UgdGhlbSBlYXNpZXIgdG8gYXJyYW5nZVxuICBpbnB1dCB7XG4gICAgbWF4LXdpZHRoOiAkdG9wYmFyLWlucHV0LXdpZHRoO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICB9XG5cbiAgLy8gVGhlIGFib3ZlIHN0eWxlcyBzaG91bGRuJ3QgYXBwbHkgdG8gaW5wdXQgZ3JvdXAgZmllbGRzXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gIH1cblxuICBpbnB1dC5idXR0b24geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLy8gTWFrZXMgc2VjdGlvbnMgb2YgYSB0b3AgYmFyIHN0YWNrIG9uIHRvcCBvZiBlYWNoIG90aGVyLlxuQG1peGluIHRvcC1iYXItc3RhY2tlZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gVW5kb2VzIHRoZSBDU1MgYXBwbGllZCBieSB0aGUgYHRvcC1iYXItc3RhY2tlZCgpYCBtaXhpbi5cbkBtaXhpbiB0b3AtYmFyLXVuc3RhY2sge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvcC1iYXIge1xuICAvLyBUb3AgYmFyIGNvbnRhaW5lclxuICAudG9wLWJhciB7XG4gICAgQGluY2x1ZGUgdG9wLWJhci1jb250YWluZXI7XG5cbiAgICAvLyBTdGFjayBvbiBzbWFsbCBzY3JlZW5zIGJ5IGRlZmF1bHRcbiAgICBAaW5jbHVkZSB0b3AtYmFyLXN0YWNrZWQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0b3BiYXItdW5zdGFjay1icmVha3BvaW50KSB7XG4gICAgICBAaW5jbHVkZSB0b3AtYmFyLXVuc3RhY2s7XG4gICAgfVxuXG4gICAgLy8gR2VuZXJhdGUgY2xhc3NlcyBmb3Igc3RhY2tpbmcgb24gZWFjaCBzY3JlZW4gc2l6ZSAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzKVxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgJi5zdGFja2VkLWZvci0jeyRzaXplfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0b3AtYmFyLXN0YWNrZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU3ViLXNlY3Rpb25zXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgbWFyZ2luOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZzogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuXG4gICAgICAubWVudS1pY29uIHtcbiAgICAgICAgYm90dG9tOiAycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbG9hdFxuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzIHtcbiAgLmZsb2F0LWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LWNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgLmNsZWFyZml4IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAuMDAxMjU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUpIHtcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG5cbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAuMDAxMjU7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAgRm9udHNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogJ2xhdG9saWdodCc7XHJcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvbGF0by1saWdodC13ZWJmb250LmVvdCcpO1xyXG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL2xhdG8tbGlnaHQtd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxyXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2xhdG8tbGlnaHQtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcclxuICAgICAgICAgdXJsKCcuLi9mb250cy9sYXRvLWxpZ2h0LXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLFxyXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2xhdG8tbGlnaHQtd2ViZm9udC5zdmcjbGF0b2xpZ2h0JykgZm9ybWF0KCdzdmcnKTtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbn1cclxuQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogJ2xhdG9yZWd1bGFyJztcclxuICAgIHNyYzogdXJsKCcuLi9mb250cy9sYXRvLXJlZ3VsYXItd2ViZm9udC5lb3QnKTtcclxuICAgIHNyYzogdXJsKCcuLi9mb250cy9sYXRvLXJlZ3VsYXItd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxyXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2xhdG8tcmVndWxhci13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxyXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2xhdG8tcmVndWxhci13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcclxuICAgICAgICAgdXJsKCcuLi9mb250cy9sYXRvLXJlZ3VsYXItd2ViZm9udC5zdmcjbGF0b3JlZ3VsYXInKSBmb3JtYXQoJ3N2ZycpO1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5AZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnbGF0b3NlbWlib2xkJztcclxuICAgIHNyYzogdXJsKCcuLi9mb250cy9sYXRvLXNlbWlib2xkLXdlYmZvbnQuZW90Jyk7XHJcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvbGF0by1zZW1pYm9sZC13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXHJcbiAgICAgICAgIHVybCgnLi4vZm9udHMvbGF0by1zZW1pYm9sZC13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxyXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2xhdG8tc2VtaWJvbGQtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXHJcbiAgICAgICAgIHVybCgnLi4vZm9udHMvbGF0by1zZW1pYm9sZC13ZWJmb250LnN2ZyNsYXRvc2VtaWJvbGQnKSBmb3JtYXQoJ3N2ZycpO1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5AZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnbGF0b2JvbGQnO1xyXG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL2xhdG8tYm9sZC13ZWJmb250LmVvdCcpO1xyXG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL2xhdG8tYm9sZC13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXHJcbiAgICAgICAgIHVybCgnLi4vZm9udHMvbGF0by1ib2xkLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXHJcbiAgICAgICAgIHVybCgnLi4vZm9udHMvbGF0by1ib2xkLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLFxyXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2xhdG8tYm9sZC13ZWJmb250LnN2ZyNsYXRvYm9sZCcpIGZvcm1hdCgnc3ZnJyk7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuIiwiLy8gVmFyaWFibGVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICBcclxuIFxyXG4vLyBDb2xvcnMgYW5kIGJhY2tncm91bmRzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kZGFya2VyOiAgICAgICAgICAgICMwMDAwMDAhZGVmYXVsdDsgXHJcbiRuYXYtY29sOiAgICAgICAgICAgbGlnaHRlbigkZGFya2VyLCAyMCkgICAgIWRlZmF1bHQ7IC8vIzMzMzMzMyBcclxuJGJvZHktYmc6ICAgICAgICAgICBsaWdodGVuKCRkYXJrZXIsIDkxKSAgICAhZGVmYXVsdDsgLy8jZTllOWU5IFxyXG4kZmllbGQtYmc6ICAgICAgICAgICBsaWdodGVuKCRkYXJrZXIsIDkzKSAgICAhZGVmYXVsdDsgLy8jZjNmM2YzIFxyXG4kbGlnaHRlcjogICAgICAgICAgIGxpZ2h0ZW4oJGRhcmtlciwgMTAwKSAgICAhZGVmYXVsdDsgLy8jZmZmZmZmXHJcblxyXG4kcHJpbWFyeS1jb2w6ICAgICAgICM5OTA3MDchZGVmYXVsdDsgXHJcbiRzZWNvbmRhcnktY29sOiAgICAgIzU3NTc1NyFkZWZhdWx0OyBcclxuJHByaW1hcnktZGFyazogICAgICAjOUEwODA4IWRlZmF1bHQ7IFxyXG4kc2Vjb25kYXJ5LWRhcms6ICAgICM0ZjRmNGYhZGVmYXVsdDsgXHJcbiRidG4tY29sOiAgICAgICAgICAgIzlDMDkwOSFkZWZhdWx0OyBcclxuJGhkci1jb2w6ICAgICAgICAgICAjNzMwOTA5IWRlZmF1bHQ7IFxyXG4kY29sb3IxOiAgICAgICAgICAgICNEN0RBREUhZGVmYXVsdDsgXHJcbiRjb2xvcjI6ICAgICAgICAgICAgIzk3OTc5NyFkZWZhdWx0OyBcclxuJGNvbG9yMzogICAgICAgICAgICAjNDI0MTQxIWRlZmF1bHQ7IFxyXG4kY29sb3I0OiAgICAgICAgICAgICM5ZDA5MDkhZGVmYXVsdDsgXHJcbiRjb2xvcjU6ICAgICAgICAgICAgI2Y3ZjdmNyFkZWZhdWx0OyBcclxuJGNvbG9yNjogICAgICAgICAgICAjMjYyNTI1IWRlZmF1bHQ7IFxyXG4kY29sb3I3OiAgICAgICAgICAgICNlM2UzZTMhZGVmYXVsdDsgXHJcbiRjb2xvcjg6ICAgICAgICAgICAgIzZCNkI2QiFkZWZhdWx0OyBcclxuJGNvbG9yOTogICAgICAgICAgICAjNDQ0NDQ0IWRlZmF1bHQ7IFxyXG4kY29sb3IxMDogICAgICAgICAgICAjNEI0QjRCIWRlZmF1bHQ7IFxyXG4kY29sb3IxMTogICAgICAgICAgICAjNzY3Njc2IWRlZmF1bHQ7IFxyXG4kY29sb3IxMjogICAgICAgICAgICAjQ0VDRUNFIWRlZmF1bHQ7IFxyXG4kY29sb3IxMzogICAgICAgICAgICAjRTAwOTFBIWRlZmF1bHQ7IFxyXG4kY29sb3IxNDogICAgICAgICAgICAjRjBGMEYwIWRlZmF1bHQ7IFxyXG4kY29sb3IxNTogICAgICAgICAgICAjZWFlYWVhIWRlZmF1bHQ7IFxyXG4kY29sb3IxNjogICAgICAgICAgICAjNUQ1RDVEIWRlZmF1bHQ7IFxyXG4kY29sb3IxNzogICAgICAgICAgICAjZTZlN2U5IWRlZmF1bHQ7IFxyXG4kY29sb3IxODogICAgICAgICAgICAjMzUzMzM0IWRlZmF1bHQ7IFxyXG5cclxuLy89PSBUeXBvZ3JhcGh5XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICBcclxuIFxyXG4kbWFpbi1mb250OiBcdCdsYXRvcmVndWxhcic7XHJcbiRzZW1pLWZvbnQ6ICAgICAnbGF0b3NlbWlib2xkJztcclxuJGJvbGQtZm9udDogICAgICdsYXRvYm9sZCc7XHJcbiRsaWdodC1mb250OiBcdCdsYXRvbGlnaHQnO1xyXG5cclxuXHJcblxyXG5cclxuJHNpemUtYmFzZTogICAgMTZweCAhZGVmYXVsdDsgXHJcblxyXG4kc2l6ZS1oMTogICAgICAgICAgICAgICBjZWlsKCgkc2l6ZS1iYXNlICogMi4xMjUpKSBcdCAgICAhZGVmYXVsdDsgICAvLyB+MzRweFxyXG4kc2l6ZS1oMjogICAgICAgICAgICAgICBjZWlsKCgkc2l6ZS1iYXNlICogMS41KSkgXHRcdCFkZWZhdWx0OyAgIC8vIH4yNHB4XHJcbiRzaXplLWgzOiAgICAgICAgICAgICAgIGNlaWwoKCRzaXplLWJhc2UgKiAxLjM3NSkpXHRcdCFkZWZhdWx0OyAgIC8vIH4yMnB4XHJcbiRzaXplLWg0OiAgICAgICAgICAgICAgIGNlaWwoKCRzaXplLWJhc2UgKiAxLjI1KSkgXHRcdCFkZWZhdWx0OyAgIC8vIH4yMHB4XHJcbiRzaXplLWg1OiAgICAgICAgICAgICAgIGNlaWwoKCRzaXplLWJhc2UgKiAxLjEyNSkpXHRcdCFkZWZhdWx0OyAgIC8vIH4xOHB4XHJcbiRzaXplLWg2OiAgICAgICAgICAgICAgXHRjZWlsKCgkc2l6ZS1iYXNlICogMS4wNjMpKVx0ICAgICFkZWZhdWx0OyAgIC8vIH4xN3B4XHJcblxyXG4kc2l6ZS1idG46ICAgICAgICAgICAgICBjZWlsKCgkc2l6ZS1iYXNlICogMC45Mzc1KSkgXHQhZGVmYXVsdDsgICAvLyB+MTVweCBcclxuJHNpemUtc21hbGw6ICAgICAgICAgICAgY2VpbCgoJHNpemUtYmFzZSAqIDAuODc1KSkgXHRcdCFkZWZhdWx0OyAgIC8vIH4xNHB4IFxyXG4kc2l6ZS1zbWFsbGVzdDogICAgICAgICBjZWlsKCgkc2l6ZS1iYXNlICogMC43NSkpIFx0XHQhZGVmYXVsdDsgICAvLyB+MTJweCBcclxuJHNpemUtbGFyZ2U6ICAgICAgICAgY2VpbCgoJHNpemUtYmFzZSAqIDEuNjI1KSkgXHRcdCFkZWZhdWx0OyAgIC8vIH4yNnB4IFxyXG5cclxuIFxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbi8vIE1lZGlhIHF1ZXJ5XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kc2NyZWVuLXhsZzogICAgXCJvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM3MHB4KSBhbmQgKG1heC13aWR0aDogMTU4OXB4KVwiO1xyXG4kc2NyZWVuLWxndXA6ICAgXCJvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyMHB4KSBhbmQgKG1heC13aWR0aDogMTM2OXB4KVwiO1x0XHQvL2xhcmdlIFVwXHJcbiRzY3JlZW4tbGc6ICAgICBcIm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDExMTlweClcIjtcdFx0Ly9sYXJnZVxyXG4kc2NyZWVuLW1kOiAgICAgXCJvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweClcIjtcdFx0Ly9tZWRpdW1cclxuJHNjcmVlbi1zbWxnOiAgICAgXCJvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpXCI7IFx0XHRcdFx0XHRcdFx0XHQvL2xhcmdlIHRvIHNtYWxsXHJcbiRzY3JlZW4tc206ICAgICBcIm9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweClcIjsgXHRcdFx0XHRcdFx0XHRcdC8vc21hbGxcclxuJHNjcmVlbi14c206ICAgIFwib25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3OXB4KVwiOyBcdFx0XHRcdFx0XHRcdFx0Ly9leHRyYSBzbWFsbFxyXG4gXHJcblxyXG5Aa2V5ZnJhbWVzIHNwaW4ge1xyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKDM2MGRlZyk7XHJcbiAgICB9XHJcbn0iLCJAaW1wb3J0IFwiX3ZhcmlhYmxlc1wiO1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBcclxuXHJcbiBcclxuQG1peGluIGNzcy1wcmVmaXgoJG5hbWUsICRhcmd1bWVudCkge1xyXG4gIC13ZWJraXQtI3skbmFtZX06ICN7JGFyZ3VtZW50fTtcclxuICAgICAtbW96LSN7JG5hbWV9OiAjeyRhcmd1bWVudH07XHJcbiAgICAgIC1tcy0jeyRuYW1lfTogI3skYXJndW1lbnR9O1xyXG4gICAgICAgICAgI3skbmFtZX06ICN7JGFyZ3VtZW50fTtcclxufVxyXG5cclxuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1czogNXB4KSB7XHJcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG59XHJcblxyXG5AbWl4aW4gYm9yZGVyLXN0eWxlcygkY29sb3IsICR3aWR0aCkge1xyXG4gICAgLy9AaW5jbHVkZSBib3JkZXItc3R5bGVzKCRvcmFuZ2UtY29sLCAxcHgpO1xyXG4gICAgYm9yZGVyOiB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcclxuICAgICAgICB3aWR0aDogJHdpZHRoO1xyXG4gICAgICAgIHN0eWxlOiBzb2xpZDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHRyYW5zaXQge1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQgMHM7XHJcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dCAwcztcclxuICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dCAwcztcclxufVxyXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XHJcblx0ICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG5cdCAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuXHQgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcblx0LXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxufVxyXG5AbWl4aW4gdHJhbnNmb3JtLXRyYW5zbGF0ZXkoJHZhbCkge1xyXG4gICAgLy9AaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XHJcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgkdmFsKSk7XHJcbn1cclxuXHJcbkBtaXhpbiB0cmFuc2Zvcm0tdHJhbnNsYXRleCgkdmFsKSB7XHJcbiAgICAvL0BpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC01MCUpKTtcclxuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKCR2YWwpKTtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBzY2FsZSgkc2NhbGUpIHtcclxuXHQgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKCRzY2FsZSkpO1xyXG59IFxyXG5cclxuXHJcbkBtaXhpbiBsaW5lYXItZ3JhZGllbnQoJHRvcCwgJGJvdHRvbSl7XHJcbiAgICBiYWNrZ3JvdW5kOiAkdG9wOyAvKiBPbGQgYnJvd3NlcnMgKi9cclxuICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgICR0b3AgMCUsICRib3R0b20gMTAwJSk7IC8qIEZGMy42KyAqL1xyXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSwkdG9wKSwgY29sb3Itc3RvcCgxMDAlLCRib3R0b20pKTsgLyogQ2hyb21lLFNhZmFyaTQrICovXHJcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICAkdG9wIDAlLCRib3R0b20gMTAwJSk7IC8qIENocm9tZTEwKyxTYWZhcmk1LjErICovXHJcbiAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAgJHRvcCAwJSwkYm90dG9tIDEwMCUpOyAvKiBPcGVyYSAxMS4xMCsgKi9cclxuICAgIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAgJHRvcCAwJSwkYm90dG9tIDEwMCUpOyAvKiBJRTEwKyAqL1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgICR0b3AgMCUsJGJvdHRvbSAxMDAlKTsgLyogVzNDICovXHJcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI2ZmZmZmZicsIGVuZENvbG9yc3RyPScjMDAwMDAwJyxHcmFkaWVudFR5cGU9MCApOyAvKiBJRTYtOSAqL1xyXG59XHJcblxyXG5AbWl4aW4gZ3JhZGllbnQoJGxlZnQsICRyaWdodCl7XHJcbiAgICBiYWNrZ3JvdW5kOiAkbGVmdDtcclxuICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICRsZWZ0IDAlLCAkcmlnaHQgMTAwJSk7XHJcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxlZnQgdG9wLCByaWdodCB0b3AsIGNvbG9yLXN0b3AoMCUsICRsZWZ0KSwgY29sb3Itc3RvcCgxMDAlLCAkcmlnaHQpKTtcclxuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICRsZWZ0IDAlLCAkcmlnaHQgMTAwJSk7XHJcbiAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgJGxlZnQgMCUsICRyaWdodCAxMDAlKTtcclxuICAgIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgJGxlZnQgMCUsICRyaWdodCAxMDAlKTtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJGxlZnQgMCUsICRyaWdodCAxMDAlKTtcclxuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjZmZmZmZmJywgZW5kQ29sb3JzdHI9JyMwMDAwMDAnLCBHcmFkaWVudFR5cGU9MSApO1xyXG59XHJcblxyXG5cclxuXHJcblxyXG46Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgY29sb3I6IHJnYmEoNzQsNzQsNzQsMC40KTsgXHJcbiAgICBvcGFjaXR5OiAxO1xyXG59XHJcblxyXG46LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICBjb2xvcjogcmdiYSg3NCw3NCw3NCwwLjQpOyBcclxuICAgIG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbjo6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICBjb2xvcjogcmdiYSg3NCw3NCw3NCwwLjQpOyBcclxuICAgIG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgY29sb3I6IHJnYmEoNzQsNzQsNzQsMC40KTsgIFxyXG4gICAgb3BhY2l0eTogMTtcclxufVxyXG5cclxuLnNhZmFyaXtcclxuICAgIDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICAgICAgY29sb3I6IHJnYmEoNzQsNzQsNzQsMC40KTtcclxuICAgIH1cclxuICAgIDotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgICAgICBjb2xvcjogcmdiYSg3NCw3NCw3NCwwLjQpO1xyXG4gICAgfVxyXG5cclxuICAgIDo6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICAgICAgY29sb3I6IHJnYmEoNzQsNzQsNzQsMC40KTtcclxuICAgIH1cclxuXHJcbiAgICA6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgICAgICBjb2xvcjogcmdiYSg3NCw3NCw3NCwwLjQpO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gRmxleGJveCBNaXhpbnNcclxuQG1peGluIGZsZXhib3gge1xyXG5cdC8vQGluY2x1ZGUgZmxleGJveDtcclxuXHRkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuXHRkaXNwbGF5OiAtd2Via2l0LWZsZXg7XHJcblx0ZGlzcGxheTogLW1vei1mbGV4O1xyXG5cdGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuLy8gRmxleGJveCBEaXJlY3Rpb25cclxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZTogcm93KSB7XHJcblx0Ly9AaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkYXJncy4uLik7XHJcblx0QGlmICR2YWx1ZT09cm93LXJldmVyc2Uge1xyXG5cdFx0LXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlO1xyXG5cdFx0LXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xyXG5cdH1cclxuXHRAZWxzZSBpZiAkdmFsdWU9PWNvbHVtbiB7XHJcblx0XHQtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcclxuXHRcdC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XHJcblx0fVxyXG5cdEBlbHNlIGlmICR2YWx1ZT09Y29sdW1uLXJldmVyc2Uge1xyXG5cdFx0LXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlO1xyXG5cdFx0LXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcclxuXHR9XHJcblx0QGVsc2Uge1xyXG5cdFx0LXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XHJcblx0XHQtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XHJcblx0fVxyXG5cdC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcclxuXHQtbW96LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XHJcblx0LW1zLWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XHJcblx0ZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcclxufVxyXG4vLyBGbGV4Ym94IFdyYXBcclxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWU6IG5vd3JhcCkge1xyXG5cdC8vQGluY2x1ZGUgZmxleC13cmFwKCRhcmdzLi4uKTtcclxuXHQvLyBObyBXZWJraXQgQm94IGZhbGxiYWNrLlxyXG5cdC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XHJcblx0LW1vei1mbGV4LXdyYXA6ICR2YWx1ZTtcclxuXHRAaWYgJHZhbHVlPT1ub3dyYXAge1xyXG5cdFx0LW1zLWZsZXgtd3JhcDogbm9uZTtcclxuXHR9XHJcblx0QGVsc2Uge1xyXG5cdFx0LW1zLWZsZXgtd3JhcDogJHZhbHVlO1xyXG5cdH1cclxuXHRmbGV4LXdyYXA6ICR2YWx1ZTtcclxufVxyXG4vLyBGbGV4Ym94IEdyb3dcclxuQG1peGluIGZsZXgtZ3JvdygkaW50OiAwKSB7XHJcblx0Ly9AaW5jbHVkZSBmbGV4LWdyb3coJGludDogMCk7XHJcblx0LXdlYmtpdC1ib3gtZmxleDogJGludDtcclxuXHQtd2Via2l0LWZsZXgtZ3JvdzogJGludDtcclxuXHQtbW96LWZsZXgtZ3JvdzogJGludDtcclxuXHQtbXMtZmxleC1wb3NpdGl2ZTogJGludDtcclxuXHRmbGV4LWdyb3c6ICRpbnQ7XHJcbn1cclxuLy8gRmxleGJveCBKdXN0aWZ5IENvbnRlbnRcclxuQG1peGluIGp1c3RpZnktY29udGVudCgkdmFsdWU6IGZsZXgtc3RhcnQpIHtcclxuXHQvLyBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoJGFyZ3MuLi4pO1xyXG5cdEBpZiAkdmFsdWU9PWZsZXgtc3RhcnQge1xyXG5cdFx0LXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XHJcblx0XHQtbXMtZmxleC1wYWNrOiBzdGFydDtcclxuXHR9XHJcblx0QGVsc2UgaWYgJHZhbHVlPT1mbGV4LWVuZCB7XHJcblx0XHQtd2Via2l0LWJveC1wYWNrOiBlbmQ7XHJcblx0XHQtbXMtZmxleC1wYWNrOiBlbmQ7XHJcblx0fVxyXG5cdEBlbHNlIGlmICR2YWx1ZT09c3BhY2UtYmV0d2VlbiB7XHJcblx0XHQtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5O1xyXG5cdFx0LW1zLWZsZXgtcGFjazoganVzdGlmeTtcclxuXHR9XHJcblx0QGVsc2UgaWYgJHZhbHVlPT1zcGFjZS1hcm91bmQge1xyXG5cdFx0LW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZTtcclxuXHR9XHJcblx0QGVsc2Uge1xyXG5cdFx0LXdlYmtpdC1ib3gtcGFjazogJHZhbHVlO1xyXG5cdFx0LW1zLWZsZXgtcGFjazogJHZhbHVlO1xyXG5cdH1cclxuXHQtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xyXG5cdC1tb3otanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XHJcblx0anVzdGlmeS1jb250ZW50OiAkdmFsdWU7XHJcbn1cclxuLy8gRmxleGJveCBBbGlnbiBJdGVtc1xyXG5AbWl4aW4gYWxpZ24taXRlbXMoJHZhbHVlOiBzdHJldGNoKSB7XHJcblx0Ly8gQGluY2x1ZGUgYWxpZ24taXRlbXMoJGFyZ3MuLi4pO1xyXG5cdEBpZiAkdmFsdWU9PWZsZXgtc3RhcnQge1xyXG5cdFx0LXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xyXG5cdFx0LW1zLWZsZXgtYWxpZ246IHN0YXJ0O1xyXG5cdH1cclxuXHRAZWxzZSBpZiAkdmFsdWU9PWZsZXgtZW5kIHtcclxuXHRcdC13ZWJraXQtYm94LWFsaWduOiBlbmQ7XHJcblx0XHQtbXMtZmxleC1hbGlnbjogZW5kO1xyXG5cdH1cclxuXHRAZWxzZSB7XHJcblx0XHQtd2Via2l0LWJveC1hbGlnbjogJHZhbHVlO1xyXG5cdFx0LW1zLWZsZXgtYWxpZ246ICR2YWx1ZTtcclxuXHR9XHJcblx0LXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xyXG5cdC1tb3otYWxpZ24taXRlbXM6ICR2YWx1ZTtcclxuXHRhbGlnbi1pdGVtczogJHZhbHVlO1xyXG59XHJcbi8vIEZsZXhib3ggQWxpZ24gU2VsZlxyXG5AbWl4aW4gYWxpZ24tc2VsZigkdmFsdWU6IGF1dG8pIHtcclxuXHQvLyBAaW5jbHVkZSBhbGlnbi1zZWxmKCRhcmdzLi4uKTtcclxuXHQvLyBObyBXZWJraXQgQm94IEZhbGxiYWNrLlxyXG5cdC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xyXG5cdC1tb3otYWxpZ24tc2VsZjogJHZhbHVlO1xyXG5cdEBpZiAkdmFsdWU9PWZsZXgtc3RhcnQge1xyXG5cdFx0LW1zLWZsZXgtaXRlbS1hbGlnbjogc3RhcnQ7XHJcblx0fVxyXG5cdEBlbHNlIGlmICR2YWx1ZT09ZmxleC1lbmQge1xyXG5cdFx0LW1zLWZsZXgtaXRlbS1hbGlnbjogZW5kO1xyXG5cdH1cclxuXHRAZWxzZSB7XHJcblx0XHQtbXMtZmxleC1pdGVtLWFsaWduOiAkdmFsdWU7XHJcblx0fVxyXG5cdGFsaWduLXNlbGY6ICR2YWx1ZTtcclxufVxyXG4vLyBGbGV4Ym94IEFsaWduIENvbnRlbnQgXHJcbkBtaXhpbiBhbGlnbi1jb250ZW50KCR2YWx1ZTogc3RyZXRjaCkge1xyXG5cdC8vIEBpbmNsdWRlIGFsaWduLWNvbnRlbnQoJGFyZ3MuLi4pO1xyXG5cdC8vIE5vIFdlYmtpdCBCb3ggRmFsbGJhY2suXHJcblx0LXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XHJcblx0LW1vei1hbGlnbi1jb250ZW50OiAkdmFsdWU7XHJcblx0QGlmICR2YWx1ZT09ZmxleC1zdGFydCB7XHJcblx0XHQtbXMtZmxleC1saW5lLXBhY2s6IHN0YXJ0O1xyXG5cdH1cclxuXHRAZWxzZSBpZiAkdmFsdWU9PWZsZXgtZW5kIHtcclxuXHRcdC1tcy1mbGV4LWxpbmUtcGFjazogZW5kO1xyXG5cdH1cclxuXHRAZWxzZSB7XHJcblx0XHQtbXMtZmxleC1saW5lLXBhY2s6ICR2YWx1ZTtcclxuXHR9XHJcblx0YWxpZ24tY29udGVudDogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZm9udC1zaXplKCRzaXplKSB7XHJcbiAgICBmb250LXNpemU6ICRzaXplICsgcHg7XHJcbiAgICBmb250LXNpemU6ICRzaXplIC8gMTYgKyBlbTtcclxuICAgIGZvbnQtc2l6ZTogJHNpemUgLyAxNiArIHJlbTtcclxufVxyXG5cclxuQG1peGluIG1lZGlhUXVlcnkoJGFyZ3MuLi4pIHtcclxuICAgQGlmIGxlbmd0aCgkYXJncykgPT0gMSB7XHJcbiAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBudGgoJGFyZ3MsMSkgLyAxNiArIGVtKSB7XHJcbiAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICB9XHJcbiAgIH0gQGVsc2UgaWYgbnRoKCRhcmdzLDIpID09IHVwIHtcclxuICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG50aCgkYXJncywxKSAvIDE2ICsgZW0pIHtcclxuICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgIH1cclxuICAgfSBAZWxzZSB7XHJcbiAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBudGgoJGFyZ3MsMSkgLyAxNiArIGVtKSBhbmQgKG1heC13aWR0aDogbnRoKCRhcmdzLDIpIC8gMTYgKyBlbSkge1xyXG4gICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgfVxyXG4gICB9ICAgXHJcbn1cclxuXHJcbnAuY2xlYXJmaXgge1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbn1cclxuIiwiaHRtbCwgYm9keSwgZGl2LCBzcGFuLCBhcHBsZXQsIG9iamVjdCwgaWZyYW1lLCBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsIGEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSwgZGVsLCBkZm4sIGVtLCBpbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLCBzbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLCBiLCB1LCBpLCBjZW50ZXIsIGRsLCBkdCwgZGQsIG9sLCB1bCwgbGksIGZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLCB0YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCwgYXJ0aWNsZSwgYXNpZGUsIGNhbnZhcywgZGV0YWlscywgZW1iZWQsIGZpZ3VyZSwgZmlnY2FwdGlvbiwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWVudSwgbmF2LCBvdXRwdXQsIHJ1YnksIHNlY3Rpb24sIHN1bW1hcnksIHRpbWUsIG1hcmssIGF1ZGlvLCB2aWRlbyB7XHJcblx0bWFyZ2luOiAwO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0Ym9yZGVyOiAwO1xyXG5cdGZvbnQtc2l6ZTogMTAwJTtcclxuXHRmb250OiBpbmhlcml0O1xyXG5cdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxuICAgIGNvbG9yOiAkbGlnaHRlcjtcclxufVxyXG5cclxuYm9keXtcclxuICAgIGZvbnQtZmFtaWx5OiAkbWFpbi1mb250O1xyXG4gICAgZm9udC1zaXplOiAkc2l6ZS1iYXNlO1xyXG4gICAgYmFja2dyb3VuZDogJGxpZ2h0ZXI7XHJcblx0QGluY2x1ZGUgdHJhbnNpdDtcclxuXHQgXHJcbn1cclxuaHRtbHtcclxuXHRAaW5jbHVkZSB0cmFuc2l0O1xyXG59XHJcblxyXG4vKipcclxuICogMi4wIEhlYWRpbmdzXHJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICovXHJcbmgxLGgyLGgzLGg0LGg1LGg2IHtcclxuXHRjbGVhcjogYm90aDtcclxuXHRmb250LXdlaWdodDpub3JtYWw7XHJcblx0bWFyZ2luOjA7XHJcblx0cGFkZGluZzogMDtcclxuXHRmb250LWZhbWlseTogJG1haW4tZm9udDtcclxufVxyXG5cclxuaDEge1xyXG5cdGZvbnQtc2l6ZTogJHNpemUtaDE7XHJcblx0bGluZS1oZWlnaHQ6MzNweDtcclxufVxyXG5cclxuaDIge1xyXG5cdGZvbnQtc2l6ZTogJHNpemUtaDI7XHJcblx0bGluZS1oZWlnaHQ6MzNweDtcclxufVxyXG5oMyB7XHJcblx0Zm9udC1zaXplOiAkc2l6ZS1oMztcclxuXHRsaW5lLWhlaWdodDozMHB4O1xyXG59XHJcbmg0IHtcclxuXHRmb250LXNpemU6ICRzaXplLWg0O1xyXG5cdGxpbmUtaGVpZ2h0OjMwcHg7XHJcbn1cclxuaDUge1xyXG5cdGZvbnQtc2l6ZTogJHNpemUtaDU7XHJcblx0bGluZS1oZWlnaHQ6MzNweDtcdFxyXG59XHJcbmg2IHtcclxuXHRmb250LXNpemU6ICRzaXplLWg2O1xyXG5cdGxpbmUtaGVpZ2h0OjMzcHg7XHJcbn1cclxucHtcclxuICAgIGZvbnQtc2l6ZTogJHNpemUtYmFzZTtcclxuXHRsaW5lLWhlaWdodDoyNnB4O1xyXG5cdGNvbG9yOiRwcmltYXJ5LWNvbDtcclxuICAgIG1hcmdpbjogMCAwIDI3cHggMDtcclxufSBcclxuXHJcbmEge1xyXG5cdGNvbG9yOiRwcmltYXJ5LWNvbDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRAaW5jbHVkZSB0cmFuc2l0O1xyXG59XHJcbmE6dmlzaXRlZCB7XHJcbiAgICBvdXRsaW5lOiAwO1xyXG59XHJcblxyXG5hOmFjdGl2ZSxcclxuYTpob3ZlcixcclxuYTpmb2N1cyB7XHJcbiAgICBvdXRsaW5lOiAwO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdGNvbG9yOiAkcHJpbWFyeS1jb2w7XHJcbiAgICBcclxufVxyXG4gXHJcblxyXG46Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgeyAgIFxyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbDtcclxufVxyXG5cclxuOjotbW96LXBsYWNlaG9sZGVyIHsgIFxyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbDtcclxufVxyXG5cclxuOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7ICAgIFxyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbDtcclxufVxyXG5cclxuaW5wdXRbdHlwZT1cInRleHRcIl17XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiA0OHB4O1xyXG5cdGxpbmUtaGVpZ2h0OiA0OHB4O1xyXG5cdGZsb2F0OiBsZWZ0O1xyXG5cdGZvbnQtc2l6ZTogMjRweDtcclxuXHRjb2xvcjogIzkxOTE5MTtcclxuXHRiYWNrZ3JvdW5kOiAjZmZmZmZmO1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRib3gtc2hhZG93OiBub25lO1xyXG5cdHBhZGRpbmc6IDAgMjBweCAwIDVweDtcclxuXHRtYXJnaW46IDA7XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3Vze1xyXG5cdGJvcmRlcjogMDtcclxuXHRib3gtc2hhZG93OiBub25lO1xyXG59XHJcblxyXG5pbnB1dFt0eXBlPVwic3VibWl0XCJde1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogNTBweDtcclxuXHRsaW5lLWhlaWdodDogNTBweDtcclxuXHRmbG9hdDogbGVmdDtcclxuXHRmb250LXNpemU6IDE4cHg7XHJcblx0Y29sb3I6ICNmZmZmZmY7XHJcbn1cclxuXHJcbmlucHV0OmZvY3VzLFxyXG5pbnB1dDphY3RpdmUsXHJcbnRleHRhcmVhOmZvY3VzLFxyXG50ZXh0YXJlYTphY3RpdmUsXHJcbmE6Zm9jdXMsXHJcbmE6YWN0aXZlIHtcclxuICAgIG91dGxpbmU6IDBweCBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICBjb2xvcjogI2ZmZmZmZjtcclxufVxyXG5cclxuZmlndXJlIHtcclxuICAgIG1hcmdpbjogMDtcclxufVxyXG5cclxudWwge1xyXG5cdGxpc3Qtc3R5bGU6bm9uZTtcclxufVxyXG4gXHJcbiAiLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICBIZWFkZXJcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuNSkgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmlzLW9wZW4tcmlnaHQge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpO1xyXG59XHJcblxyXG4udGl0bGUtYmFyLWxlZnQge1xyXG4gICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICB3aWR0aDogOTVweDtcclxuICAgIHRvcDogMTJweDtcclxuICAgIHJpZ2h0OiAwcHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I0O1xyXG4gICAgaGVpZ2h0OiAzOXB4O1xyXG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1cHgpO1xyXG5cclxuICAgIEBtZWRpYSAjeyRzY3JlZW4tbWR9IHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICByaWdodDogYXV0bztcclxuICAgICAgICBsZWZ0OiAxNDNweDtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDM0cHg7XHJcbiAgICAgICAgcmlnaHQ6IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm1lbnUtaWNvbiB7XHJcbiAgICAgICAgd2lkdGg6IDk1cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAzOXB4O1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc3ZnL25hdi1pY29uLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBsZWZ0O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB6LWluZGV4OiA5OTk5O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgY29udGVudDogXCJNZW51XCI7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjRkZGO1xyXG4gICAgICAgICAgICBsZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICB0b3A6IDExcHg7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzNHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDM5cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4udGl0bGUtYmFyLWxlZnQgLm1lbnUtaWNvbjphZnRlciB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4ub2ZmLWNhbnZhcy1jb250ZW50LFxyXG4ub2ZmLWNhbnZhcy1jb250ZW50IHtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4ub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodCB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZDogJGxpZ2h0ZXI7XHJcbn1cclxuXHJcbi5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1sZWZ0Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxufVxyXG5cclxuYm9keSB7XHJcbiAgICBwYWRkaW5nLXRvcDogMTEwcHg7XHJcblxyXG4gICAgQG1lZGlhICN7JHNjcmVlbi1tZH0ge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgIH1cclxufVxyXG5cclxuLm1haW4taGVhZGVyLW91dGVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWluLWhlaWdodDogMTEwcHg7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDAhaW1wb3J0YW50O1xyXG4gICAgbGVmdDogMDtcclxuICAgIGJhY2tncm91bmQ6ICRsaWdodGVyO1xyXG4gICAgei1pbmRleDogOTk5O1xyXG5cclxuICAgIEBtZWRpYSAjeyRzY3JlZW4tbWR9IHtcclxuICAgICAgICBtaW4taGVpZ2h0OiA2NHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgbWluLWhlaWdodDogNjRweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmxvZ28tb3V0ZXJibGsge1xyXG4gICAgICAgIHdpZHRoOiAxcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxMTBweDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB0b3A6IDA7XHJcblxyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4teGxnfSB7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbGd1cH0ge1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1sZ30ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTQwcHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1kfSB7XHJcbiAgICAgICAgICAgIGxlZnQ6IDIwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgIHRvcDogNHB4O1xyXG4gICAgICAgICAgICBsZWZ0OiA2cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE2NnB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDE4M3B4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcblxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbGd9IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMzVweDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZH0ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDgycHg7XHJcbiAgICAgICAgICAgICAgICByaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pbm5lci1wYWdleyBib3JkZXItYm90dG9tOiAkY29sb3I3IHNvbGlkIDFweDtcclxuICAgICAgICAubG9nby1vdXRlcmJsayBhIHt3aWR0aDogOTZweDtcclxuXHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1kfSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNTBweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmlzLXN0dWNrIC5sb2dvLW91dGVyYmxrIGEge1xyXG4gICAgICAgIGhlaWdodDogMTEwcHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMHB4O1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDExMHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaGVhZGVyLWlubmVyIHtcclxuICAgICAgICB3aWR0aDogNzglO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDExMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDM0cHggMCAzNHB4IDg0cHg7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMTQ4cHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbGd1cH0ge1xyXG4gICAgICAgICAgICB3aWR0aDogNzIlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAzNHB4IDAgMzRweCAyNHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1sZ30ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcGFkZGluZzogMzRweCAwIDM0cHggMTQ1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1kfSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwcHggMTEwcHggMHB4IDYwJTtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogMTBweDtcclxuXHJcbiAgICAgICAgICAgIC50YWItYmxvY2sge1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwcHggNjBweCAwcHggMDtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogMTBweDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgLnRhYi1ibG9jayB7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uYXZpZ2F0aW9uLWJsb2NrIHtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG5cclxuICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCA3cHg7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRuYXYtY29sO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzaXplLWg2O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJ0bi1jb2w7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbGd1cH0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbGd9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTMwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYnRuLWNvbDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxN3B4O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnRuLWNvbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnRuLWNvbDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICYuYWN0aXZlLW5hdiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRidG4tY29sO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaSBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJi5zdWJtZW51IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIycHg7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTFweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL21lbnUtYXJyb3cuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgdG9wO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLWxndXB9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMTVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1kfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmxpa2UtYnRuIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA2OHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiA2cHg7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAkY29sb3IxNyBzb2xpZCAxcHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6ICRjb2xvcjE3IHNvbGlkIDFweDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgICAgICAubGlrZS1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zdmcvbGlrZS1idG4uc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciwmLmZhdi1pdGVtcyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc3ZnL2xpa2UtYnRuX2FjdGl2ZS5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZH0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDY0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjBweCAzMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLWxndXB9IHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDhweDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1kfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNjRweDtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNjRweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNvY2lhbC1ibG9jayB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMDtcclxuICAgIHRvcDogMDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgIGxpIHtcclxuICAgICAgICBoZWlnaHQ6IDU2cHg7XHJcbiAgICAgICAgd2lkdGg6IDU1cHg7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGO1xyXG5cclxuICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1kfSB7XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDY0cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiA1NXB4O1xyXG4gICAgICAgICAgICB3aWR0aDogNTVweDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDU1cHg7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1kfSB7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNjRweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAtNHB4O1xyXG5cclxuICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWR9IHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDY0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC45O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubGFuZ3VhZ2Uge1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgICBmbG9hdDogbGVmdDtcclxuXHJcbiAgICBAbWVkaWEgI3skc2NyZWVuLW1kfSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubGFuZ3VhZ2Utc3dpdGNoZXIge1xyXG4gICAgd2lkdGg6IDYycHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiA5O1xyXG4gICAgcGFkZGluZzogMTNweCAwIDBweCAxN3B4O1xyXG5cclxuICAgIGEge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjhweCAxOXB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICB3aWR0aDogMjhweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxOXB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJiA+IGEge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zdmcvc2VsZWN0X2Fycm93LnN2Zykgbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwcHggNnB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDZweDtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgICAgIHRvcDogN3B4O1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmRyb3Bkb3duIHtcclxuICAgICAgICB3aWR0aDogNDRweDtcclxuICAgICAgICBsZWZ0OiA5cHg7XHJcbiAgICAgICAgcGFkZGluZzogNXB4IDAgNXB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRsaWdodGVyO1xyXG4gICAgICAgIHRvcDogMTAwJTtcclxuXHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMHB4IDAgOHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm9mZi1jYW52YXMge1xyXG4gICAgLmxvZ28tb3V0ZXIge1xyXG4gICAgICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgICAgIG1hcmdpbjogNHB4IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgdWwgbGkge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtYnRuO1xyXG4gICAgICAgICAgICBjb2xvcjogJG5hdi1jb2w7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2w7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuc3VibWVudSB7XHJcbiAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDIycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTFweDtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL21lbnUtYXJyb3cuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgdG9wO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubGlrZS1idG4ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogNDZweDtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBib3JkZXItdG9wOiAkY29sb3I3IHNvbGlkIDFweDtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAkY29sb3I3IHNvbGlkIDFweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogN3B4IDA7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuXHJcbiAgICAgICAgLmxpa2UtaWNvbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDMycHg7XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3N2Zy9saWtlLWJ0bi5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlciwgJi5mYXYtaXRlbXMge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zdmcvbGlrZS1idG5fYWN0aXZlLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICAgQmFubmVyIFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8gXHJcblxyXG4uYmFubmVyLW91dGVyLWNvbnQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXgtaGVpZ2h0OiA2ODBweDtcclxuXHJcbiAgICAuYmFubmVyLWNvbnRlbnRibGsge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMjUwcHg7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHotaW5kZXg6IDk5OTk5O1xyXG5cclxuICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1kfSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuXHJcbiAgICAgICAgICAgIC5tZWRpdW0tMTIuY29sdW1ucyB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuXHJcbiAgICAgICAgICAgIC5tZWRpdW0tMTIuY29sdW1ucyB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY29udGlubmVyLWJsayB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzODBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0ZXI7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMzBweCA1cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWR9IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRkYXJrZXIsIC44KTtcclxuICAgICAgICAgICAgICAgIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICAtbW96LWJvcmRlci1yYWRpdXMtdG9wcmlnaHQ6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTVweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMzBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRkYXJrZXIsIC44KTtcclxuICAgICAgICAgICAgICAgIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgICAgICAtbW96LWJvcmRlci1yYWRpdXMtdG9wcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMzBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaDQge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJHNlbWktZm9udDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3IxMztcclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICY6YWN0aXZlLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcjEzO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHN0cm9uZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2VtaS1mb250O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbmF2LWNvbDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZH0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHRlcjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3IxMTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtc21hbGw7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yMTE7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWR9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcjEyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1kfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcjEyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yMTI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5kZXRhaWxzLWJsayB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG5cclxuICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWR9IHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleGJveDtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBhbGlnbi1pdGVtcyhjZW50ZXIpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDNweCAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcjg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkbGlnaHQtZm9udDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2l6ZS1zbWFsbDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbGd1cH0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogM3B4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1kfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1cCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yODtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkbGlnaHQtZm9udDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtc21hbGw7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5pY29uLWJsayB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTlweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTlweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmljb24tMSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zdmcvcHJvdWN0LWljb24xLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5pY29uLTIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc3ZnL3Byb3VjdC1pY29uMi5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYuaWNvbi0zIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3N2Zy9wcm91Y3QtaWNvbjMuc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmljb24tNCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zdmcvcHJvdWN0LWljb240LnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zbGlkZWNvbnRyb2xscyB7XHJcbiAgICB3aWR0aDogMzBweDtcclxuICAgIGhlaWdodDogNjBweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xyXG4gICAgei1pbmRleDogOTk5OTk5OTk7XHJcblxyXG4gICAgQG1lZGlhICN7JHNjcmVlbi1tZH0ge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLnNsaWRlLXByZXYge1xyXG4gICAgICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHRlciB1cmwoLi4vaW1hZ2VzL3N2Zy9wcmV2LWFycm93LnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgb3BhY2l0eTogLjg7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5zbGlkZS1uZXh0IHtcclxuICAgICAgICB3aWR0aDogMzBweDtcclxuICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0ZXIgdXJsKC4uL2ltYWdlcy9zdmcvbmV4dC1hcnJvdy5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxufVxyXG5cclxuLmJhbm5lci1vdXRlcmJsb2NrIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIG1heC1oZWlnaHQ6IDY4MHB4O1xyXG5cclxuICAgIGxpIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA2ODBweDtcclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDgwMHB4O1xyXG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLnpvb20tYWN0aXZlIGltZyB7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbjogYW5pbWF0aW9uRnJhbWVzIGxpbmVhciA1MHM7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xyXG4gICAgICAgICAgICAtd2Via2l0LWFuaW1hdGlvbjogYW5pbWF0aW9uRnJhbWVzIGxpbmVhciA1MHM7XHJcbiAgICAgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcclxuICAgICAgICAgICAgLW1vei1hbmltYXRpb246IGFuaW1hdGlvbkZyYW1lcyBsaW5lYXIgNTBzO1xyXG4gICAgICAgICAgICAtbW96LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xyXG4gICAgICAgICAgICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XHJcbiAgICAgICAgICAgIC1vLWFuaW1hdGlvbjogYW5pbWF0aW9uRnJhbWVzIGxpbmVhciA1MHM7XHJcbiAgICAgICAgICAgIC1vLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xyXG4gICAgICAgICAgICAtby10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xyXG4gICAgICAgICAgICAtbXMtYW5pbWF0aW9uOiBhbmltYXRpb25GcmFtZXMgbGluZWFyIDUwcztcclxuICAgICAgICAgICAgLW1zLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xyXG4gICAgICAgICAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5pbm5lci1iYW5uZXJibG9jayB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogNDkwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiA0OTBweDtcclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBhbmltYXRpb25GcmFtZXMge1xyXG4gICAgMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEuMDApIHNjYWxlWSgxLjAwKTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgyLjAwKSBzY2FsZVkoMi4wMCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkAtbW96LWtleWZyYW1lcyBhbmltYXRpb25GcmFtZXMge1xyXG4gICAgMCUge1xyXG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZVgoMS4wMCkgc2NhbGVZKDEuMDApO1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZVgoMi4wMCkgc2NhbGVZKDIuMDApO1xyXG4gICAgfVxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgYW5pbWF0aW9uRnJhbWVzIHtcclxuICAgIDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDEuMDApIHNjYWxlWSgxLjAwKTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDIuMDApIHNjYWxlWSgyLjAwKTtcclxuICAgIH1cclxufVxyXG5cclxuQC1vLWtleWZyYW1lcyBhbmltYXRpb25GcmFtZXMge1xyXG4gICAgMCUge1xyXG4gICAgICAgIC1vLXRyYW5zZm9ybTogc2NhbGVYKDEuMDApIHNjYWxlWSgxLjAwKTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlWCgyLjAwKSBzY2FsZVkoMi4wMCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkAtbXMta2V5ZnJhbWVzIGFuaW1hdGlvbkZyYW1lcyB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVYKDEuMDApIHNjYWxlWSgxLjAwKTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZVgoMi4wMCkgc2NhbGVZKDIuMDApO1xyXG4gICAgfVxyXG59IiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICAgIEZvb3RlclxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmZvb3Rlci1vdXRlciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGJhY2tncm91bmQ6ICRsaWdodGVyO1xyXG4gICAgYm9yZGVyLXRvcDogJGNvbG9yMTUgc29saWQgMXB4O1xyXG5cclxuICAgIC5uYXZpZ2F0aW9uLWJsayB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG5cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcblxyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAyMXB4O1xyXG5cclxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJG1haW4tZm9udDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzaXplLWJhc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktZGFyaztcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZH0ge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNvcHlyaWdodC1ibGsge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkbWFpbi1mb250O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJHNpemUtc21hbGw7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktZGFyaztcclxuICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yNTtcclxuXHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktZGFyaztcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRtYWluLWZvbnQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtc21hbGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi5TdW1vU2VsZWN0IHAge1xyXG4gICAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4uU3Vtb1NlbGVjdCB7XHJcbiAgICB3aWR0aDogMTc3cHg7XHJcbn1cclxuXHJcbi5TZWxlY3RCb3gge1xyXG4gICAgcGFkZGluZzogNXB4IDEzcHg7XHJcbn1cclxuXHJcbi5zdW1vU3RvcFNjcm9sbCB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uU3Vtb1NlbGVjdCAuaGlkZGVuIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5TdW1vU2VsZWN0IC5zZWFyY2gtdHh0IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG4uU3Vtb1NlbGVjdCAubm8tbWF0Y2gge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIHBhZGRpbmc6IDZweDtcclxufVxyXG5cclxuLlN1bW9TZWxlY3Qub3BlbiAuc2VhcmNoLXR4dCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiA1cHggOHB4O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxufVxyXG5cclxuLlN1bW9TZWxlY3Qub3BlbiA+IC5zZWFyY2ggPiBzcGFuLFxyXG4uU3Vtb1NlbGVjdC5vcGVuID4gLnNlYXJjaCA+IGxhYmVsIHtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLlNlbGVjdENsYXNzLFxyXG4uU3Vtb1VuZGVyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MClcIjtcclxuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcclxuICAgIC1tb3otb3BhY2l0eTogMDtcclxuICAgIC1raHRtbC1vcGFjaXR5OiAwO1xyXG4gICAgb3BhY2l0eTogMDtcclxufVxyXG5cclxuLlNlbGVjdENsYXNzIHtcclxuICAgIHotaW5kZXg6IDE7XHJcbn1cclxuc2VsZWN0e21hcmdpbjogMDt9XHJcbi5TdW1vU2VsZWN0ID4gLm9wdFdyYXBwZXIgPiAub3B0aW9ucyBsaS5vcHQgbGFiZWwsXHJcbi5TdW1vU2VsZWN0ID4gLkNhcHRpb25Db250LFxyXG4uU3Vtb1NlbGVjdCAuc2VsZWN0LWFsbCA+IGxhYmVsIHtcclxuICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgLW8tdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxufVxyXG5cclxuLlN1bW9TZWxlY3Qge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxufVxyXG5cclxuLlN1bW9TZWxlY3Q6Zm9jdXMgPiAuQ2FwdGlvbkNvbnQsXHJcbi5TdW1vU2VsZWN0OmhvdmVyID4gLkNhcHRpb25Db250LFxyXG4uU3Vtb1NlbGVjdC5vcGVuID4gLkNhcHRpb25Db250IHtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAycHggIzc3OTlEMDtcclxuICAgIGJvcmRlci1jb2xvcjogIzc3OTlEMDtcclxufVxyXG5cclxuLlN1bW9TZWxlY3QgPiAuQ2FwdGlvbkNvbnQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyBcclxuICAgIG1pbi1oZWlnaHQ6IDE0cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I1O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4uU3Vtb1NlbGVjdCA+IC5DYXB0aW9uQ29udCA+IHNwYW4ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgIGNvbG9yOiAkbmF2LWNvbDtcclxufVxyXG5cclxuLlN1bW9TZWxlY3QgPiAuQ2FwdGlvbkNvbnQgPiBzcGFuLnBsYWNlaG9sZGVyIHtcclxuICAgIGNvbG9yOiAkbmF2LWNvbDtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxufVxyXG5cclxuLlN1bW9TZWxlY3QgPiAuQ2FwdGlvbkNvbnQgPiBsYWJlbCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgY29sb3I6ICRuYXYtY29sO1xyXG59XHJcblxyXG4uU3Vtb1NlbGVjdCA+IC5DYXB0aW9uQ29udCA+IGxhYmVsID4gaSB7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL2Fycm93LXNlbGVjdC5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiAxNXB4IDEzcHg7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG4gICAgd2lkdGg6IDE1cHg7XHJcbiAgICBoZWlnaHQ6IDEzcHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMTNweDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIG1hcmdpbjogYXV0bzsgXHJcbn1cclxuXHJcbi5TdW1vU2VsZWN0ID4gLm9wdFdyYXBwZXIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIHotaW5kZXg6IDEwMDA7XHJcbiAgICB0b3A6IDMwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yNTsgXHJcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uU3Vtb1NlbGVjdC5vcGVuID4gLm9wdFdyYXBwZXIge1xyXG4gICAgdG9wOiAzNXB4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5TdW1vU2VsZWN0Lm9wZW4gPiAub3B0V3JhcHBlci51cCB7XHJcbiAgICB0b3A6IGF1dG87XHJcbiAgICBib3R0b206IDEwMCU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbn1cclxuXHJcbi5TdW1vU2VsZWN0ID4gLm9wdFdyYXBwZXIgdWwge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG59XHJcblxyXG4uU3Vtb1NlbGVjdCA+IC5vcHRXcmFwcGVyID4gLm9wdGlvbnMge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWF4LWhlaWdodDogMjUwcHg7XHJcbn1cclxuXHJcbi5TdW1vU2VsZWN0ID4gLm9wdFdyYXBwZXIub2tDYW5jZWxJbk11bHRpID4gLm9wdGlvbnMge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMnB4IDJweCAwIDA7XHJcbn1cclxuXHJcbi5TdW1vU2VsZWN0ID4gLm9wdFdyYXBwZXIuc2VsYWxsID4gLm9wdGlvbnMge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDJweCAycHg7XHJcbn1cclxuXHJcbi5TdW1vU2VsZWN0ID4gLm9wdFdyYXBwZXIuc2VsYWxsLm9rQ2FuY2VsSW5NdWx0aSA+IC5vcHRpb25zIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbn1cclxuXHJcbi5TdW1vU2VsZWN0ID4gLm9wdFdyYXBwZXIgPiAub3B0aW9ucyBsaS5ncm91cC5kaXNhYmxlZCA+IGxhYmVsIHtcclxuICAgIG9wYWNpdHk6IDAuNTtcclxuICAgIGNvbG9yOiAkbmF2LWNvbDtcclxufVxyXG5cclxuLlN1bW9TZWxlY3QgPiAub3B0V3JhcHBlciA+IC5vcHRpb25zIGxpIHVsIGxpLm9wdCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDIycHg7XHJcbn1cclxuXHJcbi5TdW1vU2VsZWN0ID4gLm9wdFdyYXBwZXIubXVsdGlwbGUgPiAub3B0aW9ucyBsaSB1bCBsaS5vcHQge1xyXG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xyXG59XHJcblxyXG4uU3Vtb1NlbGVjdCA+IC5vcHRXcmFwcGVyLmlzRmxvYXRpbmcgPiAub3B0aW9ucyB7XHJcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyBcclxufVxyXG5cclxuLlN1bW9TZWxlY3QgPiAub3B0V3JhcHBlciA+IC5vcHRpb25zIGxpLm9wdCB7XHJcbiAgICBwYWRkaW5nOiA2cHggMTNweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLlN1bW9TZWxlY3QgPiAub3B0V3JhcHBlciA+IC5vcHRpb25zID4gbGkub3B0OmZpcnN0LWNoaWxkIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDJweCAycHggMCAwO1xyXG59XHJcblxyXG4uU3Vtb1NlbGVjdCA+IC5vcHRXcmFwcGVyLnNlbGFsbCA+IC5vcHRpb25zID4gbGkub3B0OmZpcnN0LWNoaWxkIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbn1cclxuXHJcbi5TdW1vU2VsZWN0ID4gLm9wdFdyYXBwZXIgPiAub3B0aW9ucyA+IGxpLm9wdDpsYXN0LWNoaWxkIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAycHggMnB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxufVxyXG5cclxuLlN1bW9TZWxlY3QgPiAub3B0V3JhcHBlci5va0NhbmNlbEluTXVsdGkgPiAub3B0aW9ucyA+IGxpLm9wdDpsYXN0LWNoaWxkIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbn1cclxuXHJcbi5TdW1vU2VsZWN0ID4gLm9wdFdyYXBwZXIgPiAub3B0aW9ucyBsaS5vcHQ6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0U0RTRFNDtcclxufVxyXG5cclxuLlN1bW9TZWxlY3QgPiAub3B0V3JhcHBlciA+IC5vcHRpb25zIGxpLm9wdC5zZWwsXHJcbi5TdW1vU2VsZWN0IC5zZWxlY3QtYWxsLnNlbCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTFjMGU0O1xyXG59XHJcblxyXG4uU3Vtb1NlbGVjdCA+IC5vcHRXcmFwcGVyID4gLm9wdGlvbnMgbGkgbGFiZWwge1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgY29sb3I6ICRuYXYtY29sO1xyXG59XHJcblxyXG4uU3Vtb1NlbGVjdCA+IC5vcHRXcmFwcGVyID4gLm9wdGlvbnMgbGkgc3BhbiB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4uU3Vtb1NlbGVjdCA+IC5vcHRXcmFwcGVyID4gLm9wdGlvbnMgbGkuZ3JvdXAgPiBsYWJlbCB7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICBwYWRkaW5nOiA4cHggNnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi5TdW1vU2VsZWN0ID4gLm9wdFdyYXBwZXIuaXNGbG9hdGluZyB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB3aWR0aDogOTAlO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgbWF4LWhlaWdodDogOTAlO1xyXG59XHJcblxyXG4uU3Vtb1NlbGVjdCA+IC5vcHRXcmFwcGVyID4gLm9wdGlvbnMgbGkub3B0LmRpc2FibGVkIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG5cclxuLlN1bW9TZWxlY3QgPiAub3B0V3JhcHBlciA+IC5vcHRpb25zIGxpLm9wdC5kaXNhYmxlZCAqIHtcclxuICAgIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NTApXCI7XHJcbiAgICAvKiBJRSA1LTcgKi9cclxuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT01MCk7XHJcbiAgICAtbW96LW9wYWNpdHk6IDAuNTtcclxuICAgIC1raHRtbC1vcGFjaXR5OiAwLjU7XHJcbiAgICBvcGFjaXR5OiAwLjU7XHJcbn1cclxuXHJcbi5TdW1vU2VsZWN0ID4gLm9wdFdyYXBwZXIubXVsdGlwbGUgPiAub3B0aW9ucyBsaS5vcHQge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uU3Vtb1NlbGVjdCA+IC5vcHRXcmFwcGVyLm11bHRpcGxlID4gLm9wdGlvbnMgbGkub3B0IHNwYW4sXHJcbi5TdW1vU2VsZWN0IC5zZWxlY3QtYWxsID4gc3BhbiB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0zNXB4O1xyXG59XHJcblxyXG4uU3Vtb1NlbGVjdCA+IC5vcHRXcmFwcGVyLm11bHRpcGxlID4gLm9wdGlvbnMgbGkub3B0IHNwYW4gaSxcclxuLlN1bW9TZWxlY3QgLnNlbGVjdC1hbGwgPiBzcGFuIGkge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgd2lkdGg6IDE0cHg7XHJcbiAgICBoZWlnaHQ6IDE0cHg7IFxyXG4gICAgYm9yZGVyLXJhZGl1czogMnB4OyBcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi5TdW1vU2VsZWN0ID4gLm9wdFdyYXBwZXIgPiAuTXVsdGlDb250cm9scyB7XHJcbiAgICBkaXNwbGF5OiBub25lOyBcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IFxyXG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDNweCAzcHg7XHJcbn1cclxuXHJcbi5TdW1vU2VsZWN0ID4gLm9wdFdyYXBwZXIubXVsdGlwbGUuaXNGbG9hdGluZyA+IC5NdWx0aUNvbnRyb2xzIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5TdW1vU2VsZWN0ID4gLm9wdFdyYXBwZXIubXVsdGlwbGUub2tDYW5jZWxJbk11bHRpID4gLk11bHRpQ29udHJvbHMge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5TdW1vU2VsZWN0ID4gLm9wdFdyYXBwZXIubXVsdGlwbGUub2tDYW5jZWxJbk11bHRpID4gLk11bHRpQ29udHJvbHMgPiBwIHtcclxuICAgIHBhZGRpbmc6IDZweDtcclxufVxyXG5cclxuLlN1bW9TZWxlY3QgPiAub3B0V3JhcHBlci5tdWx0aXBsZS5va0NhbmNlbEluTXVsdGkgPiAuTXVsdGlDb250cm9scyA+IHA6Zm9jdXMgeyBcclxuICAgIGJvcmRlci1jb2xvcjogI2ExYzBlNDtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTFjMGU0O1xyXG59XHJcblxyXG4uU3Vtb1NlbGVjdCA+IC5vcHRXcmFwcGVyLm11bHRpcGxlID4gLk11bHRpQ29udHJvbHMgPiBwIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHBhZGRpbmc6IDEycHg7XHJcbiAgICB3aWR0aDogNTAlO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLlN1bW9TZWxlY3QgPiAub3B0V3JhcHBlci5tdWx0aXBsZSA+IC5NdWx0aUNvbnRyb2xzID4gcDpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xyXG59XHJcblxyXG4uU3Vtb1NlbGVjdCA+IC5vcHRXcmFwcGVyLm11bHRpcGxlID4gLk11bHRpQ29udHJvbHMgPiBwLmJ0bk9rIHsgXHJcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAzcHg7XHJcbn1cclxuXHJcbi5TdW1vU2VsZWN0ID4gLm9wdFdyYXBwZXIubXVsdGlwbGUgPiAuTXVsdGlDb250cm9scyA+IHAuYnRuQ2FuY2VsIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAzcHggMDtcclxufVxyXG5cclxuLlN1bW9TZWxlY3QgPiAub3B0V3JhcHBlci5pc0Zsb2F0aW5nID4gLm9wdGlvbnMgbGkub3B0IHtcclxuICAgIHBhZGRpbmc6IDEycHggNnB4O1xyXG59XHJcblxyXG4uU3Vtb1NlbGVjdCA+IC5vcHRXcmFwcGVyLm11bHRpcGxlLmlzRmxvYXRpbmcgPiAub3B0aW9ucyBsaS5vcHQge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xyXG59XHJcblxyXG4uU3Vtb1NlbGVjdCA+IC5vcHRXcmFwcGVyLm11bHRpcGxlLmlzRmxvYXRpbmcge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDQzcHg7XHJcbn1cclxuXHJcbi5TdW1vU2VsZWN0ID4gLm9wdFdyYXBwZXIubXVsdGlwbGUgPiAub3B0aW9ucyBsaS5vcHQuc2VsZWN0ZWQgc3BhbiBpLFxyXG4uU3Vtb1NlbGVjdCAuc2VsZWN0LWFsbC5zZWxlY3RlZCA+IHNwYW4gaSxcclxuLlN1bW9TZWxlY3QgLnNlbGVjdC1hbGwucGFydGlhbCA+IHNwYW4gaSB7XHJcbiBcclxufVxyXG5cclxuLlN1bW9TZWxlY3QuZGlzYWJsZWQge1xyXG4gICAgb3BhY2l0eTogMC43O1xyXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxufVxyXG5cclxuLlN1bW9TZWxlY3QuZGlzYWJsZWQgPiAuQ2FwdGlvbkNvbnQge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjY2NjO1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxufVxyXG5cclxuXHJcbi5TdW1vU2VsZWN0IC5zZWxlY3QtYWxsIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDNweCAzcHggMCAwO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyBcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBwYWRkaW5nOiA4cHggMCAzcHggMzVweDtcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLlN1bW9TZWxlY3QgLnNlbGVjdC1hbGwgPiBsYWJlbCxcclxuLlN1bW9TZWxlY3QgLnNlbGVjdC1hbGwgPiBzcGFuIGkge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uU3Vtb1NlbGVjdCAuc2VsZWN0LWFsbC5wYXJ0aWFsID4gc3BhbiBpIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XHJcbn1cclxuXHJcbi5TdW1vU2VsZWN0ID4gLm9wdFdyYXBwZXIgPiAub3B0aW9ucyBsaS5vcHRHcm91cCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG59IiwiLyogU2xpZGVyICovXG5cbi5zbGljay1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc2xpY2stbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmRyYWdnaW5nIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjdXJzb3I6IGhhbmQ7XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnNsaWNrLXRyYWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAmLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi5kcmFnZ2luZyBpbWcge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAuc2xpY2staW5pdGlhbGl6ZWQgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnNsaWNrLXZlcnRpY2FsICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG59XG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4uZmFuY3lib3gtZW5hYmxlZCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlblxufVxuXG4uZmFuY3lib3gtZW5hYmxlZCBib2R5IHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IDEwMCVcbn1cblxuLmZhbmN5Ym94LWlzLWhpZGRlbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTk5OTlweDtcbiAgICBsZWZ0OiAtOTk5OXB4O1xuICAgIHZpc2liaWxpdHk6IGhpZGRlblxufVxuXG4uZmFuY3lib3gtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDk5OTkzO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKVxufVxuXG4uZmFuY3lib3gtY29udGFpbmVyfi5mYW5jeWJveC1jb250YWluZXIge1xuICAgIHotaW5kZXg6IDk5OTkyXG59XG5cbi5mYW5jeWJveC1iZyxcbi5mYW5jeWJveC1pbm5lcixcbi5mYW5jeWJveC1vdXRlcixcbi5mYW5jeWJveC1zdGFnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMFxufVxuXG4uZmFuY3lib3gtb3V0ZXIge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoXG59XG5cbi5mYW5jeWJveC1iZyB7XG4gICAgYmFja2dyb3VuZDogIzFlMWUxZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC40NywgMCwgLjc0LCAuNzEpXG59XG5cbi5mYW5jeWJveC1pcy1vcGVuIC5mYW5jeWJveC1iZyB7XG4gICAgb3BhY2l0eTogLjg3O1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjIyLCAuNjEsIC4zNiwgMSlcbn1cblxuLmZhbmN5Ym94LWNhcHRpb24td3JhcCxcbi5mYW5jeWJveC1pbmZvYmFyLFxuLmZhbmN5Ym94LXRvb2xiYXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXJlY3Rpb246IGx0cjtcbiAgICB6LWluZGV4OiA5OTk5NztcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXMsIHZpc2liaWxpdHkgMHMgbGluZWFyIC4yNXM7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveFxufVxuXG4uZmFuY3lib3gtc2hvdy1jYXB0aW9uIC5mYW5jeWJveC1jYXB0aW9uLXdyYXAsXG4uZmFuY3lib3gtc2hvdy1pbmZvYmFyIC5mYW5jeWJveC1pbmZvYmFyLFxuLmZhbmN5Ym94LXNob3ctdG9vbGJhciAuZmFuY3lib3gtdG9vbGJhciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjI1cywgdmlzaWJpbGl0eSAwc1xufVxuXG4uZmFuY3lib3gtaW5mb2JhciB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTc5cHhcbn1cblxuLmZhbmN5Ym94LWluZm9iYXJfX2JvZHkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogNzBweDtcbiAgICBsaW5lLWhlaWdodDogNDRweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC1mYW1pbHk6IEhlbHZldGljYSBOZXVlLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogI2RkZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMwLCAzMCwgMzAsIC43KTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkXG59XG5cbi5mYW5jeWJveC10b29sYmFyIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDBcbn1cblxuLmZhbmN5Ym94LXN0YWdlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpcmVjdGlvbjogbHRyO1xuICAgIHotaW5kZXg6IDk5OTk0O1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApXG59XG5cbi5mYW5jeWJveC1zbGlkZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgei1pbmRleDogOTk5OTQ7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIC13ZWJraXQtdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHksIC13ZWJraXQtdHJhbnNmb3JtO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkXG59XG5cbi5mYW5jeWJveC1zbGlkZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAwXG59XG5cbi5mYW5jeWJveC1pcy1zbGlkaW5nIC5mYW5jeWJveC1zbGlkZSxcbi5mYW5jeWJveC1zbGlkZS0tY3VycmVudCxcbi5mYW5jeWJveC1zbGlkZS0tbmV4dCxcbi5mYW5jeWJveC1zbGlkZS0tcHJldmlvdXMge1xuICAgIGRpc3BsYXk6IGJsb2NrXG59XG5cbi5mYW5jeWJveC1zbGlkZS0taW1hZ2Uge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlXG59XG5cbi5mYW5jeWJveC1zbGlkZS0taW1hZ2U6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lXG59XG5cbi5mYW5jeWJveC1zbGlkZS0tdmlkZW8gLmZhbmN5Ym94LWNvbnRlbnQsXG4uZmFuY3lib3gtc2xpZGUtLXZpZGVvIGlmcmFtZSB7XG4gICAgYmFja2dyb3VuZDogIzAwMFxufVxuXG4uZmFuY3lib3gtc2xpZGUtLW1hcCAuZmFuY3lib3gtY29udGVudCxcbi5mYW5jeWJveC1zbGlkZS0tbWFwIGlmcmFtZSB7XG4gICAgYmFja2dyb3VuZDogI2U1ZTNkZlxufVxuXG4uZmFuY3lib3gtc2xpZGUtLW5leHQge1xuICAgIHotaW5kZXg6IDk5OTk1XG59XG5cbi5mYW5jeWJveC1zbGlkZT5kaXYge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMjRweDtcbiAgICBtYXJnaW46IDQ0cHggMDtcbiAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveFxufVxuXG4uZmFuY3lib3gtc2xpZGUgLmZhbmN5Ym94LWltYWdlLXdyYXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgei1pbmRleDogOTk5OTU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZVxufVxuXG4uZmFuY3lib3gtY2FuLXpvb21PdXQgLmZhbmN5Ym94LWltYWdlLXdyYXAge1xuICAgIGN1cnNvcjogem9vbS1vdXRcbn1cblxuLmZhbmN5Ym94LWNhbi16b29tSW4gLmZhbmN5Ym94LWltYWdlLXdyYXAge1xuICAgIGN1cnNvcjogem9vbS1pblxufVxuXG4uZmFuY3lib3gtY2FuLWRyYWcgLmZhbmN5Ym94LWltYWdlLXdyYXAge1xuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xuICAgIGN1cnNvcjogZ3JhYlxufVxuXG4uZmFuY3lib3gtaXMtZHJhZ2dpbmcgLmZhbmN5Ym94LWltYWdlLXdyYXAge1xuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiYmluZztcbiAgICBjdXJzb3I6IGdyYWJiaW5nXG59XG5cbi5mYW5jeWJveC1pbWFnZSxcbi5mYW5jeWJveC1zcGFjZWJhbGwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmVcbn1cblxuLmZhbmN5Ym94LXNwYWNlYmFsbCB7XG4gICAgei1pbmRleDogMVxufVxuXG4uZmFuY3lib3gtc2xpZGUtLWlmcmFtZSAuZmFuY3lib3gtY29udGVudCB7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogODAlO1xuICAgIGhlaWdodDogODAlO1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTAwcHgpO1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIDg4cHgpO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGJhY2tncm91bmQ6ICNmZmZcbn1cblxuLmZhbmN5Ym94LWlmcmFtZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgaGVpZ2h0OiAxMDAlXG59XG5cbi5mYW5jeWJveC1lcnJvcixcbi5mYW5jeWJveC1pZnJhbWUge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmXG59XG5cbi5mYW5jeWJveC1lcnJvciB7XG4gICAgcGFkZGluZzogNDBweDtcbiAgICBtYXgtd2lkdGg6IDM4MHB4O1xuICAgIGN1cnNvcjogZGVmYXVsdFxufVxuXG4uZmFuY3lib3gtZXJyb3IgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6ICM0NDQ7XG4gICAgZm9udDogMTZweC8yMHB4IEhlbHZldGljYSBOZXVlLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmXG59XG5cbi5mYW5jeWJveC1jbG9zZS1zbWFsbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogNDRweDtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBjdXJzb3I6IHBvaW50ZXJcbn1cblxuLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIsOXXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNXB4O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIGZvbnQ6IDIwcHgvMzBweCBBcmlhbCwgSGVsdmV0aWNhIE5ldWUsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBjb2xvcjogIzg4ODtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMjVzO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgei1pbmRleDogMlxufVxuXG4uZmFuY3lib3gtY2xvc2Utc21hbGw6Zm9jdXM6YWZ0ZXIge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgIzg4OFxufVxuXG4uZmFuY3lib3gtY2xvc2Utc21hbGw6aG92ZXI6YWZ0ZXIge1xuICAgIGNvbG9yOiAjNTU1O1xuICAgIGJhY2tncm91bmQ6ICNlZWVcbn1cblxuLmZhbmN5Ym94LXNsaWRlLS1pZnJhbWUgLmZhbmN5Ym94LWNsb3NlLXNtYWxsIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IC00NHB4XG59XG5cbi5mYW5jeWJveC1zbGlkZS0taWZyYW1lIC5mYW5jeWJveC1jbG9zZS1zbWFsbDphZnRlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgZm9udC1zaXplOiAzNXB4O1xuICAgIGNvbG9yOiAjYWFhXG59XG5cbi5mYW5jeWJveC1zbGlkZS0taWZyYW1lIC5mYW5jeWJveC1jbG9zZS1zbWFsbDpob3ZlcjphZnRlciB7XG4gICAgY29sb3I6ICNmZmZcbn1cblxuLmZhbmN5Ym94LWNhcHRpb24td3JhcCB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgcGFkZGluZzogNjBweCAzMHB4IDA7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgdHJhbnNwYXJlbnQgMCwgcmdiYSgwLCAwLCAwLCAuMSkgMjAlLCByZ2JhKDAsIDAsIDAsIC4yKSA0MCUsIHJnYmEoMCwgMCwgMCwgLjYpIDgwJSwgcmdiYSgwLCAwLCAwLCAuOCkpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lXG59XG5cbi5mYW5jeWJveC1jYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGhzbGEoMCwgMCUsIDEwMCUsIC40KTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC1mYW1pbHk6IEhlbHZldGljYSBOZXVlLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogbm9uZVxufVxuXG4uZmFuY3lib3gtY2FwdGlvbiBhLFxuLmZhbmN5Ym94LWNhcHRpb24gYnV0dG9uLFxuLmZhbmN5Ym94LWNhcHRpb24gc2VsZWN0IHtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsXG59XG5cbi5mYW5jeWJveC1jYXB0aW9uIGEge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lXG59XG5cbi5mYW5jeWJveC1idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIHdpZHRoOiA0NHB4O1xuICAgIGhlaWdodDogNDRweDtcbiAgICBsaW5lLWhlaWdodDogNDRweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNkZGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBvdXRsaW5lOiBub25lXG59XG5cbi5mYW5jeWJveC1idXR0b25bZGlzYWJsZWRdIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmVcbn1cblxuLmZhbmN5Ym94LWJ1dHRvbixcbi5mYW5jeWJveC1pbmZvYmFyX19ib2R5IHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDMwLCAzMCwgMzAsIC42KVxufVxuXG4uZmFuY3lib3gtYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuOClcbn1cblxuLmZhbmN5Ym94LWJ1dHRvbjphZnRlcixcbi5mYW5jeWJveC1idXR0b246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICBvcGFjaXR5OiAuOTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9ja1xufVxuXG4uZmFuY3lib3gtYnV0dG9uW2Rpc2FibGVkXTphZnRlcixcbi5mYW5jeWJveC1idXR0b25bZGlzYWJsZWRdOmJlZm9yZSB7XG4gICAgb3BhY2l0eTogLjNcbn1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tbGVmdDphZnRlcixcbi5mYW5jeWJveC1idXR0b24tLXJpZ2h0OmFmdGVyIHtcbiAgICB0b3A6IDE4cHg7XG4gICAgd2lkdGg6IDZweDtcbiAgICBoZWlnaHQ6IDZweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgY3VycmVudENvbG9yO1xuICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkIGN1cnJlbnRDb2xvclxufVxuXG4uZmFuY3lib3gtYnV0dG9uLS1sZWZ0OmFmdGVyIHtcbiAgICBsZWZ0OiAyMHB4O1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZylcbn1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tcmlnaHQ6YWZ0ZXIge1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKVxufVxuXG4uZmFuY3lib3gtYnV0dG9uLS1sZWZ0IHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1cHhcbn1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tcmlnaHQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cHhcbn1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tY2xvc2U6YWZ0ZXIsXG4uZmFuY3lib3gtYnV0dG9uLS1jbG9zZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICB3aWR0aDogMTZweDtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMXB4KTtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDhweClcbn1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tY2xvc2U6YmVmb3JlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZylcbn1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tY2xvc2U6YWZ0ZXIge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpXG59XG5cbi5mYW5jeWJveC1hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbjogLTUwcHggMCAwO1xuICAgIGhlaWdodDogMTAwcHg7XG4gICAgd2lkdGg6IDU0cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB6LWluZGV4OiA5OTk5NTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMjVzXG59XG5cbi5mYW5jeWJveC1hcnJvdzphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAyOHB4O1xuICAgIHdpZHRoOiA0NHB4O1xuICAgIGhlaWdodDogNDRweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMwLCAzMCwgMzAsIC44KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCbWFXeHNQU0lqUmtaR1JrWkdJaUJvWldsbmFIUTlJalE0SWlCMmFXVjNRbTk0UFNJd0lEQWdNalFnTWpRaUlIZHBaSFJvUFNJME9DSWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklqNGdJQ0FnUEhCaGRHZ2daRDBpVFRBZ01HZ3lOSFl5TkVnd2VpSWdabWxzYkQwaWJtOXVaU0l2UGlBZ0lDQThjR0YwYUNCa1BTSk5NVElnTkd3dE1TNDBNU0F4TGpReFRERTJMakUzSURFeFNEUjJNbWd4TWk0eE4yd3ROUzQxT0NBMUxqVTVUREV5SURJd2JEZ3RPSG9pTHo0OEwzTjJaejQ9KTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDI0cHggMjRweFxufVxuXG4uZmFuY3lib3gtYXJyb3ctLXJpZ2h0IHtcbiAgICByaWdodDogMFxufVxuXG4uZmFuY3lib3gtYXJyb3ctLWxlZnQge1xuICAgIGxlZnQ6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgtMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpXG59XG5cbi5mYW5jeWJveC1hcnJvdy0tbGVmdDphZnRlcixcbi5mYW5jeWJveC1hcnJvdy0tcmlnaHQ6YWZ0ZXIge1xuICAgIGxlZnQ6IDBcbn1cblxuLmZhbmN5Ym94LXNob3ctbmF2IC5mYW5jeWJveC1hcnJvdyB7XG4gICAgb3BhY2l0eTogLjZcbn1cblxuLmZhbmN5Ym94LXNob3ctbmF2IC5mYW5jeWJveC1hcnJvd1tkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IC4zXG59XG5cbi5mYW5jeWJveC1zbGlkZT4uZmFuY3lib3gtbG9hZGluZyB7XG4gICAgYm9yZGVyOiA2cHggc29saWQgaHNsYSgwLCAwJSwgMzklLCAuNCk7XG4gICAgYm9yZGVyLXRvcDogNnB4IHNvbGlkIGhzbGEoMCwgMCUsIDEwMCUsIC42KTtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIGhlaWdodDogNTBweDtcbiAgICB3aWR0aDogNTBweDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogYSAuOHMgaW5maW5pdGUgbGluZWFyO1xuICAgIGFuaW1hdGlvbjogYSAuOHMgaW5maW5pdGUgbGluZWFyO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTI1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0yNXB4O1xuICAgIHotaW5kZXg6IDk5OTk5XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBhIHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpXG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpXG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGEge1xuICAgIDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZylcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZylcbiAgICB9XG59XG5cbi5mYW5jeWJveC1hbmltYXRlZCB7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAuMjUsIDEpXG59XG5cbi5mYW5jeWJveC1meC1zbGlkZS5mYW5jeWJveC1zbGlkZS0tcHJldmlvdXMge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgb3BhY2l0eTogMFxufVxuXG4uZmFuY3lib3gtZngtc2xpZGUuZmFuY3lib3gtc2xpZGUtLW5leHQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIG9wYWNpdHk6IDBcbn1cblxuLmZhbmN5Ym94LWZ4LXNsaWRlLmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgb3BhY2l0eTogMVxufVxuXG4uZmFuY3lib3gtZngtZmFkZS5mYW5jeWJveC1zbGlkZS0tbmV4dCxcbi5mYW5jeWJveC1meC1mYWRlLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4xOSwgMSwgLjIyLCAxKVxufVxuXG4uZmFuY3lib3gtZngtZmFkZS5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XG4gICAgb3BhY2l0eTogMVxufVxuXG4uZmFuY3lib3gtZngtem9vbS1pbi1vdXQuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjUsIDEuNSwgMS41KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS41LCAxLjUsIDEuNSk7XG4gICAgb3BhY2l0eTogMFxufVxuXG4uZmFuY3lib3gtZngtem9vbS1pbi1vdXQuZmFuY3lib3gtc2xpZGUtLW5leHQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC41LCAuNSwgLjUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNSwgLjUsIC41KTtcbiAgICBvcGFjaXR5OiAwXG59XG5cbi5mYW5jeWJveC1meC16b29tLWluLW91dC5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICBvcGFjaXR5OiAxXG59XG5cbi5mYW5jeWJveC1meC1yb3RhdGUuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xdHVybik7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTF0dXJuKTtcbiAgICBvcGFjaXR5OiAwXG59XG5cbi5mYW5jeWJveC1meC1yb3RhdGUuZmFuY3lib3gtc2xpZGUtLW5leHQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMXR1cm4pO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDF0dXJuKTtcbiAgICBvcGFjaXR5OiAwXG59XG5cbi5mYW5jeWJveC1meC1yb3RhdGUuZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgb3BhY2l0eTogMVxufVxuXG4uZmFuY3lib3gtZngtY2lyY3VsYXIuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLCAwLCAwKSB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAsIDAsIDApIHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAwXG59XG5cbi5mYW5jeWJveC1meC1jaXJjdWxhci5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMCwgMCwgMCkgdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAsIDAsIDApIHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIG9wYWNpdHk6IDBcbn1cblxuLmZhbmN5Ym94LWZ4LWNpcmN1bGFyLmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDEpIHRyYW5zbGF0ZVooMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMSkgdHJhbnNsYXRlWigwKTtcbiAgICBvcGFjaXR5OiAxXG59XG5cbi5mYW5jeWJveC1meC10dWJlLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBzY2FsZSguMSkgc2tldygtMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNjYWxlKC4xKSBza2V3KC0xMGRlZylcbn1cblxuLmZhbmN5Ym94LWZ4LXR1YmUuZmFuY3lib3gtc2xpZGUtLW5leHQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBzY2FsZSguMSkgc2tldygxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBzY2FsZSguMSkgc2tldygxMGRlZylcbn1cblxuLmZhbmN5Ym94LWZ4LXR1YmUuZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSgxKVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDo4MDBweCkge1xuICAgIC5mYW5jeWJveC1pbmZvYmFyIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDBcbiAgICB9XG4gICAgLmZhbmN5Ym94LWJ1dHRvbi0tbGVmdCxcbiAgICAuZmFuY3lib3gtYnV0dG9uLS1yaWdodCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUhaW1wb3J0YW50XG4gICAgfVxuICAgIC5mYW5jeWJveC1jYXB0aW9uIHtcbiAgICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICAgICBtYXJnaW46IDBcbiAgICB9XG59XG5cbi5mYW5jeWJveC1idXR0b24tLWZ1bGxzY3JlZW46YmVmb3JlIHtcbiAgICB3aWR0aDogMTVweDtcbiAgICBoZWlnaHQ6IDExcHg7XG4gICAgbGVmdDogY2FsYyg1MCUgLSA3cHgpO1xuICAgIHRvcDogY2FsYyg1MCUgLSA2cHgpO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkO1xuICAgIGJhY2tncm91bmQ6IG5vbmVcbn1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tcGF1c2U6YmVmb3JlLFxuLmZhbmN5Ym94LWJ1dHRvbi0tcGxheTpiZWZvcmUge1xuICAgIHRvcDogY2FsYyg1MCUgLSA2cHgpO1xuICAgIGxlZnQ6IGNhbGMoNTAlIC0gNHB4KTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudFxufVxuXG4uZmFuY3lib3gtYnV0dG9uLS1wbGF5OmJlZm9yZSB7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci10b3A6IDZweCBpbnNldCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiA2cHggaW5zZXQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQ7XG4gICAgYm9yZGVyLXJhZGl1czogMXB4XG59XG5cbi5mYW5jeWJveC1idXR0b24tLXBhdXNlOmJlZm9yZSB7XG4gICAgd2lkdGg6IDdweDtcbiAgICBoZWlnaHQ6IDExcHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDAgMnB4XG59XG5cbi5mYW5jeWJveC1idXR0b24tLXRodW1icyxcbi5mYW5jeWJveC10aHVtYnMge1xuICAgIGRpc3BsYXk6IG5vbmVcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ODAwcHgpIHtcbiAgICAuZmFuY3lib3gtYnV0dG9uLS10aHVtYnMge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2tcbiAgICB9XG4gICAgLmZhbmN5Ym94LWJ1dHRvbi0tdGh1bWJzIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDIzcHhcbiAgICB9XG4gICAgLmZhbmN5Ym94LWJ1dHRvbi0tdGh1bWJzOmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAzcHg7XG4gICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICB0b3A6IGNhbGMoNTAlIC0gMnB4KTtcbiAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAycHgpO1xuICAgICAgICBib3gtc2hhZG93OiAwIC00cHggMCwgLTRweCAtNHB4IDAsIDRweCAtNHB4IDAsIGluc2V0IDAgMCAwIDMycHgsIC00cHggMCAwLCA0cHggMCAwLCAwIDRweCAwLCAtNHB4IDRweCAwLCA0cHggNHB4IDBcbiAgICB9XG4gICAgLmZhbmN5Ym94LXRodW1icyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB3aWR0aDogMjIwcHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogNXB4IDVweCAwIDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgICAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgei1pbmRleDogOTk5OTVcbiAgICB9XG4gICAgLmZhbmN5Ym94LXNob3ctdGh1bWJzIC5mYW5jeWJveC10aHVtYnMge1xuICAgICAgICBkaXNwbGF5OiBibG9ja1xuICAgIH1cbiAgICAuZmFuY3lib3gtc2hvdy10aHVtYnMgLmZhbmN5Ym94LWlubmVyIHtcbiAgICAgICAgcmlnaHQ6IDIyMHB4XG4gICAgfVxuICAgIC5mYW5jeWJveC10aHVtYnM+dWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIGZvbnQtc2l6ZTogMFxuICAgIH1cbiAgICAuZmFuY3lib3gtdGh1bWJzPnVsPmxpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAxMDVweDtcbiAgICAgICAgaGVpZ2h0OiA3NXB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm9yZGVyOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveFxuICAgIH1cbiAgICBsaS5mYW5jeWJveC10aHVtYnMtbG9hZGluZyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjEpXG4gICAgfVxuICAgIC5mYW5jeWJveC10aHVtYnM+dWw+bGk+aW1nIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmVcbiAgICB9XG4gICAgLmZhbmN5Ym94LXRodW1icz51bD5saTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICBib3JkZXI6IDRweCBzb2xpZCAjNGVhN2Y5O1xuICAgICAgICB6LWluZGV4OiA5OTk5MTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycyBjdWJpYy1iZXppZXIoLjI1LCAuNDYsIC40NSwgLjk0KVxuICAgIH1cbiAgICAuZmFuY3lib3gtdGh1bWJzPnVsPmxpLmZhbmN5Ym94LXRodW1icy1hY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogMVxuICAgIH1cbn0iLCJcclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICAgIEhvbWUgUGFnZVxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLnNlYXJjaC1pbm5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgYmFja2dyb3VuZDogJGxpZ2h0ZXI7XHJcbiAgICBAaW5jbHVkZSBmbGV4Ym94O1xyXG4gICAgQGluY2x1ZGUgZmxleC13cmFwKHdyYXApO1xyXG4gICAgYm9yZGVyLWxlZnQ6ICRjb2xvcjcgc29saWQgMXB4O1xyXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggOXB4IDU2cHggLTlweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xyXG4gICAgLW1vei1ib3gtc2hhZG93OiAwcHggOXB4IDU2cHggLTlweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xyXG4gICAgYm94LXNoYWRvdzogMHB4IDlweCA1NnB4IC05cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcclxuXHJcbiAgICBAbWVkaWEgI3skc2NyZWVuLWxnfSB7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAjeyRzY3JlZW4tbWR9IHtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAudG9wLWZpbHRlci1ibGsge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4Ym94O1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtd3JhcCh3cmFwKTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbGd9IHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTVweCAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZH0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDAgMzBweCAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDAgMzBweCAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnNpbmdsZS1ibGsge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgcGFkZGluZzogMzJweCAxNXB4O1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogJGNvbG9yNyBzb2xpZCAxcHg7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMjA4cHg7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLWxndXB9IHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDMycHggOHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLWxnfSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xyXG5cclxuICAgICAgICAgICAgICAgIC5TdW1vU2VsZWN0IHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZH0ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcclxuXHJcbiAgICAgICAgICAgICAgICAuU3Vtb1NlbGVjdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCA1cHg7XHJcblxyXG4gICAgICAgICAgICAgICAgLlN1bW9TZWxlY3Qge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmljb24tYmxrIHtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTA3cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDM4cHggMCAzNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYub3Blbi1pY29ue2Rpc3BsYXk6IGlubGluZS1ibG9jazt9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYuY2xvc2UtaWNvbntkaXNwbGF5OiBub25lO31cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLWxnfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDAgMTJweCAyMHB4O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbmF2LWNvbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtYnRuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZH0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTJweCAwIDEycHggMjBweDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG5hdi1jb2w7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzaXplLWJ0bjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMCAxMnB4IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRuYXYtY29sO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IC03cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaW1ne1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJi5vcGVuLWljb257ZGlzcGxheTogbm9uZTt9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYuY2xvc2UtaWNvbntkaXNwbGF5OiAgaW5saW5lLWJsb2NrO31cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5idG4tYmxrIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyMTNweDtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcblxyXG4gICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1sZ30ge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAxNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWR9IHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCA1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNDBweCAxMHB4IDQxcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2l6ZS1iYXNlO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHRlcjtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjY7XHJcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLWxnfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMTBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWR9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwcHggMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMThweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3N2Zy9zZWFyY2hfaWNvbi5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE4cHggMThweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogM3B4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2w7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5ib3R0b20tZmlsdGVyLWJsayB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBib3JkZXItdG9wOiAkY29sb3I3IHNvbGlkIDFweDtcclxuICAgICAgICAmOmJlZm9yZSxcclxuICAgICAgICAmOmFmdGVye1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDokY29sb3I3O1xyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpiZWZvcmV7XHJcbiAgICAgICAgICAgIHRvcDogLTFweDtcclxuICAgICAgICAgICAgcmlnaHQ6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgICAgIHRvcDogIC0xcHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IDEwMCU7XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgLnNpbmdsZS1zZWN0aW9uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI1JTtcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZH0ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmNvbnRlbnQtZGV0YWlscyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yNjtcclxuXHJcbiAgICAuY29udGVudC1pbm5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHBhZGRpbmc6IDY1cHggMDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMDBweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWR9IHtcclxuICAgICAgICAgICAgcGFkZGluZzogNTBweCAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDUwcHggIDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoMSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3IxNDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNzAwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkc2l6ZS1oNjtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3IxNDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA3MDBweDtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWR9IHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGEudmlldy1tb3JlIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIGhlaWdodDogNDRweDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDMwcHg7XHJcbiAgICAgICAgICAgIGJvcmRlcjogJGNvbG9yMTQgc29saWQgMXB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDVweCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3IxNDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5iYWRnZS1ibGsge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTYzcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNSU7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1kfSB7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYWRkcmVzcy1kZXRhaWxzIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBwYWRkaW5nOiA4MHB4IDA7XHJcblxyXG4gICAgQG1lZGlhICN7JHNjcmVlbi1tZH0ge1xyXG4gICAgICAgIHBhZGRpbmc6IDQwcHggMDtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgcGFkZGluZzogNTBweCAwIDMwcHggMDtcclxuICAgIH1cclxuXHJcbiAgICB1bCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXhib3g7XHJcbiAgICAgICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtd3JhcCAod3JhcCk7XHJcblxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDMyJTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAzNjNweDtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWR9IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA0OCU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogNTAwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAucHJvLWRldGFpbHMge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDkwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRsaWdodGVyO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuXHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMCAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkbGlnaHQtZm9udDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzaXplLWJhc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgc3Ryb25nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRzZW1pLWZvbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtYmFzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkbGlnaHQtZm9udDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtYmFzZTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHRlcjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgYWRkcmVzcyB7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGxpZ2h0LWZvbnQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzaXplLWJhc2U7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0ZXI7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuXHJcbiAgICAgICAgICAgICAgICBzdHJvbmcge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2VtaS1mb250O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtaDQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmFkZHJlc3MtYmxrIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggNDBweCAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLnNtYWxsLWJsb2NrIHtcclxuICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWR9IHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4Ym94O1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXdyYXAgKHdyYXApO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uIChjb2x1bW4pO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1kfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uIChyb3cpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjU1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZH0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQ4JTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzYzcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLm5ld3Mtb3V0ZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMjQwLCAyNDAsIDI0MCwgMSk7XHJcbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjQwLCAyNDAsIDI0MCwgMSkgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkgNTYlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpIDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCUsIHJnYmEoMjQwLCAyNDAsIDI0MCwgMSkpLCBjb2xvci1zdG9wKDU2JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSksIGNvbG9yLXN0b3AoMTAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSkpO1xyXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI0MCwgMjQwLCAyNDAsIDEpIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpIDU2JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSAxMDAlKTtcclxuICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjQwLCAyNDAsIDI0MCwgMSkgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkgNTYlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpIDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjQwLCAyNDAsIDI0MCwgMSkgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkgNTYlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpIDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNDAsIDI0MCwgMjQwLCAxKSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSA1NiUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkgMTAwJSk7XHJcbiAgICBwYWRkaW5nOiA2MHB4IDA7XHJcblxyXG4gICAgQG1lZGlhICN7JHNjcmVlbi1tZH0ge1xyXG4gICAgICAgIHBhZGRpbmc6IDMwcHggMDtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgcGFkZGluZzogMzBweCAwIDcwcHggMDtcclxuICAgIH1cclxufVxyXG5cclxuLm5ld3Mtb3V0ZXIgaDEge1xyXG4gICAgY29sb3I6ICRjb2xvcjY7XHJcbiAgICBmb250LWZhbWlseTogJGxpZ2h0LWZvbnQ7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcclxuXHJcbiAgICBAbWVkaWEgI3skc2NyZWVuLW1kfSB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5uZXdzLW91dGVyIHVsIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBAaW5jbHVkZSBmbGV4Ym94O1xyXG4gICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xyXG4gICAgQGluY2x1ZGUgZmxleC13cmFwICh3cmFwKTtcclxuXHJcbiAgICBAbWVkaWEgI3skc2NyZWVuLW1kfSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA2MTJweDtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBsaSB7XHJcbiAgICAgICAgd2lkdGg6IDI0JTtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAyNjZweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xyXG5cclxuICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgcGFkZGluZzogMCA0MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQG1lZGlhICN7JHNjcmVlbi14c219IHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5pbWFnZS1ibG9jayB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGF7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgICAgICAgICBpbWd7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICAgICAgICAgICAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgICAgICAgICAgICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdDt9XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMXB4O1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciBpbWd7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuICAgICAgICAgICAgICAgICAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuICAgICAgICAgICAgICAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5kYXRlLWJsb2NrIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA3MHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA3MHB4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleGJveDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChjZW50ZXIpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24gKGNvbHVtbik7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRsaWdodGVyLCAuOSk7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogOTk5O1xyXG5cclxuICAgICAgICAgICAgICAgIHN0cm9uZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWRhcms7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRib2xkLWZvbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2l6ZS1sYXJnZTtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWRhcms7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRsaWdodC1mb250O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtaDM7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY29udGVudC1ibG9jayB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHRlcjtcclxuXHJcbiAgICAgICAgICAgIGg1IHtcclxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDc1cHg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4Ym94O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KGNlbnRlcik7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbiAoY29sdW1uKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkYm9sZC1mb250O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktZGFyaztcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTUwcHg7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc2hvdy1tb2JpIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgQG1lZGlhICN7JHNjcmVlbi1tZH0ge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxufVxyXG5cclxuLnNsaWNrLXRyYWNrIHtcclxuICAgIEBpbmNsdWRlIGZsZXhib3g7XHJcbiAgICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcclxuICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uIChyb3cpO1xyXG5cclxuICAgIC5zbGljay1zbGlkZSB7XHJcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2xpY2stcHJldi5zbGljay1hcnJvdyB7XHJcbiAgICB3aWR0aDogNDRweDtcclxuICAgIGhlaWdodDogNDRweDtcclxuICAgIGJhY2tncm91bmQ6ICNGRkY7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBsaW5lLWhlaWdodDogNDBweDtcclxuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMjAwcHg7XHJcbiAgICBsZWZ0OiAtNTBweDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBmb250LXNpemU6IDA7XHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAycHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMjgpO1xyXG4gICAgLW1vei1ib3gtc2hhZG93OiAwcHggMnB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjI4KTtcclxuICAgIGJveC1zaGFkb3c6IDBweCAycHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMjgpO1xyXG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zdmcvcHJldl9ub3JtYWwuc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHotaW5kZXg6IDk5OTk7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zdmcvcHJldl9hY3RpdmUuc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgdG9wOiAxMDElO1xyXG4gICAgICAgIGxlZnQ6NTAlO1xyXG4gICAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogLTUwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhICN7JHNjcmVlbi14c219IHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2xpY2stbmV4dC5zbGljay1hcnJvdyB7XHJcbiAgICB3aWR0aDogNDRweDtcclxuICAgIGhlaWdodDogNDRweDtcclxuICAgIGJhY2tncm91bmQ6ICNGRkY7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBsaW5lLWhlaWdodDogNDBweDtcclxuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMjAwcHg7XHJcbiAgICByaWdodDogLTUwcHg7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgZm9udC1zaXplOiAwO1xyXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMnB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjI4KTtcclxuICAgIC1tb3otYm94LXNoYWRvdzogMHB4IDJweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yOCk7XHJcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjI4KTtcclxuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc3ZnL25leHRfbm9ybWFsLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB6LWluZGV4OiA5OTk5O1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc3ZnL25leHRfYWN0aXZlLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgIHRvcDogMTAxJTtcclxuICAgICAgICByaWdodDogNTAlO1xyXG4gICAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IC01MHB4O1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgI3skc2NyZWVuLXhzbX0ge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4uc2VhcmNoLXRpdGxle1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgIGJvdHRvbToxMDAlO1xyXG4gICAgei1pbmRleDogOTk5ODtcclxuICAgIGNvbG9yOiAkbGlnaHRlcjtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBmb250LWZhbWlseTogJGJvbGQtZm9udDtcclxuICAgIGZvbnQtc2l6ZTokc2l6ZS1iYXNlIDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHJcbiAgICBAbWVkaWEgI3skc2NyZWVuLW1kfSB7XHJcbiAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG4iLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAgTGlzdGluZyBQYWdlXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLmRldGFpbHMtb3V0ZXJibGt7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIG1heC13aWR0aDogMTU5MHB4O1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBwYWRkaW5nOjM1cHggMCAyMHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXhib3g7XHJcbiAgICAgICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtd3JhcCAod3JhcCk7XHJcblxyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbGd9IHtcclxuICAgICAgICAgICAgcGFkZGluZzogMzVweCAwIDA7XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAuY291bnQtYmxvY2t7XHJcbiAgICAgICAgd2lkdGg6IDIyJTtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBjb2xvcjogJG5hdi1jb2w7XHJcbiAgICAgICAgb3JkZXI6IDA7XHJcbiAgICAgICAgc3Ryb25nIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1sZ30ge1xyXG4gICAgICAgICAgICB3aWR0aDogMzAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1kfSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmhvbWUtcGFnZSBoM3t3aWR0aDogMTAwJTt9XHJcbiAgICBoM3tcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBjb2xvcjogJGNvbG9yMTA7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtsaW5lLWhlaWdodDogMzVweDtcclxuICAgICAgICBvcmRlcjogMTtcclxuXHJcbiAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1sZ30ge1xyXG4gICAgICAgICAgICB3aWR0aDogNDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1kfSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnByaWNlLWJsb2Nre1xyXG4gICAgICAgIG9yZGVyOiAzO1xyXG4gICAgICAgIHdpZHRoOiAgMjYuNSU7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIGNvbG9yOiAkbmF2LWNvbDtcclxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGl7d2lkdGg6IGF1dG87IGRpc3BsYXk6IGlubGluZS1ibG9jaztwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4O3Bvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBjb2xvcjogJG5hdi1jb2w7fVxyXG4gICAgICAgIC5TdW1vU2VsZWN0e3RleHQtYWxpZ246IGxlZnQ7fVxyXG4gICAgICAgIC5TdW1vU2VsZWN0ID4gLkNhcHRpb25Db250e2JhY2tncm91bmQ6ICRsaWdodGVyIWltcG9ydGFudDt9XHJcblxyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbGd9IHtcclxuICAgICAgICAgICAgd2lkdGg6IDMwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZH0ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubGlzdGluZy1tYWlub3V0ZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xyXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmc7XHJcblxyXG4gICAgLnByb2R1Y3Qtb3V0ZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICBAaW5jbHVkZSBmbGV4Ym94O1xyXG4gICAgICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChzcGFjZS1hcm91bmQpO1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtd3JhcCAod3JhcCk7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxNTkwcHg7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDM1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnNpbmdsZS1ibG9jayB7XHJcbiAgICAgICAgd2lkdGg6IDMyLjMzJTtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBtYXgtd2lkdGg6IDQ5MHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXhib3g7XHJcbiAgICAgICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KGNlbnRlcik7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleC13cmFwICh3cmFwKTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHRlcjtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA0NXB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoM3B4KTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMXB4IDFweCAxOXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xyXG4gICAgICAgIC1tb3otYm94LXNoYWRvdzogMXB4IDFweCAxOXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDFweCAxcHggMTlweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcclxuXHJcbiAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1sZ30ge1xyXG4gICAgICAgICAgICB3aWR0aDogNDklO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZH0ge1xyXG4gICAgICAgICAgICB3aWR0aDogNDYlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5ibG9jay1pbWFnZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI3MHB4O1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xyXG4gICAgICAgICAgICAgICAgLW1zLXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcclxuICAgICAgICAgICAgICAgIC1vLXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIgaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xyXG4gICAgICAgICAgICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xyXG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xyXG4gICAgICAgICAgICAgICAgICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuICAgICAgICAgICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgfVxyXG59XHJcblxyXG4uZmF2LWljb24ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDEwcHg7XHJcbiAgICB0b3A6IDEwcHg7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHotaW5kZXg6IDk5ODtcclxuXHJcbiAgICBhIHtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRsaWdodGVyLCAwLjUpO1xyXG4gICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XHJcbiAgICAgICAgd2lkdGg6IDQwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXhib3g7XHJcbiAgICAgICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KGNlbnRlcik7XHJcbiAgICAgICAgQGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcclxuXHJcbiAgICAgICAgJi5saWtlZCB7XHJcbiAgICAgICAgICAgIC5mYXYtYnRuIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc3ZnL2Zhdi1pY29uLWxpa2Uuc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmZhdi1idG4ge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDM4cHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzOHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3N2Zy9mYXYtaWNvbi5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZH0ge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYmxvY2stY29udGVudCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG5cclxuICAgIC5oZWFkZXItYmxrIHtcclxuICAgICAgICBwYWRkaW5nOiAzMHB4O1xyXG5cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktZGFyaztcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRib2xkLWZvbnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDRweDtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAmOmZvY3VzLCAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWRhcms7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRzaXplLXNtYWxsO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yODtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRzaXplLXNtYWxsO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yODtcclxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICAgICAgdG9wOiAtMjBweDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY29udGVudC1wYXJhIHtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDMwcHggMzBweDtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG5cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yODtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRsaWdodC1mb250O1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRzaXplLXNtYWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZGV0YWlscy1ibGsge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBib3JkZXItdG9wOiAkY29sb3I3IHNvbGlkIDFweDtcclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXhib3g7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChjZW50ZXIpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBhbGlnbi1pdGVtcyhjZW50ZXIpO1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZH0ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzcHggMTNweCAzcHggMTBweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAkY29sb3I3IHNvbGlkIDFweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3I4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRsaWdodC1mb250O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2l6ZS1zbWFsbDtcclxuXHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLWxndXB9IHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAzcHggNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWR9IHtcclxuICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHN1cCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcjg7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRsaWdodC1mb250O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtc21hbGw7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAuaWNvbi1ibGsge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjVweDtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogM3B4O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAmLmljb24tMSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc3ZnL3Byb3VjdC1pY29uMS5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJi5pY29uLTIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3N2Zy9wcm91Y3QtaWNvbjIuc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICYuaWNvbi0zIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zdmcvcHJvdWN0LWljb24zLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAmLmljb24tNCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc3ZnL3Byb3VjdC1pY29uNC5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnByaWNlLWJsayB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2VtaS1mb250O1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRzaXplLWg0O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3I5O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAzcHggMjBweCAzcHggMDtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4teGxnfSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbGd1cH0ge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogM3B4IDMwcHggM3B4IDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWR9IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogM3B4IDA7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAkY29sb3I3IHNvbGlkIDFweDtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDNweCAwO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogJGNvbG9yNyBzb2xpZCAxcHg7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnBhZ2luYXRpb24tb3V0ZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBmbG9hdDogbGVmdDtcclxuXHJcbiAgICAucGFnaW5hdGlvbiBsaSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xyXG4gICAgICAgIG1hcmdpbjogMCAuMTI1ZW07XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAycHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMjgpO1xyXG4gICAgICAgIC1tb3otYm94LXNoYWRvdzogMHB4IDJweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yOCk7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yOCk7XHJcblxyXG4gICAgICAgICYuZWxsaXBzaXMge1xyXG4gICAgICAgICAgICB3aWR0aDogNDRweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA0NHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgdG9wOiAtMnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0NHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDQ0cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNGRkY7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY3VycmVudCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0NHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDQ0cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNGRkY7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbDtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5wYWdpbmF0aW9uLXByZXZpb3VzIHtcclxuICAgICAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMnB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwKTtcclxuICAgICAgICAgICAgLW1vei1ib3gtc2hhZG93OiAwcHggMnB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwKTtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcblxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA1NHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1NHB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0ZXIgdXJsKC4uL2ltYWdlcy9zdmcvcHJldl9ub3JtYWwuc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAkbGlnaHRlciBzb2xpZCAxcHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDIxcHg7XHJcblxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAkcHJpbWFyeS1jb2wgc29saWQgMXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRsaWdodGVyIHVybCguLi9pbWFnZXMvc3ZnL3ByZXZfYWN0aXZlLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYucGFnaW5hdGlvbi1uZXh0IHtcclxuICAgICAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMnB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwKTtcclxuICAgICAgICAgICAgLW1vei1ib3gtc2hhZG93OiAwcHggMnB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwKTtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcblxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDIxcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNTRweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNTRweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRsaWdodGVyIHVybCguLi9pbWFnZXMvc3ZnL25leHRfbm9ybWFsLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogJGxpZ2h0ZXIgc29saWQgMXB4O1xyXG5cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogJHByaW1hcnktY29sIHNvbGlkIDFweDtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHRlciB1cmwoLi4vaW1hZ2VzL3N2Zy9uZXh0X2FjdGl2ZS5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wcm9kdWN0LW91dGVyLmxpc3QtYmxvY2sge1xyXG4gICAgQG1lZGlhICN7JHNjcmVlbi1zbWxnfSB7XHJcbiAgICAgICAgLnNpbmdsZS1ibG9jayB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDExNDhweDtcclxuXHJcbiAgICAgICAgICAgIC5ibG9jay1pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQ4OHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDQzJTtcclxuXHJcbiAgICAgICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5ibG9jay1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNjYwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgICAgICAgICAuaGVhZGVyLWJsayBpIHtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuY29udGVudC1wYXJhIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMTE4cHg7XHJcbiAgICAgICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjZweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5yZWFkbW9yZS1vdXRlcntcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgY29sb3I6JHByaW1hcnktY29sIDtcclxuICAgIGZvbnQtZmFtaWx5OiAkbGlnaHQtZm9udDtcclxuICAgIGZvbnQtc2l6ZTokc2l6ZS1iYXNlIDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbn1cclxuLmZlYXR1cmUtdGFnIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiAxNXB4O1xyXG4gICAgICAgICAgICB0b3A6IDE1cHg7XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZH0ge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgdG9wOiA1cHg7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiA1cHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgICAgIHRvcDogNXB4O1xyXG4gICAgICAgICAgICAgICAgbGVmdDogNXB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAucmVkLWxhYmVsIHtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCA1cHggMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnllbGxvdy1sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTY1cHg7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XHJcblxyXG4gICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZH0ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTQwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTQwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICBEZXRhaWxzIFBhZ2VcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5kZXRhaWwtcGFnZS1jb250ZW50IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcblxyXG4gICAgLnBob3Rvcy1ibG9jayB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgbWFyZ2luOiAwcHggMCAyMHB4O1xyXG5cclxuICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMzBweCAwIDEwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZGV0YWlsLXBhZ2Utb3V0ZXIge1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgd2lkdGg6IDc2LjElO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDUzMHB4O1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1sZ30ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDc1LjElO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1kfSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMyMHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgICAgICAgICBjbGVhcjogYm90aDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1MzBweDtcclxuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWFRdWVyeSg1OTkpIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMyMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuaWNvbnMtYmxvY2sge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiA5OTtcclxuXHJcbiAgICAgICAgICAgICAgICAuZmF2LWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzhweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC52aXJ0dWFsLXRvdXIge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDgwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDBweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMi41cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBzcGluIDRzIGxpbmVhciBpbmZpbml0ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTIpO1xyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmltZy1sYXRlcmFsLWJsb2NrIHtcclxuICAgICAgICAgICAgd2lkdGg6IDIzLjIlO1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbGd1cH0ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDIzLjElO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1kfSB7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjAwcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyMDBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmltZy1mdWxsIHtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIyMHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWR9IHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuaW1nLWhhbGYge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSA4cHgpIC8gMik7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwN3B4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDhweCA4cHggMDtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgybiArIDEpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwN3B4O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1kfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmltZy1mb290ZXItYmxvY2sge1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNzJweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbDtcclxuICAgICAgICAgICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjE4O1xyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC4yNWVtO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAudnItYmxvY2sge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjdweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC44O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1kfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC05MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwMDU7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC01NXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMzBweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTAwNTtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uZGV0YWlsLXBhZ2UtY29udGVudCAucGhvdG9zLWJsb2NrIC5kZXRhaWwtcGFnZS1vdXRlciAuaWNvbnMtYmxvY2sgYSA+IGRpdiB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDM4cHg7XHJcblxyXG4gICAgaSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgJi5mYXZvcml0ZS1ibG9jayB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xyXG4gICAgICAgIHBhZGRpbmc6IC43NWVtIC43NWVtIC41NWVtO1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjksIDMwLCAzMCwgMC45KVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmRldGFpbHMtb3V0ZXJjb24ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHBhZGRpbmc6IDYwcHggMDtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMjQwLCAyNDAsIDI0MCwgMSk7XHJcbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjQwLCAyNDAsIDI0MCwgMSkgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkgMTglLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpIDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCUsIHJnYmEoMjQwLCAyNDAsIDI0MCwgMSkpLCBjb2xvci1zdG9wKDE4JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSksIGNvbG9yLXN0b3AoMTAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSkpO1xyXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI0MCwgMjQwLCAyNDAsIDEpIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpIDE4JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSAxMDAlKTtcclxuICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjQwLCAyNDAsIDI0MCwgMSkgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkgMTglLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpIDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjQwLCAyNDAsIDI0MCwgMSkgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkgMTglLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpIDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNDAsIDI0MCwgMjQwLCAxKSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSAxOCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkgMTAwJSk7XHJcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjZjBmMGYwJywgZW5kQ29sb3JzdHI9JyNmZmZmZmYnLCBHcmFkaWVudFR5cGU9MCk7XHJcblxyXG4gICAgLmRldGFpbHMtbGVmdGJsayB7XHJcbiAgICAgICAgd2lkdGg6IDc0JTtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA4NTBweDtcclxuXHJcbiAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZH0ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmhlYWRlci1ibGsge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwcHg7XHJcblxyXG4gICAgICAgICAgICAuZGV0YWlscy1kaXNjIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA3MCU7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuXHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAucmVmLWJsb2NrIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzMCU7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcblxyXG4gICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAucHJpY2UtYmxrIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzaXplLWxhcmdlO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3I5O1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkYm9sZC1mb250O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAucG9pbnRlci1pY29uIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA4cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDExcHg7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogNXB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3N2Zy9tYXAtcG9pbnRlci5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA4cHggMTFweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1kYXJrO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2l6ZS1sYXJnZTtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGJvbGQtZm9udDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzaXplLWJhc2U7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yODtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzaXplLWJhc2U7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yODtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuXHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5kZXRhaWxzLWJsayB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiAkY29sb3I3IHNvbGlkIDFweDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4Ym94O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KGNlbnRlcik7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBhbGlnbi1pdGVtcyhjZW50ZXIpO1xyXG5cclxuICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWR9IHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDNweCAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3I4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkbGlnaHQtZm9udDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzaXplLWJhc2U7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbGd1cH0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAzcHggMTBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWR9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBzdXAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yODtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRsaWdodC1mb250O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzaXplLXNtYWxsO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5pY29uLWJsayB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYuaWNvbi0xIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc3ZnL3Byb3VjdC1pY29uMS5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmljb24tMiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3N2Zy9wcm91Y3QtaWNvbjIuc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJi5pY29uLTMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zdmcvcHJvdWN0LWljb24zLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYuaWNvbi00IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc3ZnL3Byb3VjdC1pY29uNC5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmljb24tNSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3N2Zy9wcm91Y3QtaWNvbjUuc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLmljb24tYmxraWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRib2xkLWZvbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNXB4KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2l6ZS1zbWFsbDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5ib3R0b20tYmxvY2sge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xyXG4gICAgICAgICAgICBwLCBkaXYsIGIsIHN0cm9uZywgaSwgbGkge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAucHJvLWRpYy1ibG9jayB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1kfSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGgzIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkaGRyLWNvbDtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkYm9sZC1mb250O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAkY29sb3IxNSBzb2xpZCAxcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzg4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi14c219IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTU2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2w7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtYmFzZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDIzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGJvbGQtZm9udDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2l6ZS1iYXNlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sO1xyXG5cclxuICAgICAgICAgICAgICAgIHN0cm9uZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkYm9sZC1mb250O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtYmFzZTtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2w7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm1hcC1vdXRlci1ibG9jayB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7XHJcblxyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgICAgY29sb3I6ICRoZHItY29sO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGJvbGQtZm9udDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRjb2xvcjE1IHNvbGlkIDFweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5tYXAtb3V0ZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDM1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5kZXRhaWxzLXJpZ2h0YmxrIHtcclxuICAgICAgICB3aWR0aDogMjQlO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAyNjVweDtcclxuXHJcbiAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZH0ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmJ1dHRvbi1ibG9jayB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG5cclxuICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQ4JTtcclxuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZH0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWR9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1kfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogJGNvbG9yMTUgc29saWQgMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDVweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3IxNjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2l6ZS1iYXNlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZH0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogJHByaW1hcnktY29sIHNvbGlkIDJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDM1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5mb3JtLW91dGVyYmxrIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAgICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDZweCA4cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuICAgICAgICAgICAgLW1vei1ib3gtc2hhZG93OiAwcHggNnB4IDhweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwcHggNnB4IDhweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG4gICAgICAgICAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA3cHg7XHJcbiAgICAgICAgICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogN3B4O1xyXG4gICAgICAgICAgICAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tcmlnaHQ6IDdweDtcclxuICAgICAgICAgICAgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbWxlZnQ6IDdweDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDdweDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogN3B4O1xyXG5cclxuICAgICAgICAgICAgLnNlY3Rpb24tYmxrIHtcclxuICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWR9IHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4teHNtfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGg2IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGhkci1jb2w7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzaXplLWJhc2U7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGJvbGQtZm9udDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnNpbmdsZS1ibGsge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNGRjAwMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5mb3JtLWZpZWxkIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2l6ZS1iYXNlO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAzcHggMDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRmaWVsZC1iZztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuc3VibWl0LWJ0biB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtYmFzZTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHRlcjtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogM3B4IDA7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYnRuLWNvbDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRib2xkLWZvbnQ7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDVweCk7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3IxODtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmNoZWNrYm94LW91dGVyIHtcclxuICAgIHBhZGRpbmc6IDdweCAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBmbG9hdDogbGVmdDtcclxufVxyXG5cclxuLmNoZWNrYm94LW91dGVyIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCxcclxuLmNoZWNrYm94LW91dGVyIFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAtOTk5OXB4XHJcbn1cclxuXHJcbi5jaGVja2JveC1vdXRlciBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbCxcclxuLmNoZWNrYm94LW91dGVyIFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSArIGxhYmVsIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmctbGVmdDogMjhweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgY29sb3I6ICM2NjY7XHJcbiAgICBmb250LXNpemU6ICRzaXplLXNtYWxsZXN0O1xyXG4gICAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4uY2hlY2tib3gtb3V0ZXIgW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlLFxyXG4uY2hlY2tib3gtb3V0ZXIgW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHRvcDogMDtcclxuICAgIHdpZHRoOiAyMnB4O1xyXG4gICAgaGVpZ2h0OiAyMnB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yMTtcclxuICAgIGJhY2tncm91bmQ6ICRsaWdodGVyO1xyXG59XHJcblxyXG4uY2hlY2tib3gtb3V0ZXIgW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YmVmb3JlIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcjE7XHJcbiAgICBiYWNrZ3JvdW5kOiAkbGlnaHRlcjtcclxufVxyXG5cclxuLmNoZWNrYm94LW91dGVyIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmFmdGVyLFxyXG4uY2hlY2tib3gtb3V0ZXIgW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICB3aWR0aDogMjJweDtcclxuICAgIGhlaWdodDogMjJweDtcclxuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc3ZnL2NoZWNrLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLmNoZWNrYm94LW91dGVyIFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSArIGxhYmVsOmFmdGVyIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApXHJcbn1cclxuXHJcbi5jaGVja2JveC1vdXRlciBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKVxyXG59XHJcblxyXG4ubW9iaS1tYXAtYmxrIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbn1cclxuIiwiLy8gRm9udHNcbiR0aXRsZS1mb250OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcbiR0ZXh0LWZvbnQ6ICdVYnVudHUnLCBzYW5zLXNlcmlmO1xuJHBhZy1mb250OiAnVWJ1bnR1Jywgc2Fucy1zZXJpZjtcblxuLy8gQ29sb3JzXG4kdGl0bGUtZm9udC1jb2xvcjogICMwMTZlOWU7XG4kdGV4dC1mb250LWNvbG9yOiAgICM1MDUwNTA7XG4kbGlzdC10aXRsZS1jb2xvcjogICM2NjY2NkQ7XG4kZGF0ZS10ZXh0LWNvbG9yOiAgICM1MDUwNTA7XG4kbGlzdC1ib3JkZXItY29sb3I6ICNEOEQ4RDg7XG4kcGFnLWJvcmRlci1jb2xvcjogICNERkJCODI7XG4kcGFnLXRleHQtY29sb3I6ICAgICMyRjMwMzQ7XG5cbi5ub3RpY2lhcy1zZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIC5vdXRlci10YWcge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm5vdGljaWFzLWxpc3R7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgLmxpc3RhZG97XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAzMHB4IDA7XG4gICAgICAgICAgICBsaXtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgOHB4IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDEwcHggMDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpc3QtYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgICAgIGgze1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTYpO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpc3QtdGl0bGUtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1ZW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDZweCAwO1xuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVte1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRhdGUtdGV4dC1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gICAgICAgIFxuICAgICAgICAucGFnaW5hdGlvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBcbiAgICAgICAgICAgICYgPiBsaSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAuMTI1ZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAycHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMjgpO1xuICAgICAgICAgICAgICAgIC1tb3otYm94LXNoYWRvdzogMHB4IDJweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yOCk7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yOCk7XG4gICAgICAgIFxuICAgICAgICAgICAgICAgICYuZWxsaXBzaXMge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDRweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0NHB4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAtMnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0NHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNGRkY7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAgICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0NHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNGRkY7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbDtcbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICAgICAgICAgJi5wYWdpbmF0aW9uLXByZXZpb3VzIHtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMnB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgLW1vei1ib3gtc2hhZG93OiAwcHggMnB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgICAgIFxuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1NHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA1NHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0ZXIgdXJsKC4uL2ltYWdlcy9zdmcvcHJldl9ub3JtYWwuc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAkbGlzdC1ib3JkZXItY29sb3Igc29saWQgMXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAyMXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAkcHJpbWFyeS1jb2wgc29saWQgMXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRsaWdodGVyIHVybCguLi9pbWFnZXMvc3ZnL3ByZXZfYWN0aXZlLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAgICAgICAgICYucGFnaW5hdGlvbi1uZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMnB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgLW1vei1ib3gtc2hhZG93OiAwcHggMnB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgICAgIFxuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDIxcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNTRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRsaWdodGVyIHVybCguLi9pbWFnZXMvc3ZnL25leHRfbm9ybWFsLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogJGxpc3QtYm9yZGVyLWNvbG9yIHNvbGlkIDFweDtcbiAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6ICRwcmltYXJ5LWNvbCBzb2xpZCAxcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0ZXIgdXJsKC4uL2ltYWdlcy9zdmcvbmV4dF9hY3RpdmUuc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cbiAgICAubm90aWNpYXMtaXRlbXtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDkwcHg7XG4gICAgICAgIGgye1xuICAgICAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDMyKTsgICAgICAgICAgICBcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1ZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAuMjVlbTtcbiAgICAgICAgfVxuICAgICAgICBlbS5mZWNoYXsgICAgICAgICAgICBcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWZvbnQtY29sb3I7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgICB9XG4gICAgICAgIC5maXJzdF9pbWFnZSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxZW07XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDIwcHg7XG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhUXVlcnkoNjAwLDEwMjMpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWFRdWVyeSg1OTkpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgICAuZGVzY3JpcHRpb257XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMCAwO1xuICAgICAgICAgICAgaDMsaDQsaDUsaDYge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGl0bGUtZm9udC1jb2xvcjtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJHRpdGxlLWZvbnQ7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjVlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyNCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBoNSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGg2IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTYpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3Ryb25ne1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdSB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB1bCxvbHtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBkaXNjO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweCAwIDMwcHggMzBweDtcbiAgICAgICAgICAgICAgICBsaXtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWZvbnQtY29sb3I7IFxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7ICAgICAgXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcCwgc3Ryb25nLCBiLCBzcGFuIHtcbiAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG4gICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDNlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRpdGxlLWZvbnQtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmltYWdlcy1saXN0e1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIC5pbWFnZS1ibG9jayB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAyMHB4KSAvIDIpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjY4cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDIwcHggMjBweCAwO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgybikge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIyMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI2OHB4O1xuICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIjYmFycmFhY2VwdGFjaW9ue1xyXG5cdGRpc3BsYXk6bm9uZTtcclxuXHRwb3NpdGlvbjpmaXhlZDtcclxuXHRsZWZ0OjBweDtcclxuXHRyaWdodDowcHg7XHJcblx0Ym90dG9tOjAuNiU7XHJcblx0cGFkZGluZzoxMHB4O1xyXG5cdG1hcmdpbjogMDtcclxuXHR3aWR0aDoxMDAlO1xyXG5cdHRleHQtYWxpZ246bGVmdDtcclxuXHRtaW4taGVpZ2h0OjQwcHg7XHRcclxuXHR6LWluZGV4Ojk5OTk5O1x0XHJcblx0XHJcblx0LmJhcnJhe1xyXG5cdFx0XHJcblx0XHRwYWRkaW5nOiAwLjkzNzVyZW0gIWltcG9ydGFudDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRcdC1tb3otYm9yZGVyLXJhZGl1czogNHB4O1xyXG5cdFx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC44NSk7XHJcblx0XHJcblx0XHRwe1xyXG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0XHRmbG9hdDpsZWZ0O1xyXG5cdFx0XHRjb2xvcjojZmZmO1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdHBhZGRpbmc6IDZweCAwO1xyXG5cdFx0XHRmb250LXNpemU6IDE0cHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjZlbTtcclxuXHRcdH1cclxuXHRcdGltZyNva19jb29raWV7XHJcbiAgICAgICAgICAgICAgIHdpZHRoOiA2NHB4O1xyXG4gICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87IFxyXG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0XHRmbG9hdDpsZWZ0O1xyXG5cdFx0fVxyXG5cdFx0YS5va3tcclxuXHRcdFx0cGFkZGluZzo0cHg7XHJcblx0XHRcdGNvbG9yOiNmZWJmMjc7XHJcblx0XHRcdHRleHQtZGVjb3JhdGlvbjpub25lO1xyXG5cdFx0XHRmbG9hdDpsZWZ0O1xyXG5cdFx0XHRcclxuXHRcdH1cclxuXHRcdGEuaW5mb3tcclxuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtcclxuXHRcdFx0Y29sb3I6ICRjb2xvcjEzO1xyXG5cdFx0XHRmb250LXdlaWdodDpib2xkO1xyXG5cdFx0fVxyXG5cdFx0YS5idG4tb2t7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRcdFx0LW1vei1ib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0XHRcdC13ZWJraXQtYm9yZGVyLXJhZGl1czogNHB4O1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2w7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdGZvbnQtc2l6ZTogMTZweDtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0Y29sb3I6ICNmZmY7XHRcclxuXHRcdFx0bWFyZ2luOiAxMHB4IDA7XHJcbiAgICBcdFx0cGFkZGluZzogMTBweCAwO1xyXG5cdFx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHR9XHJcblx0fVxyXG59IiwiI2Zhdm9yaXRvcyB7XG4gICAgLmlubmVyLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW46IDEuNWVtIDA7XG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIGNvbG9yOiAjM2M0MjRjO1xuICAgICAgICB9XG4gICAgfVxuXHQuZmF2LWxpc3Qge1xuXHRcdG1hcmdpbjogMmVtIDA7XHRcdFxuXHRcdC5mYXYtYmxvY2sge1xuXHRcdFx0b3V0bGluZTogMXB4IHNvbGlkICNlNmU5ZTg7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZjJmNWY0O1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLXRhYmxlO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMmVtOyBcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHQmID4gZGl2IHtcblx0XHRcdFx0ZGlzcGxheTogdGFibGUtY2VsbDtcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdFx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTZlOWU4O1xuXHRcdFx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cdFx0XHRcblx0XHRcdC5pbWcsIC50aXR1bG8sIC5vcGNpb25lcyB7XG5cdFx0XHRcdHdpZHRoOiAyMCU7XG5cdFx0XHR9XG5cdFx0XHQuaW1nIHtcdFx0XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMzlweDtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgXG5cdFx0XHR9XG5cdFx0XHQuYm90b24tcXVpdGFyIHtcblx0XHRcdFx0d2lkdGg6IDEwJTtcblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2w7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4IDEycHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbiAwcztcblx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICRjb2xvcjE4O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC50aXR1bG8sIC5vcGNpb25lcywgLmxvY2FsaWRhZCwgLnByZWNpbywgLmJvdG9uLXF1aXRhciB7XHRcdFx0XHRcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDFlbTtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzRjNGU1MTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC50aXR1bG8ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2w7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIH1cblx0XHRcdC5wcmVjaW8ge1xuXHRcdFx0XHR3aWR0aDogMTIlO1xuXHRcdFx0XHRmb250LWZhbWlseTogXCJMYXRvXCIsc2Fucy1zZXJpZjtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdFx0Zm9udC1zaXplOiAxN3B4O1xuXHRcdFx0XHRjb2xvcjogJGNvbG9yOTtcblx0XHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0XHRcdFxuXHRcdFx0fVxuXHRcdFx0Lm9wY2lvbmVzIHtcblx0XHRcdFx0Lm5vLWJ1bGxldCB7XG5cdFx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdFx0d2lkdGg6IDI1JTtcblx0XHRcdFx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAxLjVlbTtcblx0XHRcdFx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiA1MCU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQucHJvcGVydHktZGV0YWlsLWljb24ge1xuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0XHRcdGkge1xuXHRcdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdFx0XHRyaWdodDogLTEuMjVlbTtcblx0XHRcdFx0XHRcdFx0XHRvcGFjaXR5OiAuNTtcblx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDIycHg7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0LmxvY2FsaWRhZCB7XG5cdFx0XHRcdHdpZHRoOiAxOCU7XG5cdFx0XHRcdGkge1xuXHRcdFx0XHRcdGNvbG9yOiAjYzBjNTJkO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5jb250YWN0LWJsb2NrIHtcblx0XHRoMiB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxLjEyNWVtO1xuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiA1MCU7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0XHRcdH1cblx0XHR9XG4gICAgfVxuICAgICNmYXZvdXJpdGVzRm9ybSB7XG4gICAgICAgIC5tYWluZmllbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG4gICAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgICAgIGhlaWdodDogMTc2cHg7XG4gICAgICAgIH1cbiAgICAgICAgLmNoZWNrYm94LW91dGVyIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMzY0cHg7XG4gICAgICAgIH1cbiAgICAgICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDM2NHB4O1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5sYWJlbC5hbmFkaXJfZmF2b3JpdG9zIHsgXG5cdHdpZHRoOiA1MHB4O1xuXHRtYXJnaW4tbGVmdDogNnB4O1xuXHRjdXJzb3I6cG9pbnRlcjtcblx0ZmxvYXQ6IHJpZ2h0O1xuIH1cblxuIC5yaWJib24tZmF2e1xuICAgIGRpc3BsYXk6IGJsb2NrOyBmbG9hdDogbGVmdDsgbWFyZ2luLXJpZ2h0OiAxNHB4O1xuICAgIHN2ZyxcbiAgICAuZmF2LWljb257IFxuICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICBcbiAgICAgICAgZmlsbDogIzlmYTMyNTtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuXG4gICAgfVxuXG4gICAgLmZhdm91cml0ZSBwYXRoIHtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgZmlsbDogI2M1MmQ0NjtcbiAgICAgICAgb3BhY2l0eTogMTtcblxuICAgIH1cbiAgICBcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAuZmF2LWljb24ge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgfVxufSBcblxuXG5cbkBpbmNsdWRlIG1lZGlhUXVlcnkoNjAwLDEwMjMpIHtcbiAgICAjZmF2b3JpdG9zIHtcbiAgICAgICAgLnJvdyAucm93IHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIC5mYXYtbGlzdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgJiA+IC5yb3cge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmZhdi1ibG9jayB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMTRweCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyOHB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJiA+IGRpdiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IC41ZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICYuaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjIwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJi5vcGNpb25lcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC41ZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC4yNWVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gICAgICAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgICAjZmF2b3VyaXRlc0Zvcm0ge1xuICAgICAgICAgICAgLmNoZWNrYm94LW91dGVyIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYVF1ZXJ5KDU5OSkge1xuICAgICNmYXZvcml0b3Mge1xuICAgICAgICAuZmF2LWxpc3Qge1xuICAgICAgICAgICAgLmZhdi1ibG9jayB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgJiA+IGRpdiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IC41ZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICYuaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjIwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJi5vcGNpb25lcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC41ZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC4yNWVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gICAgICAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgICAjZmF2b3VyaXRlc0Zvcm0ge1xuICAgICAgICAgICAgLmNoZWNrYm94LW91dGVyIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLy8gSG9tZXBhZ2Ugc2xpZGVyXHJcbi5iYW5uZXItb3V0ZXJibG9jayB7XHJcbiAgICAmID4gdWxcclxuICAgICYgPiBsaSB7XHJcbiAgICAgICAgaGVpZ2h0OiA1OTBweDtcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gRm9ybXMgZ2VuZXJhbCBzdHlsZXNcclxuZm9ybTpub3QoI3Byb3BlcnR5LWZvcm0pIHtcclxuICAgIC5pbnB1dC1vdXRlciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDZweDtcclxuICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDIwcHggMjBweCAzMHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTYpO1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2w7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNlZGVkZWQ7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgaGVpZ2h0OiA0OHB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDhweDtcclxuICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICBjb2xvcjogI0ZGMDAwMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICB0b3A6IDE3cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTYpO1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIG1hcmdpbjogM3B4IDA7XHJcbiAgICAgICAgYmFja2dyb3VuZDogIzlDMDkwOTtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImxhdG9ib2xkXCI7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yMTg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGV4dGFyZWEge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBhZGRpbmc6IDE1cHggMjBweCAxNXB4IDMwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2KTtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2w7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI2VkZWRlZDtcclxuICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBoZWlnaHQ6IDE1NnB4O1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDZweDtcclxuICAgIH1cclxufVxyXG5cclxuLmNvbnRlbnQtcGFnZS1ibGsge1xyXG4gICAgbWFyZ2luOiAzLjVlbSAwO1xyXG4gICAgLmJsb2NrLXRpdGxlLXRvcCB7XHJcbiAgICAgICAgbWFyZ2luOiAxLjVlbSAwIDNlbTtcclxuICAgICAgICBoMSB7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDI4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucHJvcGVydHktd3JhcHBlciB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgNWVtO1xyXG4gICAgfVxyXG4gICAgZGl2LHAsc3BhbixzdHJvbmcsaDEsaDIsaDMsaDQsaDUsaDYsYixsaSxpLGEge1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbDtcclxuICAgIH1cclxuICAgIGIsc3Ryb25nIHtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIH1cclxuICAgIHVsLG9sIHtcclxuICAgICAgICBtYXJnaW46IDAgMCAxLjVlbTtcclxuICAgIH1cclxuICAgIGxpIHtcclxuICAgICAgICBtYXJnaW46IC4yNWVtIDA7XHJcbiAgICB9XHJcbiAgICBpIHtcclxuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIH1cclxuICAgIC5hZGRyZXNzLWJsb2NrIHtcclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxZW07XHJcbiAgICAgICAgICAgICYuYWRkcmVzcyB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAuNWVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNjVlbTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIGxlZnQ6IC0uMDI1ZW07XHJcbiAgICAgICAgICAgICAgICB0b3A6IDNweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMThweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxOHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICBhW2hyZWZePVwidGVsXCJdIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCcuLi9pbWFnZXMvc3ZnL3Bob25lLnN2ZycpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGFbaHJlZl49XCJtYWlsdG9cIl0ge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoJy4uL2ltYWdlcy9zdmcvZW1haWwuc3ZnJykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYS5mYXgge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoJy4uL2ltYWdlcy9zdmcvZmF4LnN2ZycpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEubW9iaWxlIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCcuLi9pbWFnZXMvc3ZnL21vYmlsZS5zdmcnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICNjb250YWN0b0Zvcm0ge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuNWVtO1xyXG4gICAgfVxyXG4gICAgI2NvbnRhY3QtbWFwIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDUyMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4jY29udGFjdG8ge1xyXG4gICAgLmNvbnRlbnQtcGFnZS1ibGsge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFdlYmFkbWluIGxvZ2luIHN0eWxlc1xyXG4jd2ViYWRtaW4tbG9naW4ge1xyXG4gICAgLnByb3BlcnR5LWRldGFpbC1zZWN0aW9uIHtcclxuICAgICAgICBtYXJnaW46IDEuNWVtIDAgMDtcclxuICAgICAgICAuYmxvY2stdGl0bGUtdG9wIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAyLjVlbSAwO1xyXG4gICAgICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2w7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyOCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBmb3JtIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1LjVlbTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gRm9ybSB2YWxpZGF0aW9uIHN0eWxlc1xyXG5mb3JtIHtcclxuICAgIGlucHV0IHtcclxuICAgICAgICAmLmlzLWludmFsaWQtaW5wdXQge1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjRkYwMDAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjRkYwMDAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgbGFiZWwge1xyXG4gICAgICAgICYuaXMtaW52YWxpZC1sYWJlbCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjRkYwMDAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0ZGMDAwMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL05ld3NsZXR0ZXIgZm9ybVxyXG4jbmV3c2xldHRlciB7XHJcbiAgICAucHJvcGVydHktd3JhcHBlciB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgNS41ZW07XHJcbiAgICAgICAgZm9ybSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNDUwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhUXVlcnkoNTk5KSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi50YWJzLWNvbnRlbnQtYmxrIHtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAudGFicyB7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2O1xyXG4gICAgICAgIGhlaWdodDogNjBweDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgLnRhYnMtdGl0bGUsIC5leGFtcGxlcy1saW5rIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2w7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5leGFtcGxlcy1saW5rIHtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbjogLjI1ZW0gMDtcclxuICAgICAgICAgICAgJiA+IGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICM1NzU3NTc7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgb3V0bGluZTogMDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gRWwgc3Vlw7FvIHBhZ2Ugc3R5bGVzXHJcbiNlbF9zdWVubyB7XHJcbiAgICAjZWxzdWVubyB7XHJcbiAgICAgICAgbWFyZ2luOiAyLjVlbSAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMTZweCk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAxNnB4IDE2cHggMDtcclxuICAgICAgICAgICAgJjpudGgtb2YtdHlwZSg0bikge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhUXVlcnkoNTk5KSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxNnB4KTtcclxuICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoMG4pIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMTZweCAxNnB4IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XHJcbiAgICAgICAgICAgICAgIGg0LGg1IHtcclxuICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XHJcbiAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgaDUge1xyXG4gICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2KTtcclxuICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBOZXdzbGV0dGVyIHBhZ2Ugc3R5bGVzXHJcbnVsLm5ld3NsZXR0ZXJzIHtcclxuICAgIG1hcmdpbjogMi41ZW0gMDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBsaSB7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMTZweCk7XHJcbiAgICAgICAgbWFyZ2luOiAwIDE2cHggMTZweCAwO1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhUXVlcnkoNjAwLDEwMjMpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMzMlIC0gMTZweCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhUXVlcnkoNTk5KSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDE2cHgpO1xyXG4gICAgICAgICAgICAmOm50aC1vZi10eXBlKDJuKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEZvb3RlciBzdHlsZXNcclxuLmZvb3Rlci1vdXRlciB7XHJcbiAgICAuY29weXJpZ2h0LWJsayB7XHJcbiAgICAgICAgJiA+IC5yb3cge1xyXG4gICAgICAgICAgICAmID4gLm1lZGl1bS0xMiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6Zm9jdXMsICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2w7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5kZXRhaWxzLW91dGVyY29uIHtcclxuICAgIC5kZXRhaWxzLWxlZnRibGsge1xyXG4gICAgICAgICAuYm90dG9tLWJsb2NrIHtcclxuICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2w7XHJcbiAgICAgICAgICAgICAgIHAsIHNwYW4sIHN0cm9uZywgYiwgaSwgZGl2IHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICB9XHJcbiAgICAgICAgLnByby1kaWMtYmxvY2sge1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyAnO1xyXG4gICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxZW0gLjVlbSAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBSYWRpbyBidXR0b24gc3R5bGVzXHJcbi5yYWRpby1vdXRlciB7XHJcblxyXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgbGFiZWwge1xyXG4gICAgICAgIGNvbG9yOiAjNjY2O1xyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnICc7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgIzk3OTc5NztcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAuNWVtO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDJweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsIHtcclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHByaW1hcnktY29sO1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcgJztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDRweDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiA0cHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2w7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFN1cCB0YWcgZ2VuZXJhbCBmaXhcclxuc3VwIHtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbCAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOiAuNnJlbTtcclxufVxyXG5cclxuLy8gSG9tZXBhZ2Ugc2xpZGVyIGZpeFxyXG4uYmFubmVyLW91dGVyYmxvY2sge1xyXG4gICAgbGkge1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYVF1ZXJ5KDU5OSkge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDM2MHB4O1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAzNjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFN0eWxlcyBmb3IgdmlkZW8gbW9kYWxcclxuLnJlc3BvbnNpdmUtZW1iZWQge1xyXG4gICAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG5AaW5jbHVkZSBtZWRpYVF1ZXJ5KDEwMjQsdXApIHtcclxuICAgIC5yZXZlYWwge1xyXG4gICAgICAgIHdpZHRoOiA2MCU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhUXVlcnkoNjAwLDEwMjMpIHtcclxuICAgIC5kZXRhaWxzLW91dGVyYmxrIHtcclxuICAgICAgICAuY291bnQtYmxvY2sge1xyXG4gICAgICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgICAgb3JkZXI6IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAuNzVlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnByaWNlLWJsb2NrIHtcclxuICAgICAgICAgICAgb3JkZXI6IDI7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0MCU7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhUXVlcnkoNTk5KSB7XHJcbiAgICAuZGV0YWlscy1vdXRlcmJsayB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgLmNvdW50LWJsb2NrIHtcclxuICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgICAgb3JkZXI6IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAuNzVlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnByaWNlLWJsb2NrIHtcclxuICAgICAgICAgICAgb3JkZXI6IDI7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5kZXRhaWwtcGFnZS1jb250ZW50IHtcclxuICAgICAucGhvdG9zLWJsb2NrIHtcclxuICAgICAgICAgIC5kZXRhaWwtcGFnZS1vdXRlciB7XHJcbiAgICAgICAgICAgICAgIC5kZXRhaWwtcGFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJiA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ1xcMDAyQic7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM1MzMzNDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC01MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgfVxyXG59XHJcblxyXG4jdml2aWVuZGFzIHtcclxuICAgICAuZGV0YWlscy1vdXRlcmJsayB7XHJcbiAgICAgICAgICBwYWRkaW5nOiAzNXB4IDA7XHJcbiAgICAgfVxyXG4gICAgIC5saXN0aW5nLW1haW5vdXRlciB7XHJcbiAgICAgICAgICAucHJvZHVjdC1vdXRlciB7XHJcbiAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgIH1cclxufVxyXG5cclxuLy8gUmVtb3ZlZCByZWNhcHRjaGEgYmxvY2sgZnJvbSBtb2JpbGUgdmVyc2lvblxyXG5AaW5jbHVkZSBtZWRpYVF1ZXJ5KDU5OSkge1xyXG4gICAgIC5ncmVjYXB0Y2hhLWJhZGdlIHtcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICB9XHJcbn1cclxuXHJcbi5zbGlkZWNvbnRyb2xscyB7XHJcbiAgICAgLnNsaWRlLXByZXYsIC5zbGlkZS1uZXh0IHtcclxuICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnRuLWNvbDtcclxuICAgICAgICAgICAgICAgY29sb3I6ICRidG4tY29sO1xyXG4gICAgICAgICAgfVxyXG4gICAgIH1cclxuICAgICAuc2xpZGUtcHJldiB7XHJcbiAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJ0bi1jb2wgdXJsKCcuLi9pbWFnZXMvc3ZnL3ByZXYtYXJyb3ctYmwuc3ZnJykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgfVxyXG4gICAgIC5zbGlkZS1uZXh0IHtcclxuICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYnRuLWNvbCB1cmwoJy4uL2ltYWdlcy9zdmcvbmV4dC1hcnJvdy1ibC5zdmcnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcclxuICAgICAgICAgIH1cclxuICAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhUXVlcnkoNjAwLDExNzUpIHtcclxuICAgIC5wcm9kdWN0LW91dGVyIHtcclxuICAgICAgICAmLmxpc3QtYmxvY2sge1xyXG4gICAgICAgICAgICAuc2luZ2xlLWJsb2NrIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAuYmxvY2staW1hZ2UsXHJcbiAgICAgICAgICAgICAgICAuYmxvY2stY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5ibG9jay1pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il19 */
