.u-screenreader-text{position:absolute;overflow:hidden;clip:rect(0 0 0 0);height:1px;width:1px;margin:-1px;padding:0;border:none;white-space:nowrap}html:not(.no-js) .js-hidden-if-js-on{display:none}.u-inner-layer{position:relative;z-index:1}.u-nowrap{white-space:nowrap}.js-hidden,.u-hidden{display:none}.u-clearfix:after{clear:both;content:"";display:table}.u-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@keyframes a{0%{transform:translateX(0)}6.5%{transform:translateX(-6px) rotateY(-9deg)}18.5%{transform:translateX(5px) rotateY(7deg)}31.5%{transform:translateX(-3px) rotateY(-5deg)}43.5%{transform:translateX(2px) rotateY(3deg)}50%{transform:translateX(0)}}.is-page-loading *{transition:none!important}.u-link,.u-link-button{text-decoration:none}.u-link-button{border:none;background:none;box-shadow:none;padding:0}:root{--donationform-theme-color:#8aac19}@media (min-width:57.5em){.c-donation-form_floated{float:left;width:50%;margin-right:40px}}.c-donation-form__form{margin-bottom:40px}@media (max-width:47.99em){.c-donation-form__form{margin-left:15px;margin-right:15px}}.c-donation-form__header{font-size:20px;font-weight:700}.c-donation-form__wizard .c-wizard__link{font-size:16px}.c-donation-form__tabs{margin-bottom:0;padding-left:0}.c-donation-form__tab{display:inline-block;width:100%;border:3px var(--donationform-theme-color) solid;padding:40px;text-align:center}.c-donation-form__tab.js-tab-hidden{display:none}.c-donation-form__field-group{margin-bottom:0;padding-left:0;margin:-30px auto 20px;width:100%;max-width:560px;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.c-donation-form__field-group-item{width:100%}@media (min-width:30em){.c-donation-form__field-group-item_firstname{width:50%;padding-right:15px}.c-donation-form__field-group-item_lastname{width:50%;padding-left:15px}.c-donation-form__field-group-item_zip{width:45%;padding-right:15px}.c-donation-form__field-group-item_city{width:55%;padding-left:15px}}.c-donation-form__big-button{margin-top:40px}.c-donation-form__field{display:inline-block;padding-top:30px;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;text-align:left}.c-donation-form__field_control{position:relative}.c-donation-form__field_input{position:relative;top:0;margin-left:.5em}.c-donation-form__control{position:relative}.c-donation-form__control-label{display:inline;margin-bottom:0;font-weight:400;padding-left:20px;padding-right:16px;display:inline-block}.c-donation-form__payment-methods img{margin-left:10px}.c-donation-form__no-mail-warning{font-size:16px}.c-donation-form__continue-text{text-align:left;margin-top:10px;font-size:16px}.c-donation-form-payment-method{display:block}.c-donation-form-payment-monthly .c-donation-form-payment-method{display:none}.c-donation-form-payment-monthly .c-donation-form-payment-method__FI50{display:block}.c-radio-tabs-nav{font-family:Oswald,sans-serif;text-transform:uppercase;text-align:center;margin-top:0;margin-bottom:0}.c-radio-tabs-nav__list{display:-ms-flexbox;display:flex;-ms-flex-align:end;align-items:flex-end;margin-bottom:0;padding-left:0}.c-radio-tabs-nav__item{-ms-flex:1 1 100%;flex:1 1 100%;display:inline-block;position:relative;margin-bottom:0!important}.c-radio-tabs-nav__item:first-child .c-radio-tabs-nav__label{border-right:none}.c-radio-tabs-nav__item:last-child .c-radio-tabs-nav__label{border-left:none}.c-radio-tabs-nav__input{opacity:0;position:absolute}.c-radio-tabs-nav__input:focus+.c-radio-tabs-nav__label{outline:1px solid #f19914;outline-color:-webkit-focus-ring-color}.c-radio-tabs-nav__input:checked+.c-radio-tabs-nav__label{color:#fff;background-color:var(--donationform-theme-color);padding-top:9px;padding-bottom:12px}.c-radio-tabs-nav__input:disabled+.c-radio-tabs-nav__label{background-color:#d3d3d3;color:grey;border-color:grey}.c-radio-tabs-nav__label{display:inline;margin-bottom:0;font-weight:400;display:block;cursor:pointer;border-top:3px var(--donationform-theme-color) solid;border-left:3px var(--donationform-theme-color) solid;border-right:3px var(--donationform-theme-color) solid;color:var(--donationform-theme-color);outline:none;padding-top:6px;padding-bottom:9px}.c-wizard{background-color:var(--donationform-theme-color);text-align:center;color:#fff;padding-top:20px;padding-bottom:12px}.c-wizard__list{display:-ms-flexbox;display:flex;position:relative;padding-left:0;padding-right:0}@media (min-width:48em){.c-donation-form:not(.c-donation-form_floated) .c-wizard__list{padding-left:20%;padding-right:20%}}.c-wizard__item{-ms-flex:1 1 100%;flex:1 1 100%;display:inline-block}.c-wizard__item:first-child .c-wizard__link:after{-ms-transform:translateX(50%);transform:translateX(50%)}.c-wizard__item:last-child .c-wizard__link:after{-ms-transform:translateX(-50%);transform:translateX(-50%)}.c-wizard__link{display:block;position:relative;padding-bottom:32px;font-size:15px}.c-wizard__link,.c-wizard__link:focus,.c-wizard__link:hover{color:currentColor;text-decoration:none}@media (min-width:48em){.c-donation-form:not(.c-donation-form_floated) .c-wizard__link{font-size:inherit}}.c-wizard__link:before{display:block;content:"";position:absolute;height:12px;width:12px;left:50%;-ms-transform-origin:0 0;transform-origin:0 0;-ms-transform:translateX(-50%);transform:translateX(-50%);border-radius:51%;background-color:currentColor;box-shadow:0 0 0 6px var(--donationform-theme-color),0 0 0 0 hsla(0,0%,100%,.8);bottom:-3px;z-index:33;transition:box-shadow .45 ease-out}.c-wizard__link:after{display:block;content:"";position:absolute;height:0;width:100%;border-bottom:3px solid #fff;bottom:0;z-index:32}.c-wizard__link.js-tab-link-disabled{color:#b3b3b3}.c-wizard__link.js-tab-link-disabled:hover:before{background-color:#b3b3b3;box-shadow:0 0 0 6px var(--donationform-theme-color),0 0 0 0 hsla(0,0%,100%,.8);border:none}.c-wizard__link.js-tab-link-current:before,.c-wizard__link:hover:before{background-color:var(--donationform-theme-color);box-shadow:0 0 0 4px #fff,0 0 0 0 hsla(0,0%,100%,.8);border:4px solid var(--donationform-theme-color)}.c-wizard__link.js-tab-link-current:before{box-shadow:0 0 0 4px #fff,0 0 18px 4px hsla(0,0%,100%,.8)}.c-button-controls{margin-top:0;margin-bottom:0}.c-button-controls__list{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:0;padding-left:0;margin-left:-5px;margin-right:-5px}.c-button-controls__item{display:inline-block;padding-left:5px;padding-right:5px;margin-bottom:20px;-ms-flex:1 1 auto;flex:1 1 auto}.c-button-controls__item_currency{-ms-flex-preferred-size:33.3%;flex-basis:33.3%}.c-button-controls__item_text-suffix-euro{position:relative}.c-button-controls__item_text-suffix-euro:after{content:"\20AC";position:absolute;right:0;font-weight:700;color:var(--donationform-theme-color);padding-top:12px;padding-bottom:12px;padding-right:20px;top:3px}.c-button-controls__item_text-suffix-euro .c-button-controls__text-input{padding-right:40px}.c-button-controls__control{opacity:0;position:absolute}.c-button-controls__control:checked+.c-button-controls__label{color:#fff;background-color:var(--donationform-theme-color)}.c-button-controls__label{cursor:pointer;display:inline;margin-bottom:0;font-weight:400;text-align:center}.c-button-controls__label,.c-button-controls__text-input{padding:12px 20px;display:block;min-width:120px;border:3px var(--donationform-theme-color) solid;color:var(--donationform-theme-color)}.c-button-controls__text-input{width:100%}.c-big-button{padding:14px 20px;background-color:#f19914;text-transform:uppercase;text-align:center;display:inline-block;font-weight:700;max-width:400px;width:100%;border:none}.c-big-button,.c-big-button:focus,.c-big-button:hover{color:#fff;text-decoration:none}.c-text-field{position:relative;width:100%}.c-text-field__input{width:100%;border:none;background-color:#e3e3e3;color:#4a4a4a;font-weight:700;padding:7px 6px;font-size:20px}.c-text-field__input[required]+.c-text-field__label:after{content:" *"}.c-text-field__label{font-size:12px;-ms-transform:translateX(0) translateY(-100%);transform:translateX(0) translateY(-100%);display:inline;margin-bottom:0;font-weight:400;color:#969696;font-weight:700;transition:.18s ease-in;position:absolute;text-align:left;width:100%;top:0;left:0;padding:0;padding-top:7px}.c-text-field__label.js-movablelabel-active{padding-left:6px;padding-right:6px;font-size:20px;-ms-transform:translateX(0) translateY(0);transform:translateX(0) translateY(0)}.c-form-summary{text-align:left;font-size:inherit;margin-bottom:30px;font-weight:400}.c-form-summary:empty{display:none}.c-errorlist,.c-form-summary__list{font-weight:400}.c-errorlist{text-align:left;font-size:inherit;margin-bottom:30px}.c-errorlist:empty{display:none}.c-errorlist__list{font-weight:400;animation:.9s a}.c-social__wrap{list-style-type:none;padding-left:0}.c-social__item{display:inline-block}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL25vZGVfbW9kdWxlcy9jb21tb24tc2Fzcy11dGlsaXRpZXMvdXRpbGl0aWVzL19jbGFzc2VzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY29tbW9uLXNhc3MtdXRpbGl0aWVzL3V0aWxpdGllcy9taXhpbnMvX3Utc2NyZWVucmVhZGVyLXRleHQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jb21tb24tc2Fzcy11dGlsaXRpZXMvdXRpbGl0aWVzL21peGlucy9fdS1jbGVhcmZpeC5zY3NzIiwiYWJzdHJhY3RzL191dGlsaXR5LWNsYXNzZXMuc2NzcyIsImFic3RyYWN0cy9fYW5pbWF0aW9ucy5zY3NzIiwiYmFzZS9fYmFzZS5zY3NzIiwiYWJzdHJhY3RzL19taXhpbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jb21tb24tc2Fzcy11dGlsaXRpZXMvdXRpbGl0aWVzL21peGlucy9fdS1yZW1vdmUtYnV0dG9uLXN0eWxpbmcuc2NzcyIsImFic3RyYWN0cy92YXJpYWJsZXMvX2Nzcy12YXJpYWJsZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9zYXNzLW1xL19tcS5zY3NzIiwiY29tcG9uZW50cy9kb25hdGlvbi1mb3JtL19kb25hdGlvbi1mb3JtLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY29tbW9uLXNhc3MtdXRpbGl0aWVzL3V0aWxpdGllcy9taXhpbnMvX3Utc3BhY2luZy5zY3NzIiwiY29tcG9uZW50cy9yYWRpby10YWJzLW5hdi9fcmFkaW8tdGFicy1uYXYuc2NzcyIsImFic3RyYWN0cy92YXJpYWJsZXMvX3R5cG9ncmFwaHkuc2NzcyIsImFic3RyYWN0cy92YXJpYWJsZXMvX2NvbG9ycy5zY3NzIiwiY29tcG9uZW50cy93aXphcmQvX3dpemFyZC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NvbW1vbi1zYXNzLXV0aWxpdGllcy91dGlsaXRpZXMvbWl4aW5zL191LXBzZXVkb2Jsb2NrZWxlbWVudC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NvbW1vbi1zYXNzLXV0aWxpdGllcy91dGlsaXRpZXMvbWl4aW5zL191LXNpemUuc2NzcyIsImNvbXBvbmVudHMvYnV0dG9uLWNvbnRyb2xzL19idXR0b24tY29udHJvbHMuc2NzcyIsImNvbXBvbmVudHMvYmlnLWJ1dHRvbi9fYmlnLWJ1dHRvbi5zY3NzIiwiY29tcG9uZW50cy90ZXh0LWZpZWxkL190ZXh0LWZpZWxkLnNjc3MiLCJhYnN0cmFjdHMvdmFyaWFibGVzL19vdGhlcnMuc2NzcyIsImNvbXBvbmVudHMvZm9ybS1zdW1tYXJ5L19mb3JtLXN1bW1hcnkuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jb21tb24tc2Fzcy11dGlsaXRpZXMvdXRpbGl0aWVzL21peGlucy9fdS1kb250LXNob3ctaWYtZW1wdHkuc2NzcyIsImNvbXBvbmVudHMvZXJyb3JsaXN0L19lcnJvcmxpc3Quc2NzcyIsImNvbXBvbmVudHMvc29jaWFsL19zb2NpYWwuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxQkNDRSxrQkFBa0IsQUFDbEIsZ0JBQWdCLEFBQ2hCLG1CQUFtQixBQUNuQixXQUFXLEFBQ1gsVUFBVSxBQUNWLFlBQVksQUFDWixVQUFVLEFBQ1YsWUFBWSxBQUNaLGtCQUFtQixDRFBwQixBQUdDLHFDQUNFLFlBQVksQ0FDYixBQUdILGVBQ0Usa0JBQWlCLEFBQ2pCLFNBQVMsQ0FDVixBQUVELFVBQ0Usa0JBQWtCLENBQ25CLEFBRUQscUJBRUUsWUFBWSxDQUNiLEFFcEJDLGtCQUNFLFdBQVcsQUFDWCxXQUFXLEFBQ1gsYUFBYyxDQUNmLEFDQUgsV0FDRSxrQkFBa0IsQUFDbEIsVUFBVSxBQUNWLFdBQVcsQUFDWCxVQUFVLEFBQ1YsWUFBWSxBQUNaLGdCQUFnQixBQUNoQixtQkFBbUIsQUFDbkIsUUFBUyxDQUNWLEFDREQsYUFDRSxHQUNFLHVCQUF3QixDQUFBLEFBRzFCLEtBQ0UseUNBQW9ELENBQUEsQUFHdEQsTUFDRSx1Q0FBa0QsQ0FBQSxBQUdwRCxNQUNFLHlDQUFvRCxDQUFBLEFBR3RELE1BQ0UsdUNB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LGNBQ0Usa0JBQWlCLEFBQ2pCLFVBQVUsQ0FDWCxBQUdDLHFCQUNFLFdkZUYsQWNmWSxZZGVELEFjYlQseUJOWGdCLEFNWWhCLGNBQW9DLEFBQ3BDLGdCVGhCSixBU2dCb0IsZ0JBZFMsQUFpQnpCLGNBbEJvQixDQVV0QixBQXNCQywwREFOSyxZQUFZLENBQ2IsQUFNTCxxQkFDRSxlQUF1QixBQUN2Qiw4Q0FBQSxBQUF5QywwQ2R6QjNDLEFjeUIyQyxlZHpCN0IsQUFDZCxnQkFBZSxBQUNmLGdCQUFrQixBY3lCaEIsY05sQ21CLEFNbUNuQixnQkFBZ0IsQUFDaEIsd0JBQ0EsQUM3QnVCLGtCRDZCTixBQUNqQixnQkFBZSxBQUNmLFdBQVUsQUFDVixNQUFLLEFBQ0wsT0FBTSxBQUNOLFVBQVMsQUFDVCxlQTVDeUIsQ0ErQjNCLEFBbUJDLDRDVHJESCxpQkFDQSxBU0M2QixrQkFBQSxBQWdEdkIsZUFqRGtCLEFBa0RsQiwwQ0FBQSxBQUFxQyxxQ0FBQSxDQUN0QyxBRW5ETCxnQkFDRSxnQmhCNEJBLEFnQjVCZSxrQmhCNEJFLEFnQjFCakIsbUJBQTJCLEFBQzNCLGVBQWUsQ0FFaEIsQUNQRCxzQkFDRSxZQUFZLENEQWQsQUNDQyxtQ0RTRyxlQUFlLENBVm5CLEFBTUMsYUFMQyxnQmhCNEJBLEFnQjVCZSxrQmhCNEJFLEFnQjFCakIsa0JBQTJCLENBRzVCLEFDUEQsbUJBQ0UsWUFBWSxDRFNaLEFDUkQsbUJEU0csZ0JBQWUsQUVKZixlQUF1QixDRkt4QixBR1hELGdCQUNFLHFCQUFxQixBQUNyQixjQUFlLENBQ2hCLEFBQ0QsZ0JBQ0Usb0JBQXFCLENBQ3RCIiwiZmlsZSI6ImV4b3ZlLWRvbmF0aW9uLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi51LXNjcmVlbnJlYWRlci10ZXh0IHtcbiAgQGluY2x1ZGUgdS1zY3JlZW5yZWFkZXItdGV4dDtcbn1cblxuLmpzLWhpZGRlbi1pZi1qcy1vbiB7XG4gICN7JGpzLW9ufSB7XG4gICAgZGlzcGxheTpub25lOyBcbiAgfVxufVxuXG4udS1pbm5lci1sYXllciB7XG4gIHBvc2l0aW9uOnJlbGF0aXZlOyBcbiAgei1pbmRleDoxOyBcbn1cblxuLnUtbm93cmFwIHtcbiAgd2hpdGUtc3BhY2U6bm93cmFwO1xufVxuXG4uanMtaGlkZGVuLFxuLnUtaGlkZGVuIHtcbiAgZGlzcGxheTpub25lOyBcbn1cbiIsIkBtaXhpbiB1LXNjcmVlbnJlYWRlci10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlOyBcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgXG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7IFxuICBoZWlnaHQ6IDFweDsgXG4gIHdpZHRoOiAxcHg7IFxuICBtYXJnaW46IC0xcHg7IFxuICBwYWRkaW5nOiAwOyBcbiAgYm9yZGVyOiBub25lOyBcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn0iLCIvLyBmcm9tIEJvdXJib25cbkBtaXhpbiB1LWNsZWFyZml4IHtcbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG59IiwiLy8gUHJvamVjdCB1dGlsaXR5IGNsYXNzZXNcblxuLnUtY2xlYXJmaXgge1xuICBAaW5jbHVkZSB1LWNsZWFyZml4O1xufVxuXG4udS1zci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsMCwwLDApO1xuICBib3JkZXI6IDA7XG59XG4iLCIvLyBjb3VydGVzeSBvZiBodHRwczovL2dpdGh1Yi5jb20vZGFuZWRlbi9hbmltYXRlLmNzc1xuQGtleWZyYW1lcyBmbGFzaCB7XG4gIGZyb20sXG4gIDUwJSxcbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAyNSUsXG4gIDc1JSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGhlYWRTaGFrZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICA2LjUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgocmVtLWNhbGMoLTZweCkpIHJvdGF0ZVkoLTlkZWcpO1xuICB9XG5cbiAgMTguNSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChyZW0tY2FsYyg1cHgpKSByb3RhdGVZKDdkZWcpO1xuICB9XG5cbiAgMzEuNSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChyZW0tY2FsYygtM3B4KSkgcm90YXRlWSgtNWRlZyk7XG4gIH1cblxuICA0My41JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHJlbS1jYWxjKDJweCkpIHJvdGF0ZVkoM2RlZyk7XG4gIH1cblxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHB1bHNlIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG5cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG4iLCIvKiBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW1heC11bml2ZXJzYWwgKi9cbi5pcy1wYWdlLWxvYWRpbmcgKiB7XG4gIHRyYW5zaXRpb246bm9uZSAhaW1wb3J0YW50O1xufVxuXG4udS1saW5rIHtcbiAgQGluY2x1ZGUgdC1saW5rLWJhc2U7XG59XG5cbi51LWxpbmstYnV0dG9uIHtcbiAgQGluY2x1ZGUgdC1saW5rLWJhc2U7XG4gIEBpbmNsdWRlIHUtcmVtb3ZlLWJ1dHRvbi1zdHlsaW5nO1xufVxuIiwiLy8gUHJvamVjdCBtaXhpbnNcblxuLy8gIVV0aWxpdGllc1xuLy8gVGhlc2UgZG8gb25lIHNpbmdsZSB0aGluZ1xuXG5cbi8vICFPYmplY3RzXG4vLyAoc3RydWN0dXJlLXJlbGF0ZWQgc3R5bGVzKVxuXG4vLyByZXNldHMgQm9vdHN0cmFwIHR5cGUgc2VsZWN0b3JzIGFuZCBhbHNvIHNvbWUgYnJvd3NlciBzdHlsZXNcbkBtaXhpbiB1LXJlc2V0KCR0YWcpIHtcbiAgQGlmICR0YWcgPT0gbGFiZWwge1xuICAgIGRpc3BsYXk6aW5saW5lOyBcbiAgICBtYXJnaW4tYm90dG9tOjA7IFxuICAgIGZvbnQtd2VpZ2h0Om5vcm1hbDsgXG4gIH1cbiAgQGlmICR0YWcgPT0gZmllbGRzZXQge1xuICAgIG1hcmdpbi10b3A6MDsgXG4gICAgbWFyZ2luLWJvdHRvbTowOyBcbiAgfVxuICBAaWYgaW5kZXgodWwgb2wsICR0YWcpIHtcbiAgICBtYXJnaW4tYm90dG9tOjA7IFxuICAgIHBhZGRpbmctbGVmdDowOyBcbiAgfVxuICBAaWYgJHRhZyA9PSBsaSB7XG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gIH1cbiAgQGlmICR0YWcgPT0gdGV4dC1pbnB1dCB7XG4gICAgYm9yZGVyOm5vbmU7IFxuICB9XG4gIEBpZiAkdGFnID09IG91dHB1dCB7XG4gICAgZm9udC1zaXplOmluaGVyaXQ7IFxuICB9XG4gIEBpZiAkdGFnID09IGEge1xuICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgY29sb3I6Y3VycmVudENvbG9yOyBcbiAgICAgIHRleHQtZGVjb3JhdGlvbjpub25lOyBcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuLy8gIVRoZW1pbmcgbWl4aW5zXG4vLyBwdXJlIGFwcGVhcmFuY2UgKHR5cG9ncmFwaGljL2Nvc21ldGljKSBzdHlsZXNcblxuQG1peGluIHQtbGluay1iYXNlIHtcbiAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7IFxufVxuXG5cbkBtaXhpbiB0LWZvY3VzZWQge1xufVxuIiwiQG1peGluIHUtcmVtb3ZlLWJ1dHRvbi1zdHlsaW5nIHtcbiAgYm9yZGVyOm5vbmU7IFxuICBiYWNrZ3JvdW5kOm5vbmU7IFxuICBib3gtc2hhZG93Om5vbmU7IFxuICBwYWRkaW5nOjA7IFxufSIsIjpyb290IHtcbiAgLS1kb25hdGlvbmZvcm0tdGhlbWUtY29sb3I6I3skY29sb3ItY2l0cm9ufTtcbn0iLCJAY2hhcnNldCBcIlVURi04XCI7IC8vIEZpeGVzIGFuIGlzc3VlIHdoZXJlIFJ1YnkgbG9jYWxlIGlzIG5vdCBzZXQgcHJvcGVybHlcbiAgICAgICAgICAgICAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xL3B1bGwvMTBcblxuLy8vIEJhc2UgZm9udCBzaXplIG9uIHRoZSBgPGJvZHk+YCBlbGVtZW50XG4vLy8gQHR5cGUgTnVtYmVyICh1bml0KVxuJG1xLWJhc2UtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLy8gUmVzcG9uc2l2ZSBtb2RlXG4vLy9cbi8vLyBTZXQgdG8gYGZhbHNlYCB0byBlbmFibGUgc3VwcG9ydCBmb3IgYnJvd3NlcnMgdGhhdCBkbyBub3Qgc3VwcG9ydCBAbWVkaWEgcXVlcmllcyxcbi8vLyAoSUUgPD0gOCwgRmlyZWZveCA8PSAzLCBPcGVyYSA8PSA5KVxuLy8vXG4vLy8gWW91IGNvdWxkIGNyZWF0ZSBhIHN0eWxlc2hlZXQgc2VydmVkIGV4Y2x1c2l2ZWx5IHRvIG9sZGVyIGJyb3dzZXJzLFxuLy8vIHdoZXJlIEBtZWRpYSBxdWVyaWVzIGFyZSByYXN0ZXJpemVkXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC8vIG9sZC1pZS5zY3NzXG4vLy8gICRtcS1yZXNwb25zaXZlOiBmYWxzZTtcbi8vLyAgQGltcG9ydCAnbWFpbic7IC8vIEBtZWRpYSBxdWVyaWVzIGluIHRoaXMgZmlsZSB3aWxsIGJlIHJhc3Rlcml6ZWQgdXAgdG8gJG1xLXN0YXRpYy1icmVha3BvaW50XG4vLy8gICAgICAgICAgICAgICAgICAgLy8gbGFyZ2VyIGJyZWFrcG9pbnRzIHdpbGwgYmUgaWdub3JlZFxuLy8vXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjcmVzcG9uc2l2ZS1tb2RlLW9mZiBEaXNhYmxlZCByZXNwb25zaXZlIG1vZGUgZG9jdW1lbnRhdGlvblxuJG1xLXJlc3BvbnNpdmU6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGxpc3Rcbi8vL1xuLy8vIE5hbWUgeW91ciBicmVha3BvaW50cyBpbiBhIHdheSB0aGF0IGNyZWF0ZXMgYSB1YmlxdWl0b3VzIGxhbmd1YWdlXG4vLy8gYWNyb3NzIHRlYW0gbWVtYmVycy4gSXQgd2lsbCBpbXByb3ZlIGNvbW11bmljYXRpb24gYmV0d2VlblxuLy8vIHN0YWtlaG9sZGVycywgZGVzaWduZXJzLCBkZXZlbG9wZXJzLCBhbmQgdGVzdGVycy5cbi8vL1xuLy8vIEB0eXBlIE1hcFxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjc2VlaW5nLXRoZS1jdXJyZW50bHktYWN0aXZlLWJyZWFrcG9pbnQgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuJG1xLWJyZWFrcG9pbnRzOiAoXG4gICAgbW9iaWxlOiAgMzIwcHgsXG4gICAgdGFibGV0OiAgNzQwcHgsXG4gICAgZGVza3RvcDogOTgwcHgsXG4gICAgd2lkZTogICAgMTMwMHB4XG4pICFkZWZhdWx0O1xuXG4vLy8gU3RhdGljIGJyZWFrcG9pbnQgKGZvciBmaXhlZC13aWR0aCBsYXlvdXRzKVxuLy8vXG4vLy8gRGVmaW5lIHRoZSBicmVha3BvaW50IGZyb20gJG1xLWJyZWFrcG9pbnRzIHRoYXQgc2hvdWxkXG4vLy8gYmUgdXNlZCBhcyB0aGUgdGFyZ2V0IHdpZHRoIGZvciB0aGUgZml4ZWQtd2lkdGggbGF5b3V0XG4vLy8gKGkuZS4gd2hlbiAkbXEtcmVzcG9uc2l2ZSBpcyBzZXQgdG8gJ2ZhbHNlJykgaW4gYSBvbGQtaWUuc2Nzc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAvLyB0YWJsZXQtb25seS5zY3NzXG4vLy8gIC8vXG4vLy8gIC8vIElnbm9yZSBhbGwgc3R5bGVzIGFib3ZlIHRhYmxldCBicmVha3BvaW50LFxuLy8vICAvLyBhbmQgZml4IHRoZSBzdHlsZXMgKGUuZy4gbGF5b3V0KSBhdCB0YWJsZXQgd2lkdGhcbi8vLyAgJG1xLXJlc3BvbnNpdmU6IGZhbHNlO1xuLy8vICAkbXEtc3RhdGljLWJyZWFrcG9pbnQ6IHRhYmxldDtcbi8vLyAgQGltcG9ydCAnbWFpbic7IC8vIEBtZWRpYSBxdWVyaWVzIGluIHRoaXMgZmlsZSB3aWxsIGJlIHJhc3Rlcml6ZWQgdXAgdG8gdGFibGV0XG4vLy8gICAgICAgICAgICAgICAgICAgLy8gbGFyZ2VyIGJyZWFrcG9pbnRzIHdpbGwgYmUgaWdub3JlZFxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNhZGRpbmctY3VzdG9tLWJyZWFrcG9pbnRzIEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbiRtcS1zdGF0aWMtYnJlYWtwb2ludDogZGVza3RvcCAhZGVmYXVsdDtcblxuLy8vIFNob3cgYnJlYWtwb2ludHMgaW4gdGhlIHRvcCByaWdodCBjb3JuZXJcbi8vL1xuLy8vIElmIHlvdSB3YW50IHRvIGRpc3BsYXkgdGhlIGN1cnJlbnRseSBhY3RpdmUgYnJlYWtwb2ludCBpbiB0aGUgdG9wXG4vLy8gcmlnaHQgY29ybmVyIG9mIHlvdXIgc2l0ZSBkdXJpbmcgZGV2ZWxvcG1lbnQsIGFkZCB0aGUgYnJlYWtwb2ludHNcbi8vLyB0byB0aGlzIGxpc3QsIG9yZGVyZWQgYnkgd2lkdGgsIGUuZy4gKG1vYmlsZSwgdGFibGV0LCBkZXNrdG9wKS5cbi8vL1xuLy8vIEB0eXBlIG1hcFxuJG1xLXNob3ctYnJlYWtwb2ludHM6ICgpICFkZWZhdWx0O1xuXG4vLy8gQ3VzdG9taXplIHRoZSBtZWRpYSB0eXBlIChlLmcuIGBAbWVkaWEgc2NyZWVuYCBvciBgQG1lZGlhIHByaW50YClcbi8vLyBCeSBkZWZhdWx0IHNhc3MtbXEgdXNlcyBhbiBcImFsbFwiIG1lZGlhIHR5cGUgKGBAbWVkaWEgYWxsIGFuZCDigKZgKVxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNjaGFuZ2luZy1tZWRpYS10eXBlIEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbiRtcS1tZWRpYS10eXBlOiBhbGwgIWRlZmF1bHQ7XG5cbi8vLyBDb252ZXJ0IHBpeGVscyB0byBlbXNcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcHggLSB2YWx1ZSB0byBjb252ZXJ0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlLWZvbnQtc2l6ZSAoJG1xLWJhc2UtZm9udC1zaXplKSAtIGA8Ym9keT5gIGZvbnQgc2l6ZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAkZm9udC1zaXplLWluLWVtczogbXEtcHgyZW0oMTZweCk7XG4vLy8gIHAgeyBmb250LXNpemU6IG1xLXB4MmVtKDE2cHgpOyB9XG4vLy9cbi8vLyBAcmVxdWlyZXMgJG1xLWJhc2UtZm9udC1zaXplXG4vLy8gQHJldHVybnMge051bWJlcn1cbkBmdW5jdGlvbiBtcS1weDJlbSgkcHgsICRiYXNlLWZvbnQtc2l6ZTogJG1xLWJhc2UtZm9udC1zaXplKSB7XG4gICAgQGlmIHVuaXRsZXNzKCRweCkge1xuICAgICAgICBAd2FybiBcIkFzc3VtaW5nICN7JHB4fSB0byBiZSBpbiBwaXhlbHMsIGF0dGVtcHRpbmcgdG8gY29udmVydCBpdCBpbnRvIHBpeGVscy5cIjtcbiAgICAgICAgQHJldHVybiBtcS1weDJlbSgkcHggKiAxcHgsICRiYXNlLWZvbnQtc2l6ZSk7XG4gICAgfSBAZWxzZSBpZiB1bml0KCRweCkgPT0gZW0ge1xuICAgICAgICBAcmV0dXJuICRweDtcbiAgICB9XG4gICAgQHJldHVybiAoJHB4IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTtcbn1cblxuLy8vIEdldCBhIGJyZWFrcG9pbnQncyB3aWR0aFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUgYnJlYWtwb2ludC4gT25lIG9mICRtcS1icmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAkdGFibGV0LXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCh0YWJsZXQpO1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoZGVza3RvcCkpIHt9XG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFZhbHVlIGluIHBpeGVsc1xuQGZ1bmN0aW9uIG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRtcS1icmVha3BvaW50cykge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRuYW1lKSB7XG4gICAgICAgIEByZXR1cm4gbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQHdhcm4gXCJCcmVha3BvaW50ICN7JG5hbWV9IHdhc24ndCBmb3VuZCBpbiAkYnJlYWtwb2ludHMuXCI7XG4gICAgfVxufVxuXG4vLy8gTWVkaWEgUXVlcnkgbWl4aW5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJGZyb20gKGZhbHNlKSAtIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICR1bnRpbCAoZmFsc2UpIC0gT25lIG9mICRtcS1icmVha3BvaW50c1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJGFuZCAoZmFsc2UpIC0gQWRkaXRpb25hbCBtZWRpYSBxdWVyeSBwYXJhbWV0ZXJzXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZWRpYS10eXBlICgkbXEtbWVkaWEtdHlwZSkgLSBNZWRpYSB0eXBlOiBzY3JlZW4sIHByaW504oCmXG4vLy9cbi8vLyBAaWdub3JlIFVuZG9jdW1lbnRlZCBBUEksIGZvciBhZHZhbmNlZCB1c2Ugb25seTpcbi8vLyBAaWdub3JlIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgKCRtcS1icmVha3BvaW50cylcbi8vLyBAaWdub3JlIEBwYXJhbSB7U3RyaW5nfSAkc3RhdGljLWJyZWFrcG9pbnQgKCRtcS1zdGF0aWMtYnJlYWtwb2ludClcbi8vL1xuLy8vIEBjb250ZW50IHN0eWxpbmcgcnVsZXMsIHdyYXBwZWQgaW50byBhIEBtZWRpYSBxdWVyeSB3aGVuICRyZXNwb25zaXZlIGlzIHRydWVcbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1tZWRpYS10eXBlXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLXN0YXRpYy1icmVha3BvaW50XG4vLy8gQHJlcXVpcmVzIHtmdW5jdGlvbn0gbXEtcHgyZW1cbi8vLyBAcmVxdWlyZXMge2Z1bmN0aW9ufSBtcS1nZXQtYnJlYWtwb2ludC13aWR0aFxuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNyZXNwb25zaXZlLW1vZGUtb24tZGVmYXVsdCBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC5lbGVtZW50IHtcbi8vLyAgICBAaW5jbHVkZSBtcSgkZnJvbTogbW9iaWxlKSB7XG4vLy8gICAgICBjb2xvcjogcmVkO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xuLy8vICAgICAgY29sb3I6IGJsdWU7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKG1vYmlsZSwgdGFibGV0KSB7XG4vLy8gICAgICBjb2xvcjogZ3JlZW47XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQsICRhbmQ6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknKSB7XG4vLy8gICAgICBjb2xvcjogdGVhbDtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEoOTUwcHgpIHtcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSh0YWJsZXQsICRtZWRpYS10eXBlOiBzY3JlZW4pIHtcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xuLy8vICAgIH1cbi8vLyAgICAvLyBBZHZhbmNlZCB1c2U6XG4vLy8gICAgJG15LWJyZWFrcG9pbnRzOiAoTDogOTAwcHgsIFhMOiAxMjAwcHgpO1xuLy8vICAgIEBpbmNsdWRlIG1xKEwsICRicmVha3BvaW50czogJG15LWJyZWFrcG9pbnRzLCAkc3RhdGljLWJyZWFrcG9pbnQ6IEwpIHtcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xuLy8vICAgIH1cbi8vLyAgfVxuQG1peGluIG1xKFxuICAgICRmcm9tOiBmYWxzZSxcbiAgICAkdW50aWw6IGZhbHNlLFxuICAgICRhbmQ6IGZhbHNlLFxuICAgICRtZWRpYS10eXBlOiAkbXEtbWVkaWEtdHlwZSxcbiAgICAkYnJlYWtwb2ludHM6ICRtcS1icmVha3BvaW50cyxcbiAgICAkcmVzcG9uc2l2ZTogJG1xLXJlc3BvbnNpdmUsXG4gICAgJHN0YXRpYy1icmVha3BvaW50OiAkbXEtc3RhdGljLWJyZWFrcG9pbnRcbikge1xuICAgICRtaW4td2lkdGg6IDA7XG4gICAgJG1heC13aWR0aDogMDtcbiAgICAkbWVkaWEtcXVlcnk6ICcnO1xuXG4gICAgLy8gRnJvbTogdGhpcyBicmVha3BvaW50IChpbmNsdXNpdmUpXG4gICAgQGlmICRmcm9tIHtcbiAgICAgICAgQGlmIHR5cGUtb2YoJGZyb20pID09IG51bWJlciB7XG4gICAgICAgICAgICAkbWluLXdpZHRoOiBtcS1weDJlbSgkZnJvbSk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJG1pbi13aWR0aDogbXEtcHgyZW0obXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJGZyb20sICRicmVha3BvaW50cykpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gVW50aWw6IHRoYXQgYnJlYWtwb2ludCAoZXhjbHVzaXZlKVxuICAgIEBpZiAkdW50aWwge1xuICAgICAgICBAaWYgdHlwZS1vZigkdW50aWwpID09IG51bWJlciB7XG4gICAgICAgICAgICAkbWF4LXdpZHRoOiBtcS1weDJlbSgkdW50aWwpO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICRtYXgtd2lkdGg6IG1xLXB4MmVtKG1xLWdldC1icmVha3BvaW50LXdpZHRoKCR1bnRpbCwgJGJyZWFrcG9pbnRzKSkgLSAuMDFlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgc3VwcG9ydCBpcyBkaXNhYmxlZCwgcmFzdGVyaXplIHRoZSBvdXRwdXQgb3V0c2lkZSBAbWVkaWEgYmxvY2tzXG4gICAgLy8gVGhlIGJyb3dzZXIgd2lsbCByZWx5IG9uIHRoZSBjYXNjYWRlIGl0c2VsZi5cbiAgICBAaWYgJHJlc3BvbnNpdmUgPT0gZmFsc2Uge1xuICAgICAgICAkc3RhdGljLWJyZWFrcG9pbnQtd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRzdGF0aWMtYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcbiAgICAgICAgJHRhcmdldC13aWR0aDogbXEtcHgyZW0oJHN0YXRpYy1icmVha3BvaW50LXdpZHRoKTtcblxuICAgICAgICAvLyBPdXRwdXQgb25seSBydWxlcyB0aGF0IHN0YXJ0IGF0IG9yIHNwYW4gb3VyIHRhcmdldCB3aWR0aFxuICAgICAgICBAaWYgKFxuICAgICAgICAgICAgJGFuZCA9PSBmYWxzZVxuICAgICAgICAgICAgYW5kICRtaW4td2lkdGggPD0gJHRhcmdldC13aWR0aFxuICAgICAgICAgICAgYW5kIChcbiAgICAgICAgICAgICAgICAkdW50aWwgPT0gZmFsc2Ugb3IgJG1heC13aWR0aCA+PSAkdGFyZ2V0LXdpZHRoXG4gICAgICAgICAgICApXG4gICAgICAgICkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHN1cHBvcnQgaXMgZW5hYmxlZCwgb3V0cHV0IHJ1bGVzIGluc2lkZSBAbWVkaWEgcXVlcmllc1xuICAgIEBlbHNlIHtcbiAgICAgICAgQGlmICRtaW4td2lkdGggIT0gMCB7ICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgKG1pbi13aWR0aDogI3skbWluLXdpZHRofSknOyB9XG4gICAgICAgIEBpZiAkbWF4LXdpZHRoICE9IDAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kIChtYXgtd2lkdGg6ICN7JG1heC13aWR0aH0pJzsgfVxuICAgICAgICBAaWYgJGFuZCAgICAgICAgICAgIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAjeyRhbmR9JzsgfVxuXG4gICAgICAgIC8vIFJlbW92ZSB1bm5lY2Vzc2FyeSBtZWRpYSBxdWVyeSBwcmVmaXggJ2FsbCBhbmQgJ1xuICAgICAgICBAaWYgKCRtZWRpYS10eXBlID09ICdhbGwnIGFuZCAkbWVkaWEtcXVlcnkgIT0gJycpIHtcbiAgICAgICAgICAgICRtZWRpYS10eXBlOiAnJztcbiAgICAgICAgICAgICRtZWRpYS1xdWVyeTogc3RyLXNsaWNlKHVucXVvdGUoJG1lZGlhLXF1ZXJ5KSwgNik7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgI3skbWVkaWEtdHlwZSArICRtZWRpYS1xdWVyeX0ge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLyBBZGQgYSBicmVha3BvaW50XG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBicmVha3BvaW50XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBicmVha3BvaW50XG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgQGluY2x1ZGUgbXEtYWRkLWJyZWFrcG9pbnQodHZzY3JlZW4sIDE5MjBweCk7XG4vLy8gIEBpbmNsdWRlIG1xKHR2c2NyZWVuKSB7fVxuQG1peGluIG1xLWFkZC1icmVha3BvaW50KCRuYW1lLCAkd2lkdGgpIHtcbiAgICAkbmV3LWJyZWFrcG9pbnQ6ICgkbmFtZTogJHdpZHRoKTtcbiAgICAkbXEtYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgkbXEtYnJlYWtwb2ludHMsICRuZXctYnJlYWtwb2ludCkgIWdsb2JhbDtcbn1cblxuLy8vIFNob3cgdGhlIGFjdGl2ZSBicmVha3BvaW50IGluIHRoZSB0b3AgcmlnaHQgY29ybmVyIG9mIHRoZSB2aWV3cG9ydFxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjc2VlaW5nLXRoZS1jdXJyZW50bHktYWN0aXZlLWJyZWFrcG9pbnRcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHNob3ctYnJlYWtwb2ludHMgKCRtcS1zaG93LWJyZWFrcG9pbnRzKSAtIExpc3Qgb2YgYnJlYWtwb2ludHMgdG8gc2hvdyBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lclxuLy8vIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgKCRtcS1icmVha3BvaW50cykgLSBCcmVha3BvaW50IG5hbWVzIGFuZCBzaXplc1xuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLXNob3ctYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLy8gU2hvdyBicmVha3BvaW50cyB1c2luZyBnbG9iYWwgc2V0dGluZ3Ncbi8vLyAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cztcbi8vL1xuLy8vICAvLyBTaG93IGJyZWFrcG9pbnRzIHVzaW5nIGN1c3RvbSBzZXR0aW5nc1xuLy8vICBAaW5jbHVkZSBtcS1zaG93LWJyZWFrcG9pbnRzKChMLCBYTCksIChTOiAzMDBweCwgTDogODAwcHgsIFhMOiAxMjAwcHgpKTtcbkBtaXhpbiBtcS1zaG93LWJyZWFrcG9pbnRzKCRzaG93LWJyZWFrcG9pbnRzOiAkbXEtc2hvdy1icmVha3BvaW50cywgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMpIHtcbiAgICBib2R5OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGQ0Y4RTM7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRkJFRUQ1O1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNGQkVFRDU7XG4gICAgICAgIGNvbG9yOiAjQzA5ODUzO1xuICAgICAgICBmb250OiBzbWFsbC1jYXB0aW9uO1xuICAgICAgICBwYWRkaW5nOiAzcHggNnB4O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiAxMDA7XG5cbiAgICAgICAgLy8gTG9vcCB0aHJvdWdoIHRoZSBicmVha3BvaW50cyB0aGF0IHNob3VsZCBiZSBzaG93blxuICAgICAgICBAZWFjaCAkc2hvdy1icmVha3BvaW50IGluICRzaG93LWJyZWFrcG9pbnRzIHtcbiAgICAgICAgICAgICR3aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHNob3ctYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRzaG93LWJyZWFrcG9pbnQsICRicmVha3BvaW50czogJGJyZWFrcG9pbnRzKSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCIjeyRzaG93LWJyZWFrcG9pbnR9IOKJpSAjeyR3aWR0aH0gKCN7bXEtcHgyZW0oJHdpZHRoKX0pXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpZiBsZW5ndGgoJG1xLXNob3ctYnJlYWtwb2ludHMpID4gMCB7XG4gICAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cztcbn1cbiIsIkBtaXhpbiBjLWRvbmF0aW9uLWZvcm0oJGJhc2U6Jikge1xuXG4gICR0YWItYm9yZGVyOiRib3JkZXItYS13aWR0aCB2YXIoLS1kb25hdGlvbmZvcm0tdGhlbWUtY29sb3IpIHNvbGlkO1xuICAkZmllbGQtc3BhY2luZy10b3A6cmVtLWNhbGMoMzBweCk7XG4gICRpdGVtLXNwYWNpbmcteDpyZW0tY2FsYygxNXB4KTtcblxuICAmIHtcbiAgfVxuXG4gIEBhdC1yb290IHtcbiAgICAjeyRiYXNlfV9mbG9hdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsYXJnZSkge1xuICAgICAgICBmbG9hdDpsZWZ0O1xuICAgICAgICB3aWR0aDo1MCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDpyZW0tY2FsYyg0MHB4KTtcbiAgICAgIH1cbiAgICB9XG4gICAgI3skYmFzZX1fX2Zvcm0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYyg0MHB4KTtcbiAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIHUtc3BhY2luZy14KHJlbS1jYWxjKDE1cHgpLCBtYXJnaW4pO1xuICAgICAgfVxuICAgIH1cbiAgICAjeyRiYXNlfV9faGVhZGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjBweCk7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG4gICAgI3skYmFzZX1fX3RhYnMtbmF2IHtcbiAgICB9XG4gICAgI3skYmFzZX1fX3dpemFyZCB7XG4gICAgICAuYy13aXphcmRfX2xpbmsge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2cHgpO1xuICAgICAgfVxuICAgIH1cbiAgICAjeyRiYXNlfV9fdGFicyB7XG4gICAgICBAaW5jbHVkZSB1LXJlc2V0KHVsKTtcbiAgICB9XG4gICAgI3skYmFzZX1fX3RhYiB7XG4gICAgICBAaW5jbHVkZSB1LXJlc2V0KGxpKTtcbiAgICAgIHdpZHRoOjEwMCU7XG4gICAgICBib3JkZXI6JHRhYi1ib3JkZXI7XG4gICAgICBAaW5jbHVkZSB1LXNwYWNpbmcteChyZW0tY2FsYyg0MHB4KSk7XG4gICAgICBAaW5jbHVkZSB1LXNwYWNpbmcteShyZW0tY2FsYyg0MHB4KSk7XG4gICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgICYuanMtdGFiLWhpZGRlbiB7XG4gICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgI3skYmFzZX1fX2ZpZWxkLWdyb3VwIHtcbiAgICAgIEBpbmNsdWRlIHUtcmVzZXQodWwpO1xuICAgICAgQGluY2x1ZGUgdS1zcGFjaW5nLXgoYXV0bywgbWFyZ2luKTtcbiAgICAgIHdpZHRoOjEwMCU7XG4gICAgICBtYXgtd2lkdGg6cmVtLWNhbGMoNTYwcHgpO1xuICAgICAgbWFyZ2luLXRvcDotJGZpZWxkLXNwYWNpbmctdG9wO1xuICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygyMHB4KTtcbiAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgIGZsZXgtd3JhcDp3cmFwO1xuICAgIH1cbiAgICAjeyRiYXNlfV9fZmllbGQtZ3JvdXAtaXRlbSB7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgICAgQGluY2x1ZGUgbXEoJGZyb206IHJlbS1jYWxjKDQ4MHB4KSkge1xuICAgICAgICAmX2ZpcnN0bmFtZSB7XG4gICAgICAgICAgd2lkdGg6NTAlO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6JGl0ZW0tc3BhY2luZy14O1xuICAgICAgICB9XG4gICAgICAgICZfbGFzdG5hbWUge1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiRpdGVtLXNwYWNpbmcteDtcbiAgICAgICAgfVxuICAgICAgICAmX3ppcCB7XG4gICAgICAgICAgd2lkdGg6NDUlO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6JGl0ZW0tc3BhY2luZy14O1xuICAgICAgICB9XG4gICAgICAgICZfY2l0eSB7XG4gICAgICAgICAgd2lkdGg6IDU1JTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6JGl0ZW0tc3BhY2luZy14O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICN7JGJhc2V9X19iaWctYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoNDBweCk7XG4gICAgfVxuICAgICN7JGJhc2V9X19maWVsZCB7XG4gICAgICBAaW5jbHVkZSB1LXJlc2V0KGxpKTtcbiAgICAgIHBhZGRpbmctdG9wOiRmaWVsZC1zcGFjaW5nLXRvcDtcbiAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB0ZXh0LWFsaWduOmxlZnQ7XG4gICAgICAmX2NvbnRyb2wge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB9XG4gICAgICAmX2lucHV0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgI3skYmFzZX1fX2ZpZWxkLXRpdGxlIHtcbiAgICB9XG4gICAgI3skYmFzZX1fX2NvbnRyb2wge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICAjeyRiYXNlfV9fY29udHJvbC1sYWJlbCB7XG4gICAgICBAaW5jbHVkZSB1LXJlc2V0KGxhYmVsKTtcbiAgICAgIHBhZGRpbmctbGVmdDpyZW0tY2FsYygyMHB4KTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6cmVtLWNhbGMoMTZweCk7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgICN7JGJhc2V9X19wYXltZW50LW1ldGhvZHMge1xuICAgICAgaW1nIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6cmVtLWNhbGMoMTBweCk7XG4gICAgICB9XG4gICAgfVxuICAgICN7JGJhc2V9X19uby1tYWlsLXdhcm5pbmcge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNnB4KTtcbiAgICB9XG4gICAgI3skYmFzZX1fX2NvbnRpbnVlLXRleHQge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwcHgpO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNnB4KVxuICAgIH1cbiAgICAuYy1kb25hdGlvbi1mb3JtLXBheW1lbnQtbWV0aG9kIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAuYy1kb25hdGlvbi1mb3JtLXBheW1lbnQtbW9udGhseSB7XG4gICAgICAjeyRiYXNlfS1wYXltZW50LW1ldGhvZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICZfX0ZJNTAge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiIsIkBtaXhpbiB1LXNwYWNpbmcteCgkc3BhY2luZywgJHNwYWNpbmctdHlwZToncGFkZGluZycpIHtcbiAgI3skc3BhY2luZy10eXBlfS1sZWZ0OiRzcGFjaW5nOyBcbiAgI3skc3BhY2luZy10eXBlfS1yaWdodDokc3BhY2luZzsgXG59XG5cbkBtaXhpbiB1LXNwYWNpbmcteSgkc3BhY2luZywgJHNwYWNpbmctdHlwZToncGFkZGluZycpIHtcbiAgI3skc3BhY2luZy10eXBlfS10b3A6JHNwYWNpbmc7IFxuICAjeyRzcGFjaW5nLXR5cGV9LWJvdHRvbTokc3BhY2luZzsgXG59IiwiQG1peGluIGMtcmFkaW8tdGFicy1uYXYoJGJhc2U6Jikge1xuXG4gICRpdGVtLXBhZGRpbmctdG9wOnJlbS1jYWxjKDZweCk7XG4gICRpdGVtLXBhZGRpbmctYm90dG9tOnJlbS1jYWxjKDlweCk7XG4gICRpdGVtLWN1cnJlbnQtcGFkZGluZy1leHRyYTpyZW0tY2FsYygzcHgpO1xuICAkaXRlbS1ib3JkZXI6JGJvcmRlci1hLXdpZHRoIHZhcigtLWRvbmF0aW9uZm9ybS10aGVtZS1jb2xvcikgc29saWQ7XG5cbiAgJiB7XG4gICAgZm9udC1mYW1pbHk6JGZmLWhlYWRpbmc7IFxuICAgIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsgXG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7IFxuICAgIEBpbmNsdWRlIHUtcmVzZXQoZmllbGRzZXQpO1xuICB9XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JGJhc2V9X19saXN0IHtcbiAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOmZsZXgtZW5kOyBcbiAgICAgIEBpbmNsdWRlIHUtcmVzZXQodWwpO1xuICAgIH1cbiAgICAjeyRiYXNlfV9faXRlbSB7XG4gICAgICBmbGV4OjEgMSAxMDAlO1xuICAgICAgQGluY2x1ZGUgdS1yZXNldChsaSk7XG4gICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQgKi9cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAjeyRiYXNlfV9fbGFiZWwge1xuICAgICAgICAgIGJvcmRlci1yaWdodDpub25lOyBcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgI3skYmFzZX1fX2xhYmVsIHtcbiAgICAgICAgICBib3JkZXItbGVmdDpub25lOyBcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAjeyRiYXNlfV9faW5wdXQge1xuICAgICAgb3BhY2l0eTowOyBcbiAgICAgIHBvc2l0aW9uOmFic29sdXRlOyBcbiAgICAgICY6Zm9jdXMgKyAjeyRiYXNlfV9fbGFiZWwge1xuICAgICAgICBvdXRsaW5lOjFweCBzb2xpZCAkY29sb3ItZ2FtYm9nZTtcbiAgICAgICAgb3V0bGluZS1jb2xvcjotd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG4gICAgICB9XG4gICAgICAmOmNoZWNrZWQgKyAjeyRiYXNlfV9fbGFiZWwge1xuICAgICAgICBjb2xvcjp3aGl0ZTsgXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6dmFyKC0tZG9uYXRpb25mb3JtLXRoZW1lLWNvbG9yKTtcbiAgICAgICAgcGFkZGluZy10b3A6JGl0ZW0tcGFkZGluZy10b3AgKyAkaXRlbS1jdXJyZW50LXBhZGRpbmctZXh0cmE7IFxuICAgICAgICBwYWRkaW5nLWJvdHRvbTokaXRlbS1wYWRkaW5nLWJvdHRvbSArICRpdGVtLWN1cnJlbnQtcGFkZGluZy1leHRyYTsgXG4gICAgICB9XG4gICAgICAmOmRpc2FibGVkICsgI3skYmFzZX1fX2xhYmVsIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRncmF5O1xuICAgICAgICBjb2xvcjpncmV5OyBcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBncmV5O1xuICAgICAgfVxuICAgIH1cbiAgICAjeyRiYXNlfV9fbGFiZWwge1xuICAgICAgQGluY2x1ZGUgdS1yZXNldChsYWJlbCk7XG4gICAgICBkaXNwbGF5OmJsb2NrOyBcbiAgICAgIGN1cnNvcjpwb2ludGVyO1xuICAgICAgYm9yZGVyLXRvcDokaXRlbS1ib3JkZXI7IFxuICAgICAgYm9yZGVyLWxlZnQ6JGl0ZW0tYm9yZGVyOyBcbiAgICAgIGJvcmRlci1yaWdodDokaXRlbS1ib3JkZXI7IFxuICAgICAgY29sb3I6dmFyKC0tZG9uYXRpb25mb3JtLXRoZW1lLWNvbG9yKTsgXG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgcGFkZGluZy10b3A6cmVtLWNhbGMoJGl0ZW0tcGFkZGluZy10b3ApOyBcbiAgICAgIHBhZGRpbmctYm90dG9tOnJlbS1jYWxjKCRpdGVtLXBhZGRpbmctYm90dG9tKTtcbiAgICB9XG4gIH1cbn1cbiIsIiRmZi1oZWFkaW5nOiBPc3dhbGQsIHNhbnMtc2VyaWY7XG4kZm9udC1zaXplLWJhc2U6IHJlbS1jYWxjKDE2cHgpO1xuIiwiLyogc3R5bGVsaW50LWRpc2FibGUgY29sb3Itbm8taGV4ICovXG4kY29sb3ItZ2FtYm9nZTojZjE5OTE0O1xuJGNvbG9yLWNpdHJvbjojOGFhYzE5O1xuJGNvbG9yLWRlbHVnZTojN0Y1QUExOyAvLyBvcmlnaW5hbCBpcyAjODY2NUE1XG4kY29sb3ItbWVyY3VyeTojRTNFM0UzO1xuJGNvbG9yLWR1c3R5LWdyYXk6Izk2OTY5NjtcbiRjb2xvci1mdXp6eS13dXp6eS1icm93bjojQkU1RjVGO1xuIiwiLy8gQHotaW5kZXggc3BhY2U6IDMwLTQwXG5AbWl4aW4gYy13aXphcmQoJGJhc2U6Jikge1xuXG4gICRjb2xvci10YWItbGluay1kaXNhYmxlZDojYjNiM2IzO1xuXG4gICYge1xuICAgIGJhY2tncm91bmQtY29sb3I6dmFyKC0tZG9uYXRpb25mb3JtLXRoZW1lLWNvbG9yKTsgXG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7IFxuICAgIGNvbG9yOndoaXRlOyAgXG4gICAgcGFkZGluZy10b3A6cmVtLWNhbGMoMjBweCk7IFxuICAgIHBhZGRpbmctYm90dG9tOnJlbS1jYWxjKDEycHgpOyBcbiAgfVxuXG4gIEBhdC1yb290IHtcbiAgICAjeyRiYXNlfV9fbGlzdCB7XG4gICAgICBkaXNwbGF5OmZsZXg7IFxuICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICBAaW5jbHVkZSB1LXNwYWNpbmcteCgwKTtcbiAgICAgIC5jLWRvbmF0aW9uLWZvcm06bm90KC5jLWRvbmF0aW9uLWZvcm1fZmxvYXRlZCkgJiB7XG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgICAgICBAaW5jbHVkZSB1LXNwYWNpbmcteCgyMCUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICN7JGJhc2V9X19pdGVtIHtcbiAgICAgIGZsZXg6MSAxIDEwMCU7XG4gICAgICBAaW5jbHVkZSB1LXJlc2V0KGxpKTtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAjeyRiYXNlfV9fbGluazo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICN7JGJhc2V9X19saW5rOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgI3skYmFzZX1fX2xpbmsge1xuICAgICAgZGlzcGxheTpibG9jazsgXG4gICAgICBAaW5jbHVkZSB1LXJlc2V0KGEpO1xuICAgICAgcG9zaXRpb246cmVsYXRpdmU7IFxuICAgICAgcGFkZGluZy1ib3R0b206cmVtLWNhbGMoMzJweCk7IFxuICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE1cHgpOyBcbiAgICAgIC5jLWRvbmF0aW9uLWZvcm06bm90KC5jLWRvbmF0aW9uLWZvcm1fZmxvYXRlZCkgJiB7XG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgICAgICBmb250LXNpemU6aW5oZXJpdDsgXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIHUtcHNldWRvYmxvY2tlbGVtZW50O1xuICAgICAgICBAaW5jbHVkZSB1LXNpemUocmVtLWNhbGMoMTJweCkpO1xuICAgICAgICBsZWZ0OjUwJTsgXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46MCAwO1xuICAgICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czo1MSU7IFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOmN1cnJlbnRDb2xvcjsgXG4gICAgICAgIGJveC1zaGFkb3c6MCAwIDAgcmVtLWNhbGMoNnB4KSB2YXIoLS1kb25hdGlvbmZvcm0tdGhlbWUtY29sb3IpLCAwIDAgMCAwIHRyYW5zcGFyZW50aXplKHdoaXRlLCAuMik7XG4gICAgICAgIGJvdHRvbTpyZW0tY2FsYygtM3B4KTsgXG4gICAgICAgIHotaW5kZXg6MzM7IFxuICAgICAgICB0cmFuc2l0aW9uOmJveC1zaGFkb3cgZWFzZS1vdXQgLjQ1O1xuICAgICAgfVxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSB1LXBzZXVkb2Jsb2NrZWxlbWVudDtcbiAgICAgICAgQGluY2x1ZGUgdS1zaXplKDEwMCUgMCk7XG4gICAgICAgIGJvcmRlci1ib3R0b206d2hpdGUgJGJvcmRlci1hLXdpZHRoIHNvbGlkOyBcbiAgICAgICAgYm90dG9tOjA7IFxuICAgICAgICB6LWluZGV4OjMyOyBcbiAgICAgIH1cbiAgICAgICYuanMtdGFiLWxpbmstZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjokY29sb3ItdGFiLWxpbmstZGlzYWJsZWQ7IFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokY29sb3ItdGFiLWxpbmstZGlzYWJsZWQ7IFxuICAgICAgICAgICAgYm94LXNoYWRvdzowIDAgMCByZW0tY2FsYyg2cHgpIHZhcigtLWRvbmF0aW9uZm9ybS10aGVtZS1jb2xvciksIDAgMCAwIDAgdHJhbnNwYXJlbnRpemUod2hpdGUsIC4yKTtcbiAgICAgICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5qcy10YWItbGluay1jdXJyZW50LFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1kb25hdGlvbmZvcm0tdGhlbWUtY29sb3IpOyBcbiAgICAgICAgICBib3gtc2hhZG93OjAgMCAwIHJlbS1jYWxjKDRweCkgd2hpdGUsIDAgMCAwIDAgdHJhbnNwYXJlbnRpemUod2hpdGUsIC4yKTtcbiAgICAgICAgICBib3JkZXI6cmVtLWNhbGMoNHB4KSBzb2xpZCB2YXIoLS1kb25hdGlvbmZvcm0tdGhlbWUtY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmpzLXRhYi1saW5rLWN1cnJlbnQge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGJveC1zaGFkb3c6MCAwIDAgcmVtLWNhbGMoNHB4KSB3aGl0ZSwgMCAwIHJlbS1jYWxjKDE4cHgpIHJlbS1jYWxjKDRweCkgdHJhbnNwYXJlbnRpemUod2hpdGUsIC4yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIHUtcHNldWRvYmxvY2tlbGVtZW50IHtcbiAgZGlzcGxheTpibG9jazsgXG4gIGNvbnRlbnQ6Jyc7IFxuICBwb3NpdGlvbjphYnNvbHV0ZTtcbn0iLCIvLyBmcm9tIEJvdXJib25cbkBtaXhpbiB1LXNpemUoJHZhbHVlKSB7XG4gICR3aWR0aDogbnRoKCR2YWx1ZSwgMSk7XG4gICRoZWlnaHQ6ICR3aWR0aDtcblxuICBAaWYgbGVuZ3RoKCR2YWx1ZSkgPiAxIHtcbiAgICAkaGVpZ2h0OiBudGgoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBpZiBpcy1zaXplKCRoZWlnaHQpIHtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICdgI3skaGVpZ2h0fWAgaXMgbm90IGEgdmFsaWQgbGVuZ3RoIGZvciB0aGUgYCRoZWlnaHRgIHBhcmFtZXRlciBpbiB0aGUgYHNpemVgIG1peGluLic7XG4gIH1cblxuICBAaWYgaXMtc2l6ZSgkd2lkdGgpIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAnYCN7JHdpZHRofWAgaXMgbm90IGEgdmFsaWQgbGVuZ3RoIGZvciB0aGUgYCR3aWR0aGAgcGFyYW1ldGVyIGluIHRoZSBgc2l6ZWAgbWl4aW4uJztcbiAgfVxufSIsIkBtaXhpbiBjLWJ1dHRvbi1jb250cm9scygkYmFzZTomKSB7XG5cbiAgJGl0ZW0tYm9yZGVyOiRib3JkZXItYS13aWR0aCB2YXIoLS1kb25hdGlvbmZvcm0tdGhlbWUtY29sb3IpIHNvbGlkO1xuICAkaXRlbS1zcGFjaW5nLXg6cmVtLWNhbGMoMTBweCk7XG4gICRpbnB1dC1zcGFjaW5nLXg6cmVtLWNhbGMoMjBweCk7XG4gICRpbnB1dC1zcGFjaW5nLXk6cmVtLWNhbGMoMTJweCk7XG5cbiAgJiB7XG4gICAgQGluY2x1ZGUgdS1yZXNldChmaWVsZHNldCk7XG4gIH1cblxuICBAYXQtcm9vdCB7XG4gICAgI3skYmFzZX1fX2xpc3Qge1xuICAgICAgZGlzcGxheTpmbGV4OyBcbiAgICAgIGZsZXgtd3JhcDp3cmFwO1xuICAgICAgQGluY2x1ZGUgdS1yZXNldCh1bCk7XG4gICAgICBAaW5jbHVkZSB1LXNwYWNpbmcteCgtJGl0ZW0tc3BhY2luZy14IC8gMiwgbWFyZ2luKTtcbiAgICB9XG4gICAgI3skYmFzZX1fX2l0ZW0ge1xuICAgICAgQGluY2x1ZGUgdS1yZXNldChsaSk7XG4gICAgICBAaW5jbHVkZSB1LXNwYWNpbmcteCgkaXRlbS1zcGFjaW5nLXggLyAyKTtcbiAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMjBweCk7IFxuICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAmX2N1cnJlbmN5IHtcbiAgICAgICAgZmxleC1iYXNpczozMy4zJTtcbiAgICAgIH1cbiAgICAgICZfdGV4dC1zdWZmaXgtZXVybyB7XG4gICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlOyBcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6J1xcMjBBQyc7IFxuICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlOyBcbiAgICAgICAgICByaWdodDowOyBcbiAgICAgICAgICBmb250LXdlaWdodDpib2xkOyBcbiAgICAgICAgICBjb2xvcjp2YXIoLS1kb25hdGlvbmZvcm0tdGhlbWUtY29sb3IpOyBcbiAgICAgICAgICBAaW5jbHVkZSB1LXNwYWNpbmcteSgkaW5wdXQtc3BhY2luZy15KTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiRpbnB1dC1zcGFjaW5nLXg7IFxuICAgICAgICAgIHRvcDpyZW0tY2FsYygzcHgpOyBcbiAgICAgICAgfVxuICAgICAgICAjeyRiYXNlfV9fdGV4dC1pbnB1dCB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDpyZW0tY2FsYyg0MHB4KTsgXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgI3skYmFzZX1fX2NvbnRyb2wge1xuICAgICAgb3BhY2l0eTowOyBcbiAgICAgIHBvc2l0aW9uOmFic29sdXRlOyBcbiAgICAgICY6Y2hlY2tlZCArICN7JGJhc2V9X19sYWJlbCB7XG4gICAgICAgIGNvbG9yOndoaXRlOyBcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1kb25hdGlvbmZvcm0tdGhlbWUtY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgICAjeyRiYXNlfV9fbGFiZWwge1xuICAgICAgY3Vyc29yOnBvaW50ZXI7XG4gICAgICBAaW5jbHVkZSB1LXJlc2V0KGxhYmVsKTtcbiAgICAgIHRleHQtYWxpZ246Y2VudGVyOyBcbiAgICB9XG4gICAgI3skYmFzZX1fX2xhYmVsLCBcbiAgICAjeyRiYXNlfV9fdGV4dC1pbnB1dCB7XG4gICAgICBAaW5jbHVkZSB1LXNwYWNpbmcteCgkaW5wdXQtc3BhY2luZy14KTtcbiAgICAgIEBpbmNsdWRlIHUtc3BhY2luZy15KCRpbnB1dC1zcGFjaW5nLXkpO1xuICAgICAgZGlzcGxheTpibG9jazsgXG4gICAgICBtaW4td2lkdGg6cmVtLWNhbGMoMTIwcHgpOyBcbiAgICAgIGJvcmRlcjokaXRlbS1ib3JkZXI7IFxuICAgICAgY29sb3I6dmFyKC0tZG9uYXRpb25mb3JtLXRoZW1lLWNvbG9yKTsgXG4gICAgfVxuICAgICN7JGJhc2V9X190ZXh0LWlucHV0IHtcbiAgICAgIHdpZHRoOjEwMCU7IFxuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIGMtYmlnLWJ1dHRvbigkYmFzZTomKSB7XG5cbiAgJiB7XG4gICAgQGluY2x1ZGUgdS1zcGFjaW5nLXgocmVtLWNhbGMoMjBweCkpO1xuICAgIEBpbmNsdWRlIHUtc3BhY2luZy15KHJlbS1jYWxjKDE0cHgpKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiRjb2xvci1nYW1ib2dlOyBcbiAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7IFxuICAgIHRleHQtYWxpZ246Y2VudGVyOyBcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jazsgXG4gICAgZm9udC13ZWlnaHQ6Ym9sZDsgXG4gICAgbWF4LXdpZHRoOnJlbS1jYWxjKDQwMHB4KTsgXG4gICAgd2lkdGg6MTAwJTsgXG4gICAgYm9yZGVyOm5vbmU7IFxuICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgY29sb3I6d2hpdGU7IFxuICAgICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7IFxuICAgIH1cbiAgfVxuXG4gIEBhdC1yb290IHtcbiAgfVxufVxuIiwiQG1peGluIGMtdGV4dC1maWVsZCgkYmFzZTomKSB7XG5cbiAgJGZvbnQtc2l6ZTpyZW0tY2FsYygyMHB4KTtcbiAgJGlucHV0LXNwYWNpbmcteDpyZW0tY2FsYyg2cHgpO1xuICAkaW5wdXQtc3BhY2luZy15OnJlbS1jYWxjKDdweCk7XG5cbiAgJiB7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7IFxuICAgIHdpZHRoOjEwMCU7IFxuICB9XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JGJhc2V9X19pbnB1dCB7XG4gICAgICB3aWR0aDoxMDAlOyBcbiAgICAgIEBpbmNsdWRlIHUtcmVzZXQodGV4dC1pbnB1dCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRjb2xvci1tZXJjdXJ5OyBcbiAgICAgIGNvbG9yOmRhcmtlbigkY29sb3ItZHVzdHktZ3JheSwgMzAlKTsgXG4gICAgICBmb250LXdlaWdodDpib2xkOyBcbiAgICAgIEBpbmNsdWRlIHUtc3BhY2luZy14KCRpbnB1dC1zcGFjaW5nLXgpO1xuICAgICAgQGluY2x1ZGUgdS1zcGFjaW5nLXkoJGlucHV0LXNwYWNpbmcteSk7XG4gICAgICBmb250LXNpemU6JGZvbnQtc2l6ZTsgXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgJiArICN7JGJhc2V9X19sYWJlbCB7XG4gICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZbcmVxdWlyZWRdICsgI3skYmFzZX1fX2xhYmVsIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6JyAqJzsgXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vICY6aW52YWxpZCB7XG4gICAgICAvLyAgIGNvbG9yOiRjb2xvci1mdXp6eS13dXp6eS1icm93bjsgXG4gICAgICAvLyB9XG4gICAgfVxuICAgICN7JGJhc2V9X19sYWJlbCB7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoMTJweCk7IFxuICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCkgdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgICBAaW5jbHVkZSB1LXJlc2V0KGxhYmVsKTtcbiAgICAgIGNvbG9yOiRjb2xvci1kdXN0eS1ncmF5OyBcbiAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7IFxuICAgICAgdHJhbnNpdGlvbjokdHJhbnNpdGlvbi1tYWluO1xuICAgICAgcG9zaXRpb246YWJzb2x1dGU7IFxuICAgICAgdGV4dC1hbGlnbjpsZWZ0OyBcbiAgICAgIHdpZHRoOjEwMCU7IFxuICAgICAgdG9wOjA7IFxuICAgICAgbGVmdDowOyBcbiAgICAgIHBhZGRpbmc6MDsgXG4gICAgICBwYWRkaW5nLXRvcDokaW5wdXQtc3BhY2luZy15OyBcbiAgICAgICYuanMtbW92YWJsZWxhYmVsLWFjdGl2ZSB7XG4gICAgICAgIEBpbmNsdWRlIHUtc3BhY2luZy14KCRpbnB1dC1zcGFjaW5nLXgpO1xuICAgICAgICBmb250LXNpemU6JGZvbnQtc2l6ZTsgXG4gICAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKDApIHRyYW5zbGF0ZVkoMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKiBzdHlsZWxpbnQtZGlzYWJsZSBtZW93dGVjL25vLXB4ICovXG5cbi8vIFByb3BvcnRpb25zXG4kdW5pdC14OnJlbS1jYWxjKDEwcHgpO1xuJHVuaXQteTokdW5pdC14O1xuXG4vLyBXaWR0aHNcbiRib3JkZXItYS13aWR0aDogcmVtLWNhbGMoM3B4KTtcblxuLy8gVmlzdWFsIGVmZmVjdHNcblxuLy8gVHJhbnNpdGlvbnMgJiBhbmltYXRpb25zXG4vLyBub3RlIHRoYXQgcHJvcGVydHkgaXMgb21pdHRlZCBcbiR0cmFuc2l0aW9uLW1haW46ZWFzZS1pbiAuMThzO1xuXG4vLyBFeGNsdWRlZCBzZWxlY3RvcnMgKG9ubHkgc2ltcGxlIHNlbGVjdG9ycylcbi8vIHVzZSBAaW5jbHVkZSB0LWZvY3VzZWQgd2l0aCBhcmd1bWVudHMgdG8gc2V0IHlvdXIgb3duIHN0eWxpbmcgd2hlbiBlbGVtZW50IGlzIGZvY3VzZWRcbiRjbGFzc2VzLWV4Y2x1ZGUtZnJvbS1mb2N1czogKFxuICAnYy1zZWxlY3Rvci0xJ1xuICAnYy1zZWxlY3Rvci0yJ1xuKTtcblxuXG4vLyBCcmVha3BvaW50c1xuLy8gdXNhZ2U6IEBpbmNsdWRlIG1xKCRmcm9tOiB4bGFyZ2UpIHt9XG4kbXEtYnJlYWtwb2ludHM6IChcbiAgc21hbGw6ICAzODBweCxcbiAgbWVkaXVtOiA3NjhweCxcbiAgbGFyZ2U6ICA5MjBweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4pO1xuXG4vKiBzdHlsZWxpbnQtZW5hYmxlIG1lb3d0ZWMvbm8tcHggKi9cbiIsIkBtaXhpbiBjLWZvcm0tc3VtbWFyeSgkYmFzZTomKSB7XG5cbiAgJiB7XG4gICAgdGV4dC1hbGlnbjpsZWZ0OyBcbiAgICBAaW5jbHVkZSB1LXJlc2V0KG91dHB1dCk7XG4gICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygzMHB4KTsgXG4gICAgZm9udC13ZWlnaHQ6NDAwO1xuICAgIEBpbmNsdWRlIHUtZG9udC1zaG93LWlmLWVtcHR5O1xuICB9XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JGJhc2V9X19saXN0IHtcbiAgICAgIGZvbnQtd2VpZ2h0OjQwMDtcbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiB1LWRvbnQtc2hvdy1pZi1lbXB0eSB7XG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6bm9uZTsgXG4gIH1cbn0iLCJAbWl4aW4gYy1lcnJvcmxpc3QoJGJhc2U6Jikge1xuXG4gICYge1xuICAgIEBpbmNsdWRlIGMtZm9ybS1zdW1tYXJ5KCRiYXNlKTtcbiAgfVxuXG4gIEBhdC1yb290IHtcbiAgICAjeyRiYXNlfV9fbGlzdCB7XG4gICAgICBhbmltYXRpb246LjlzIGhlYWRTaGFrZTtcbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBjLXNvY2lhbCgkYmFzZTomKSB7XG4gIEBhdC1yb290IHtcbiAgICAjeyRiYXNlfV9fd3JhcCB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgICN7JGJhc2V9X19pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cbn1cbiAgIl19 */
