/*! normalize.css simplified version*/pre{font-family:monospace,monospace;font-size:1em}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}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;cursor:pointer}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:.35em .75em .625em}legend{padding:0}progress{vertical-align:baseline}[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}:root{--transition-timing-function: ease-in-out;--transition-speed: .2s;--transition-speed-longer: .4s}@media(prefers-reduced-motion: reduce){:root{--transition-timing-function: linear;--transition-speed: 0s;--transition-speed-longer: 0s}}@media(prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}*,*::before,*::after{box-sizing:border-box}*:focus{outline:4px solid var(--wp--preset--color--primary) !important}::selection{color:var(--wp--preset--color--light);background:var(--wp--preset--color--secondary)}::-moz-selection{color:var(--wp--preset--color--light);background:var(--wp--preset--color--secondary)}html{font-size:1rem;line-height:1.5;-webkit-text-size-adjust:100%}body{scrollbar-width:thin;scrollbar-color:var(--wp--preset--color--primary) #fff}body::-webkit-scrollbar{width:0.5rem;height:0.5rem}body::-webkit-scrollbar-track{background:#fff}body::-webkit-scrollbar-thumb{border:0;border-radius:0;background-color:var(--wp--preset--color--primary)}@media(min-width: 992px){body{font-size:var(--wp--preset--font-size--medium);line-height:1.5}}body.using-mouse :focus{outline:none !important}#wpadminbar{position:fixed}a:focus,button:focus,input:focus,select:focus,textarea:focus{outline:none}html.user-tab-nav a:focus,html.user-tab-nav button:focus,html.user-tab-nav input:focus,html.user-tab-nav select:focus,html.user-tab-nav textarea:focus{outline:2px solid blue;outline-offset:0}.page-content{padding-top:5.665625rem}@media(min-width: 992px){.page-content{padding-top:9.108125rem}}.page-content--single{padding-top:0}input,select,textarea{max-width:100%}figure{margin:0}img,svg{height:auto;max-width:100%;vertical-align:middle}nav ul{padding:0;margin:0;list-style:none}nav li{display:inline-block}nav li>a{text-decoration:none}.grecaptcha-badge{visibility:hidden !important}.screen-reader-text,.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px !important;height:1px !important;padding:0 !important;position:absolute !important;margin:-1px !important;white-space:nowrap !important;border:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important}a.skip-link{width:1px;height:1px;position:absolute;z-index:-999;top:auto;left:-999px;overflow:hidden}a.skip-link:focus,a.skip-link:active{width:150px;height:auto;padding:5px;z-index:999;top:20px;left:20px;margin:0;font-size:1rem;text-align:center;color:#fff;border:2px solid #ff0;border-radius:8px;background-color:#000;overflow:auto}[hidden]{display:none}.wpcf7 .cf7-form-wrapper.submitted{display:none}.wpcf7 .cf7-form-title{font-size:1.5rem;line-height:1.1666666667;text-transform:none;margin-bottom:1rem}@media(min-width: 768px){.wpcf7 .cf7-form-title{text-transform:uppercase}}.wpcf7 .cf7-form-description{font-size:0.875rem;line-height:1.4285714286;margin-bottom:2rem}@media(min-width: 768px){.wpcf7 .cf7-form-description{font-size:1rem;line-height:1.4375}}.wpcf7 .cf7-input-row{display:flex;flex-direction:column;gap:1rem}.wpcf7 .cf7-input-row>p{display:flex;flex-direction:column;gap:1rem;margin:0}.wpcf7 .cf7-input-row br{display:none}.wpcf7 .cf7-input-row label,.wpcf7 .cf7-input-row .label{display:flex;flex-direction:column;gap:0.625rem}.wpcf7 .cf7-input-row .label>p{display:flex;flex-direction:column;gap:0.625rem}.wpcf7 .cf7-input-name{font-size:1.125rem;line-height:1.5;font-weight:600}.wpcf7 .cf7-input-submit-row{margin-top:1rem}.wpcf7 .cf7-input-submit-row p{display:flex}.wpcf7 .cf7-input-submit-row input{appearance:none;-webkit-appearance:none;font-size:1rem;line-height:1.375;font-weight:600;padding:0.875rem 1.375rem;margin:0;background-color:var(--wp--preset--color--primary);color:var(--wp--preset--color--color-1);border:0;transition:background-color var(--transition-speed) var(--transition-timing-function)}.wpcf7 .cf7-input-submit-row input:hover{background-color:var(--wp--preset--color--primary-dark)}.wpcf7 .cf7-in-form-thankyou{display:none}.wpcf7 .cf7-in-form-thankyou.active{display:block}.wpcf7 .wpcf7-form-control-wrap input,.wpcf7 .wpcf7-form-control-wrap textarea,.wpcf7 .wpcf7-form-control-wrap .wpcf7-select{width:100%;padding:0.8125rem 1.375rem;font-size:1rem;line-height:1.375;color:var(--wp--preset--color--color-3);font-weight:600;border:1px solid var(--wp--preset--color--color-5)}.wpcf7 .wpcf7-form-control-wrap input::placeholder,.wpcf7 .wpcf7-form-control-wrap input:focus::-webkit-input-placeholder,.wpcf7 .wpcf7-form-control-wrap textarea::placeholder,.wpcf7 .wpcf7-form-control-wrap textarea:focus::-webkit-input-placeholder,.wpcf7 .wpcf7-form-control-wrap .wpcf7-select::placeholder,.wpcf7 .wpcf7-form-control-wrap .wpcf7-select:focus::-webkit-input-placeholder{color:var(--wp--preset--color--color-3);opacity:.4}.wpcf7 .wpcf7-form-control-wrap input:-internal-autofill-selected,.wpcf7 .wpcf7-form-control-wrap textarea:-internal-autofill-selected,.wpcf7 .wpcf7-form-control-wrap .wpcf7-select:-internal-autofill-selected{background-color:rgba(0,0,0,0) !important;color:var(--wp--preset--color--color-3) !important}.wpcf7 .wpcf7-form-control-wrap textarea{height:4.9375rem}.wpcf7 .wpcf7-form-control-wrap .wpcf7-select{height:auto;border-radius:0}.wpcf7 .wpcf7-form-control-wrap .wpcf7-select::after{background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 7.8418L0.803849 0.341796L11.1962 0.341797L6 7.8418Z' fill='%231B1D1E'/%3E%3C/svg%3E%0A");width:0.75rem;height:0.5rem;border:none;transform:rotate(0deg);transition:transform .2s ease-in-out;right:1.25rem}.wpcf7 .wpcf7-form-control-wrap .wpcf7-select .nice-select-dropdown{width:100%;left:0;right:0}.wpcf7 .wpcf7-form-control-wrap .wpcf7-select .current{font-size:1rem;line-height:1.375;color:var(--wp--preset--color--color-3);font-weight:600;opacity:.4}.wpcf7 .wpcf7-form-control-wrap .wpcf7-select.open::after{transform:rotate(180deg)}.wpcf7 .wpcf7-form-control-wrap .wpcf7-select.selected .current{opacity:1}.wpcf7 .wpcf7-form-control-wrap .wpcf7-select .list{margin-bottom:0rem}.wpcf7 .wpcf7-form-control-wrap .wpcf7-select .list .option[data-value=""]{display:none}.wpcf7 .wpcf7-form-control-wrap .wpcf7-select .list .option[data-value=""].selected{background-color:var(--wp--preset--color--color-1)}.wpcf7 .wpcf7-form-control-wrap .wpcf7-acceptance label{display:flex;align-items:center;flex-direction:row;gap:0.625rem}.wpcf7 .wpcf7-form-control-wrap .wpcf7-acceptance label input{position:absolute;z-index:-1;opacity:0}.wpcf7 .wpcf7-form-control-wrap .wpcf7-acceptance label input:checked+.wpcf7-list-item-label::after{opacity:1}.wpcf7 .wpcf7-form-control-wrap .wpcf7-acceptance label .wpcf7-list-item-label{display:flex;align-items:center;gap:0.625rem;white-space:nowrap}.wpcf7 .wpcf7-form-control-wrap .wpcf7-acceptance label .wpcf7-list-item-label::before{content:"";display:block;width:1rem;height:1rem;background-color:var(--wp--preset--color--color-5)}.wpcf7 .wpcf7-form-control-wrap .wpcf7-acceptance label .wpcf7-list-item-label::after{content:"";display:block;position:absolute;left:0.1875rem;top:0.5rem;width:0.625rem;height:0.625rem;background-color:var(--wp--preset--color--primary);opacity:0;transition:.2s opacity ease-in-out}.wpcf7 .wpcf7-form-control-wrap .wpcf7-list-item{margin:0}.wpcf7 .wpcf7-form-control-wrap .wpcf7-not-valid-tip{font-size:0.875rem;line-height:1.2857142857;font-weight:500;color:var(--wp--preset--color--primary-dark);margin-top:0.5rem}.wpcf7 .file-upload{display:flex}.wpcf7 .file-upload .wpcf7-form-control-wrap{display:none}.wpcf7 .file-upload__label{display:flex;align-items:center;padding:0.875rem 4.125rem 0.875rem 1.375rem;font-size:1rem;line-height:1.375;font-weight:600;border:1px solid var(--wp--preset--color--color-5)}.wpcf7 .file-upload__label span{opacity:.4}.wpcf7 .file-upload__button{font-weight:600;font-size:1rem;line-height:1.375;padding:0.875rem 1.375rem;margin:0;background-color:var(--wp--preset--color--primary);color:var(--wp--preset--color--color-1);border:0;transition:background-color var(--transition-speed) var(--transition-timing-function)}.wpcf7 .file-upload__button:hover{background:var(--wp--preset--color--primary-dark)}.wpcf7 .wpcf7-response-output{margin-left:0rem !important;margin-right:0rem !important;display:inline-block;border-color:var(--wp--preset--color--primary) !important}.wpcf7 .wpcf7-spinner{display:none}h1,h2,h3,h4,h5,h6{font-family:var(--wp--preset--font-family--heading-font);text-transform:uppercase}h1:only-child,h2:only-child,h3:only-child,h4:only-child,h5:only-child,h6:only-child{margin-bottom:0}@media(min-width: 992px){h1,.h1{font-size:3.25rem;line-height:1.05}}@media(min-width: 992px){h2,.h2{font-size:2.25rem;line-height:1.1}}@media(min-width: 992px){h3,.h3{font-size:1.5rem;line-height:1.15}}@media(min-width: 992px){h4,.h4{font-size:1.25rem;line-height:1.25}}@media(min-width: 992px){h5,.h5{font-size:1rem;line-height:1.1875}}@media(min-width: 992px){h6,.h6{font-size:0.875rem;line-height:1.2142857143}}a:not([class]){transition:background-size var(--transition-speed) ease 0s,color var(--transition-speed) ease;background-image:linear-gradient(currentColor, currentColor);background-repeat:no-repeat;background-position:100% 100%;background-size:0% 1px}a:not([class]):hover{background-size:100% 1px;background-position:0 100%}a img{border:0}p{color:var(--wp--preset--color--color-3)}p:last-child{margin-bottom:0}strong{font-weight:bolder}.page-content ul:not([class]) ul,.page-content ul:not([class]) ol,.acf-block ul:not([class]) ul,.acf-block ul:not([class]) ol,.editor-rich-text ul ul,.editor-rich-text ul ol,ol ul,ol ol{margin:0}hr{box-sizing:content-box;height:0;margin-top:1.875rem;margin-bottom:1.875rem;border-top:1px solid var(--wp--preset--color--dark)}@media(min-width: 768px){hr{margin-top:calc(var(--wp--preset--spacing--medium) / 16)rem;margin-bottom:calc(var(--wp--preset--spacing--medium) / 16)rem}}.section__subtitle{font-size:0.875rem;line-height:1.1;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.1em;color:var(--wp--preset--color--color-2)}.section__title span{color:var(--wp--preset--color--primary)}.wp-caption{width:auto !important}.wp-caption figure{width:auto !important;margin:0}.alignleft,.wp-block-image .alignleft{float:left;margin:0 var(--wp--custom--media-spacing) var(--wp--custom--media-spacing) 0}.alignright,.wp-block-image .alignright{float:right;margin:0 0 var(--wp--custom--media-spacing) var(--wp--custom--media-spacing)}.alignnone,.wp-block-image .alignnone{display:inline-block;max-width:100%}.aligncenter,.wp-block-image .aligncenter{clear:both;margin:var(--wp--custom--media-spacing) auto;text-align:center}.has-text-uppercase{text-transform:uppercase}.is-content-justification-top-center{align-items:flex-start;justify-content:center}.is-content-justification-top-left{align-items:flex-start;justify-content:flex-start}.is-content-justification-top-right{align-items:flex-start;justify-content:flex-end}.is-content-justification-center-center{align-items:center;justify-content:center}.is-content-justification-center-left{align-items:center;justify-content:flex-start}.is-content-justification-center-right{align-items:center;justify-content:flex-end}.is-content-justification-bottom-center{align-items:flex-end;justify-content:center}.is-content-justification-bottom-left{align-items:flex-end;justify-content:flex-start}.is-content-justification-bottom-right{align-items:flex-end;justify-content:flex-end}.container{width:100%;padding:0 0.9375rem;margin:0 auto;max-width:calc(var(--wp--style--global--wide-size) + 0.9375rem*2)}.container.container--full{max-width:100%}.d-flex{display:flex}.row{display:flex;flex-wrap:wrap;margin-right:-0.9375rem;margin-left:-0.9375rem}.row.justify-content-end{justify-content:flex-end}.row.justify-content-center{justify-content:center}.row.justify-content-between{justify-content:space-between}.row.justify-content-evenly{justify-content:space-evenly}.row.align-items-center{align-items:center}.col{flex-basis:0;flex-grow:1;flex-shrink:1;padding:0 0.9375rem}[class*=col-]{flex-grow:0;flex-shrink:0;padding:0 0.9375rem}.col-1{flex-basis:8.3333333333%;max-width:8.3333333333%}.col-2{flex-basis:16.6666666667%;max-width:16.6666666667%}.col-3{flex-basis:25%;max-width:25%}.col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.col-5{flex-basis:41.6666666667%;max-width:41.6666666667%}.col-6{flex-basis:50%;max-width:50%}.col-7{flex-basis:58.3333333333%;max-width:58.3333333333%}.col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}.col-9{flex-basis:75%;max-width:75%}.col-10{flex-basis:83.3333333333%;max-width:83.3333333333%}.col-11{flex-basis:91.6666666667%;max-width:91.6666666667%}.col-12{flex-basis:100%;max-width:100%}@media(min-width: 768px){.col-md-1{flex-basis:8.3333333333%;max-width:8.3333333333%}}@media(min-width: 768px){.col-md-2{flex-basis:16.6666666667%;max-width:16.6666666667%}}@media(min-width: 768px){.col-md-3{flex-basis:25%;max-width:25%}}@media(min-width: 768px){.col-md-4{flex-basis:33.3333333333%;max-width:33.3333333333%}}@media(min-width: 768px){.col-md-5{flex-basis:41.6666666667%;max-width:41.6666666667%}}@media(min-width: 768px){.col-md-6{flex-basis:50%;max-width:50%}}@media(min-width: 768px){.col-md-7{flex-basis:58.3333333333%;max-width:58.3333333333%}}@media(min-width: 768px){.col-md-8{flex-basis:66.6666666667%;max-width:66.6666666667%}}@media(min-width: 768px){.col-md-9{flex-basis:75%;max-width:75%}}@media(min-width: 768px){.col-md-10{flex-basis:83.3333333333%;max-width:83.3333333333%}}@media(min-width: 768px){.col-md-11{flex-basis:91.6666666667%;max-width:91.6666666667%}}@media(min-width: 768px){.col-md-12{flex-basis:100%;max-width:100%}}@media(min-width: 992px){.col-lg-1{flex-basis:8.3333333333%;max-width:8.3333333333%}}@media(min-width: 992px){.col-lg-2{flex-basis:16.6666666667%;max-width:16.6666666667%}}@media(min-width: 992px){.col-lg-3{flex-basis:25%;max-width:25%}}@media(min-width: 992px){.col-lg-4{flex-basis:33.3333333333%;max-width:33.3333333333%}}@media(min-width: 992px){.col-lg-5{flex-basis:41.6666666667%;max-width:41.6666666667%}}@media(min-width: 992px){.col-lg-6{flex-basis:50%;max-width:50%}}@media(min-width: 992px){.col-lg-7{flex-basis:58.3333333333%;max-width:58.3333333333%}}@media(min-width: 992px){.col-lg-8{flex-basis:66.6666666667%;max-width:66.6666666667%}}@media(min-width: 992px){.col-lg-9{flex-basis:75%;max-width:75%}}@media(min-width: 992px){.col-lg-10{flex-basis:83.3333333333%;max-width:83.3333333333%}}@media(min-width: 992px){.col-lg-11{flex-basis:91.6666666667%;max-width:91.6666666667%}}@media(min-width: 992px){.col-lg-12{flex-basis:100%;max-width:100%}}@media(min-width: 1200px){.col-xl-1{flex-basis:8.3333333333%;max-width:8.3333333333%}}@media(min-width: 1200px){.col-xl-2{flex-basis:16.6666666667%;max-width:16.6666666667%}}@media(min-width: 1200px){.col-xl-3{flex-basis:25%;max-width:25%}}@media(min-width: 1200px){.col-xl-4{flex-basis:33.3333333333%;max-width:33.3333333333%}}@media(min-width: 1200px){.col-xl-5{flex-basis:41.6666666667%;max-width:41.6666666667%}}@media(min-width: 1200px){.col-xl-6{flex-basis:50%;max-width:50%}}@media(min-width: 1200px){.col-xl-7{flex-basis:58.3333333333%;max-width:58.3333333333%}}@media(min-width: 1200px){.col-xl-8{flex-basis:66.6666666667%;max-width:66.6666666667%}}@media(min-width: 1200px){.col-xl-9{flex-basis:75%;max-width:75%}}@media(min-width: 1200px){.col-xl-10{flex-basis:83.3333333333%;max-width:83.3333333333%}}@media(min-width: 1200px){.col-xl-11{flex-basis:91.6666666667%;max-width:91.6666666667%}}@media(min-width: 1200px){.col-xl-12{flex-basis:100%;max-width:100%}}.block-spacing--pt{padding-top:2.5rem}@media(min-width: 768px){.block-spacing--pt{padding-top:var(--wp--preset--spacing--medium)}}.block-spacing--pb{padding-bottom:2.5rem}@media(min-width: 768px){.block-spacing--pb{padding-bottom:var(--wp--preset--spacing--medium)}}.block-spacing--mt{margin-top:1.875rem}@media(min-width: 768px){.block-spacing--mt{margin-top:var(--wp--preset--spacing--medium)}}.block-spacing--mb{margin-bottom:1.875rem}@media(min-width: 768px){.block-spacing--mb{margin-bottom:var(--wp--preset--spacing--medium)}}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9jc3MvX19nbG9iYWwvX25vcm1hbGl6ZS5zY3NzIiwiYXNzZXRzL2Nzcy9fX2dsb2JhbC9fZ2VuZXJhbC5zY3NzIiwiYXNzZXRzL2Nzcy9fX3NldHRpbmdzL192YXJpYWJsZXMuc2NzcyIsImFzc2V0cy9jc3MvX19zZXR0aW5ncy9fbWl4aW5zLnNjc3MiLCJhc3NldHMvY3NzL19fc2V0dGluZ3MvX2luY2x1ZGUtbWVkaWEuc2NzcyIsImFzc2V0cy9jc3MvX19nbG9iYWwvX2FjY2Vzc2liaWxpdHkuc2NzcyIsImFzc2V0cy9jc3MvX19nbG9iYWwvX2Zvcm1zLnNjc3MiLCJhc3NldHMvY3NzL19fZ2xvYmFsL190eXBvZ3JhcGh5LnNjc3MiLCJhc3NldHMvY3NzL19fZ2xvYmFsL193cC5zY3NzIiwiYXNzZXRzL2Nzcy9fX2dsb2JhbC9fZ3JpZC5zY3NzIiwiYXNzZXRzL2Nzcy9fX2dsb2JhbC9fc3BhY2luZ3Muc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxzQ0FDQSxJQUNDLGdDQUNBLGNBR0QsY0FHQyxnQ0FDQSxjQUdELE1BQ0MsY0FHRCxRQUVDLGNBQ0EsY0FDQSxrQkFDQSx3QkFHRCxJQUNDLGVBR0QsSUFDQyxXQUdELHNDQUtDLG9CQUNBLGVBQ0EsaUJBQ0EsU0FHRCxjQUVDLG9CQUdELGdEQUlDLDBCQUNBLGVBR0Qsd0hBSUMsa0JBQ0EsVUFHRCw0R0FJQyw4QkFHRCxTQUNDLDJCQUdELE9BQ0MsVUFHRCxTQUNDLHdCQUdELGtGQUVDLFlBR0QsY0FDQyw2QkFDQSxvQkFHRCx5Q0FDQyx3QkFHRCw2QkFDQywwQkFDQSxhQUdELFFBQ0MsY0FHRCxRQUNDLGtCQzVHRCxNQUNDLDBDQUVBLHdCQUNBLCtCQUNBLHVDQUxELE1BTUUscUNBRUEsdUJBQ0EsK0JBRUQsOENBWEQsTUFZRSx3QkFJRixxQkFHQyxzQkFHRCxRQUNDLCtEQUdELFlBQ0MsTUNLYyxnQ0RIZCxXQ1NrQixvQ0RQbkIsaUJBQ0Msc0NBRUEsV0NJa0Isb0NERG5C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ZEQsMEJLMWRELFVBRUUsZUFFQSxlTHNkRCwwQksxZEQsV0FFRSwwQkFFQSwwQkxzZEQsMEJLMWRELFdBRUUsMEJBRUEsMEJMc2RELDBCSzFkRCxXQUVFLGdCQUVBLGdCQ3hGRixtQkFDQyxtQk42aUJBLHlCTTlpQkQsbUJBSUUsWVJlTyxvQ1FaVCxtQkFDQyxzQk5zaUJBLHlCTXZpQkQsbUJBSUUsZVJRTyxvQ1FMVCxtQkFDQyxvQk4raEJBLHlCTWhpQkQsbUJBSUUsV1JJTSxvQ1FEUixtQkFDQyx1Qk53aEJBLHlCTXpoQkQsbUJBSUUsY1JITSIsImZpbGUiOiJhc3NldHMvY3NzL3N0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qISBub3JtYWxpemUuY3NzIHNpbXBsaWZpZWQgdmVyc2lvbiovXG5wcmUge1xuXHRmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG5cdGZvbnQtc2l6ZTogMWVtO1xufVxuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG5cdGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcblx0Zm9udC1zaXplOiAxZW07XG59XG5cbnNtYWxsIHtcblx0Zm9udC1zaXplOiA4MCU7XG59XG5cbnN1YixcbnN1cCB7XG5cdGZvbnQtc2l6ZTogNzUlO1xuXHRsaW5lLWhlaWdodDogMDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG5cdGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcblx0dG9wOiAtMC41ZW07XG59XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG5cdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuXHRmb250LXNpemU6IDEwMCU7XG5cdGxpbmUtaGVpZ2h0OiAxLjE1O1xuXHRtYXJnaW46IDA7XG59XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG5cdHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG5cdC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcblx0Ym9yZGVyLXN0eWxlOiBub25lO1xuXHRwYWRkaW5nOiAwO1xufVxuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG5cdG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuZmllbGRzZXQge1xuXHRwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbmxlZ2VuZCB7XG5cdHBhZGRpbmc6IDA7XG59XG5cbnByb2dyZXNzIHtcblx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcblx0aGVpZ2h0OiBhdXRvO1xufVxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG5cdC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuXHRvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcblx0Zm9udDogaW5oZXJpdDtcbn1cblxuZGV0YWlscyB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG5zdW1tYXJ5IHtcblx0ZGlzcGxheTogbGlzdC1pdGVtO1xufSIsIjpyb290IHtcblx0LS10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG5cblx0LS10cmFuc2l0aW9uLXNwZWVkOiAuMnM7XG5cdC0tdHJhbnNpdGlvbi1zcGVlZC1sb25nZXI6IC40cztcblx0QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcblx0XHQtLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG5cblx0XHQtLXRyYW5zaXRpb24tc3BlZWQ6IDBzO1xuXHRcdC0tdHJhbnNpdGlvbi1zcGVlZC1sb25nZXI6IDBzO1xuXHR9XG5cdEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xuXHRcdHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuXHR9XG59XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbio6Zm9jdXMge1xuXHRvdXRsaW5lOiA0cHggc29saWQgJGNvbG9yLS1wcmltYXJ5ICFpbXBvcnRhbnQ7XG59XG5cbjo6c2VsZWN0aW9uIHtcblx0Y29sb3I6ICRjb2xvci0tdGV4dC1saWdodDtcblxuXHRiYWNrZ3JvdW5kOiAkY29sb3ItLXNlY29uZGFyeTtcbn1cbjo6LW1vei1zZWxlY3Rpb24ge1xuXHRjb2xvcjogJGNvbG9yLS10ZXh0LWxpZ2h0O1xuXG5cdGJhY2tncm91bmQ6ICRjb2xvci0tc2Vjb25kYXJ5O1xufVxuXG5odG1sIHtcblx0Zm9udC1zaXplOiAxcmVtO1xuXHRsaW5lLWhlaWdodDogMS41O1xuXHQtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG59XG5cbmJvZHkge1xuXHRAaW5jbHVkZSBzY3JvbGxiYXIoKTtcblxuXHRAaW5jbHVkZSBtZWRpYSgnPj1sZycpIHtcblx0XHRmb250LXNpemU6ICRmb250LXNpemUtZGVza3RvcDtcblx0XHRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWRlc2t0b3A7XG5cdH1cblxuXHQmLnVzaW5nLW1vdXNlIDpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG59XG5cbiN3cGFkbWluYmFyIHtcblx0cG9zaXRpb246IGZpeGVkO1xufVxuXG5hLFxuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cblx0XHRodG1sLnVzZXItdGFiLW5hdiAmIHtcblx0XHRcdG91dGxpbmU6ICRvdXRsaW5lO1xuXHRcdFx0b3V0bGluZS1vZmZzZXQ6IDA7XG5cdFx0fVxuXHR9XG59XG5cbi5wYWdlLWNvbnRlbnQge1xuXHRwYWRkaW5nLXRvcDogcmVtKDkwLjY1KTtcblxuXHRAaW5jbHVkZSBtZWRpYSgnPj1sZycpIHtcblx0XHRwYWRkaW5nLXRvcDogcmVtKDE0NS43Myk7XG5cdH1cblxuXHQmLS1zaW5nbGUge1xuXHRcdHBhZGRpbmctdG9wOiAwO1xuXHR9XG59XG5cbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbmZpZ3VyZSB7XG5cdG1hcmdpbjogMDtcbn1cblxuaW1nLFxuc3ZnIHtcblx0aGVpZ2h0OiBhdXRvO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxubmF2IHtcblx0dWwge1xuXHRcdHBhZGRpbmc6IDA7XG5cblx0XHRtYXJnaW46IDA7XG5cblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHR9XG5cdGxpIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0PiBhIHtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHR9XG5cdH1cbn1cblxuLmdyZWNhcHRjaGEtYmFkZ2Uge1xuXHR2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cbiIsIi8vKiBCUkVBS1BPSU5UUyAqLy9cbiRicmVha3BvaW50czogKHhzOiAzNzVweCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDQwcHgsIG1heDogMTkyMHB4KTtcblxuLy8qIENPTlRBSU5FUiB3aWR0aCB2YXJpYWJsZXMgKi8vXG4kY29udGFpbmVyOiB2YXIoLS13cC0tc3R5bGUtLWdsb2JhbC0td2lkZS1zaXplKTsgLy8gdGhlbWUuanNvbiBzZXR0aW5ncy5sYXlvdXRcbiRjb250YWluZXItcGFkZGluZzogMTU7IC8vdGhlbWUuanNvbiBzZXR0aW5nLmN1c3RvbS5iYXNlUGFkZGluZ1xuXG4vLyogRk9OVFMgKi8vXG4kZm9udC1iYXNlOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LWZhbWlseS0tYmFzZS1mb250KTsgLy90aGVtZS5qc29uIHNldHRpbmcudHlwb2dyYXBoeS5mb250RmFtaWxpZXNcbiRmb250LWhlYWRpbmc6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtZmFtaWx5LS1oZWFkaW5nLWZvbnQpOyAvL3RoZW1lLmpzb24gc2V0dGluZy50eXBvZ3JhcGh5LmZvbnRGYW1pbGllc1xuXG4kZm9udC1zaXplLWRlc2t0b3A6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tbWVkaXVtKTsvL3RoZW1lLmpzb24gc2V0dGluZy50eXBvZ3JhcGh5LmZvbnRTaXplc1xuJGxpbmUtaGVpZ2h0LWRlc2t0b3A6IDEuNTtcblxuLy8gU2V0IE1vYmlsZSBmb250LXNpemUgLyBsaW5lLWhlaWdodCBzdHlsZXMgaW4gdGhlbWUuanNvbiBzdHlsZXMudHlwb2dyYXBoeVxuXG4vLyogU1BBQ0lOR1MgKi8vXG5cbi8vIEJsb2NrIFNwYWNpbmdzXG4kc3BhY2luZy1tb2JpbGU6IDQwOyAvL3RoZW1lLmpzb24gc2V0dGluZy5zcGFjaW5nLnNwYWNpbmdTaXplc1xuJHNwYWNpbmc6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLW1lZGl1bSk7XG5cbiRtYXJnaW4tbW9iaWxlOiAzMDsgLy90aGVtZS5qc29uIHNldHRpbmcuc3BhY2luZy5zcGFjaW5nU2l6ZXNcbiRtYXJnaW46IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLW1lZGl1bSk7XG5cbi8vIE1lZGlhIFNwYWNpbmdcbiRtZWRpYS1tYXJnaW46IHZhcigtLXdwLS1jdXN0b20tLW1lZGlhLXNwYWNpbmcpOyAvL3RoZW1lLmpzb24gc2V0dGluZy5jdXN0b20ubWVkaWFTcGFjaW5nOyAvL3B4XG5cbi8vKiBDT0xPUlMgKi8vXG5cbi8vIEJhc2UgQ29sb3JzXG4kY29sb3ItLWRhcms6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1kYXJrKTsgLy90aGVtZS5qc29uIHNldHRpbmcuY29sb3JcbiRjb2xvci0tbGlnaHQ6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1saWdodCk7IC8vdGhlbWUuanNvbiBzZXR0aW5nLmNvbG9yXG5cbi8vIE1haW4gQ29sb3JzXG4kY29sb3ItLXByaW1hcnk6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wcmltYXJ5KTsgLy90aGVtZS5qc29uIHNldHRpbmcuY29sb3JcbiRjb2xvci0tcHJpbWFyeS1kYXJrOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcHJpbWFyeS1kYXJrKTsgLy90aGVtZS5qc29uIHNldHRpbmcuY29sb3JcblxuJGNvbG9yLS1zZWNvbmRhcnk6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1zZWNvbmRhcnkpOyAvL3RoZW1lLmpzb24gc2V0dGluZy5jb2xvclxuXG4vLyBPdGhlciBDb2xvcnNcbiRjb2xvci0tMTogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWNvbG9yLTEpOyAvL3RoZW1lLmpzb24gc2V0dGluZy5jb2xvclxuJGNvbG9yLS0yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY29sb3ItMik7IC8vdGhlbWUuanNvbiBzZXR0aW5nLmNvbG9yXG4kY29sb3ItLTM6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1jb2xvci0zKTsgLy90aGVtZS5qc29uIHNldHRpbmcuY29sb3JcbiRjb2xvci0tNDogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWNvbG9yLTQpOyAvL3RoZW1lLmpzb24gc2V0dGluZy5jb2xvclxuJGNvbG9yLS01OiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY29sb3ItNSk7IC8vdGhlbWUuanNvbiBzZXR0aW5nLmNvbG9yXG4kY29sb3ItLTY6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1jb2xvci02KTsgLy90aGVtZS5qc29uIHNldHRpbmcuY29sb3JcbiRjb2xvci0tNzogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWNvbG9yLTcpOyAvL3RoZW1lLmpzb24gc2V0dGluZy5jb2xvclxuXG4vLyBFbGVtZW50cyBDb2xvcnNcbiRjb2xvci0tYmc6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1iZyk7IC8vdGhlbWUuanNvbiBzZXR0aW5nLmNvbG9yXG4kY29sb3ItLWJvZHk6ICRjb2xvci0tbGlnaHQ7XG4kY29sb3ItLWJvcmRlcjogJGNvbG9yLS1kYXJrO1xuXG4vLyBUaGVtZSBUZXh0IENvbG9yc1xuJGNvbG9yLS10ZXh0OiAkY29sb3ItLWRhcms7XG4kY29sb3ItLXRleHQtbGlnaHQ6ICRjb2xvci0tbGlnaHQ7XG4kY29sb3ItLWxpbms6ICRjb2xvci0tcHJpbWFyeTtcbiRjb2xvci0tbGluay1ob3ZlcjogJGNvbG9yLS1kYXJrO1xuXG4vLyogT1RIRVIgKi8vXG5cbi8vIFRyYW5zaXRpb25zXG4kdHJhbnMtc3BlZWQ6IHZhcigtLXRyYW5zaXRpb24tc3BlZWQpO1xuJHRyYW5zLXNwZWVkLWxvbmdlcjogdmFyKC0tdHJhbnNpdGlvbi1zcGVlZC1sb25nZXIpO1xuJHRyYW5zLWZ1bmM6IHZhcigtLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKTtcblxuLy8gT3V0bGluZVxuJG91dGxpbmU6IDJweCBzb2xpZCBibHVlOyIsIi8vXG4vLyBNSVhJTlNcbi8vXG5AbWl4aW4gY2Yge1xuXHQmOmJlZm9yZSxcblx0JjphZnRlciB7XG5cdFx0Y29udGVudDogJyc7XG5cblx0XHRkaXNwbGF5OiB0YWJsZTtcblx0fVxuXG5cdCY6YWZ0ZXIge1xuXHRcdGNsZWFyOiBib3RoO1xuXHR9XG59XG5cbkBmdW5jdGlvbiB2dy1zaXplKCRzLCAkdzogMTQ0MCkge1xuXHRAcmV0dXJuICgkcyAvICR3KSAqIDEwMCArIHZ3O1xufVxuXG5AZnVuY3Rpb24gcmVtKCRzaXplVmFsdWU6IDE2KSB7XG5cdEByZXR1cm4gY2FsYygkc2l6ZVZhbHVlIC8gMTYpICsgcmVtO1xufVxuXG5AZnVuY3Rpb24gcmVsKCRzaXplLCAkcmVsKSB7XG5cdEByZXR1cm4gY2FsYygkc2l6ZSAvICRyZWwpO1xufVxuXG5AZnVuY3Rpb24gZW0oJHNpemUsICRyZWwpIHtcblx0QHJldHVybiByZWwoJHNpemUsICRyZWwpICogMWVtO1xufVxuXG5AbWl4aW4gb2JqZWN0LWZpdC1jb3ZlcigpIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblxuXHRvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuQG1peGluIGxpbmUtaGVpZ2h0KCRmb250LXNpemUsICRsaW5lLWhlaWdodDogMCkge1xuXHRAaWYgJGxpbmUtaGVpZ2h0ICE9IDAge1xuXHRcdEBpZiAkbGluZS1oZWlnaHQgPCAxMCB7XG5cdFx0XHRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuXHRcdH1cblx0XHRAZWxzZSB7XG5cdFx0XHRsaW5lLWhlaWdodDogY2FsYygkbGluZS1oZWlnaHQgLyAkZm9udC1zaXplKTtcblx0XHR9XG5cdH1cbn1cblxuQG1peGluIGxldHRlci1zcGFjaW5nKCRmb250LXNpemUsICRsZXR0ZXItc3BhY2luZzogMCkge1xuXHRAaWYgJGxldHRlci1zcGFjaW5nICE9IDAge1xuXHRcdEBpZiAkbGV0dGVyLXNwYWNpbmcgPCAxMCB7XG5cdFx0XHRsZXR0ZXItc3BhY2luZzogcmVtKCRsZXR0ZXItc3BhY2luZyk7XG5cdFx0fVxuXHRcdEBlbHNlIHtcblx0XHRcdGxldHRlci1zcGFjaW5nOiByZW0oKCRmb250LXNpemUgKiAkbGV0dGVyLXNwYWNpbmcpIC8gMTAwMCk7XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBmb250KCRmb250LXNpemUtbWFwLCAkbGluZS1oZWlnaHQ6IDAsICRsZXR0ZXItc3BhY2luZzogMCkge1xuXHRAaWYgdHlwZS1vZigkZm9udC1zaXplLW1hcCkgPT0gJ21hcCcge1xuXHRcdEBlYWNoICRicmVha3BvaW50LCAkZm9udC1zaXplIGluICRmb250LXNpemUtbWFwIHtcblx0XHRcdEBpZiAkYnJlYWtwb2ludCA9PSBudWxsIHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0oJGZvbnQtc2l6ZSk7XG5cblx0XHRcdFx0QGluY2x1ZGUgbGluZS1oZWlnaHQobWFwLWdldCgkZm9udC1zaXplLW1hcCwgbnRoKG1hcC1rZXlzKCRmb250LXNpemUtbWFwKSwgLTEpKSwgJGxpbmUtaGVpZ2h0KTtcblx0XHRcdFx0QGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcobWFwLWdldCgkZm9udC1zaXplLW1hcCwgbnRoKG1hcC1rZXlzKCRmb250LXNpemUtbWFwKSwgLTEpKSwgJGxldHRlci1zcGFjaW5nKTtcblx0XHRcdH1cblx0XHRcdEBlbHNlIHtcblx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicmVha3BvaW50KSkge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtKCRmb250LXNpemUpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdEBlbHNlIHtcblx0XHRmb250LXNpemU6IHJlbSgkZm9udC1zaXplLW1hcCk7XG5cblx0XHRAaW5jbHVkZSBsaW5lLWhlaWdodCgkZm9udC1zaXplLW1hcCwgJGxpbmUtaGVpZ2h0KTtcblx0XHRAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygkZm9udC1zaXplLW1hcCwgJGxldHRlci1zcGFjaW5nKTtcblx0fVxufVxuXG5AbWl4aW4gbGluaygkaGVpZ2h0OiAxKSB7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtc2l6ZSAkdHJhbnMtc3BlZWQgZWFzZSAwcywgY29sb3IgJHRyYW5zLXNwZWVkIGVhc2U7XG5cdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChjdXJyZW50Q29sb3IsIGN1cnJlbnRDb2xvcik7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMTAwJTtcblx0YmFja2dyb3VuZC1zaXplOiAwJSAjeyRoZWlnaHR9cHg7XG5cblx0Jjpob3ZlciB7XG5cdFx0YmFja2dyb3VuZC1zaXplOiAxMDAlICN7JGhlaWdodH1weDtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7XG5cdH1cbn1cblxuQG1peGluIGxpbmstdW5kZXJsaW5lKCRoZWlnaHQ6IDEpIHtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1zaXplICR0cmFucy1zcGVlZCBlYXNlIDBzLCBjb2xvciAkdHJhbnMtc3BlZWQgZWFzZTtcblx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KGN1cnJlbnRDb2xvciwgY3VycmVudENvbG9yKTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAxMDAlO1xuXHRiYWNrZ3JvdW5kLXNpemU6IDEwMCUgI3skaGVpZ2h0fXB4O1xuXG5cdCY6aG92ZXIge1xuXHRcdGJhY2tncm91bmQtc2l6ZTogMCUgI3skaGVpZ2h0fXB4O1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMTAwJTtcblx0fVxufVxuXG5AbWl4aW4gc2Nyb2xsYmFyLWhpZGRlbigpIHtcblx0b3ZlcmZsb3cteTogYXV0bztcblxuXHRzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG5cblx0Jjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuXHRcdHdpZHRoOiAwO1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuQG1peGluIHNjcm9sbGJhcigpIHtcblx0JGNvbG9yLXNjcm9sbGJhcjogJGNvbG9yLS1wcmltYXJ5O1xuXHQkY29sb3Itc2Nyb2xsYmFyLWJnOiAjRkZGRkZGO1xuXG5cdHNjcm9sbGJhci13aWR0aDogdGhpbjtcblx0c2Nyb2xsYmFyLWNvbG9yOiAkY29sb3Itc2Nyb2xsYmFyICRjb2xvci1zY3JvbGxiYXItYmc7XG5cblx0Jjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuXHRcdHdpZHRoOiByZW0oOCk7XG5cdFx0aGVpZ2h0OiByZW0oOCk7XG5cdH1cblx0Jjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuXHRcdGJhY2tncm91bmQ6ICRjb2xvci1zY3JvbGxiYXItYmc7XG5cdH1cblx0Jjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuXHRcdGJvcmRlcjogMDtcblx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zY3JvbGxiYXI7XG5cdH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vICAgICBfICAgICAgICAgICAgXyAgICAgICAgICAgXyAgICAgICAgICAgICAgICAgICAgICAgICAgIF8gX1xuLy8gICAgKF8pICAgICAgICAgIHwgfCAgICAgICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChfKVxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXG4vLyAgICB8IHwgJ18gXFwgLyBfX3wgfCB8IHwgfC8gX2AgfC8gXyBcXCB8ICdfIGAgXyBcXCAvIF8gXFwvIF9gIHwgfC8gX2AgfFxuLy8gICAgfCB8IHwgfCB8IChfX3wgfCB8X3wgfCAoX3wgfCAgX18vIHwgfCB8IHwgfCB8ICBfXy8gKF98IHwgfCAoX3wgfFxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcbi8vXG4vLyAgICAgIFNpbXBsZSwgZWxlZ2FudCBhbmQgbWFpbnRhaW5hYmxlIG1lZGlhIHF1ZXJpZXMgaW4gU2Fzc1xuLy8gICAgICAgICAgICAgICAgICAgICAgICB2MS40Ljlcbi8vXG4vLyAgICAgICAgICAgICAgICBodHRwOi8vaW5jbHVkZS1tZWRpYS5jb21cbi8vXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcbi8vICAgICAgICAgICAgICAgICAgSHVnbyBHaXJhdWRlbCAoQGh1Z29naXJhdWRlbClcbi8vXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXG5cblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgbGlicmFyeSBwdWJsaWMgY29uZmlndXJhdGlvblxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIGdsb2JhbCBicmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCB3aXRoIHRoZSBsYWJlbCBgcGhvbmVgXG4vLy8gICRicmVha3BvaW50czogKCdwaG9uZSc6IDMyMHB4KTtcbi8vL1xuJGJyZWFrcG9pbnRzOiAoXG5cdCdwaG9uZSc6IDMyMHB4LFxuXHQndGFibGV0JzogNzY4cHgsXG5cdCdkZXNrdG9wJzogMTAyNHB4XG4pICFkZWZhdWx0O1xuXG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIHN0YXRpYyBleHByZXNzaW9ucyBvciBtZWRpYSB0eXBlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgbWVkaWEgdHlwZSAoc2NyZWVuKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJzogJ3NjcmVlbicpO1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzdGF0aWMgZXhwcmVzc2lvbiB3aXRoIGxvZ2ljYWwgZGlzanVuY3Rpb24gKE9SIG9wZXJhdG9yKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6IChcbi8vLyAgICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSdcbi8vLyAgKTtcbi8vL1xuJG1lZGlhLWV4cHJlc3Npb25zOiAoXG5cdCdzY3JlZW4nOiAnc2NyZWVuJyxcblx0J3ByaW50JzogJ3ByaW50Jyxcblx0J2hhbmRoZWxkJzogJ2hhbmRoZWxkJyxcblx0J2xhbmRzY2FwZSc6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknLFxuXHQncG9ydHJhaXQnOiAnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknLFxuXHQncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCknLFxuXHQncmV0aW5hM3gnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMzUwZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAzZHBweCknXG4pICFkZWZhdWx0O1xuXG5cbi8vL1xuLy8vIERlZmluZXMgYSBudW1iZXIgdG8gYmUgYWRkZWQgb3Igc3VidHJhY3RlZCBmcm9tIGVhY2ggdW5pdCB3aGVuIGRlY2xhcmluZyBicmVha3BvaW50cyB3aXRoIGV4Y2x1c2l2ZSBpbnRlcnZhbHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcGl4ZWxzIGlzIGRlZmluZWQgYXMgYDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4xMjhweCcpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMTI5cHgpIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIGVtcyBpcyBkZWZpbmVkIGFzIGAwLjAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MjBlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMjAuMDFlbSkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcmVtcyBpcyBkZWZpbmVkIGFzIGAwLjFgIGJ5IGRlZmF1bHQsIHRvIGJlIHVzZWQgd2l0aCBgZm9udC1zaXplOiA2Mi41JTtgXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+Mi4wcmVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyLjFyZW0pIHt9XG4vLy9cbiR1bml0LWludGVydmFsczogKFxuXHQncHgnOiAxLFxuXHQnZW0nOiAwLjAxLFxuXHQncmVtJzogMC4xLFxuXHQnJzogMFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXG4vLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4kaW0tbWVkaWEtc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBicmVha3BvaW50IHRvIGVtdWxhdGUgd2hlbiBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGRpc2FibGVkLiBNZWRpYSBxdWVyaWVzIHRoYXQgc3RhcnQgYXQgb3Jcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gICAuZm9vIHtcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gTG9nIGEgbWVzc2FnZSBlaXRoZXIgd2l0aCBgQGVycm9yYCBpZiBzdXBwb3J0ZWRcbi8vLyBlbHNlIHdpdGggYEB3YXJuYCwgdXNpbmcgYGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpYFxuLy8vIHRvIGRldGVjdCBzdXBwb3J0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQGZ1bmN0aW9uIGltLWxvZygkbWVzc2FnZSkge1xuXHRAaWYgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJykge1xuXHRcdEBlcnJvciAkbWVzc2FnZTtcblx0fSBAZWxzZSB7XG5cdFx0QHdhcm4gJG1lc3NhZ2U7XG5cdFx0JF86IG5vb3AoKTtcblx0fVxuXG5cdEByZXR1cm4gJG1lc3NhZ2U7XG59XG5cblxuLy8vXG4vLy8gV3JhcHBlciBtaXhpbiBmb3IgdGhlIGxvZyBmdW5jdGlvbiBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGEgbW9yZSBmcmllbmRseVxuLy8vIEFQSSB0aGFuIGBAaWYgaW0tbG9nKCcuLicpIHt9YCBvciBgJF86IGltLWxvZygnLi4nKWAuIEJhc2ljYWxseSwgdXNlIHRoZSBmdW5jdGlvblxuLy8vIHdpdGhpbiBmdW5jdGlvbnMgYmVjYXVzZSBpdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluIGEgZnVuY3Rpb25cbi8vLyBhbmQgdXNlIHRoZSBtaXhpbiBldmVyeXdoZXJlIGVsc2UgYmVjYXVzZSBpdCdzIG11Y2ggbW9yZSBlbGVnYW50LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQG1peGluIGxvZygkbWVzc2FnZSkge1xuXHRAaWYgaW0tbG9nKCRtZXNzYWdlKSB7fVxufVxuXG5cbi8vL1xuLy8vIEZ1bmN0aW9uIHdpdGggbm8gYEByZXR1cm5gIGNhbGxlZCBuZXh0IHRvIGBAd2FybmAgaW4gU2FzcyAzLjNcbi8vLyB0byB0cmlnZ2VyIGEgY29tcGlsaW5nIGVycm9yIGFuZCBzdG9wIHRoZSBwcm9jZXNzLlxuLy8vXG5AZnVuY3Rpb24gbm9vcCgpIHt9XG5cbi8vL1xuLy8vIERldGVybWluZXMgd2hldGhlciBhIGxpc3Qgb2YgY29uZGl0aW9ucyBpcyBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbmRpdGlvbnMgYXJlIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vXG5AZnVuY3Rpb24gaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikge1xuXHQkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcblxuXHRAaWYgbm90ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlIHtcblx0XHRAaWYgaW0tbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge31cblx0fVxuXG5cdEBlYWNoICRjb25kaXRpb24gaW4gJGNvbmRpdGlvbnMge1xuXHRcdEBpZiBub3QgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG5cdFx0XHQkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRjb25kaXRpb24pO1xuXHRcdFx0JHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG5cdFx0XHQkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XG5cblx0XHRcdEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxuXHRcdFx0XHRcdCgkcHJlZml4ID09ICdtaW4nIGFuZCAkdmFsdWUgPiAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkge1xuXHRcdFx0XHRAcmV0dXJuIGZhbHNlO1xuXHRcdFx0fVxuXHRcdH0gQGVsc2UgaWYgbm90IGluZGV4KCRpbS1uby1tZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuXHRcdFx0QHJldHVybiBmYWxzZTtcblx0XHR9XG5cdH1cblxuXHRAcmV0dXJuIHRydWU7XG59XG5cbi8vLy9cbi8vLyBQYXJzaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xuXHRAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcblx0XHRAaWYgc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcblx0XHRcdEByZXR1cm4gJG9wZXJhdG9yO1xuXHRcdH1cblx0fVxuXG5cdC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cblx0Ly8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2Vcblx0Ly8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG5cdC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG5cdC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cblx0JF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcblx0JG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG5cdCRwYXJzZWQtZGltZW5zaW9uOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xuXHQkZGltZW5zaW9uOiAnd2lkdGgnO1xuXG5cdEBpZiBzdHItbGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xuXHRcdCRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xuXHR9XG5cblx0QHJldHVybiAkZGltZW5zaW9uO1xufVxuXG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3Jcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xuXHRAcmV0dXJuIGlmKGluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG5cdCRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuXHQkdmFsdWU6IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyLWxlbmd0aCgkb3BlcmF0b3IpKTtcblxuXHRAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcblx0XHQkdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkdmFsdWUpO1xuXHR9IEBlbHNlIHtcblx0XHQkdmFsdWU6IHRvLW51bWJlcigkdmFsdWUpO1xuXHR9XG5cblx0JGludGVydmFsOiBtYXAtZ2V0KCR1bml0LWludGVydmFscywgdW5pdCgkdmFsdWUpKTtcblxuXHRAaWYgbm90ICRpbnRlcnZhbCB7XG5cdFx0Ly8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuXHRcdC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG5cdFx0Ly8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG5cdFx0Ly8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcblx0XHQvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG5cdFx0JF86IGltLWxvZygnVW5rbm93biB1bml0IGAje3VuaXQoJHZhbHVlKX1gLicpO1xuXHR9XG5cblx0QGlmICRvcGVyYXRvciA9PSAnPicge1xuXHRcdCR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xuXHR9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xuXHRcdCR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xuXHR9XG5cblx0QHJldHVybiAkdmFsdWU7XG59XG5cblxuLy8vXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcbi8vL1xuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcblx0Ly8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxuXHQvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuXHRAaWYgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xuXHRcdEByZXR1cm4gbWFwLWdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcblx0fVxuXG5cdCRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xuXHQkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG5cdCRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuXHQkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuXG5cdEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xufVxuXG4vLy9cbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3Rcbi8vL1xuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxlbmd0aCgkbGlzdCkpIHtcblx0QGlmIGxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xuXHRcdEByZXR1cm4gKCk7XG5cdH1cblxuXHQkcmVzdWx0OiAoKTtcblxuXHRAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XG5cdFx0JHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcblx0fVxuXG5cdEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vL1xuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gQ2FzdHMgYSBzdHJpbmcgaW50byBhIG51bWJlclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfVxuLy8vXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xuXHRAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcblx0XHRAcmV0dXJuICR2YWx1ZTtcblx0fSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xuXHRcdCRfOiBpbS1sb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XG5cdH1cblxuXHQkZmlyc3QtY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAxLCAxKTtcblx0JHJlc3VsdDogMDtcblx0JGRpZ2l0czogMDtcblx0JG1pbnVzOiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpO1xuXHQkbnVtYmVyczogKCcwJzogMCwgJzEnOiAxLCAnMic6IDIsICczJzogMywgJzQnOiA0LCAnNSc6IDUsICc2JzogNiwgJzcnOiA3LCAnOCc6IDgsICc5JzogOSk7XG5cblx0Ly8gUmVtb3ZlICsvLSBzaWduIGlmIHByZXNlbnQgYXQgZmlyc3QgY2hhcmFjdGVyXG5cdEBpZiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnKycgb3IgJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpIHtcblx0XHQkdmFsdWU6IHN0ci1zbGljZSgkdmFsdWUsIDIpO1xuXHR9XG5cblx0QGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCR2YWx1ZSkge1xuXHRcdCRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsICRpLCAkaSk7XG5cblx0XHRAaWYgbm90IChpbmRleChtYXAta2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XG5cdFx0XHRAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyLXNsaWNlKCR2YWx1ZSwgJGkpKVxuXHRcdH1cblxuXHRcdEBpZiAkY2hhcmFjdGVyID09ICcuJyB7XG5cdFx0XHQkZGlnaXRzOiAxO1xuXHRcdH0gQGVsc2UgaWYgJGRpZ2l0cyA9PSAwIHtcblx0XHRcdCRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xuXHRcdH0gQGVsc2Uge1xuXHRcdFx0JGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xuXHRcdFx0JHJlc3VsdDogJHJlc3VsdCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpIC8gJGRpZ2l0cztcblx0XHR9XG5cdH1cblxuXHRAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xufVxuXG5cbi8vL1xuLy8vIEFkZCBgJHVuaXRgIHRvIGAkdmFsdWVgXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYWRkIHVuaXQgdG9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHVuaXQgLSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHVuaXRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBgJHZhbHVlYCBleHByZXNzZWQgaW4gYCR1bml0YFxuLy8vXG5AZnVuY3Rpb24gdG8tbGVuZ3RoKCR2YWx1ZSwgJHVuaXQpIHtcblx0JHVuaXRzOiAoJ3B4JzogMXB4LCAnY20nOiAxY20sICdtbSc6IDFtbSwgJyUnOiAxJSwgJ2NoJzogMWNoLCAncGMnOiAxcGMsICdpbic6IDFpbiwgJ2VtJzogMWVtLCAncmVtJzogMXJlbSwgJ3B0JzogMXB0LCAnZXgnOiAxZXgsICd2dyc6IDF2dywgJ3ZoJzogMXZoLCAndm1pbic6IDF2bWluLCAndm1heCc6IDF2bWF4KTtcblxuXHRAaWYgbm90IGluZGV4KG1hcC1rZXlzKCR1bml0cyksICR1bml0KSB7XG5cdFx0JF86IGltLWxvZygnSW52YWxpZCB1bml0IGAjeyR1bml0fWAuJyk7XG5cdH1cblxuXHRAcmV0dXJuICR2YWx1ZSAqIG1hcC1nZXQoJHVuaXRzLCAkdW5pdCk7XG59XG5cbi8vL1xuLy8vIFRoaXMgbWl4aW4gYWltcyBhdCByZWRlZmluaW5nIHRoZSBjb25maWd1cmF0aW9uIGp1c3QgZm9yIHRoZSBzY29wZSBvZlxuLy8vIHRoZSBjYWxsLiBJdCBpcyBoZWxwZnVsIHdoZW4gaGF2aW5nIGEgY29tcG9uZW50IG5lZWRpbmcgYW4gZXh0ZW5kZWRcbi8vLyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgY3VzdG9tIGJyZWFrcG9pbnRzIChyZWZlcnJlZCB0byBhcyB0d2Vha3BvaW50cylcbi8vLyBmb3IgaW5zdGFuY2UuXG4vLy9cbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWtwb2ludHMgWygpXSAtIE1hcCBvZiB0d2Vha3BvaW50cyB0byBiZSBtZXJnZWQgd2l0aCBgJGJyZWFrcG9pbnRzYFxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMgWygpXSAtIE1hcCBvZiB0d2Vha2VkIG1lZGlhIGV4cHJlc3Npb25zIHRvIGJlIG1lcmdlZCB3aXRoIGAkbWVkaWEtZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBicmVha3BvaW50cyB3aXRoIGEgdHdlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIG1lZGlhIGV4cHJlc3Npb25zIHdpdGggYSBjdXN0b20gb25lXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIGJvdGggY29uZmlndXJhdGlvbiBtYXBzXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCksICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuQG1peGluIG1lZGlhLWNvbnRleHQoJHR3ZWFrcG9pbnRzOiAoKSwgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoKSkge1xuXHQvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXG5cdCRnbG9iYWwtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cztcblx0JGdsb2JhbC1tZWRpYS1leHByZXNzaW9uczogJG1lZGlhLWV4cHJlc3Npb25zO1xuXG5cdC8vIFVwZGF0ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuXHQkYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgkYnJlYWtwb2ludHMsICR0d2Vha3BvaW50cykgIWdsb2JhbDtcblx0JG1lZGlhLWV4cHJlc3Npb25zOiBtYXAtbWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XG5cblx0QGNvbnRlbnQ7XG5cblx0Ly8gUmVzdG9yZSBnbG9iYWwgY29uZmlndXJhdGlvblxuXHQkYnJlYWtwb2ludHM6ICRnbG9iYWwtYnJlYWtwb2ludHMgIWdsb2JhbDtcblx0JG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XG59XG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIHB1YmxpYyBleHBvc2VkIEFQSVxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG5cbi8vL1xuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IGJhc2VkIG9uIGEgbGlzdCBvZiBjb25kaXRpb25zXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzaW5nbGUgc2V0IGJyZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggdHdvIHNldCBicmVha3BvaW50c1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9dGFibGV0JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1OHB4JywgJzw4NTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggc2V0IGJyZWFrcG9pbnRzIHdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnLCAnPD0xMzUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc3RhdGljIGV4cHJlc3Npb25cbi8vLyAgQGluY2x1ZGUgbWVkaWEoJ3JldGluYTJ4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gTWl4aW5nIGV2ZXJ5dGhpbmdcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzUwcHgnLCAnPHRhYmxldCcsICdyZXRpbmEzeCcpIHsgfVxuLy8vXG5AbWl4aW4gbWVkaWEoJGNvbmRpdGlvbnMuLi4pIHtcblx0QGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA9PSAwKSBvclxuXHRcdFx0KG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpIHtcblx0XHRAY29udGVudDtcblx0fSBAZWxzZSBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPiAwKSB7XG5cdFx0QG1lZGlhICN7dW5xdW90ZShwYXJzZS1leHByZXNzaW9uKG50aCgkY29uZGl0aW9ucywgMSkpKX0ge1xuXHRcdFx0Ly8gUmVjdXJzaXZlIGNhbGxcblx0XHRcdEBpbmNsdWRlIG1lZGlhKHNsaWNlKCRjb25kaXRpb25zLCAyKS4uLikge1xuXHRcdFx0XHRAY29udGVudDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi5zY3JlZW4tcmVhZGVyLXRleHQsXG4udmlzdWFsbHktaGlkZGVuLFxuLnZpc3VhbGx5LWhpZGRlbi1mb2N1c2FibGU6bm90KDpmb2N1cyk6bm90KDpmb2N1cy13aXRoaW4pIHtcblx0d2lkdGg6IDFweCAhaW1wb3J0YW50O1xuXHRoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuXHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cblx0cG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG5cdG1hcmdpbjogLTFweCAhaW1wb3J0YW50O1xuXG5cdHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcblxuXHRib3JkZXI6IDAgIWltcG9ydGFudDtcblx0b3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuXHRjbGlwOiByZWN0KDAsIDAsIDAsIDApICFpbXBvcnRhbnQ7XG59XG5hLnNraXAtbGluayB7XG5cdHdpZHRoOiAxcHg7XG5cdGhlaWdodDogMXB4O1xuXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ei1pbmRleDogLTk5OTtcblx0dG9wOiBhdXRvO1xuXHRsZWZ0OiAtOTk5cHg7XG5cblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cbmEuc2tpcC1saW5rOmZvY3VzLFxuYS5za2lwLWxpbms6YWN0aXZlIHtcblx0d2lkdGg6IDE1MHB4O1xuXHRoZWlnaHQ6IGF1dG87XG5cdHBhZGRpbmc6IDVweDtcblxuXHR6LWluZGV4OiA5OTk7XG5cdHRvcDogMjBweDtcblx0bGVmdDogMjBweDtcblx0bWFyZ2luOiAwO1xuXG5cdGZvbnQtc2l6ZTogcmVtKDE2KTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRjb2xvcjogI0ZGRjtcblxuXHRib3JkZXI6IDJweCBzb2xpZCB5ZWxsb3c7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0YmFja2dyb3VuZC1jb2xvcjogIzAwMDtcblx0b3ZlcmZsb3c6IGF1dG87XG59XG5cbltoaWRkZW5dIHtcblx0ZGlzcGxheTogbm9uZTtcbn0iLCIud3BjZjcge1xuICAgIC5jZjcge1xuICAgICAgICAmLWZvcm0td3JhcHBlci5zdWJtaXR0ZWQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAmLWZvcm0tdGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udCgyNCwgMjgpO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxNik7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PW1kJykge1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWZvcm0tZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udCgxNCwgMjApO1xuXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMzIpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KDE2LCAyMyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWlucHV0LXJvdyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGdhcDogcmVtKDE2KTtcblxuICAgICAgICAgICAgJiA+IHAge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBnYXA6IHJlbSgxNik7XG5cbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsYWJlbCwgLmxhYmVsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgZ2FwOiByZW0oMTApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubGFiZWwgPiBwIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgZ2FwOiByZW0oMTApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1pbnB1dC1uYW1lIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoMTgsIDI3KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLWlucHV0LXN1Ym1pdC1yb3cge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtKDE2KTtcblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KDE2LCAyMik7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgxNCkgcmVtKDIyKTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItLXByaW1hcnk7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci0tMTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFucy1zcGVlZCAkdHJhbnMtZnVuYztcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItLXByaW1hcnktZGFyaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWluLWZvcm0tdGhhbmt5b3Uge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLndwY2Y3LWZvcm0tY29udHJvbC13cmFwIHtcbiAgICAgICAgaW5wdXQsIHRleHRhcmVhLCAud3BjZjctc2VsZWN0IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDEzKSByZW0oMjIpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250KDE2LCAyMik7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLS0zO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLS01O1xuXG4gICAgICAgICAgICAmOjpwbGFjZWhvbGRlciwgJjpmb2N1czo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci0tMztcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6LWludGVybmFsLWF1dG9maWxsLXNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItLTMgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgICAgIGhlaWdodDogcmVtKDc5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC53cGNmNy1zZWxlY3Qge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzEyJyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCAxMiA4JyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNNiA3Ljg0MThMMC44MDM4NDkgMC4zNDE3OTZMMTEuMTk2MiAwLjM0MTc5N0w2IDcuODQxOFonIGZpbGw9JyUyMzFCMUQxRScvJTNFJTNDL3N2ZyUzRSUwQVwiKTtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiByZW0oMTIpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogcmVtKDgpO1xuXG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgICAgICAgICByaWdodDogcmVtKDIwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm5pY2Utc2VsZWN0LWRyb3Bkb3duIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY3VycmVudCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCgxNiwgMjIpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItLTM7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICAuY3VycmVudCB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubGlzdCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDApO1xuXG4gICAgICAgICAgICAgICAgLm9wdGlvbltkYXRhLXZhbHVlPVwiXCJdIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICAmLnNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci0tMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC53cGNmNy1hY2NlcHRhbmNlIHtcbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICBnYXA6IHJlbSgxMCk7XG5cbiAgICAgICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpjaGVja2VkICsgLndwY2Y3LWxpc3QtaXRlbS1sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC53cGNmNy1saXN0LWl0ZW0tbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBnYXA6IHJlbSgxMCk7XG5cbiAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHJlbSgxNik7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbSgxNik7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci0tNTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IHJlbSgzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogcmVtKDgpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogcmVtKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogcmVtKDEwKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLS1wcmltYXJ5O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjJzIG9wYWNpdHkgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAud3BjZjctbGlzdC1pdGVtIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC53cGNmNy1ub3QtdmFsaWQtdGlwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoMTQsIDE4KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLS1wcmltYXJ5LWRhcms7XG5cbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbSg4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5maWxlLXVwbG9hZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgLndwY2Y3LWZvcm0tY29udHJvbC13cmFwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmX19sYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgcGFkZGluZzogcmVtKDE0KSByZW0oNjYpIHJlbSgxNCkgcmVtKDIyKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udCgxNiwgMjIpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLS01O1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19idXR0b24ge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoMTYsIDIyKTtcblxuICAgICAgICAgICAgcGFkZGluZzogcmVtKDE0KSByZW0oMjIpO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItLXByaW1hcnk7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLS0xO1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFucy1zcGVlZCAkdHJhbnMtZnVuYztcblxuICAgICAgICAgICAgJjpob3ZlciB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICRjb2xvci0tcHJpbWFyeS1kYXJrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLndwY2Y3LXJlc3BvbnNlLW91dHB1dCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0oMCkgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oMCkgIWltcG9ydGFudDtcblxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItLXByaW1hcnkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAud3BjZjctc3Bpbm5lciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufSIsIi8vIEJhc2UgZ2xvYmFsIHN0eWxlcyBtb3ZlZCB0byB0aGVtZS5qc29uXG5cbi8vIEhlYWRpbmdzIC8vXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuXHRmb250LWZhbWlseTogJGZvbnQtaGVhZGluZztcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuXHQmOm9ubHktY2hpbGQge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cbn1cblxuaDEsIC5oMSB7XG5cdEBpbmNsdWRlIG1lZGlhKCc+PWxnJykge1xuXHRcdEBpbmNsdWRlIGZvbnQoNTIsIDU0LjYpXG5cdH1cbn1cblxuaDIsIC5oMiB7XG5cdEBpbmNsdWRlIG1lZGlhKCc+PWxnJykge1xuXHRcdEBpbmNsdWRlIGZvbnQoMzYsIDM5LjYpXG5cdH1cbn1cblxuaDMsIC5oMyB7XG5cdEBpbmNsdWRlIG1lZGlhKCc+PWxnJykge1xuXHRcdEBpbmNsdWRlIGZvbnQoMjQsIDI3LjYpXG5cdH1cbn1cblxuaDQsIC5oNCB7XG5cdEBpbmNsdWRlIG1lZGlhKCc+PWxnJykge1xuXHRcdEBpbmNsdWRlIGZvbnQoMjAsIDI1KVxuXHR9XG59XG5cbmg1LCAuaDUge1xuXHRAaW5jbHVkZSBtZWRpYSgnPj1sZycpIHtcblx0XHRAaW5jbHVkZSBmb250KDE2LCAxOSlcblx0fVxufVxuXG5oNiwgLmg2IHtcblx0QGluY2x1ZGUgbWVkaWEoJz49bGcnKSB7XG5cdFx0QGluY2x1ZGUgZm9udCgxNCwgMTcpXG5cdH1cbn1cblxuLy8gTWFpbiBFbGVtZW50cyAvL1xuYSB7XG5cdCY6bm90KFtjbGFzc10pIHtcblx0XHRAaW5jbHVkZSBsaW5rKCk7XG5cdH1cblxuXHRpbWcge1xuXHRcdGJvcmRlcjogMDtcblx0fVxufVxuXG5wIHtcblx0Y29sb3I6ICRjb2xvci0tMztcblxuXHQmOmxhc3QtY2hpbGQge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cbn1cblxuc3Ryb25nIHtcblx0Zm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLnBhZ2UtY29udGVudCB1bDpub3QoW2NsYXNzXSksXG4uYWNmLWJsb2NrIHVsOm5vdChbY2xhc3NdKSxcbi5lZGl0b3ItcmljaC10ZXh0IHVsLFxub2wge1xuXHR1bCxcblx0b2wge1xuXHRcdG1hcmdpbjogMDtcblx0fVxufVxuXG5ociB7XG5cdGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuXG5cdGhlaWdodDogMDtcblxuXHRtYXJnaW4tdG9wOiByZW0oJG1hcmdpbi1tb2JpbGUpO1xuXHRtYXJnaW4tYm90dG9tOiByZW0oJG1hcmdpbi1tb2JpbGUpO1xuXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3ItLXRleHQ7XG5cblx0QGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XG5cdFx0bWFyZ2luLXRvcDogcmVtKCRtYXJnaW4pO1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbSgkbWFyZ2luKTtcblx0fVxufVxuXG4uc2VjdGlvbiB7XG5cdCZfX3N1YnRpdGxlIHtcblx0XHRAaW5jbHVkZSBmb250KDE0LCAxNS40KTtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0oMTYpO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuXHRcdGNvbG9yOiAkY29sb3ItLTI7XG5cdH1cblxuXHQmX190aXRsZSB7XG5cdFx0c3BhbiB7XG5cdFx0XHRjb2xvcjogJGNvbG9yLS1wcmltYXJ5O1xuXHRcdH1cblx0fVxufSIsIi53cC1jYXB0aW9uIHtcblx0d2lkdGg6IGF1dG8gIWltcG9ydGFudDtcblx0ZmlndXJlIHtcblx0XHR3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuXG5cdFx0bWFyZ2luOiAwO1xuXHR9XG59XG5cbi5hbGlnbmxlZnQsXG4ud3AtYmxvY2staW1hZ2UgLmFsaWdubGVmdCB7XG5cdGZsb2F0OiBsZWZ0O1xuXHRtYXJnaW46IDAgJG1lZGlhLW1hcmdpbiAkbWVkaWEtbWFyZ2luIDA7XG59XG5cbi5hbGlnbnJpZ2h0LFxuLndwLWJsb2NrLWltYWdlIC5hbGlnbnJpZ2h0IHtcblx0ZmxvYXQ6IHJpZ2h0O1xuXHRtYXJnaW46IDAgMCAkbWVkaWEtbWFyZ2luICRtZWRpYS1tYXJnaW47XG59XG5cbi5hbGlnbm5vbmUsXG4ud3AtYmxvY2staW1hZ2UgLmFsaWdubm9uZSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5hbGlnbmNlbnRlcixcbi53cC1ibG9jay1pbWFnZSAuYWxpZ25jZW50ZXIge1xuXHRjbGVhcjogYm90aDtcblxuXHRtYXJnaW46ICRtZWRpYS1tYXJnaW4gYXV0bztcblxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5oYXMtdGV4dC11cHBlcmNhc2Uge1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uaXMtY29udGVudC1qdXN0aWZpY2F0aW9uIHtcblx0Ji10b3AtY2VudGVyIHtcblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0fVxuXHQmLXRvcC1sZWZ0IHtcblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdH1cblx0Ji10b3AtcmlnaHQge1xuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdH1cblx0Ji1jZW50ZXItY2VudGVyIHtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR9XG5cdCYtY2VudGVyLWxlZnQge1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHR9XG5cdCYtY2VudGVyLXJpZ2h0IHtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdH1cblx0Ji1ib3R0b20tY2VudGVyIHtcblx0XHRhbGlnbi1pdGVtczogZmxleC1lbmQ7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdH1cblx0Ji1ib3R0b20tbGVmdCB7XG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0fVxuXHQmLWJvdHRvbS1yaWdodCB7XG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdH1cbn1cbiIsIi5jb250YWluZXIge1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogMCByZW0oJGNvbnRhaW5lci1wYWRkaW5nKTtcblx0bWFyZ2luOiAwIGF1dG87XG5cdG1heC13aWR0aDogY2FsYygkY29udGFpbmVyICsgcmVtKCRjb250YWluZXItcGFkZGluZykgKiAyKTtcbn1cblxuLmNvbnRhaW5lci5jb250YWluZXItLWZ1bGwge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5kLWZsZXgge1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuLnJvdyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblxuXHRtYXJnaW4tcmlnaHQ6IHJlbSgkY29udGFpbmVyLXBhZGRpbmcgKiAtMSk7XG5cdG1hcmdpbi1sZWZ0OiByZW0oJGNvbnRhaW5lci1wYWRkaW5nICogLTEpO1xuXG5cdCYuanVzdGlmeS1jb250ZW50LWVuZCB7XG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0fVxuXHQmLmp1c3RpZnktY29udGVudC1jZW50ZXIge1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR9XG5cdCYuanVzdGlmeS1jb250ZW50LWJldHdlZW4ge1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0fVxuXHQmLmp1c3RpZnktY29udGVudC1ldmVubHkge1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuXHR9XG5cdCYuYWxpZ24taXRlbXMtY2VudGVyIHtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR9XG59XG5cbi5jb2wge1xuXHRmbGV4LWJhc2lzOiAwO1xuXHRmbGV4LWdyb3c6IDE7XG5cdGZsZXgtc2hyaW5rOiAxO1xuXG5cdHBhZGRpbmc6IDAgcmVtKCRjb250YWluZXItcGFkZGluZyk7XG59XG5cbltjbGFzcyo9J2NvbC0nXSB7XG5cdGZsZXgtZ3JvdzogMDtcblx0ZmxleC1zaHJpbms6IDA7XG5cblx0cGFkZGluZzogMCByZW0oJGNvbnRhaW5lci1wYWRkaW5nKTtcbn1cblxuQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAxMiB7XG5cdC5jb2wtI3skaX0ge1xuXHRcdGZsZXgtYmFzaXM6IGNhbGMoJGkgLyAxMikgKiAxMDAlO1xuXG5cdFx0bWF4LXdpZHRoOiBjYWxjKCRpIC8gMTIpICogMTAwJTtcblx0fVxufVxuXG4vLyBUYWJsZXRcbkBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMTIge1xuXHQuY29sLW1kLSN7JGl9IHtcblx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcblx0XHRcdGZsZXgtYmFzaXM6IGNhbGMoJGkgLyAxMikgKiAxMDAlO1xuXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoJGkgLyAxMikgKiAxMDAlO1xuXHRcdH1cblx0fVxufVxuXG4vLyBTbWFsbCBEZXNrdG9wXG5AZm9yICRpIGZyb20gMSB0aHJvdWdoIDEyIHtcblx0LmNvbC1sZy0jeyRpfSB7XG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49bGcnKSB7XG5cdFx0XHRmbGV4LWJhc2lzOiBjYWxjKCRpIC8gMTIpICogMTAwJTtcblxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKCRpIC8gMTIpICogMTAwJTtcblx0XHR9XG5cdH1cbn1cblxuLy8gRGVza3RvcFxuQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAxMiB7XG5cdC5jb2wteGwtI3skaX0ge1xuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PXhsJykge1xuXHRcdFx0ZmxleC1iYXNpczogY2FsYygkaSAvIDEyKSAqIDEwMCU7XG5cblx0XHRcdG1heC13aWR0aDogY2FsYygkaSAvIDEyKSAqIDEwMCU7XG5cdFx0fVxuXHR9XG59IiwiLmJsb2NrLXNwYWNpbmcge1xuXHQmLS1wdCB7XG5cdFx0cGFkZGluZy10b3A6IHJlbSgkc3BhY2luZy1tb2JpbGUpO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XG5cdFx0XHRwYWRkaW5nLXRvcDogJHNwYWNpbmc7XG5cdFx0fVxuXHR9XG5cdCYtLXBiIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogcmVtKCRzcGFjaW5nLW1vYmlsZSk7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAkc3BhY2luZztcblx0XHR9XG5cdH1cblx0Ji0tbXQge1xuXHRcdG1hcmdpbi10b3A6IHJlbSgkbWFyZ2luLW1vYmlsZSk7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcblx0XHRcdG1hcmdpbi10b3A6ICRtYXJnaW47XG5cdFx0fVxuXHR9XG5cdCYtLW1iIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0oJG1hcmdpbi1tb2JpbGUpO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAkbWFyZ2luO1xuXHRcdH1cblx0fVxufVxuIl19 */
