
@font-face{font-family:opensansBold;src:url(../fonts/OpenSans-Bold.woff);font-weight:400}@font-face{font-family:opensansRegular;src:url(../fonts/OpenSans-Regular.woff);font-weight:400}@font-face{font-family:opensansSemibold;src:url(../fonts/OpenSans-SemiBold.woff);font-weight:400}@font-face{font-family:oswaldMedium;src:url(../fonts/Oswald-Medium.woff);font-weight:400}@media not all and (min-width:64rem){.addresslist .ox-list li span{margin-left:1rem}.addresslist .ox-list li:before{margin-top:.7rem;position:absolute}.addresslist .ox-list li p a{hyphens:auto}}
.sctn.archive img{width:100%;height:31.25rem;object-fit:cover;order:1;border-radius:var(--radius-md)}

.boxlist .text-component{min-height:17rem}.boxlist .text-component.col-3\@md{min-height:14.375rem}.boxlist .text-component .icon{height:4.6875rem;width:4.6875rem;box-sizing:content-box;border-width:.8125rem;top:0;transform:translate3d(-50%,-50%,0);left:50%}.boxlist .text-component .icon span{height:3.125rem;width:3.125rem}.boxlist .text-component.box span{min-height:calc(var(--body-line-height)*2em);margin-bottom:auto}.boxlist .text-component p{min-height:calc(var(--body-line-height)*3em);margin-bottom:auto}
@font-face{font-family:opensansBold;src:url(../fonts/OpenSans-Bold.woff);font-weight:400}@font-face{font-family:opensansRegular;src:url(../fonts/OpenSans-Regular.woff);font-weight:400}@font-face{font-family:opensansSemibold;src:url(../fonts/OpenSans-SemiBold.woff);font-weight:400}@font-face{font-family:oswaldMedium;src:url(../fonts/Oswald-Medium.woff);font-weight:400}*{--goto-color:var(--color-white);--goto-size:4.5rem;--goto-inner-size:2.8125rem;--icon-outer-size:6.25rem;--icon-inner-size:4rem}.cards .card:not(.card--link){display:grid;grid-auto-rows:1fr auto}.cards .card img{width:100%;object-fit:cover;height:18.75rem}.cards .card--link img{height:21.25rem;flex-shrink:0}.cards .card--btn img__img img,.cards .card--icon__img img{height:18.125rem}.cards .card--btn img__img .icon-outer,.cards .card--icon__img .icon-outer{transform:translate3d(50%,-50%,0)}.cards .card--btn img__noimg .icon-outer,.cards .card--icon__noimg .icon-outer{margin-bottom:var(--space-md)}.cards .card .goto-outer{width:var(--goto-size);height:var(--goto-size);transform:translateY(-50%)}.cards .card .goto-outer:hover{cursor:pointer}.cards .card .goto-outer:hover .icon-goto{left:55%}.cards .card .goto-inner{display:block;width:var(--goto-inner-size);height:var(--goto-inner-size)}.cards .card .icon-outer{width:var(--icon-outer-size);height:var(--icon-outer-size)}.cards .card .icon-inner{display:block;width:var(--icon-inner-size);height:var(--icon-inner-size)}.cards .card .icon-goto{position:absolute;top:50%;left:50%;transform:translate3d(-50%,-50%,0);width:50%;height:2px;background-color:var(--goto-color);transition:all .3s ease-in-out}.cards .card .icon-goto::after,.cards .card .icon-goto::before{content:"";position:absolute;width:60%;height:2px;right:-3px;background-color:var(--goto-color)}.cards .card .icon-goto::after{top:-5px;transform:rotate(45deg)}.cards .card .icon-goto::before{top:5px;transform:rotate(-45deg)}
.sctn.content .icon{width:3.125rem;height:3.125rem}
.sctn.diagramm p:not(p:last-child){margin-bottom:var(--space-md)}.sctn.diagramm .icon{width:1.75rem;height:1.75rem}.sctn.diagramm .text-component h4{hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto}.sctn.diagramm li{hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto}

.sctn.gallery .modal-img-btn__icon-wrapper svg{fill:var(--color-white)}
.hero{background-size:cover;background-repeat:no-repeat;background-position:center center;position:relative}.hero-background{z-index:-1;background-repeat:no-repeat;background-size:cover;background-position:center;position:absolute;top:0;bottom:0;right:0;left:0}.hero-video{z-index:-1;background-repeat:no-repeat;background-size:cover;background-position:center;position:absolute;top:0;bottom:0;right:0;left:0;overflow:hidden}.hero-video video{z-index:-1;min-width:100%;min-height:100%;width:auto;height:auto;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-overlay:before{content:"";position:absolute;top:0;bottom:0;right:0;left:0;background-color:var(--color-primary-light);opacity:.5}.hero.padding-y-component{padding:0}.hero--overlay-layer::after{content:"";position:absolute;top:0;left:0;height:100%;width:100%;z-index:1}
@font-face{font-family:opensansBold;src:url(../fonts/OpenSans-Bold.woff);font-weight:400}@font-face{font-family:opensansRegular;src:url(../fonts/OpenSans-Regular.woff);font-weight:400}@font-face{font-family:opensansSemibold;src:url(../fonts/OpenSans-SemiBold.woff);font-weight:400}@font-face{font-family:oswaldMedium;src:url(../fonts/Oswald-Medium.woff);font-weight:400}@media(min-width:64rem){.sctn.post-preview .grid{height:21.875rem}}
.price ul li:before{content:"";width:.625rem;height:.625rem;background:var(--color-primary);border-radius:2px;margin-top:.5rem;display:inline-block;flex-shrink:0}.price ul li p{flex-grow:1;flex-shrink:1.4}.price ul li span{width:9.375rem}
@font-face{font-family:opensansBold;src:url(../fonts/OpenSans-Bold.woff);font-weight:400}@font-face{font-family:opensansRegular;src:url(../fonts/OpenSans-Regular.woff);font-weight:400}@font-face{font-family:opensansSemibold;src:url(../fonts/OpenSans-SemiBold.woff);font-weight:400}@font-face{font-family:oswaldMedium;src:url(../fonts/Oswald-Medium.woff);font-weight:400}*{--dot-size-inner:1.3125rem;--dot-size-outer:2.1875rem}.timeline-what,.timeline-when{hyphens:auto}.timeline .container:not(.precontent-container){position:relative}.timeline .container:not(.precontent-container):before{content:"";height:calc(100% - var(--line-height-lg)*2em);width:1px;position:absolute;background:var(--color-primary);right:50%;top:0}@media not all and (min-width:64rem){.timeline .container:not(.precontent-container):before{right:calc(var(--dot-size-outer)/2);height:calc(100% - var(--line-height-lg)*4em)}}.timeline .dot-inner{width:var(--dot-size-inner);height:var(--dot-size-inner);left:50%;top:50%;transform:translate3d(-50%,-50%,0)}.timeline .dot-outer{width:var(--dot-size-outer);height:var(--dot-size-outer)}.timeline .text-lg{line-height:var(--line-height-lg);min-height:calc(var(--line-height-lg)*2em)}.timeline .text-md{line-height:var(--line-height-md);min-height:calc(var(--line-height-md)*2em)}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2FjY29yZGlvbi5jc3MiLCIuLi9zYXNzL2NvZHlmcmFtZS9iYXNlL19jb25maWcuc2NzcyIsImFkZHJlc3NsaXN0L3Njc3MvYWRkcmVzc2xpc3Quc2NzcyIsImFyY2hpdmUvc2Nzcy9hcmNoaXZlLnNjc3MiLCIuLi9iYW5uZXIuY3NzIiwiYm94bGlzdC9zY3NzL2JveGxpc3Quc2NzcyIsImNhcmRzL3Njc3MvY2FyZHMuc2NzcyIsImNvbnRlbnQvc2Nzcy9jb250ZW50LnNjc3MiLCJkaWFncmFtbS9zY3NzL2RpYWdyYW1tLnNjc3MiLCIuLi9mZWF0dXJlLmNzcyIsImdhbGxlcnkvc2Nzcy9nYWxsZXJ5LnNjc3MiLCJoZXJvL3Njc3MvaGVyby5zY3NzIiwicG9zdF9wcmV2aWV3L3Njc3MvcG9zdF9wcmV2aWV3LnNjc3MiLCJwcmljZS9zY3NzL3ByaWNlLnNjc3MiLCJ0aW1lbGluZS9zY3NzL3RpbWVsaW5lLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUNPQSxXQUNFLFlBQUEsYUFDQSxJQUFBLGlDQUNBLFlBQUEsSUFHRixXQUNFLFlBQUEsZ0JBQ0EsSUFBQSxvQ0FDQSxZQUFBLElBR0YsV0FDRSxZQUFBLGlCQUNBLElBQUEscUNBQ0EsWUFBQSxJQUdGLFdBQ0UsWUFBQSxhQUNBLElBQUEsaUNBQ0EsWUFBQSxJQWdJQSxxQ0NuSmMsOEJBQ0ksWUFBQSxLQUVKLGdDQUNJLFdBQUEsTUFDQSxTQUFBLFNBR0EsNkJBQ0ksUUFBQTtBQ2pCcEIsa0JBQ0ksTUFBQSxLQUNBLE9BQUEsU0FDQSxXQUFBLE1BQ0EsTUFBQSxFQUNBLGNBQUE7QUNOUjtBQ0NJLHlCQUNJLFdBQUEsTUFFQSxtQ0FDSSxXQUFBLFVBR0osK0JBQ0ksT0FBQSxVQUNBLE1BQUEsVUFDQSxXQUFBLFlBQ0EsYUFBQSxTQUNBLElBQUEsRUFDQSxVQUFBLHlCQUNBLEtBQUEsSUFFQSxvQ0FDSSxPQUFBLFNBQ0EsTUFBQSxTQUlSLGtDQUNJLFdBQUEsa0NBQ0EsY0FBQSxLQUdK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QUNFLFlBQUEsYUFDQSxJQUFBLGlDQUNBLFlBQUEsSUFHRixXQUNFLFlBQUEsZ0JBQ0EsSUFBQSxvQ0FDQSxZQUFBLElBR0YsV0FDRSxZQUFBLGlCQUNBLElBQUEscUNBQ0EsWUFBQSxJQUdGLFdBQ0UsWUFBQSxhQUNBLElBQUEsaUNBQ0EsWUFBQSxJYTFCRixFQUNJLGlCQUFBLFVBQ0EsaUJBQUEsVUFJQSxlQUFBLGVBRUksUUFBQSxLQUVKLGdEQUNJLFNBQUEsU0FDQSx1REFDSSxRQUFBLEdBQ0EsT0FBQSx1Q0FDQSxNQUFBLElBQ0EsU0FBQSxTQUNBLFdBQUEscUJBQ0EsTUFBQSxJQUNBLElBQUEsRWJ1SVYscUNhOUlNLHVEQVVRLE1BQUEsOEJBQ0EsT0FBQSx3Q0FLUixxQkFDSSxNQUFBLHNCQUNBLE9BQUEsc0JBQ0EsS0FBQSxJQUNBLElBQUEsSUFDQSxVQUFBLHlCQUdKLHFCQUNJLE1BQUEsc0JBQ0EsT0FBQSxzQkFHUixtQkFDSSxZQUFBLHNCQUNBLFdBQUEsZ0NBR0osbUJBQ0ksWUFBQSxzQkFDQSxXQUFBIiwiZmlsZSI6ImNvbXBvbmVudHMuY3NzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCJAdXNlICdzYXNzOm1hdGgnO1xuQHVzZSAnc2FzczpzdHJpbmcnO1xuQHVzZSAnc2FzczpsaXN0JztcbkB1c2UgJ3Nhc3M6bWFwJztcbkB1c2UgJ3Nhc3M6bWV0YSc7XG5cbi8vIGZvbnRzXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IG9wZW5zYW5zQm9sZDtcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL09wZW5TYW5zLUJvbGQud29mZicpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IG9wZW5zYW5zUmVndWxhcjtcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL09wZW5TYW5zLVJlZ3VsYXIud29mZicpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IG9wZW5zYW5zU2VtaWJvbGQ7XG4gIHNyYzogdXJsKCcuLi9mb250cy9PcGVuU2Fucy1TZW1pQm9sZC53b2ZmJyk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogb3N3YWxkTWVkaXVtO1xuICBzcmM6IHVybCgnLi4vZm9udHMvT3N3YWxkLU1lZGl1bS53b2ZmJyk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cblxuLy8gZnVuY3Rpb25zXG5AZnVuY3Rpb24gc3RyLXJlbW92ZS13aGl0ZXNwYWNlKCRzdHIpIHtcbiAgQHdoaWxlIChzdHJpbmcuaW5kZXgoJHN0ciwgJyAnKSAhPSBudWxsKSB7XG4gICAgJGluZGV4OiBzdHJpbmcuaW5kZXgoJHN0ciwgJyAnKTtcbiAgICAkc3RyOiBcIiN7c3RyaW5nLnNsaWNlKCRzdHIsIDAsICRpbmRleCAtIDEpfSN7c3RyaW5nLnNsaWNlKCRzdHIsICRpbmRleCArIDEpfVwiO1xuICB9XG4gIEByZXR1cm4gJHN0cjtcbn1cblxuQGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiAnJykge1xuICAkaW5kZXg6IHN0cmluZy5pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcbiAgQGlmICRpbmRleCB7XG4gICAgQHJldHVybiBzdHJpbmcuc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIHN0ci1yZXBsYWNlKHN0cmluZy5zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHJpbmcubGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpO1xuICB9XG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuQGZ1bmN0aW9uIGdldC1oc2wtdmFsdWVzKCRoc2wpIHtcbiAgJGluZGV4LTE6IHN0cmluZy5pbmRleCgkaHNsLCBcIixcIik7XG4gICRodWU6IHN0cmluZy5zbGljZSgkaHNsLCAxLCAkaW5kZXgtMSAtIDEpO1xuICAkbGlzdDogKCN7JGh1ZX0pO1xuICAkcmVtYWluaW5nOiBzdHJpbmcuc2xpY2UoJGhzbCwgJGluZGV4LTEgKyAxLCAtMSk7XG4gICRpbmRleC0yOiBzdHJpbmcuaW5kZXgoJHJlbWFpbmluZywgXCIsXCIpO1xuICAkc2F0dXJhdGlvbjogc3RyLXJlbW92ZS13aGl0ZXNwYWNlKHN0cmluZy5zbGljZSgkcmVtYWluaW5nLCAxLCAkaW5kZXgtMiAtIDEpKTtcbiAgJGxpc3Q6IGxpc3QuYXBwZW5kKCRsaXN0LCAjeyRzYXR1cmF0aW9ufSk7XG4gICRyZW1haW5pbmc6IHN0ci1yZW1vdmUtd2hpdGVzcGFjZShzdHJpbmcuc2xpY2UoJHJlbWFpbmluZywgJGluZGV4LTIgKyAxLCAtMSkpO1xuICAkbGlzdDogbGlzdC5hcHBlbmQoJGxpc3QsICN7JHJlbWFpbmluZ30pO1xuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLyByZXR1cm4gY29sb3Igd2l0aCBkaWZmZXJlbnQgb3BhY2l0eSB2YWx1ZVxuQGZ1bmN0aW9uIGFscGhhKCRjb2xvciwgJGFscGhhKSB7XG4gICRjb2xvcjogc3RyLXJlcGxhY2UoJGNvbG9yLCAndmFyKCcpO1xuICAkY29sb3I6IHN0ci1yZXBsYWNlKCRjb2xvciwgJyknKTtcbiAgJGNvbG9yLWg6IHZhcigjeyRjb2xvcisnLWgnfSk7XG4gICRjb2xvci1zOiB2YXIoI3skY29sb3IrJy1zJ30pO1xuICAkY29sb3ItbDogdmFyKCN7JGNvbG9yKyctbCd9KTtcbiAgQHJldHVybiBoc2xhKCRjb2xvci1oLCAkY29sb3ItcywgJGNvbG9yLWwsICRhbHBoYSk7XG59XG5cbi8vIHJldHVybiBjb2xvciB3aXRoIGRpZmZlcmVudCBsaWdodG5lc3MgdmFsdWVcbkBmdW5jdGlvbiBsaWdodG5lc3MoJGNvbG9yLCAkbGlnaHRuZXNzLW11bHRpcGxpZXIpIHtcbiAgJGNvbG9yOiBzdHItcmVwbGFjZSgkY29sb3IsICd2YXIoJyk7XG4gICRjb2xvcjogc3RyLXJlcGxhY2UoJGNvbG9yLCAnKScpO1xuICAkY29sb3ItaDogdmFyKCN7JGNvbG9yKyctaCd9KTtcbiAgJGNvbG9yLXM6IHZhcigjeyRjb2xvcisnLXMnfSk7XG4gICRjb2xvci1sOiB2YXIoI3skY29sb3IrJy1sJ30pO1xuICBAcmV0dXJuIGhzbCgkY29sb3ItaCwgJGNvbG9yLXMsIGNhbGMoI3skY29sb3ItbH0gKiAjeyRsaWdodG5lc3MtbXVsdGlwbGllcn0pKTtcbn1cblxuLy8gbW9kaWZ5IGNvbG9yIEhTTEEgdmFsdWVzXG5AZnVuY3Rpb24gYWRqdXN0LWhzbGEoJGNvbG9yLCAkaHVlLW11bHRpcGxpZXI6IDEsICRzYXR1cmF0aW9uLW11bHRpcGxpZXI6IDEsICRsaWdodG5lc3MtbXVsdGlwbGllcjogMSwgJGFscGhhOiAxKSB7XG4gICRjb2xvcjogc3RyLXJlcGxhY2UoJGNvbG9yLCAndmFyKCcpO1xuICAkY29sb3I6IHN0ci1yZXBsYWNlKCRjb2xvciwgJyknKTtcbiAgJGNvbG9yLWg6IHZhcigjeyRjb2xvcisnLWgnfSk7XG4gICRjb2xvci1zOiB2YXIoI3skY29sb3IrJy1zJ30pO1xuICAkY29sb3ItbDogdmFyKCN7JGNvbG9yKyctbCd9KTtcbiAgQHJldHVybiBoc2xhKGNhbGMoI3skY29sb3ItaH0gKiAjeyRodWUtbXVsdGlwbGllcn0pLCBjYWxjKCN7JGNvbG9yLXN9ICogI3skc2F0dXJhdGlvbi1tdWx0aXBsaWVyfSksIGNhbGMoI3skY29sb3ItbH0gKiAjeyRsaWdodG5lc3MtbXVsdGlwbGllcn0pLCAkYWxwaGEpO1xufVxuXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xuICBAaWYgbWV0YS50eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9IEBlbHNlIGlmIG1ldGEudHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcbiAgICAkXzogbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xuICB9XG4gIFxuICAkcmVzdWx0OiAwO1xuICAkZGlnaXRzOiAwO1xuICAkbWludXM6IHN0cmluZy5zbGljZSgkdmFsdWUsIDEsIDEpID09ICctJztcbiAgJG51bWJlcnM6ICgnMCc6IDAsICcxJzogMSwgJzInOiAyLCAnMyc6IDMsICc0JzogNCwgJzUnOiA1LCAnNic6IDYsICc3JzogNywgJzgnOiA4LCAnOSc6IDkpO1xuICBcbiAgQGZvciAkaSBmcm9tIGlmKCRtaW51cywgMiwgMSkgdGhyb3VnaCBzdHJpbmcubGVuZ3RoKCR2YWx1ZSkge1xuICAgICRjaGFyYWN0ZXI6IHN0cmluZy5zbGljZSgkdmFsdWUsICRpLCAkaSk7XG4gICAgXG4gICAgQGlmIG5vdCAobGlzdC5pbmRleChtYXAua2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XG4gICAgICBAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyaW5nLnNsaWNlKCR2YWx1ZSwgJGkpKVxuICAgIH1cbiAgICBcbiAgICBAaWYgJGNoYXJhY3RlciA9PSAnLicge1xuICAgICAgJGRpZ2l0czogMTsgXG4gICAgfSBAZWxzZSBpZiAkZGlnaXRzID09IDAge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgbWFwLmdldCgkbnVtYmVycywgJGNoYXJhY3Rlcik7ICBcbiAgICB9IEBlbHNlIHtcbiAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXRoLmRpdihtYXAuZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSwgJGRpZ2l0cyk7XG4gICAgfVxuICB9XG4gIFxuICBAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpOztcbn1cblxuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XG4gICR1bml0czogKCdweCc6IDFweCwgJ2NtJzogMWNtLCAnbW0nOiAxbW0sICclJzogMSUsICdjaCc6IDFjaCwgJ3BjJzogMXBjLCAnaW4nOiAxaW4sICdlbSc6IDFlbSwgJ3JlbSc6IDFyZW0sICdwdCc6IDFwdCwgJ2V4JzogMWV4LCAndncnOiAxdncsICd2aCc6IDF2aCwgJ3ZtaW4nOiAxdm1pbiwgJ3ZtYXgnOiAxdm1heCk7XG4gIFxuICBAaWYgbm90IGxpc3QuaW5kZXgobWFwLmtleXMoJHVuaXRzKSwgJHVuaXQpIHtcbiAgICAkXzogbG9nKCdJbnZhbGlkIHVuaXQgYCN7JHVuaXR9YC4nKTtcbiAgfVxuICBcbiAgQHJldHVybiAkdmFsdWUgKiBtYXAuZ2V0KCR1bml0cywgJHVuaXQpO1xufVxuXG4vLyBkZWZpbmUgSFNMIGNvbG9yIHZhcmlhYmxlXG5AbWl4aW4gZGVmaW5lLWhzbC1jb2xvcigkY29sb3IsICRodWUsICRzYXR1cmF0aW9uLCAkbGlnaHRuZXNzKSB7XG4gICN7JGNvbG9yfS1oOiAjeyRodWV9OyN7JGNvbG9yfS1zOiAjeyRzYXR1cmF0aW9ufTsjeyRjb2xvcn0tbDogI3skbGlnaHRuZXNzfTsjeyRjb2xvcn06IGhzbCh2YXIoI3skY29sb3J9LWgpLCB2YXIoI3skY29sb3J9LXMpLCB2YXIoI3skY29sb3J9LWwpKTtcbn1cblxuLy8gYWRkIGEgcHJlZml4IHRvIGFsbCB0aGUgdXRpbGl0eSBjbGFzc2VzXG4kdXRpbC1wcmVmaXg6ICcnICFkZWZhdWx0O1xuXG4vLyBicmVha3BvaW50c1xuJGJyZWFrcG9pbnRzOiAoXG4gICd4cyc6ICczMnJlbScsXG4gICdzbSc6ICc0OHJlbScsXG4gICdtZCc6ICc2NHJlbScsXG4gICdsZyc6ICc4MHJlbScsXG4gICd4bCc6ICc5MHJlbSdcbikgIWRlZmF1bHQ7XG5cbkBtaXhpbiBtaW4td2lkdGgoJGJyZWFrcG9pbnQpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC5nZXQoJG1hcDogJGJyZWFrcG9pbnRzLCAka2V5OiAkYnJlYWtwb2ludCkpIHsgQGNvbnRlbnQ7IH1cbn1cblxuQG1peGluIG1heC13aWR0aCgkYnJlYWtwb2ludCkge1xuICBAbWVkaWEgbm90IGFsbCBhbmQgKG1pbi13aWR0aDogbWFwLmdldCgkbWFwOiAkYnJlYWtwb2ludHMsICRrZXk6ICRicmVha3BvaW50KSkgeyBAY29udGVudDsgfVxufVxuXG4vLyBncmlkXG4kZ3JpZC1jb2x1bW5zOiAxMiAhZGVmYXVsdDtcblxuLy8gc3BhY2luZ1xuJHNwYWNpbmc6IChcbiAgJ2ZsdWlkJzogKFxuICAgICdAc20nOiAoXG4gICAgICAnNHhzJzogJzAuMTI1cmVtJyxcbiAgICAgICczeHMnOiAnMC4yNXJlbScsXG4gICAgICAnMnhzJzogJzAuNXJlbScsXG4gICAgICAneHMnOiAnMC43NXJlbScsXG4gICAgICAnc20nOiAnMXJlbScsXG4gICAgICAnbWQnOiAnMS41cmVtJyxcbiAgICAgICdsZyc6ICcyLjI1cmVtJyxcbiAgICAgICd4bCc6ICczLjVyZW0nLFxuICAgICAgJzJ4bCc6ICc1Ljc1cmVtJyxcbiAgICAgICczeGwnOiAnOS4yNXJlbScsXG4gICAgICAnNHhsJzogJzE1cmVtJyxcbiAgICApLFxuICAgICdAbGcnOiAoXG4gICAgICAnNHhzJzogJzAuMTI1cmVtJyxcbiAgICAgICczeHMnOiAnMC4yNXJlbScsXG4gICAgICAnMnhzJzogJzAuNXJlbScsXG4gICAgICAneHMnOiAnMC43NXJlbScsXG4gICAgICAnc20nOiAnMXJlbScsXG4gICAgICAnbWQnOiAnMS43NXJlbScsXG4gICAgICAnbGcnOiAnM3JlbScsXG4gICAgICAneGwnOiAnNXJlbScsXG4gICAgICAnMnhsJzogJzhyZW0nLFxuICAgICAgJzN4bCc6ICcxMi4yNXJlbScsXG4gICAgICAnNHhsJzogJzIwcmVtJyxcbiAgICApXG4gIClcbikgIWRlZmF1bHQ7XG5cbi8vIGZvbnQtZmFtaWx5XG4kZm9udC1mYW1pbHk6IChcbiAgJ3ByaW1hcnknOiAnJ1xuKSAhZGVmYXVsdDtcblxuLy8gZm9udC1zaXplXG4kZm9udC1zaXplOiAoXG4gICdmbHVpZCc6IChcbiAgICAnQHNtJzogKFxuICAgICAgJ3hzJzogJzAuNjg3NXJlbScsXG4gICAgICAnc20nOiAnMC44MTI1cmVtJyxcbiAgICAgICdiYXNlJzogJzFyZW0nLFxuICAgICAgJ21kJzogJzEuMTg3NXJlbScsXG4gICAgICAnbGcnOiAnMS40Mzc1cmVtJyxcbiAgICAgICd4bCc6ICcxLjc1cmVtJyxcbiAgICAgICcyeGwnOiAnMi4wNjI1cmVtJyxcbiAgICAgICczeGwnOiAnMi41cmVtJyxcbiAgICAgICc0eGwnOiAnM3JlbScsXG4gICAgKSxcbiAgICAnQGxnJzogKFxuICAgICAgJ3hzJzogJzAuNzVyZW0nLFxuICAgICAgJ3NtJzogJzAuOTM3NXJlbScsXG4gICAgICAnYmFzZSc6ICcxLjEyNXJlbScsXG4gICAgICAnbWQnOiAnMS4zNzVyZW0nLFxuICAgICAgJ2xnJzogJzEuNjI1cmVtJyxcbiAgICAgICd4bCc6ICcycmVtJyxcbiAgICAgICcyeGwnOiAnMi41cmVtJyxcbiAgICAgICczeGwnOiAnM3JlbScsXG4gICAgICAnNHhsJzogJzMuNjI1cmVtJyxcbiAgICApXG4gIClcbikgIWRlZmF1bHQ7XG5cbi8vIGxpbmUtaGVpZ2h0XG4kbGluZS1oZWlnaHQ6IChcbiAgJ3hzJzogJzEuMScsXG4gICdzbSc6ICcxLjInLFxuICAnbWQnOiAnMS40JyxcbiAgJ2xnJzogJzEuNTgnLFxuICAneGwnOiAnMS43MidcbikgIWRlZmF1bHQ7XG5cbi8vIGNvbG9yc1xuJGNvbG9yczogKFxuICAnZGVmYXVsdCc6IChcbiAgICAncHJpbWFyeSc6IChcbiAgICAgICdkYXJrZXInOiAnMjUwLCA4NCUsIDM4JScsXG4gICAgICAnZGFyayc6ICcyNTAsIDg0JSwgNDYlJyxcbiAgICAgICdiYXNlJzogJzI1MCwgODQlLCA1NCUnLFxuICAgICAgJ2xpZ2h0JzogJzI1MCwgODQlLCA2MCUnLFxuICAgICAgJ2xpZ2h0ZXInOiAnMjUwLCA4NCUsIDY3JSdcbiAgICApLFxuICAgICdhY2NlbnQnOiAoXG4gICAgICAnZGFya2VyJzogJzM0MiwgODklLCAzOCUnLFxuICAgICAgJ2RhcmsnOiAnMzQyLCA4OSUsIDQzJScsXG4gICAgICAnYmFzZSc6ICczNDIsIDg5JSwgNDglJyxcbiAgICAgICdsaWdodCc6ICczNDIsIDg5JSwgNTYlJyxcbiAgICAgICdsaWdodGVyJzogJzM0MiwgODklLCA2MiUnXG4gICAgKSxcbiAgICAnYmxhY2snOiAoXG4gICAgICAnYmFzZSc6ICcyMzAsIDEzJSwgOSUnXG4gICAgKSxcbiAgICAnd2hpdGUnOiAoXG4gICAgICAnYmFzZSc6ICcwLCAwJSwgMTAwJSdcbiAgICApLFxuICAgICd3YXJuaW5nJzogKFxuICAgICAgJ2Rhcmtlcic6ICczNSwgNzklLCA0OCUnLFxuICAgICAgJ2RhcmsnOiAnMzUsIDc5JSwgNTYlJyxcbiAgICAgICdiYXNlJzogJzM1LCA3OSUsIDY2JScsXG4gICAgICAnbGlnaHQnOiAnMzUsIDc5JSwgNzQlJyxcbiAgICAgICdsaWdodGVyJzogJzM1LCA3OSUsIDgyJSdcbiAgICApLFxuICAgICdzdWNjZXNzJzogKFxuICAgICAgJ2Rhcmtlcic6ICcxNzAsIDc4JSwgMjYlJyxcbiAgICAgICdkYXJrJzogJzE3MCwgNzglLCAzMSUnLFxuICAgICAgJ2Jhc2UnOiAnMTcwLCA3OCUsIDM2JScsXG4gICAgICAnbGlnaHQnOiAnMTcwLCA3OCUsIDQyJScsXG4gICAgICAnbGlnaHRlcic6ICcxNzAsIDc4JSwgNDclJ1xuICAgICksXG4gICAgJ2Vycm9yJzogKFxuICAgICAgJ2Rhcmtlcic6ICczNDIsIDg5JSwgMzglJyxcbiAgICAgICdkYXJrJzogJzM0MiwgODklLCA0MyUnLFxuICAgICAgJ2Jhc2UnOiAnMzQyLCA4OSUsIDQ4JScsXG4gICAgICAnbGlnaHQnOiAnMzQyLCA4OSUsIDU2JScsXG4gICAgICAnbGlnaHRlcic6ICczNDIsIDg5JSwgNjIlJ1xuICAgICksXG4gICAgJ2JnJzogKFxuICAgICAgJ2Rhcmtlcic6ICcyNDAsIDQlLCA5MCUnLFxuICAgICAgJ2RhcmsnOiAnMjQwLCA0JSwgOTUlJyxcbiAgICAgICdiYXNlJzogJzAsIDAlLCAxMDAlJyxcbiAgICAgICdsaWdodCc6ICcwLCAwJSwgMTAwJScsXG4gICAgICAnbGlnaHRlcic6ICcwLCAwJSwgMTAwJSdcbiAgICApLFxuICAgICdjb250cmFzdCc6IChcbiAgICAgICdsb3dlcic6ICcyNDAsIDQlLCA4NSUnLFxuICAgICAgJ2xvdyc6ICcyNDAsIDQlLCA2NSUnLFxuICAgICAgJ21lZGl1bSc6ICcyMjUsIDQlLCA0NyUnLFxuICAgICAgJ2hpZ2gnOiAnMjMwLCA3JSwgMjMlJyxcbiAgICAgICdoaWdoZXInOiAnMjMwLCAxMyUsIDklJ1xuICAgIClcbiAgKSxcbiAgJ2RhcmsnOiAoXG4gICAgJ3ByaW1hcnknOiAoXG4gICAgICAnZGFya2VyJzogJzI1MCwgMTAwJSwgNjAlJyxcbiAgICAgICdkYXJrJzogJzI1MCwgMTAwJSwgNjQlJyxcbiAgICAgICdiYXNlJzogJzI1MCwgMTAwJSwgNjklJyxcbiAgICAgICdsaWdodCc6ICcyNTAsIDEwMCUsIDcyJScsXG4gICAgICAnbGlnaHRlcic6ICcyNTAsIDEwMCUsIDc2JSdcbiAgICApLFxuICAgICdhY2NlbnQnOiAoXG4gICAgICAnZGFya2VyJzogJzM0MiwgOTIlLCA0MSUnLFxuICAgICAgJ2RhcmsnOiAnMzQyLCA5MiUsIDQ3JScsXG4gICAgICAnYmFzZSc6ICczNDIsIDkyJSwgNTQlJyxcbiAgICAgICdsaWdodCc6ICczNDIsIDkyJSwgNjAlJyxcbiAgICAgICdsaWdodGVyJzogJzM0MiwgOTIlLCA2NSUnXG4gICAgKSxcbiAgICAnYmxhY2snOiAoXG4gICAgICAnYmFzZSc6ICcyMzAsIDEzJSwgOSUnXG4gICAgKSxcbiAgICAnd2hpdGUnOiAoXG4gICAgICAnYmFzZSc6ICcwLCAwJSwgMTAwJSdcbiAgICApLFxuICAgICd3YXJuaW5nJzogKFxuICAgICAgJ2Rhcmtlcic6ICczNSwgNzklLCA0OCUnLFxuICAgICAgJ2RhcmsnOiAnMzUsIDc5JSwgNTYlJyxcbiAgICAgICdiYXNlJzogJzM1LCA3OSUsIDY2JScsXG4gICAgICAnbGlnaHQnOiAnMzUsIDc5JSwgNzQlJyxcbiAgICAgICdsaWdodGVyJzogJzM1LCA3OSUsIDgyJSdcbiAgICApLFxuICAgICdzdWNjZXNzJzogKFxuICAgICAgJ2Rhcmtlcic6ICcxNzAsIDc4JSwgMjYlJyxcbiAgICAgICdkYXJrJzogJzE3MCwgNzglLCAzMSUnLFxuICAgICAgJ2Jhc2UnOiAnMTcwLCA3OCUsIDM2JScsXG4gICAgICAnbGlnaHQnOiAnMTcwLCA3OCUsIDQyJScsXG4gICAgICAnbGlnaHRlcic6ICcxNzAsIDc4JSwgNDclJ1xuICAgICksXG4gICAgJ2Vycm9yJzogKFxuICAgICAgJ2Rhcmtlcic6ICczNDIsIDkyJSwgNDElJyxcbiAgICAgICdkYXJrJzogJzM0MiwgOTIlLCA0NyUnLFxuICAgICAgJ2Jhc2UnOiAnMzQyLCA5MiUsIDU0JScsXG4gICAgICAnbGlnaHQnOiAnMzQyLCA5MiUsIDYwJScsXG4gICAgICAnbGlnaHRlcic6ICczNDIsIDkyJSwgNjUlJ1xuICAgICksXG4gICAgJ2JnJzogKFxuICAgICAgJ2Rhcmtlcic6ICcyMzIsIDclLCA4JScsXG4gICAgICAnZGFyayc6ICcyMzMsIDglLCAxMSUnLFxuICAgICAgJ2Jhc2UnOiAnMjMyLCAxMSUsIDE1JScsXG4gICAgICAnbGlnaHQnOiAnMjMzLCA4JSwgMTklJyxcbiAgICAgICdsaWdodGVyJzogJzIzMiwgNyUsIDIyJSdcbiAgICApLFxuICAgICdjb250cmFzdCc6IChcbiAgICAgICdsb3dlcic6ICcyNDAsIDYlLCAyNiUnLFxuICAgICAgJ2xvdyc6ICcyNDAsIDMlLCA0MSUnLFxuICAgICAgJ21lZGl1bSc6ICcyMzEsIDMlLCA1NyUnLFxuICAgICAgJ2hpZ2gnOiAnMjQwLCA1JSwgODIlJyxcbiAgICAgICdoaWdoZXInOiAnMjQwLCAxMDAlLCA5OSUnXG4gICAgKVxuICApXG4pICFkZWZhdWx0O1xuXG4kZ3JhZGllbnRzOiAoKSAhZGVmYXVsdDtcblxuLy8gYXNwZWN0LXJhdGlvXG4kYXNwZWN0LXJhdGlvOiAoMTYgOSwgMyAyLCA0IDMsIDUgNCwgMSAxLCA0IDUsIDMgNCwgMiAzLCA5IDE2KSAhZGVmYXVsdDtcblxuLy8gbWVkaWEtd3JhcHBlclxuJG1lZGlhLXdyYXBwZXI6ICgxNiA5LCAzIDIsIDQgMywgMSAxKSAhZGVmYXVsdDtcblxuLy8gd2lkdGhcbiR3aWR0aDogKFxuICAnNHhzJzogJzAuMjVyZW0nLFxuICAnM3hzJzogJzAuNXJlbScsXG4gICcyeHMnOiAnMC43NXJlbScsXG4gICd4cyc6ICcxcmVtJyxcbiAgJ3NtJzogJzEuNXJlbScsXG4gICdtZCc6ICcycmVtJyxcbiAgJ2xnJzogJzNyZW0nLFxuICAneGwnOiAnNHJlbScsXG4gICcyeGwnOiAnNnJlbScsXG4gICczeGwnOiAnOHJlbScsXG4gICc0eGwnOiAnMTZyZW0nLFxuICAwOiAnMCcsXG4gIDEwXFwlOiAnMTAlJyxcbiAgMjBcXCU6ICcyMCUnLFxuICAyNVxcJTogJzI1JScsXG4gIDMwXFwlOiAnMzAlJyxcbiAgMzNcXCU6ICczMyUnLFxuICA0MFxcJTogJzQwJScsXG4gIDUwXFwlOiAnNTAlJyxcbiAgNjBcXCU6ICc2MCUnLFxuICA3MFxcJTogJzcwJScsXG4gIDc1XFwlOiAnNzUlJyxcbiAgODBcXCU6ICc4MCUnLFxuICA5MFxcJTogJzkwJScsXG4gIDEwMFxcJTogJzEwMCUnXG4pICFkZWZhdWx0O1xuXG4vLyBoZWlnaHRcbiRoZWlnaHQ6IChcbiAgJzR4cyc6ICcwLjI1cmVtJyxcbiAgJzN4cyc6ICcwLjVyZW0nLFxuICAnMnhzJzogJzAuNzVyZW0nLFxuICAneHMnOiAnMXJlbScsXG4gICdzbSc6ICcxLjVyZW0nLFxuICAnbWQnOiAnMnJlbScsXG4gICdsZyc6ICczcmVtJyxcbiAgJ3hsJzogJzRyZW0nLFxuICAnMnhsJzogJzZyZW0nLFxuICAnM3hsJzogJzhyZW0nLFxuICAnNHhsJzogJzE2cmVtJyxcbiAgMDogJzAnLFxuICAxMFxcJTogJzEwJScsXG4gIDIwXFwlOiAnMjAlJyxcbiAgMjVcXCU6ICcyNSUnLFxuICAzMFxcJTogJzMwJScsXG4gIDMzXFwlOiAnMzMlJyxcbiAgNDBcXCU6ICc0MCUnLFxuICA1MFxcJTogJzUwJScsXG4gIDYwXFwlOiAnNjAlJyxcbiAgNzBcXCU6ICc3MCUnLFxuICA3NVxcJTogJzc1JScsXG4gIDgwXFwlOiAnODAlJyxcbiAgOTBcXCU6ICc5MCUnLFxuICAxMDBcXCU6ICcxMDAlJ1xuKSAhZGVmYXVsdDtcblxuLy8gbWF4LXdpZHRoXG4kbWF4LXdpZHRoOiAoXG4gICczeHMnOiAnMjByZW0nLFxuICAnMnhzJzogJzI2cmVtJyxcbiAgJ3hzJzogJzMycmVtJyxcbiAgJ3NtJzogJzQ4cmVtJyxcbiAgJ21kJzogJzY0cmVtJyxcbiAgJ2xnJzogJzgwcmVtJyxcbiAgJ3hsJzogJzkwcmVtJ1xuKSAhZGVmYXVsdDtcblxuJGNvbnRhaW5lci1tYXJnaW4teDogdmFyKC0tc3BhY2UtbWQpICFkZWZhdWx0O1xuXG4vLyBib3gtc2hhZG93XG4kYm94LXNoYWRvdzogKFxuICAncmluZyc6ICcwIDAgMCAxcHggaHNsYSh2YXIoLS1jb2xvci1ibGFjay1oKSwgdmFyKC0tY29sb3ItYmxhY2stcyksIHZhcigtLWNvbG9yLWJsYWNrLWwpLCAwLjA1KScsXG4gICd4cyc6ICcwIDAgMCAxcHggaHNsYSh2YXIoLS1jb2xvci1ibGFjay1oKSwgdmFyKC0tY29sb3ItYmxhY2stcyksIHZhcigtLWNvbG9yLWJsYWNrLWwpLCAwLjAyKSwgMCAxcHggM3B4IC0xcHggaHNsYSh2YXIoLS1jb2xvci1ibGFjay1oKSwgdmFyKC0tY29sb3ItYmxhY2stcyksIHZhcigtLWNvbG9yLWJsYWNrLWwpLCAwLjIpJyxcbiAgJ3NtJzogJzAgMC4zcHggMC40cHggaHNsYSh2YXIoLS1jb2xvci1ibGFjay1oKSwgdmFyKC0tY29sb3ItYmxhY2stcyksIHZhcigtLWNvbG9yLWJsYWNrLWwpLCAwLjAyKSwgMCAwLjlweCAxLjVweCBoc2xhKHZhcigtLWNvbG9yLWJsYWNrLWgpLCB2YXIoLS1jb2xvci1ibGFjay1zKSwgdmFyKC0tY29sb3ItYmxhY2stbCksIDAuMDQ1KSwgMCAzLjVweCA2cHggaHNsYSh2YXIoLS1jb2xvci1ibGFjay1oKSwgdmFyKC0tY29sb3ItYmxhY2stcyksIHZhcigtLWNvbG9yLWJsYWNrLWwpLCAwLjA5KScsXG4gICdtZCc6ICcwIDAuOXB4IDEuMjVweCBoc2xhKHZhcigtLWNvbG9yLWJsYWNrLWgpLCB2YXIoLS1jb2xvci1ibGFjay1zKSwgdmFyKC0tY29sb3ItYmxhY2stbCksIDAuMDI1KSwgMCAzcHggNXB4IGhzbGEodmFyKC0tY29sb3ItYmxhY2staCksIHZhcigtLWNvbG9yLWJsYWNrLXMpLCB2YXIoLS1jb2xvci1ibGFjay1sKSwgMC4wNSksIDAgMTJweCAyMHB4IGhzbGEodmFyKC0tY29sb3ItYmxhY2staCksIHZhcigtLWNvbG9yLWJsYWNrLXMpLCB2YXIoLS1jb2xvci1ibGFjay1sKSwgMC4wOSknLFxuICAnbGcnOiAnMCAxLjJweCAxLjlweCAtMXB4IGhzbGEodmFyKC0tY29sb3ItYmxhY2staCksIHZhcigtLWNvbG9yLWJsYWNrLXMpLCB2YXIoLS1jb2xvci1ibGFjay1sKSwgMC4wMSksIDAgM3B4IDVweCAtMXB4IGhzbGEodmFyKC0tY29sb3ItYmxhY2staCksIHZhcigtLWNvbG9yLWJsYWNrLXMpLCB2YXIoLS1jb2xvci1ibGFjay1sKSwgMC4wMTUpLCAwIDhweCAxNXB4IC0xcHggaHNsYSh2YXIoLS1jb2xvci1ibGFjay1oKSwgdmFyKC0tY29sb3ItYmxhY2stcyksIHZhcigtLWNvbG9yLWJsYWNrLWwpLCAwLjA1KSwgMCAyOHB4IDQwcHggLTFweCBoc2xhKHZhcigtLWNvbG9yLWJsYWNrLWgpLCB2YXIoLS1jb2xvci1ibGFjay1zKSwgdmFyKC0tY29sb3ItYmxhY2stbCksIDAuMSknLFxuICAneGwnOiAnMCAxLjVweCAyLjFweCAtNnB4IGhzbGEodmFyKC0tY29sb3ItYmxhY2staCksIHZhcigtLWNvbG9yLWJsYWNrLXMpLCB2YXIoLS1jb2xvci1ibGFjay1sKSwgMC4wMDkpLCAwIDMuNnB4IDUuMnB4IC02cHggaHNsYSh2YXIoLS1jb2xvci1ibGFjay1oKSwgdmFyKC0tY29sb3ItYmxhY2stcyksIHZhcigtLWNvbG9yLWJsYWNrLWwpLCAwLjAxMTUpLCAwIDcuM3B4IDEwLjZweCAtNnB4IGhzbGEodmFyKC0tY29sb3ItYmxhY2staCksIHZhcigtLWNvbG9yLWJsYWNrLXMpLCB2YXIoLS1jb2xvci1ibGFjay1sKSwgMC4wMTI1KSwgMCAxNi4ycHggMjEuOXB4IC02cHggaHNsYSh2YXIoLS1jb2xvci1ibGFjay1oKSwgdmFyKC0tY29sb3ItYmxhY2stcyksIHZhcigtLWNvbG9yLWJsYWNrLWwpLCAwLjAyNSksIDAgNDZweCA2MHB4IC02cHggaHNsYSh2YXIoLS1jb2xvci1ibGFjay1oKSwgdmFyKC0tY29sb3ItYmxhY2stcyksIHZhcigtLWNvbG9yLWJsYWNrLWwpLCAwLjE1KSdcbikgIWRlZmF1bHQ7XG5cbi8vIGlubmVyLWdsb3dcbiRpbm5lci1nbG93OiAoXG4gICdnbG93JzogJ2luc2V0IDAgMCAwLjVweCAxcHggaHNsYSh2YXIoLS1jb2xvci13aGl0ZS1oKSwgdmFyKC0tY29sb3Itd2hpdGUtcyksIHZhcigtLWNvbG9yLXdoaXRlLWwpLCAwLjA3NSknLFxuICAnZ2xvdy10b3AnOiAnaW5zZXQgMCAxcHggMC41cHggaHNsYSh2YXIoLS1jb2xvci13aGl0ZS1oKSwgdmFyKC0tY29sb3Itd2hpdGUtcyksIHZhcigtLWNvbG9yLXdoaXRlLWwpLCAwLjA3NSknXG4pICFkZWZhdWx0O1xuXG4vLyBib3JkZXItcmFkaXVzXG4kYm9yZGVyLXJhZGl1czogKFxuICAnc20nOiAnMC4xODc1ZW0nLFxuICAnbWQnOiAnMC4zNzVlbScsXG4gICdsZyc6ICcwLjc1ZW0nXG4pICFkZWZhdWx0O1xuXG4vLyB6LWluZGV4XG4kei1pbmRleDogKFxuICAnaGVhZGVyJzogJzMnLFxuICAncG9wb3Zlcic6ICc1JyxcbiAgJ2ZpeGVkLWVsZW1lbnQnOiAnMTAnLFxuICAnb3ZlcmxheSc6ICcxNSdcbikgIWRlZmF1bHQ7XG5cbi8vIHJlc2V0IHVzZXIgYWdlbnQgc3R5bGVcbkBtaXhpbiByZXNldCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy8gYWNjZXNzaWJpbGl0eSDihpIgaGlkZVxuQG1peGluIHNySGlkZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG59XG5cbi8vIGFjY2Vzc2liaWxpdHkg4oaSIHNob3dcbkBtaXhpbiBzclNob3cge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBjbGlwOiBhdXRvO1xuICBjbGlwLXBhdGg6IG5vbmU7XG59XG5cbi8vIGVkaXQgZm9udCByZW5kZXJpbmdcbkBtaXhpbiBmb250U21vb3RoIHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi8vIHRyaWFuZ2xlXG5AbWl4aW4gdHJpYW5nbGUgKCRkaXJlY3Rpb246IHVwLCAkd2lkdGg6IDEycHgsICRjb2xvcjogcmVkKSB7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gIEBpZiggJGRpcmVjdGlvbiA9PSBsZWZ0ICkge1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGNvbG9yO1xuICB9IEBlbHNlIGlmKCAkZGlyZWN0aW9uID09IHJpZ2h0ICkge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkY29sb3I7XG4gIH0gQGVsc2UgaWYoICRkaXJlY3Rpb24gPT0gZG93biApIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gIH0gQGVsc2Uge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLyBicmVha3BvaW50IChkZXByZWNhdGVkIOKGkiB1c2UgdGhlIG1pbi13aWR0aCBtaXhpbilcbkBtaXhpbiBicmVha3BvaW50KCRicmVha3BvaW50LCAkbG9naWM6IGZhbHNlKSB7XG4gIEBpZiggJGxvZ2ljICkge1xuICAgIEBtZWRpYSAjeyRsb2dpY30gYW5kIChtaW4td2lkdGg6IG1hcC5nZXQoJG1hcDogJGJyZWFrcG9pbnRzLCAka2V5OiAkYnJlYWtwb2ludCkpIHsgQGNvbnRlbnQ7IH1cbiAgfSBAZWxzZSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC5nZXQoJG1hcDogJGJyZWFrcG9pbnRzLCAka2V5OiAkYnJlYWtwb2ludCkpIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLyBkZWZpbmUgSFNMIGNvbG9yIHZhcmlhYmxlcyAoZGVwcmVjYXRlZCDihpIgdXNlIHRoZSBkZWZpbmUtaHNsLWNvbG9yIG1peGluKVxuQG1peGluIGRlZmluZUNvbG9ySFNMKCRjb2xvciwgJGh1ZSwgJHNhdHVyYXRpb24sICRsaWdodG5lc3MpIHtcbiAgI3skY29sb3J9OiB1bnF1b3RlKFwiaHNsKCN7JGh1ZX0sICN7JHNhdHVyYXRpb259LCAjeyRsaWdodG5lc3N9KVwiKTsjeyRjb2xvcn0taDogI3skaHVlfTsjeyRjb2xvcn0tczogI3skc2F0dXJhdGlvbn07I3skY29sb3J9LWw6ICN7JGxpZ2h0bmVzc307XG59XG5cbi8vIG1vZGlmeSBjb2xvciBIU0xBIHZhbHVlcyAoZGVwcmVjYXRlZCDihpIgdXNlIHRoZSBhZGp1c3QtaHNsYSBtaXhpbilcbkBmdW5jdGlvbiBhZGp1c3RIU0xBKCRjb2xvciwgJGh1ZS1tdWx0aXBsaWVyOiAxLCAkc2F0dXJhdGlvbi1tdWx0aXBsaWVyOiAxLCAkbGlnaHRuZXNzLW11bHRpcGxpZXI6IDEsICRhbHBoYTogMSkge1xuICAkY29sb3I6IHN0ci1yZXBsYWNlKCRjb2xvciwgJ3ZhcignKTtcbiAgJGNvbG9yOiBzdHItcmVwbGFjZSgkY29sb3IsICcpJyk7XG4gICRjb2xvci1oOiB2YXIoI3skY29sb3IrJy1oJ30pO1xuICAkY29sb3ItczogdmFyKCN7JGNvbG9yKyctcyd9KTtcbiAgJGNvbG9yLWw6IHZhcigjeyRjb2xvcisnLWwnfSk7XG4gIEByZXR1cm4gaHNsYShjYWxjKCN7JGNvbG9yLWh9ICogI3skaHVlLW11bHRpcGxpZXJ9KSwgY2FsYygjeyRjb2xvci1zfSAqICN7JHNhdHVyYXRpb24tbXVsdGlwbGllcn0pLCBjYWxjKCN7JGNvbG9yLWx9ICogI3skbGlnaHRuZXNzLW11bHRpcGxpZXJ9KSwgJGFscGhhKTtcbn1cblxuLy8gbGluZS1oZWlnaHQgY3JvcCAoZGVwcmVjYXRlZClcbkBtaXhpbiBsaENyb3AoJGxpbmUtaGVpZ2h0LCAkY2FwaXRhbC1sZXR0ZXI6IDEpIHtcbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgbWFyZ2luLXRvcDogY2FsYygoI3skY2FwaXRhbC1sZXR0ZXJ9IC0gI3skbGluZS1oZWlnaHR9KSAqIDAuNWVtKTtcbiAgfVxufSIsIkB1c2UgJy4vLi4vLi4vLi4vc2Fzcy9jb2R5ZnJhbWUvYmFzZS9jb25maWcnIGFzICo7XG5cblxuQGluY2x1ZGUgbWF4LXdpZHRoKG1kKSB7XG4gICAgXG5cbiAgICAuYWRkcmVzc2xpc3Qge1xuICAgICAgICAub3gtbGlzdCB7XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC43cmVtO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGh5cGhlbnM6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9IFxuXG59XG4iLCIuc2N0bi5hcmNoaXZlIHtcbiAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAzMS4yNXJlbTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpO1xuICAgIH1cbn0iLG51bGwsIi5ib3hsaXN0IHtcbiAgICAudGV4dC1jb21wb25lbnQge1xuICAgICAgICBtaW4taGVpZ2h0OiAxN3JlbTtcblxuICAgICAgICAmLmNvbC0zXFxAbWQge1xuICAgICAgICAgICAgbWluLWhlaWdodDogMTQuMzc1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgaGVpZ2h0OiA0LjY4NzVyZW07XG4gICAgICAgICAgICB3aWR0aDogNC42ODc1cmVtO1xuICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDAuODEyNXJlbTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMy4xMjVyZW07XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMuMTI1cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5ib3ggc3BhbiB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiBjYWxjKHZhcigtLWJvZHktbGluZS1oZWlnaHQpKjJlbSk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiBjYWxjKHZhcigtLWJvZHktbGluZS1oZWlnaHQpKjNlbSk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxufSIsIkB1c2UgJy4vLi4vLi4vLi4vc2Fzcy9jb2R5ZnJhbWUvYmFzZS9jb25maWcnIGFzICo7XG5cbioge1xuICAgIC0tZ290by1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgIC0tZ290by1zaXplOiA0LjVyZW07XG4gICAgLS1nb3RvLWlubmVyLXNpemU6IDIuODEyNXJlbTtcbiAgICAtLWljb24tb3V0ZXItc2l6ZTogNi4yNXJlbTtcbiAgICAtLWljb24taW5uZXItc2l6ZTogNHJlbTtcbn1cblxuLmNhcmRzIC5jYXJkOm5vdCguY2FyZC0tbGluaykge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC1hdXRvLXJvd3M6IDFmciBhdXRvO1xufVxuXG4uY2FyZHMge1xuICAgIC5jYXJkIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICBoZWlnaHQ6IDE4Ljc1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbGluayBpbWcge1xuICAgICAgICAgICAgaGVpZ2h0OiAyMS4yNXJlbTtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tYnRuIGltZyxcbiAgICAgICAgJi0taWNvbiB7XG4gICAgICAgICAgICAmX19pbWcge1xuICAgICAgICAgICAgICAgIFxuXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxOC4xMjVyZW07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmljb24tb3V0ZXIge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDUwJSwgLTUwJSwgMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19ub2ltZyB7XG4gICAgICAgICAgICAgICAgLmljb24tb3V0ZXIge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5nb3RvLW91dGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiB2YXIoLS1nb3RvLXNpemUpO1xuICAgICAgICAgICAgaGVpZ2h0OiB2YXIoLS1nb3RvLXNpemUpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICAgICAuaWNvbi1nb3RvIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogNTUlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5nb3RvLWlubmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IHZhcigtLWdvdG8taW5uZXItc2l6ZSk7XG4gICAgICAgICAgICBoZWlnaHQ6IHZhcigtLWdvdG8taW5uZXItc2l6ZSk7XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbi1vdXRlciB7XG4gICAgICAgICAgICB3aWR0aDogdmFyKC0taWNvbi1vdXRlci1zaXplKTtcbiAgICAgICAgICAgIGhlaWdodDogdmFyKC0taWNvbi1vdXRlci1zaXplKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uLWlubmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IHZhcigtLWljb24taW5uZXItc2l6ZSk7XG4gICAgICAgICAgICBoZWlnaHQ6IHZhcigtLWljb24taW5uZXItc2l6ZSk7XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbi1nb3RvIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdvdG8tY29sb3IpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuICAgICAgICAgIFxuICAgICAgICAuaWNvbi1nb3RvOjphZnRlciwgLmljb24tZ290bzo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgcmlnaHQ6IC0zcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nb3RvLWNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgICAgIFxuICAgICAgICAuaWNvbi1nb3RvOjphZnRlciB7XG4gICAgICAgICAgICB0b3A6IC01cHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIH1cbiAgICAgICAgICBcbiAgICAgICAgLmljb24tZ290bzo6YmVmb3JlIHtcbiAgICAgICAgICAgIHRvcDogNXB4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgfVxuICAgIFxuICAgIH1cbn0iLCIuc2N0bi5jb250ZW50IHsgICAgXG4gICAgLmljb24ge1xuICAgICAgICB3aWR0aDogMy4xMjVyZW07XG4gICAgICAgIGhlaWdodDogMy4xMjVyZW07XG4gICAgfVxufSIsIi5zY3RuLmRpYWdyYW1tIHtcbiAgICBwOm5vdChwOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xuICAgIH1cbiAgICAuaWNvbiB7XG4gICAgICAgd2lkdGg6IDEuNzVyZW07XG4gICAgICAgaGVpZ2h0OiAxLjc1cmVtOyBcbiAgICB9XG4gICAgLnRleHQtY29tcG9uZW50IHtcbiAgICAgICAgaDQge1xuICAgICAgICAgICAgaHlwaGVuczogYXV0bztcbiAgICAgICAgICAgIC1tb3otaHlwaGVuczogYXV0bztcbiAgICAgICAgICAgIC13ZWJraXQtaHlwaGVuczogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgaHlwaGVuczogYXV0bztcbiAgICAgICAgLW1vei1oeXBoZW5zOiBhdXRvO1xuICAgICAgICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4gICAgfVxufSIsbnVsbCwiLnNjdG4uZ2FsbGVyeSB7XG4gICAgLm1vZGFsLWltZy1idG5fX2ljb24td3JhcHBlciB7XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBmaWxsOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gXG5cbkZpbGUjOiBfMV9oZXJvXG5UaXRsZTogSGVyb1xuRGVzY3I6IEEgZnVsbC13aWR0aCBjYWxsb3V0IHNlY3Rpb25cblVzYWdlOiBjb2R5aG91c2UuY28vbGljZW5zZVxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uaGVybyB7XG4gIC8vIGlmIGJnID0gaW1nXG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgJi1iYWNrZ3JvdW5ke1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgfVxuICAmLXZpZGVve1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHZpZGVve1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBtaW4td2lkdGg6IDEwMCU7IFxuICAgICAgbWluLWhlaWdodDogMTAwJTsgXG4gICAgICBcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG4gICAgfVxuICB9XG4gICYtb3ZlcmxheXtcbiAgICAmOmJlZm9yZXtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0KTtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuXG4gICAgfVxuICB9XG5cbiAgJi5wYWRkaW5nLXktY29tcG9uZW50e1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLy8gLS1vdmVybGF5LWxheWVyXG4uaGVyby0tb3ZlcmxheS1sYXllciB7XG4gICY6OmFmdGVyIHsgLy8gYWRkIGEgbGF5ZXIgaW4gYmV0d2VlbiB0aGUgaW1nL3ZpZGVvIGJhY2tncm91bmQgYW5kIHRoZSBjb250ZW50XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAvL2JhY2tncm91bmQtY29sb3I6IGFscGhhKHZhcigtLWNvbG9yLWJnKSwgMC44KTtcbiAgICB6LWluZGV4OiAxO1xuICB9XG59IiwiQHVzZSAnLi8uLi8uLi8uLi9zYXNzL2NvZHlmcmFtZS9iYXNlL2NvbmZpZycgYXMgKjtcblxuLnNjdG4ucG9zdC1wcmV2aWV3IHtcbiAgICAuZ3JpZCB7XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtaW4td2lkdGgobWQpIHtcbiAgICAgICAgICAgIGhlaWdodDogMjEuODc1cmVtO1xuICAgICAgICB9XG4gICAgfVxufSIsIi5wcmljZSB7XG4gICAgdWwge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDAuNjI1cmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMC42MjVyZW07XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC41cmVtO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAxLjQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA5LjM3NXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCJAdXNlICcuLy4uLy4uLy4uL3Nhc3MvY29keWZyYW1lL2Jhc2UvY29uZmlnJyBhcyAqO1xuXG4qIHtcbiAgICAtLWRvdC1zaXplLWlubmVyOiAxLjMxMjVyZW07XG4gICAgLS1kb3Qtc2l6ZS1vdXRlcjogMi4xODc1cmVtO1xufVxuXG4udGltZWxpbmUge1xuICAgICYtd2hhdCxcbiAgICAmLXdoZW4ge1xuICAgICAgICBoeXBoZW5zOiBhdXRvO1xuICAgIH1cbiAgICAuY29udGFpbmVyOm5vdCgucHJlY29udGVudC1jb250YWluZXIpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tbGluZS1oZWlnaHQtbGcpKjJlbSk7XG4gICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgICAgICByaWdodDogNTAlO1xuICAgICAgICAgICAgdG9wOiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtYXgtd2lkdGgobWQpIHtcbiAgICAgICAgICAgICAgICByaWdodDogY2FsYyh2YXIoLS1kb3Qtc2l6ZS1vdXRlcikvMik7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1saW5lLWhlaWdodC1sZykqNGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuZG90e1xuICAgICAgICAmLWlubmVyIHtcbiAgICAgICAgICAgIHdpZHRoOiB2YXIoLS1kb3Qtc2l6ZS1pbm5lcik7XG4gICAgICAgICAgICBoZWlnaHQ6IHZhcigtLWRvdC1zaXplLWlubmVyKTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtb3V0ZXIge1xuICAgICAgICAgICAgd2lkdGg6IHZhcigtLWRvdC1zaXplLW91dGVyKTtcbiAgICAgICAgICAgIGhlaWdodDogdmFyKC0tZG90LXNpemUtb3V0ZXIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC50ZXh0LWxnIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWxnKTtcbiAgICAgICAgbWluLWhlaWdodDogY2FsYyh2YXIoLS1saW5lLWhlaWdodC1sZykqMmVtKTtcbiAgICB9XG5cbiAgICAudGV4dC1tZCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1tZCk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGNhbGModmFyKC0tbGluZS1oZWlnaHQtbWQpKjJlbSk7XG4gICAgfVxufSJdfQ== */