@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@-webkit-keyframes blink{0%,to{opacity:1}50%{opacity:0}}@-moz-keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes appear{0%{opacity:0}to{opacity:1}}@-webkit-keyframes appear{0%{opacity:0}to{opacity:1}}@-moz-keyframes appear{0%{opacity:0}to{opacity:1}}@keyframes appear-hammer{0%,to{opacity:0}50%,60%{opacity:1}}@-webkit-keyframes appear-hammer{0%,to{opacity:0}50%,60%{opacity:1}}@-moz-keyframes appear-hammer{0%,to{opacity:0}50%,60%{opacity:1}}@keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}@-webkit-keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}@-moz-keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}@keyframes fadein{0%{display:block;opacity:0}1%{opacity:0}to{opacity:1}}@-webkit-keyframes fadein{0%{display:block;opacity:0}1%{opacity:0}to{opacity:1}}@-moz-keyframes fadein{0%{display:block;opacity:0}1%{opacity:0}to{opacity:1}}@keyframes jump{0%,to{transform:translateY(0)}60%{transform:translateY(-20px)}}@-webkit-keyframes jump{0%,to{transform:translateY(0)}60%{transform:translateY(-20px)}}@-moz-keyframes jump{0%,to{transform:translateY(0)}60%{transform:translateY(-20px)}}@keyframes weight{0%{transform:rotate(-48deg)}to{transform:rotate(48deg)}}@-webkit-keyframes weight{0%{transform:rotate(-48deg)}to{transform:rotate(48deg)}}@-moz-keyframes weight{0%{transform:rotate(-48deg)}to{transform:rotate(48deg)}}@keyframes hammer{0%{transform:rotate(28deg)}to{transform:rotate(2deg)}}@-webkit-keyframes hammer{0%{transform:rotate(28deg)}to{transform:rotate(2deg)}}@-moz-keyframes hammer{0%{transform:rotate(28deg)}to{transform:rotate(2deg)}}@keyframes scale{0%,to{transform:scale(1)}70%{transform:scale(2)}}@-webkit-keyframes scale{0%,to{transform:scale(1)}70%{transform:scale(2)}}@-moz-keyframes scale{0%,to{transform:scale(1)}70%{transform:scale(2)}}@keyframes hoop{0%,40%,to{transform:translateX(0)}30%{transform:translateX(-40px)}50%{transform:translateX(50px)}}@-webkit-keyframes hoop{0%,40%,to{transform:translateX(0)}30%{transform:translateX(-40px)}50%{transform:translateX(50px)}}@-moz-keyframes hoop{0%,40%,to{transform:translateX(0)}30%{transform:translateX(-40px)}50%{transform:translateX(50px)}}@keyframes danse{0%,to{transform:translateX(0)}50%{transform:translateX(-10px)}70%{transform:translateX(10px)}}@-webkit-keyframes danse{0%,to{transform:translateX(0)}50%{transform:translateX(-10px)}70%{transform:translateX(10px)}}@-moz-keyframes danse{0%,to{transform:translateX(0)}50%{transform:translateX(-10px)}70%{transform:translateX(10px)}}@keyframes hamburger{0%{transform:scale(1)}to{transform:scale(0)}}@-webkit-keyframes hamburger{0%{transform:scale(1)}to{transform:scale(0)}}@-moz-keyframes hamburger{0%{transform:scale(1)}to{transform:scale(0)}}@keyframes spinner-rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@-webkit-keyframes spinner-rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@-moz-keyframes spinner-rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes bottleDance{0%,to{transform:rotate(0deg)}5%{transform:rotate(5deg)}95%{transform:rotate(-5deg)}}@-webkit-keyframes bottleDance{0%,to{transform:rotate(0deg)}5%{transform:rotate(5deg)}95%{transform:rotate(-5deg)}}@-moz-keyframes bottleDance{0%,to{transform:rotate(0deg)}5%{transform:rotate(5deg)}95%{transform:rotate(-5deg)}}@keyframes bounce{0%,10%,40%,60%,to{transform:translateY(0)}30%{transform:translateY(-25px)}50%{transform:translateY(-10px)}}@-webkit-keyframes bounce{0%,10%,40%,60%,to{transform:translateY(0)}30%{transform:translateY(-25px)}50%{transform:translateY(-10px)}}@-moz-keyframes bounce{0%,10%,40%,60%,to{transform:translateY(0)}30%{transform:translateY(-25px)}50%{transform:translateY(-10px)}}@keyframes bounce-with-distortion{0%,60%,to{transform:scale(1,1) translateY(0)}10%,40%{transform:scale(1.03,.97) translateY(0)}30%{transform:scale(.97,1.03) translateY(-25px)}50%{transform:scale(1,1) translateY(-10px)}}@-webkit-keyframes bounce-with-distortion{0%,60%,to{transform:scale(1,1) translateY(0)}10%,40%{transform:scale(1.03,.97) translateY(0)}30%{transform:scale(.97,1.03) translateY(-25px)}50%{transform:scale(1,1) translateY(-10px)}}@-moz-keyframes bounce-with-distortion{0%,60%,to{transform:scale(1,1) translateY(0)}10%,40%{transform:scale(1.03,.97) translateY(0)}30%{transform:scale(.97,1.03) translateY(-25px)}50%{transform:scale(1,1) translateY(-10px)}}@keyframes bgColor-on-tap{0%,50%{background-color:red}to{background-color:transparent}}@-webkit-keyframes bgColor-on-tap{0%,50%{background-color:red}to{background-color:transparent}}@-moz-keyframes bgColor-on-tap{0%,50%{background-color:red}to{background-color:transparent}}@font-face{font-family:ProximaNova;src:url(./fonts/ProximaNova/ProximaNova-Light.otf);font-weight:200}@font-face{font-family:ProximaNova;src:url(./fonts/ProximaNova/ProximaNova-Regular.otf);font-weight:400}@font-face{font-family:ProximaNova;src:url(./fonts/ProximaNova/ProximaNova-Semibold.otf);font-weight:600}@font-face{font-family:ProximaNova;src:url(./fonts/ProximaNova/ProximaNova-Bold.otf);font-weight:800}:root{--mainColor: hsl(228, 52%, 32%);--mainColor_h: 228;--mainColor_s: 52%;--mainColor_l: 32%;--secondaryColor: hsl(120, 100%, 25%);--secondaryColor_h: 120;--secondaryColor_s: 100%;--secondaryColor_l: 25%;--titleColor: hsl(0, 0%, 0%);--titleColor_h: 0;--titleColor_s: 0%;--titleColor_l: 0%;--textColor: hsl(0, 0%, 0%);--textColor_h: 0;--textColor_s: 0%;--textColor_l: 0%;--ratingColor: hsl(32, 100%, 60%);--ratingColor_h: 32;--ratingColor_s: 100%;--ratingColor_l: 60%;--CTA: hsl(39, 100%, 50%);--CTA_h: 39;--CTA_s: 100%;--CTA_l: 50%}
/*!
 * Bootstrap v4.5.0 (https://getbootstrap.com/)
 * Copyright 2011-2020 The Bootstrap Authors
 * Copyright 2011-2020 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:570px}}@media (min-width:768px){.container{max-width:780px}}@media (min-width:992px){.container{max-width:900px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:570px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:780px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:900px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col-auto{position:relative;padding-right:15px;padding-left:15px}.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{flex-basis:0;flex-grow:1;min-width:0;max-width:100%}.row-cols-1>*{flex:0 0 100%;max-width:100%}.row-cols-2>*{flex:0 0 50%;max-width:50%}.row-cols-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-4>*{flex:0 0 25%;max-width:25%}.row-cols-5>*{flex:0 0 20%;max-width:20%}.row-cols-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.3333333333%}.offset-2{margin-left:16.6666666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.3333333333%}.offset-5{margin-left:41.6666666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.3333333333%}.offset-8{margin-left:66.6666666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.3333333333%}.offset-11{margin-left:91.6666666667%}@media (min-width:576px){.col-sm{flex-basis:0;flex-grow:1;min-width:0;max-width:100%}.row-cols-sm-1>*{flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-sm-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-sm-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-sm-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-sm-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.3333333333%}.offset-sm-2{margin-left:16.6666666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.3333333333%}.offset-sm-5{margin-left:41.6666666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.3333333333%}.offset-sm-8{margin-left:66.6666666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.3333333333%}.offset-sm-11{margin-left:91.6666666667%}}@media (min-width:768px){.col-md{flex-basis:0;flex-grow:1;min-width:0;max-width:100%}.row-cols-md-1>*{flex:0 0 100%;max-width:100%}.row-cols-md-2>*{flex:0 0 50%;max-width:50%}.row-cols-md-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-md-4>*{flex:0 0 25%;max-width:25%}.row-cols-md-5>*{flex:0 0 20%;max-width:20%}.row-cols-md-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-md-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-md-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-md-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-md-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.3333333333%}.offset-md-2{margin-left:16.6666666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.3333333333%}.offset-md-5{margin-left:41.6666666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.3333333333%}.offset-md-8{margin-left:66.6666666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.3333333333%}.offset-md-11{margin-left:91.6666666667%}}@media (min-width:992px){.col-lg{flex-basis:0;flex-grow:1;min-width:0;max-width:100%}.row-cols-lg-1>*{flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-lg-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-lg-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-lg-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-lg-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.3333333333%}.offset-lg-2{margin-left:16.6666666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.3333333333%}.offset-lg-5{margin-left:41.6666666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.3333333333%}.offset-lg-8{margin-left:66.6666666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.3333333333%}.offset-lg-11{margin-left:91.6666666667%}}@media (min-width:1200px){.col-xl{flex-basis:0;flex-grow:1;min-width:0;max-width:100%}.row-cols-xl-1>*{flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-xl-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-xl-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-xl-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-xl-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.3333333333%}.offset-xl-2{margin-left:16.6666666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.3333333333%}.offset-xl-5{margin-left:41.6666666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.3333333333%}.offset-xl-8{margin-left:66.6666666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.3333333333%}.offset-xl-11{margin-left:91.6666666667%}}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.modal,.modal-open,main>section{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);height:min-content;content:""}.modal-dialog-centered.modal-dialog-scrollable{flex-direction:column;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem);height:min-content}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-fill{flex:1 1 auto!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}@media (min-width:576px){.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}}@media (min-width:768px){.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}}html{padding:0;vertical-align:baseline}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,figcaption,footer,h4,h5,header,hgroup,i,iframe,ins,kbd,label,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font:inherit;vertical-align:baseline}figure,form,h1,h2,h3,h6{padding:0;border:0}img,sup{padding:0;font:inherit}html,sup{border:0}fieldset,figure,form,h1,h2,h3,h6,legend{font:inherit;vertical-align:baseline}html,legend,sup{margin:0}:focus{outline:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1;min-height:100vh;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-size:var(--default-fs);line-height:var(--lineHeight);color:var(--textColor)}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:none}table{border-collapse:collapse;border-spacing:0}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none;-moz-appearance:none}input[type=search]{-moz-appearance:none}audio,canvas,video{display:inline-block;*display:inline;*zoom:1;max-width:100%}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted}a:active,a:hover{outline:0}img{border:0;-ms-interpolation-mode:bicubic;vertical-align:middle;display:block;width:100%;margin:0 auto}fieldset,legend{border:0;padding:0}fieldset,figure,form{margin:0}legend{white-space:normal;*margin-left:-7px}button,input,select{vertical-align:baseline}button,input,select,textarea{font-size:100%;margin:0;*vertical-align:middle}button,input{line-height:normal}button,select{text-transform:none}button{-webkit-appearance:button;*overflow:visible}html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;*overflow:visible}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0;*height:13px;*width:13px}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;margin:0}textarea{overflow:auto;vertical-align:top}html,input,select,textarea{color:#222}::-moz-selection{background:#b3d4fc;text-shadow:none}::selection{background:#b3d4fc;text-shadow:none}textarea{resize:vertical}.chromeframe{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}html{box-sizing:border-box;font:400 62.5%/1.2 ProximaNova,sans-serif;letter-spacing:.01em}*,::after,::before{box-sizing:inherit}a,button{color:inherit;cursor:pointer}a{text-decoration:none;color:var(--mainColor)}button{padding:0;background-color:transparent;border-width:0}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden!important}.br{white-space:pre}@media (min-width:375px){.br--not-small-mobile{display:block}}@media (max-width:374px){.br--small-mobile{display:block}}@media (min-width:375px) and (max-width:767px){.br--mobile{display:block}}@media (max-width:574px){.br--mobile-max{display:block}}@media (min-width:768px) and (max-width:1024px){.br--tablet{display:block}}@media (min-width:768px) and (max-width:1024px) and (orientation:landscape){.br--tablet-landscape{display:block}}@media (min-width:1025px){.br--desktop{display:block}}.nowrap{white-space:nowrap}:root{--rating-size: 32px;--headingLineHeight: 1.25}@media (max-width:374px){:root{--default-fs: 16px;--lineHeight: 1.5;--heading1-fs: 32px;--subHeading1-fs: 14px;--introContent-fs: 18px;--heading2-fs: 20px;--heading3-fs: 21px;--btn-fs: 18px;--heading6-fs: 16px;--disclaimer-fs: 10px;--stockUpHeading-fs: 24px;--stockUpSubHeading-fs: 14px;--studies-fs: 14px;--footer-fs: 14px}}@media (min-width:375px) and (max-width:767px){:root{--default-fs: 16px;--lineHeight: 1.5;--heading1-fs: 36px;--subHeading1-fs: 14px;--introContent-fs: 18px;--heading2-fs: 24px;--heading3-fs: 21px;--btn-fs: 20px;--heading6-fs: 18px;--disclaimer-fs: 12px;--stockUpHeading-fs: 24px;--stockUpSubHeading-fs: 14px;--studies-fs: 14px;--footer-fs: 14px}}@media (min-width:768px) and (max-width:1024px){:root{--default-fs: 16px;--lineHeight: 1.5;--heading1-fs: 48px;--subHeading1-fs: 16px;--introContent-fs: 18px;--heading2-fs: 28px;--heading3-fs: 24px;--btn-fs: 26px;--heading6-fs: 18px;--disclaimer-fs: 12px;--stockUpHeading-fs: 36px;--stockUpSubHeading-fs: 14px;--studies-fs: 14px;--footer-fs: 14px}}@media (min-width:1025px){:root{--default-fs: 16px;--lineHeight: 1.75;--heading1-fs: 48px;--subHeading1-fs: 16px;--introContent-fs: 18px;--heading2-fs: 28px;--heading3-fs: 24px;--btn-fs: 32px;--heading6-fs: 18px;--disclaimer-fs: 12px;--stockUpHeading-fs: 36px;--stockUpSubHeading-fs: 14px;--studies-fs: 14px;--footer-fs: 14px}}h1,h6{margin:0 0 .5em}h1{color:currentColor;font-size:var(--heading1-fs)}h1 small{display:block;margin-bottom:.5em;font-size:var(--subHeading1-fs);font-weight:400;text-transform:uppercase;letter-spacing:.03em}h2,h3,h6{margin:0 0 1em;font-weight:600}h1,h2,h3{line-height:var(--headingLineHeight)}h2{font-size:var(--heading2-fs)}h3{font-size:var(--heading3-fs);text-align:center}h6{font-size:var(--heading6-fs)}.has-darkMode small,.has-lightMode small{color:var(--secondaryColor)}.disclaimer,p+p{margin-top:1em}b,h1,strong{font-weight:800}i{font-style:italic}@media (hover:hover) and (pointer:fine){a:hover{text-decoration:underline}}sup{font-size:80%;font-weight:200;vertical-align:super;white-space:nowrap}.disclaimer{font-size:var(--disclaimer-fs)}@media (hover:hover) and (pointer:fine){[role=button]{cursor:pointer}}.btn{display:flex;justify-content:center;align-items:center;flex-basis:auto}.btn [disabled],.btn.disabled{pointer-events:none}.icon,body.noscroll{margin:0;overflow:hidden}.icon{display:inline-block;width:1em;text-align:center;vertical-align:middle;font-size:1em;fill:inherit;color:inherit;box-sizing:content-box;pointer-events:none;height:1em}@media (max-width:849px){:root{--grid-gutter-width: 32px;--section-inner: 40px}}@media (min-width:850px){:root{--grid-gutter-width: 48px;--section-inner: 60px}}body.noscroll{height:100%;touch-action:none}[class^=container]{width:100%;margin-left:auto;margin-right:auto;padding-left:calc(var(--grid-gutter-width)/2);padding-right:calc(var(--grid-gutter-width)/2)}.container-xl{max-width:1140px}.container-md{max-width:780px}.container-lg{max-width:900px}footer,section{padding-top:var(--section-inner);padding-bottom:var(--section-inner)}section ul:not([class]){margin-bottom:1em}section li:not([class]){position:relative;margin-top:1em;padding-left:1.8em}section li:not([class])::before{content:"";mask:url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22"><path fill="currentColor" d="M11,21c5.52,0,10-4.48,10-10S16.52,1,11,1S1,5.48,1,11S5.48,21,11,21z M5.81,11.26 c0.35-0.35,0.93-0.35,1.28,0l2.09,2.09l5.26-5.26c0.36-0.31,0.9-0.29,1.23,0.05c0.34,0.34,0.36,0.87,0.05,1.23l-5.91,5.91 c-0.35,0.35-0.93,0.35-1.28,0l-2.73-2.73c-0.17-0.17-0.27-0.4-0.27-0.65C5.54,11.67,5.64,11.43,5.81,11.26z"/></svg>') no-repeat;-webkit-mask:url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22"><path fill="currentColor" d="M11,21c5.52,0,10-4.48,10-10S16.52,1,11,1S1,5.48,1,11S5.48,21,11,21z M5.81,11.26 c0.35-0.35,0.93-0.35,1.28,0l2.09,2.09l5.26-5.26c0.36-0.31,0.9-0.29,1.23,0.05c0.34,0.34,0.36,0.87,0.05,1.23l-5.91,5.91 c-0.35,0.35-0.93,0.35-1.28,0l-2.73-2.73c-0.17-0.17-0.27-0.4-0.27-0.65C5.54,11.67,5.64,11.43,5.81,11.26z"/></svg>') no-repeat;position:absolute;top:2px;left:0;display:block;width:22px;height:22px;background-color:var(--secondaryColor)}.footer{text-align:center;font-size:var(--footer-fs);line-height:1.8}.footer__links,.footer__logo{display:flex;justify-content:center}.footer__logo{align-items:center;margin-bottom:35px}.footer__links{flex-wrap:wrap}.footer__disclaimer{margin-left:auto;margin-right:auto}.footer__rights{margin-top:2em}@media (max-width:767px){:root{--logo-fs: 180px}}@media (min-width:768px) and (max-width:1024px){:root{--logo-fs: 180px}}@media (min-width:1025px){:root{--logo-fs: 180px}}.header{position:relative;z-index:1;background-color:#fff;padding-top:1em;padding-bottom:1em}.header [class^=container]{display:flex;justify-content:space-between;align-items:center}.header__logo{display:flex;align-items:center;font-size:var(--logo-fs)}@media (max-width:767px){.header__logo{margin:0 auto 5px}}.header__logo .icon{height:.275em;color:#273779}@media (max-width:767px){.header__contact{display:none}}.header--has-shadow{box-shadow:0 2px 5px rgba(0,0,0,.25)}.nav{-webkit-user-select:none;-moz-user-select:none;user-select:none;position:absolute}@media (max-width:767px){.nav{width:38px;height:38px}}@media (min-width:768px){.nav{display:none}}.nav__checkbox{visibility:hidden;position:absolute;z-index:-1}@media (max-width:767px){.nav__checkbox:checked~.menu-list{max-height:200px}}@media (min-width:768px){.nav__checkbox:checked~.menu-list{display:block}}.nav__label{overflow:hidden;display:inline-block;text-indent:200%;line-height:0}@media (max-width:767px){.nav__label{width:38px;height:38px;padding:12px 7px;background-color:transparent}}@media (min-width:768px){.nav__label{width:25px;height:25px;padding-top:2px}}@media (hover:hover) and (pointer:fine){.nav__label{cursor:pointer}}.nav__burger{display:block;background-color:#625d5d;border-radius:1px}@media (max-width:767px){.nav__burger{width:22px;height:2px;box-shadow:0 6px 0 #625d5d,0 12px 0 #625d5d}}@media (min-width:768px){.nav__burger{width:25px;height:5px;box-shadow:0 9px 0 #625d5d,0 18px 0 #625d5d}}.menu-list{overflow:hidden;position:absolute;z-index:2}@media (max-width:767px){.menu-list{left:calc(var(--grid-gutter-width)/-2);width:50vw;min-width:215px;max-height:0;transition:all 500ms ease-in-out}}@media (min-width:768px){.menu-list{display:none;top:40px;left:0;width:250px;box-shadow:0 0 16px 0 rgba(0,0,0,.2)}}.menu-list__link{display:block;line-height:1.15;background-color:#fff}.menu-list__link,.menu-list__link:hover,.menu-list__link:visited{text-decoration:none;color:var(--mainColor)}@media (max-width:767px){.menu-list__link{padding:15px}}@media (min-width:768px){.menu-list__link{display:block;padding:12px 16px}}@media (hover:hover) and (pointer:fine){.menu-list__link:hover{background-color:#fff}}.btn,.cta-wrap{text-align:center}.cta-wrap{max-width:470px;margin:0 auto}section .cta-wrap{margin-top:1.25em}section+.cta-wrap{padding-top:1.5em;padding-bottom:1.3em}.btn{display:inline-block;padding:.75em 1.25em;font-family:var(--mainFont);font-weight:600;font-size:var(--btn-fs, 18px);white-space:nowrap;line-height:1;color:var(--buttonColor, white);background:var(--button-bg-initial, linear-gradient(0deg, var(--CTA) 0%, hsl(calc(var(--CTA_h) + 13), calc(var(--CTA_s) + 4%), calc(var(--CTA_l) + 11%)) 100%));border-radius:var(--buttonRadius, 8px);box-shadow:var(--buttonShadow, 0 3px 6px rgba(0, 0, 0, 0.15));transition:all 150ms ease-in-out}.btn [disabled],.btn.disabled{filter:grayscale(1)}@media (hover:hover) and (pointer:fine){.btn:hover,.btn:visited{color:var(--buttonColor, white);text-decoration:none}.btn:hover{background:var(--button-bg-hover, linear-gradient(0deg, var(--CTA) 0%, var(--CTA) 100%))}}.btn .icon{font-size:.75em}.popscreen{position:fixed;left:0;top:0;z-index:1000;width:100%;height:100vh;display:flex;flex-direction:column;padding-block:0;background-color:var(--backgroundColor, white)}.popscreen [class^=container]{display:flex;justify-content:center;align-items:center}.popscreen__header{position:relative;z-index:1;width:100%;padding-block:1em .5em}.popscreen__header [class^=container]{display:flex;justify-content:space-between;align-items:center;flex-direction:row}.popscreen__logo{display:flex;align-items:center}@media (max-width:767px){.popscreen__logo{width:var(--logoWidthMob, 168px);font-size:var(--logoWidthMob, 168px)}}@media (min-width:768px) and (max-width:1024px){.popscreen__logo{width:var(--logoWidthTab, 175px);font-size:var(--logoWidthTab, 175px)}}@media (min-width:1025px){.popscreen__logo{width:var(--logoWidthDesk, 180px);font-size:var(--logoWidthDesk, 180px)}}.popscreen__logo .icon{height:var(--logoHeight, 0.275em)}.popscreen__close-btn{display:flex;color:inherit;font-size:1.5em;cursor:pointer}@media (max-width:1024px){.popscreen__close-btn{align-self:flex-start}}@media (min-width:1025px){.popscreen__close-btn{align-self:flex-end}}.popscreen>[class^=container]{flex-direction:column;flex:1 1 100%;transform:translateY(-5vh)}.popscreen__content{display:flex;justify-content:center;flex-direction:column}@media (max-width:767px) and (max-height:520px){.popscreen__content{flex:1 1 100%}}.popscreen__title{margin-block:0 .5em;font-size:var(--popscreen-title-fs, 50px);font-weight:var(--popscreen-title-wg, 800);text-align:center;color:var(--mainColor)}@media (max-width:374px){.popscreen__title{--popscreen-title-fs: 24px}}@media (min-width:375px) and (max-width:767px){.popscreen__title{--popscreen-title-fs: 26px}}@media (min-width:768px) and (max-width:1024px) and (min-height:991px){.popscreen__title{--popscreen-title-fs: 38px}}@media (min-width:1025px){.popscreen__title{--popscreen-title-fs: 50px}}@media (min-width:768px) and (max-height:990px){.popscreen__title{--popscreen-title-fs: 35px}}@media (min-width:768px){.popscreen__title{display:flex;flex-direction:column;justify-content:center}}.popscreen__title span{display:block;font-size:1.95em;line-height:1;color:var(--secondaryColor)}.popscreen__image-wrapper{display:flex;justify-content:center;flex:1 1 100%}.popscreen__image-wrapper picture{display:flex;align-items:center;height:100%}@media (max-width:519px){.popscreen__image{width:auto;max-width:60vw;max-height:100%}}@media (min-width:520px){.popscreen__image{max-width:240px;object-fit:cover}}@media (min-width:768px) and (max-height:990px){.popscreen__image{max-height:35vh;width:auto;height:100%}}.popscreen__footer{display:flex;align-items:center;flex-direction:column;width:100%}@media (max-width:767px){.popscreen__footer{padding-block:1.25em}}@media (min-width:768px) and (max-height:990px){.popscreen__footer{padding-block:1.25em}}@media (min-width:768px) and (min-height:991px){.popscreen__footer{padding-block:2.5em}}.btn{--button-bg-hover: hsl(var(--CTA_h), var(--CTA_s), calc( var(--CTA_l) - 5% ) );--button-bg-initial: var(--CTA);--button-bg-hover: hsl(var(--CTA_h), var(--CTA_s), calc(var(--CTA_l) - 3%))}.popscreen{--mainColor: var(--titleColor);--logoWidthMob: 90px;--logoWidthTab: 150px;--logoWidthDesk: 170px}@media (max-width:374px){.popscreen{--popscreen-title-fs: 24px}}@media (min-width:375px) and (max-width:767px){.popscreen{--popscreen-title-fs: 26px}}@media (min-width:768px) and (max-width:1024px){.popscreen{--popscreen-title-fs: 38px}}@media (min-width:1025px){.popscreen{--popscreen-title-fs: 50px}}.popscreen__close-btn{--mainColor: var(--titleColor)}@media (min-width:1025px){.popscreen__title{order:1;margin-block:.5em 0}}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFic3RyYWN0cy9hbmltYXRpb25zL19mYWRlcy5zY3NzIiwiYWJzdHJhY3RzL2FuaW1hdGlvbnMvX21vdGlvbi5zY3NzIiwiYWJzdHJhY3RzL2FuaW1hdGlvbnMvX3NjaGVtYS5zY3NzIiwiYWJzdHJhY3RzL3ZhcmlhYmxlcy90eXBvZ3JhcGh5LnNjc3MiLCJhYnN0cmFjdHMvdmFyaWFibGVzL19jb2xvcnMuc2NzcyIsInZlbmRvcnMvYm9vdHN0cmFwL19ncmlkLnNjc3MiLCJ2ZW5kb3JzL2Jvb3RzdHJhcC9taXhpbnMvX2dyaWQuc2NzcyIsInZlbmRvcnMvYm9vdHN0cmFwL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsInZlbmRvcnMvYm9vdHN0cmFwL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsInZlbmRvcnMvYm9vdHN0cmFwL190cmFuc2l0aW9ucy5zY3NzIiwidmVuZG9ycy9ib290c3RyYXAvbWl4aW5zL190cmFuc2l0aW9uLnNjc3MiLCJ2ZW5kb3JzL2Jvb3RzdHJhcC9fbW9kYWwuc2NzcyIsImxheW91dC9fbGF5b3V0LnNjc3MiLCJ2ZW5kb3JzL2Jvb3RzdHJhcC9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsInZlbmRvcnMvYm9vdHN0cmFwL3V0aWxpdGllcy9fZmxleC5zY3NzIiwiYmFzZS9fcmVzZXQuc2NzcyIsImJhc2UvX3Jlc2V0LWV4dGVuZGVkLnNjc3MiLCJiYXNlL190eXBvZ3JhcGh5LnNjc3MiLCJiYXNlL19oZWxwZXItY2xhc3Nlcy5zY3NzIiwiYWJzdHJhY3RzL2Z1bmN0aW9ucy9faW5jbHVkZS1tZWRpYS5zY3NzIiwiY29tcG9uZW50cy9fYnV0dG9ucy5zY3NzIiwiY29tcG9uZW50cy9faWNvbnMuc2NzcyIsIi4uL2NvbXBvbmVudHMvZm9vdGVyL2luZGV4LnNjc3MiLCIuLi9jb21wb25lbnRzL2hlYWRlci9pbmRleC5zY3NzIiwiYWJzdHJhY3RzL21peGlucy9fZnVuY3Rpb25hbGl0eS5zY3NzIiwiLi4vY29tcG9uZW50cy9zY19DVEEvaW5kZXguc2NzcyIsIi4uL2NvbXBvbmVudHMvc2NfcG9wc2NyZWVuL2luZGV4LnNjc3MiLCJza2luL0NUQS9pbmRleC5zY3NzIiwic2tpbi9zY19DVEEvaW5kZXguc2NzcyIsInNraW4vc2NfcG9wc2NyZWVuL2luZGV4LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkEsQUFFQSxpQkFDSSxFLENBRUEsRSxDQUZPLFMsQ0FDUCxHLENBQU8sVyxBQUdYLHlCQUNJLEUsQ0FFQSxFLENBRk8sUyxDQUNQLEcsQ0FBTyxXLEFBR1gsc0JBQ0ksRSxDQUVBLEUsQ0FGTyxTLENBQ1AsRyxDQUFPLFcsQUFLWCxrQkFDSSxFLENBQU8sUyxDQUNQLEUsQ0FBTyxXLEFBRVgsMEJBQ0ksRSxDQUFPLFMsQ0FDUCxFLENBQU8sVyxBQUVYLHVCQUNJLEUsQ0FBTyxTLENBQ1AsRSxDQUFPLFcsQUFJWCx5QkFDSSxFLENBR0EsRSxDQUhPLFMsQ0FDUCxHLENBQ0EsRyxDQURPLFcsQUFJWCxpQ0FDSSxFLENBR0EsRSxDQUhPLFMsQ0FDUCxHLENBQ0EsRyxDQURPLFcsQUFJWCw4QkFDSSxFLENBR0EsRSxDQUhPLFMsQ0FDUCxHLENBQ0EsRyxDQURPLFcsQUFNWCx3QkFDSSxFLENBRUEsRSxDQUZPLFMsQ0FDUCxHLENBQU8sVyxBQUdYLGdDQUNJLEUsQ0FFQSxFLENBRk8sUyxDQUNQLEcsQ0FBTyxXLEFBR1gsNkJBQ0ksRSxDQUVBLEUsQ0FGTyxTLENBQ1AsRyxDQUFPLFcsQUFNWCxrQkFDSSxFLENBQU8sYSxDQUFnQixTLENBQ3ZCLEUsQ0FBTSxTLENBQ04sRSxDQUFPLFcsQUFFWCwwQkFDSSxFLENBQU8sYSxDQUFnQixTLENBQ3ZCLEUsQ0FBTSxTLENBQ04sRSxDQUFPLFcsQUFFWCx1QkFDSSxFLENBQU8sYSxDQUFpQixTLENBQ3hCLEUsQ0FBTSxTLENBQ04sRSxDQUFPLFcsQUNsRlgsZ0JBQ0ksRSxDQUVBLEUsQ0FGTyx1QixDQUNQLEcsQ0FBTyw2QixBQUdYLHdCQUNJLEUsQ0FFQSxFLENBRk8sdUIsQ0FDUCxHLENBQU8sNkIsQUFHWCxxQkFDSSxFLENBRUEsRSxDQUZPLHVCLENBQ1AsRyxDQUFPLDZCLEFBS1gsa0JBQ0ksRSxDQUFPLHdCLENBQ1AsRSxDQUFPLHlCLEFBRVgsMEJBQ0ksRSxDQUFPLHdCLENBQ1AsRSxDQUFPLHlCLEFBRVgsdUJBQ0ksRSxDQUFPLHdCLENBQ1AsRSxDQUFPLHlCLEFBSVgsa0JBQ0ksRSxDQUFPLHVCLENBQ1AsRSxDQUFPLHdCLEFBRVgsMEJBQ0ksRSxDQUFPLHVCLENBQ1AsRSxDQUFPLHdCLEFBRVgsdUJBQ0ksRSxDQUFPLHVCLENBQ1AsRSxDQUFPLHdCLEFBSVgsaUJBQ0ksRSxDQUVBLEUsQ0FGTyxrQixDQUNQLEcsQ0FBTyxvQixBQUdYLHlCQUNJLEUsQ0FFQSxFLENBRk8sa0IsQ0FDUCxHLENBQU8sb0IsQUFHWCxzQkFDSSxFLENBRUEsRSxDQUZPLGtCLENBQ1AsRyxDQUFPLG9CLEFBS1gsZ0JBQ0ksRSxDQUVBLEcsQ0FFQSxFLENBSk8sdUIsQ0FDUCxHLENBQU8sMkIsQ0FFUCxHLENBQU8sNEIsQUFHWCx3QkFDSSxFLENBRUEsRyxDQUVBLEUsQ0FKTyx1QixDQUNQLEcsQ0FBTywyQixDQUVQLEcsQ0FBTyw0QixBQUdYLHFCQUNJLEUsQ0FFQSxHLENBRUEsRSxDQUpPLHVCLENBQ1AsRyxDQUFPLDJCLENBRVAsRyxDQUFPLDRCLEFBS1gsaUJBQ0ksRSxDQUdBLEUsQ0FITyx1QixDQUNQLEcsQ0FBTywyQixDQUNQLEcsQ0FBTyw0QixBQUdYLHlCQUNJLEUsQ0FHQSxFLENBSE8sdUIsQ0FDUCxHLENBQU8sMkIsQ0FDUCxHLENBQU8sNEIsQUFHWCxzQkFDSSxFLENBR0EsRSxDQUhPLHVCLENBQ1AsRyxDQUFPLDJCLENBQ1AsRyxDQUFPLDRCLEFBS1gscUJBQ0ksRSxDQUFPLGtCLENBQ1AsRSxDQUFPLG9CLEFBRVgsNkJBQ0ksRSxDQUFPLGtCLENBQ1AsRSxDQUFPLG9CLEFBRVgsMEJBQ0ksRSxDQUFPLGtCLENBQ1AsRSxDQUFPLG9CLEFBSVgsMEJBQ0ksRSxDQUFPLHNCLENBQ1AsRSxDQUFPLHlCLEFBRVgsa0NBQ0ksRSxDQUFPLHNCLENBQ1AsRSxDQUFPLHlCLEFBRVgsK0JBQ0ksRSxDQUFPLHNCLENBQ1AsRSxDQUFPLHlCLEFBSVgsdUJBQ0ksRSxDQUdBLEUsQ0FITyxzQixDQUNQLEUsQ0FBTyxzQixDQUNQLEcsQ0FBTyx5QixBQUdYLCtCQUNJLEUsQ0FHQSxFLENBSE8sc0IsQ0FDUCxFLENBQU8sc0IsQ0FDUCxHLENBQU8seUIsQUFHWCw0QkFDSSxFLENBR0EsRSxDQUhPLHNCLENBQ1AsRSxDQUFPLHNCLENBQ1AsRyxDQUFPLHlCLEFBS1gsa0JBQ0ksRSxDQUNBLEcsQ0FFQSxHLENBRUEsRyxDQUNBLEUsQ0FOTyx1QixDQUVQLEcsQ0FBTywyQixDQUVQLEcsQ0FBTyw2QixBQUlYLDBCQUNJLEUsQ0FDQSxHLENBRUEsRyxDQUVBLEcsQ0FDQSxFLENBTk8sdUIsQ0FFUCxHLENBQU8sMkIsQ0FFUCxHLENBQU8sNkIsQUFJWCx1QkFDSSxFLENBQ0EsRyxDQUVBLEcsQ0FFQSxHLENBQ0EsRSxDQU5PLHVCLENBRVAsRyxDQUFPLDJCLENBRVAsRyxDQUFPLDZCLEFBTVgsa0NBQ0ksRSxDQUtBLEcsQ0FDQSxFLENBTk8sa0MsQ0FDUCxHLENBRUEsRyxDQUZPLHVDLENBQ1AsRyxDQUFPLDJDLENBRVAsRyxDQUFPLHdDLEFBSVgsMENBQ0ksRSxDQUtBLEcsQ0FDQSxFLENBTk8sa0MsQ0FDUCxHLENBRUEsRyxDQUZPLHVDLENBQ1AsRyxDQUFPLDJDLENBRVAsRyxDQUFPLHdDLEFBSVgsdUNBQ0ksRSxDQUtBLEcsQ0FDQSxFLENBTk8sa0MsQ0FDUCxHLENBRUEsRyxDQUZPLHVDLENBQ1AsRyxDQUFPLDJDLENBRVAsRyxDQUFPLHdDLEFDM01YLDBCQUNJLEUsQ0FDQSxHLENBRE8sb0IsQ0FFUCxFLENBQU8sOEIsQUFFWCxrQ0FDSSxFLENBQ0EsRyxDQURPLG9CLENBRVAsRSxDQUFPLDhCLEFBRVgsK0JBQ0ksRSxDQUNBLEcsQ0FETyxvQixDQUVQLEUsQ0FBTyw4QixBQ1ZYLFdBQ0ksdUIsQ0FDQSxrRCxDQUNBLGdCLEFBR0osV0FDSSx1QixDQUNBLG9ELENBQ0EsZ0IsQUFHSixXQUNJLHVCLENBQ0EscUQsQ0FDQSxnQixBQUdKLFdBQ0ksdUIsQ0FDQSxpRCxDQUNBLGdCQzNCSixLLENBQ0ksK0IsQ0FDQSxrQixDQUNBLGtCLENBQ0Esa0IsQ0FDQSxxQyxDQUNBLHVCLENBQ0Esd0IsQ0FDQSx1QixDQUVBLDRCLENBQ0EsaUIsQ0FDQSxrQixDQUNBLGtCLENBRUEsMkIsQ0FDQSxnQixDQUNBLGlCLENBQ0EsaUIsQ0FFQSxpQyxDQUNBLG1CLENBQ0EscUIsQ0FDQSxvQixDQUVBLHlCLENBQ0EsVyxDQUNBLGEsQ0FDQSxZOzs7Ozs7O0FDdkJGLFUsQ0NEQSxVLENBQ0Esa0IsQ0FDQSxpQixDQUNBLGlCLENBQ0EsZ0IsQ0NtREUseUJGdERGLFUsQ0NXSSxpQixBQzJDRix5QkZ0REYsVSxDQ1dJLGlCLEFDMkNGLHlCRnRERixVLENDV0ksaUIsQUMyQ0YsMEJGdERGLFUsQ0NXSSxrQkRMSixnQixDQUFBLGEsQ0FBQSxhLENBQUEsYSxDQUFBLGEsQ0NQQSxVLENBQ0Esa0IsQ0FDQSxpQixDQUNBLGlCLENBQ0EsZ0IsQ0NtREUseUJGckNFLFUsQ0FBQSxhLENBQ0UsaUIsQUVvQ0oseUJGckNFLFUsQ0FBQSxhLENBQUEsYSxDQUNFLGlCLEFFb0NKLHlCRnJDRSxVLENBQUEsYSxDQUFBLGEsQ0FBQSxhLENBQ0UsaUIsQUVvQ0osMEJGckNFLFUsQ0FBQSxhLENBQUEsYSxDQUFBLGEsQ0FBQSxhLENBQ0Usa0JBNEJOLEksQ0M3QkEsWSxDQUNBLGMsQ0FDQSxrQixDQUNBLGlCLENEZ0NBLFcsQ0FDRSxjLENBQ0EsYSxDQUVBLGdCLENBQUEseUIsQ0FFRSxlLENBQ0EsYyxDRzFESixJLENBQUEsTyxDQUFBLFMsQ0FBQSxVLENBQUEsVSxDQUFBLFUsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFksQ0FBQSxPLENBQUEsUyxDQUFBLFUsQ0FBQSxVLENBQUEsVSxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsWSxDQUFBLE8sQ0FBQSxTLENBQUEsVSxDQUFBLFUsQ0FBQSxVLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxZLENBQUEsTyxDQUFBLFMsQ0FBQSxVLENBQUEsVSxDQUFBLFUsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFMsQ0FBQSxTLENBQUEsUyxDQUFBLFksQ0FDRSxpQixDQUNBLFUsQ0FDQSxrQixDQUNBLGlCLENBSkYsUyxDQUNFLGlCLENBRUEsa0IsQ0FDQSxpQixDQUpGLE0sQ0FBQSxPLENBQUEsTyxDQUFBLE8sQ0FBQSxNLENBQUEsTSxDQUFBLE0sQ0FBQSxNLENBQUEsTSxDQUFBLE0sQ0FBQSxNLENBQUEsTSxDQUNFLGlCLENBQ0EsVSxDQUNBLGtCLENBQ0EsaUIsQ0FzQkUsSSxDQUNFLFksQ0FDQSxXLENBQ0EsVyxDQUNBLGMsQ0YyQk4sYSxDQUNFLGEsQ0FDQSxjLENBRkYsYSxDQUNFLFksQ0FDQSxhLENBRkYsYSxDQUNFLHVCLENBQ0Esd0IsQ0FGRixhLENBQ0UsWSxDQUNBLGEsQ0FGRixhLENBQ0UsWSxDQUNBLGEsQ0FGRixhLENBQ0UsdUIsQ0FDQSx3QixDRWxCRSxTLENGQUosYSxDQUNBLFUsQ0FDQSxjLENFSVEsTSxDRmRSLHNCLENBSUEsdUIsQ0VVUSxNLENGZFIsdUIsQ0FJQSx3QixDRVVRLE0sQ0ZkUixZLENBSUEsYSxDRVVRLE0sQ0ZkUix1QixDQUlBLHdCLENFVVEsTSxDRmRSLHVCLENBSUEsd0IsQ0VVUSxNLENGZFIsWSxDQUlBLGEsQ0VVUSxNLENGZFIsdUIsQ0FJQSx3QixDRVVRLE0sQ0ZkUix1QixDQUlBLHdCLENFVVEsTSxDRmRSLFksQ0FJQSxhLENFVVEsTyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxPLENGZFIsdUIsQ0FJQSx3QixDRVVRLE8sQ0ZkUixhLENBSUEsYyxDRWdCSSxZLENBQXdCLFEsQ0FFeEIsVyxDQUF1QixRLENBR3JCLFEsQ0FBd0IsTyxDQUF4QixRLENBQXdCLE8sQ0FBeEIsUSxDQUF3QixPLENBQXhCLFEsQ0FBd0IsTyxDQUF4QixRLENBQXdCLE8sQ0FBeEIsUSxDQUF3QixPLENBQXhCLFEsQ0FBd0IsTyxDQUF4QixRLENBQXdCLE8sQ0FBeEIsUSxDQUF3QixPLENBQXhCLFEsQ0FBd0IsTyxDQUF4QixTLENBQXdCLFEsQ0FBeEIsUyxDQUF3QixRLENBQXhCLFMsQ0FBd0IsUSxDQU9wQixTLENGakJWLHlCLENFaUJVLFMsQ0ZqQlYsMEIsQ0VpQlUsUyxDRmpCVixlLENFaUJVLFMsQ0ZqQlYsMEIsQ0VpQlUsUyxDRmpCViwwQixDRWlCVSxTLENGakJWLGUsQ0VpQlUsUyxDRmpCViwwQixDRWlCVSxTLENGakJWLDBCLENFaUJVLFMsQ0ZqQlYsZSxDRWlCVSxVLENGakJWLDBCLENFaUJVLFUsQ0ZqQlYsMEIsQ0NLRSx5QkMzQkUsTyxDQUNFLFksQ0FDQSxXLENBQ0EsVyxDQUNBLGMsQ0YyQk4sZ0IsQ0FDRSxhLENBQ0EsYyxDQUZGLGdCLENBQ0UsWSxDQUNBLGEsQ0FGRixnQixDQUNFLHVCLENBQ0Esd0IsQ0FGRixnQixDQUNFLFksQ0FDQSxhLENBRkYsZ0IsQ0FDRSxZLENBQ0EsYSxDQUZGLGdCLENBQ0UsdUIsQ0FDQSx3QixDRWxCRSxZLENGQUosYSxDQUNBLFUsQ0FDQSxjLENFSVEsUyxDRmRSLHNCLENBSUEsdUIsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUixZLENBSUEsYSxDRVVRLFMsQ0ZkUix1QixDQUlBLHdCLENFVVEsUyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxTLENGZFIsWSxDQUlBLGEsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUix1QixDQUlBLHdCLENFVVEsUyxDRmRSLFksQ0FJQSxhLENFVVEsVSxDRmRSLHVCLENBSUEsd0IsQ0VVUSxVLENGZFIsdUIsQ0FJQSx3QixDRVVRLFUsQ0ZkUixhLENBSUEsYyxDRWdCSSxlLENBQXdCLFEsQ0FFeEIsYyxDQUF1QixRLENBR3JCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixZLENBQXdCLFEsQ0FBeEIsWSxDQUF3QixRLENBQXhCLFksQ0FBd0IsUSxDQU9wQixZLENGakJWLGEsQ0VpQlUsWSxDRmpCVix5QixDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsZSxDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsMEIsQ0VpQlUsWSxDRmpCVixlLENFaUJVLFksQ0ZqQlYsMEIsQ0VpQlUsWSxDRmpCViwwQixDRWlCVSxZLENGakJWLGUsQ0VpQlUsYSxDRmpCViwwQixDRWlCVSxhLENGakJWLDRCLEFDS0UseUJDM0JFLE8sQ0FDRSxZLENBQ0EsVyxDQUNBLFcsQ0FDQSxjLENGMkJOLGdCLENBQ0UsYSxDQUNBLGMsQ0FGRixnQixDQUNFLFksQ0FDQSxhLENBRkYsZ0IsQ0FDRSx1QixDQUNBLHdCLENBRkYsZ0IsQ0FDRSxZLENBQ0EsYSxDQUZGLGdCLENBQ0UsWSxDQUNBLGEsQ0FGRixnQixDQUNFLHVCLENBQ0Esd0IsQ0VsQkUsWSxDRkFKLGEsQ0FDQSxVLENBQ0EsYyxDRUlRLFMsQ0ZkUixzQixDQUlBLHVCLENFVVEsUyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxTLENGZFIsWSxDQUlBLGEsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUix1QixDQUlBLHdCLENFVVEsUyxDRmRSLFksQ0FJQSxhLENFVVEsUyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUixZLENBSUEsYSxDRVVRLFUsQ0ZkUix1QixDQUlBLHdCLENFVVEsVSxDRmRSLHVCLENBSUEsd0IsQ0VVUSxVLENGZFIsYSxDQUlBLGMsQ0VnQkksZSxDQUF3QixRLENBRXhCLGMsQ0FBdUIsUSxDQUdyQixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsWSxDQUF3QixRLENBQXhCLFksQ0FBd0IsUSxDQUF4QixZLENBQXdCLFEsQ0FPcEIsWSxDRmpCVixhLENFaUJVLFksQ0ZqQlYseUIsQ0VpQlUsWSxDRmpCViwwQixDRWlCVSxZLENGakJWLGUsQ0VpQlUsWSxDRmpCViwwQixDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsZSxDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsMEIsQ0VpQlUsWSxDRmpCVixlLENFaUJVLGEsQ0ZqQlYsMEIsQ0VpQlUsYSxDRmpCViw0QixBQ0tFLHlCQzNCRSxPLENBQ0UsWSxDQUNBLFcsQ0FDQSxXLENBQ0EsYyxDRjJCTixnQixDQUNFLGEsQ0FDQSxjLENBRkYsZ0IsQ0FDRSxZLENBQ0EsYSxDQUZGLGdCLENBQ0UsdUIsQ0FDQSx3QixDQUZGLGdCLENBQ0UsWSxDQUNBLGEsQ0FGRixnQixDQUNFLFksQ0FDQSxhLENBRkYsZ0IsQ0FDRSx1QixDQUNBLHdCLENFbEJFLFksQ0ZBSixhLENBQ0EsVSxDQUNBLGMsQ0VJUSxTLENGZFIsc0IsQ0FJQSx1QixDRVVRLFMsQ0ZkUix1QixDQUlBLHdCLENFVVEsUyxDRmRSLFksQ0FJQSxhLENFVVEsUyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUixZLENBSUEsYSxDRVVRLFMsQ0ZkUix1QixDQUlBLHdCLENFVVEsUyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxTLENGZFIsWSxDQUlBLGEsQ0VVUSxVLENGZFIsdUIsQ0FJQSx3QixDRVVRLFUsQ0ZkUix1QixDQUlBLHdCLENFVVEsVSxDRmRSLGEsQ0FJQSxjLENFZ0JJLGUsQ0FBd0IsUSxDQUV4QixjLENBQXVCLFEsQ0FHckIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFksQ0FBd0IsUSxDQUF4QixZLENBQXdCLFEsQ0FBeEIsWSxDQUF3QixRLENBT3BCLFksQ0ZqQlYsYSxDRWlCVSxZLENGakJWLHlCLENFaUJVLFksQ0ZqQlYsMEIsQ0VpQlUsWSxDRmpCVixlLENFaUJVLFksQ0ZqQlYsMEIsQ0VpQlUsWSxDRmpCViwwQixDRWlCVSxZLENGakJWLGUsQ0VpQlUsWSxDRmpCViwwQixDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsZSxDRWlCVSxhLENGakJWLDBCLENFaUJVLGEsQ0ZqQlYsNEIsQUNLRSwwQkMzQkUsTyxDQUNFLFksQ0FDQSxXLENBQ0EsVyxDQUNBLGMsQ0YyQk4sZ0IsQ0FDRSxhLENBQ0EsYyxDQUZGLGdCLENBQ0UsWSxDQUNBLGEsQ0FGRixnQixDQUNFLHVCLENBQ0Esd0IsQ0FGRixnQixDQUNFLFksQ0FDQSxhLENBRkYsZ0IsQ0FDRSxZLENBQ0EsYSxDQUZGLGdCLENBQ0UsdUIsQ0FDQSx3QixDRWxCRSxZLENGQUosYSxDQUNBLFUsQ0FDQSxjLENFSVEsUyxDRmRSLHNCLENBSUEsdUIsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUixZLENBSUEsYSxDRVVRLFMsQ0ZkUix1QixDQUlBLHdCLENFVVEsUyxDRmRSLHVCLENBSUEsd0IsQ0VVUSxTLENGZFIsWSxDQUlBLGEsQ0VVUSxTLENGZFIsdUIsQ0FJQSx3QixDRVVRLFMsQ0ZkUix1QixDQUlBLHdCLENFVVEsUyxDRmRSLFksQ0FJQSxhLENFVVEsVSxDRmRSLHVCLENBSUEsd0IsQ0VVUSxVLENGZFIsdUIsQ0FJQSx3QixDRVVRLFUsQ0ZkUixhLENBSUEsYyxDRWdCSSxlLENBQXdCLFEsQ0FFeEIsYyxDQUF1QixRLENBR3JCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixXLENBQXdCLE8sQ0FBeEIsVyxDQUF3QixPLENBQXhCLFcsQ0FBd0IsTyxDQUF4QixZLENBQXdCLFEsQ0FBeEIsWSxDQUF3QixRLENBQXhCLFksQ0FBd0IsUSxDQU9wQixZLENGakJWLGEsQ0VpQlUsWSxDRmpCVix5QixDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsZSxDRWlCVSxZLENGakJWLDBCLENFaUJVLFksQ0ZqQlYsMEIsQ0VpQlUsWSxDRmpCVixlLENFaUJVLFksQ0ZqQlYsMEIsQ0VpQlUsWSxDRmpCViwwQixDRWlCVSxZLENGakJWLGUsQ0VpQlUsYSxDRmpCViwwQixDRWlCVSxhLENGakJWLDRCR3ZERixLLENDZ0JNLDhCLENBSUEsdUNEcEJOLEssQ0NxQlEsaUIsQURsQk4sVUFBQSxNLENBQ0UsUyxDQUtGLGNBQUEsTSxDQUNFLFksQ0FJSixXLENBQ0UsaUIsQ0FDQSxRLENBQ0EsZSxDQ0RJLDJCLENBSUEsdUNETk4sVyxDQ09RLGlCQ0pSLE0sQ0FYQSxXLENDUUEsWSxDRE5FLGUsQ0FFQSxrQixDQUNFLGlCLENBQ0EsZSxDQUtKLE0sQ0FDRSxjLENBQ0EsSyxDQUNBLE0sQ0FDQSxZLENBQ0EsWSxDQUNBLFUsQ0FDQSxXLENBSUEsUyxDQU9GLGEsQ0FDRSxpQixDQUNBLFUsQ0FDQSxZLENBRUEsbUIsQ0FHQSx5QixDRDNCSSxpQyxDQzZCRiw0QixDRHpCRSx1Q0N1QkoseUIsQ0R0Qk0saUJDMEJOLHlCLENBQ0UsYyxDQUlGLGlDLENBQ0UscUIsQ0FJSix3QixDQUNFLFksQ0FDQSw0QixDQUVBLHVDLENBQ0UsNkIsQ0FDQSxlLENBR0Ysc0MsQ0FBQSxzQyxDQUVFLGEsQ0FHRixvQyxDQUNFLGUsQ0FJSixzQixDQUNFLFksQ0FDQSxrQixDQUNBLDRCLENBR0EsOEIsQ0FDRSxhLENBQ0EseUIsQ0FDQSxrQixDQUNBLFUsQ0FJRiw4QyxDQUNFLHFCLENBQ0Esc0IsQ0FDQSxXLENBRUEsNkQsQ0FDRSxlLENBR0Ysc0QsQ0FDRSxZLENBTU4sYyxDQUNFLGlCLENBQ0EsWSxDQUNBLHFCLENBQ0EsVSxDQUdBLG1CLENBQ0EscUIsQ0FDQSwyQixDQUNBLCtCLENFbEdFLG1CLENGc0dGLFMsQ0FJRixlLENBQ0UsYyxDQUNBLEssQ0FDQSxNLENBQ0EsWSxDQUNBLFcsQ0FDQSxZLENBQ0EscUIsQ0FHQSxvQixDQUFTLFMsQ0FDVCxvQixDQUFTLFUsQ0FLWCxhLENBQ0UsWSxDQUNBLHNCLENBQ0EsNkIsQ0FDQSxZLENBQ0EsK0IsQ0V0SEUsd0MsQ0FDQSx5QyxDRndIRixvQixDQUNFLFksQ0FFQSw2QixDQUtKLFksQ0FDRSxlLENBQ0EsZSxDQUtGLFcsQ0FDRSxpQixDQUdBLGEsQ0FDQSxZLENBSUYsYSxDQUNFLFksQ0FDQSxjLENBQ0Esa0IsQ0FDQSx3QixDQUNBLGMsQ0FDQSw0QixDRXpJRSw0QyxDQUNBLDJDLENGK0lGLGUsQ0FDRSxhLENBS0osd0IsQ0FDRSxpQixDQUNBLFcsQ0FDQSxVLENBQ0EsVyxDQUNBLGUsQ0p4SUUseUJJOElGLGEsQ0FDRSxlLENBQ0EsbUIsQ0FHRix3QixDQUNFLDhCLENBRUEsdUMsQ0FDRSwrQixDQUlKLHNCLENBQ0UsOEIsQ0FFQSw4QixDQUNFLDJCLENBQ0Esa0IsQ0FRSixTLENBQVksaUIsQUp4S1YseUJJNEtGLFMsQ0FBQSxTLENBRUUsaUIsQUo5S0EsMEJJbUxGLFMsQ0FBWSxrQkdyT1YsUyxDQUFnQyw0QixDQUNoQyxZLENBQWdDLCtCLENBQ2hDLGlCLENBQWdDLG9DLENBQ2hDLG9CLENBQWdDLHVDLENBRWhDLFUsQ0FBOEIsd0IsQ0FDOUIsWSxDQUE4QiwwQixDQUM5QixrQixDQUE4QixnQyxDQUM5QixVLENBQThCLHVCLENBQzlCLFksQ0FBOEIscUIsQ0FDOUIsWSxDQUE4QixxQixDQUM5QixjLENBQThCLHVCLENBQzlCLGMsQ0FBOEIsdUIsQ0FFOUIsc0IsQ0FBb0Msb0MsQ0FDcEMsb0IsQ0FBb0Msa0MsQ0FDcEMsdUIsQ0FBb0MsZ0MsQ0FDcEMsd0IsQ0FBb0MsdUMsQ0FDcEMsdUIsQ0FBb0Msc0MsQ0FFcEMsa0IsQ0FBaUMsZ0MsQ0FDakMsZ0IsQ0FBaUMsOEIsQ0FDakMsbUIsQ0FBaUMsNEIsQ0FDakMscUIsQ0FBaUMsOEIsQ0FDakMsb0IsQ0FBaUMsNkIsQ0FFakMsb0IsQ0FBa0Msa0MsQ0FDbEMsa0IsQ0FBa0MsZ0MsQ0FDbEMscUIsQ0FBa0MsOEIsQ0FDbEMsc0IsQ0FBa0MscUMsQ0FDbEMscUIsQ0FBa0Msb0MsQ0FDbEMsc0IsQ0FBa0MsK0IsQ0FFbEMsZ0IsQ0FBZ0MseUIsQ0FDaEMsaUIsQ0FBZ0MsK0IsQ0FDaEMsZSxDQUFnQyw2QixDQUNoQyxrQixDQUFnQywyQixDQUNoQyxvQixDQUFnQyw2QixDQUNoQyxtQixDQUFnQyw0QixDUFloQyx5Qk9sREEsWSxDQUFnQyw0QixDQUNoQyxlLENBQWdDLCtCLENBQ2hDLG9CLENBQWdDLG9DLENBQ2hDLHVCLENBQWdDLHVDLENBRWhDLGEsQ0FBOEIsd0IsQ0FDOUIsZSxDQUE4QiwwQixDQUM5QixxQixDQUE4QixnQyxDQUM5QixhLENBQThCLHVCLENBQzlCLGUsQ0FBOEIscUIsQ0FDOUIsZSxDQUE4QixxQixDQUM5QixpQixDQUE4Qix1QixDQUM5QixpQixDQUE4Qix1QixDQUU5Qix5QixDQUFvQyxvQyxDQUNwQyx1QixDQUFvQyxrQyxDQUNwQywwQixDQUFvQyxnQyxDQUNwQywyQixDQUFvQyx1QyxDQUNwQywwQixDQUFvQyxzQyxDQUVwQyxxQixDQUFpQyxnQyxDQUNqQyxtQixDQUFpQyw4QixDQUNqQyxzQixDQUFpQyw0QixDQUNqQyx3QixDQUFpQyw4QixDQUNqQyx1QixDQUFpQyw2QixDQUVqQyx1QixDQUFrQyxrQyxDQUNsQyxxQixDQUFrQyxnQyxDQUNsQyx3QixDQUFrQyw4QixDQUNsQyx5QixDQUFrQyxxQyxDQUNsQyx3QixDQUFrQyxvQyxDQUNsQyx5QixDQUFrQywrQixDQUVsQyxtQixDQUFnQyx5QixDQUNoQyxvQixDQUFnQywrQixDQUNoQyxrQixDQUFnQyw2QixDQUNoQyxxQixDQUFnQywyQixDQUNoQyx1QixDQUFnQyw2QixDQUNoQyxzQixDQUFnQyw4QixBUFloQyx5Qk9sREEsWSxDQUFnQyw0QixDQUNoQyxlLENBQWdDLCtCLENBQ2hDLG9CLENBQWdDLG9DLENBQ2hDLHVCLENBQWdDLHVDLENBRWhDLGEsQ0FBOEIsd0IsQ0FDOUIsZSxDQUE4QiwwQixDQUM5QixxQixDQUE4QixnQyxDQUM5QixhLENBQThCLHVCLENBQzlCLGUsQ0FBOEIscUIsQ0FDOUIsZSxDQUE4QixxQixDQUM5QixpQixDQUE4Qix1QixDQUM5QixpQixDQUE4Qix1QixDQUU5Qix5QixDQUFvQyxvQyxDQUNwQyx1QixDQUFvQyxrQyxDQUNwQywwQixDQUFvQyxnQyxDQUNwQywyQixDQUFvQyx1QyxDQUNwQywwQixDQUFvQyxzQyxDQUVwQyxxQixDQUFpQyxnQyxDQUNqQyxtQixDQUFpQyw4QixDQUNqQyxzQixDQUFpQyw0QixDQUNqQyx3QixDQUFpQyw4QixDQUNqQyx1QixDQUFpQyw2QixDQUVqQyx1QixDQUFrQyxrQyxDQUNsQyxxQixDQUFrQyxnQyxDQUNsQyx3QixDQUFrQyw4QixDQUNsQyx5QixDQUFrQyxxQyxDQUNsQyx3QixDQUFrQyxvQyxDQUNsQyx5QixDQUFrQywrQixDQUVsQyxtQixDQUFnQyx5QixDQUNoQyxvQixDQUFnQywrQixDQUNoQyxrQixDQUFnQyw2QixDQUNoQyxxQixDQUFnQywyQixDQUNoQyx1QixDQUFnQyw2QixDQUNoQyxzQixDQUFnQyw4QixBUFloQyx5Qk9sREEsWSxDQUFnQyw0QixDQUNoQyxlLENBQWdDLCtCLENBQ2hDLG9CLENBQWdDLG9DLENBQ2hDLHVCLENBQWdDLHVDLENBRWhDLGEsQ0FBOEIsd0IsQ0FDOUIsZSxDQUE4QiwwQixDQUM5QixxQixDQUE4QixnQyxDQUM5QixhLENBQThCLHVCLENBQzlCLGUsQ0FBOEIscUIsQ0FDOUIsZSxDQUE4QixxQixDQUM5QixpQixDQUE4Qix1QixDQUM5QixpQixDQUE4Qix1QixDQUU5Qix5QixDQUFvQyxvQyxDQUNwQyx1QixDQUFvQyxrQyxDQUNwQywwQixDQUFvQyxnQyxDQUNwQywyQixDQUFvQyx1QyxDQUNwQywwQixDQUFvQyxzQyxDQUVwQyxxQixDQUFpQyxnQyxDQUNqQyxtQixDQUFpQyw4QixDQUNqQyxzQixDQUFpQyw0QixDQUNqQyx3QixDQUFpQyw4QixDQUNqQyx1QixDQUFpQyw2QixDQUVqQyx1QixDQUFrQyxrQyxDQUNsQyxxQixDQUFrQyxnQyxDQUNsQyx3QixDQUFrQyw4QixDQUNsQyx5QixDQUFrQyxxQyxDQUNsQyx3QixDQUFrQyxvQyxDQUNsQyx5QixDQUFrQywrQixDQUVsQyxtQixDQUFnQyx5QixDQUNoQyxvQixDQUFnQywrQixDQUNoQyxrQixDQUFnQyw2QixDQUNoQyxxQixDQUFnQywyQixDQUNoQyx1QixDQUFnQyw2QixDQUNoQyxzQixDQUFnQyw4QixBUFloQywwQk9sREEsWSxDQUFnQyw0QixDQUNoQyxlLENBQWdDLCtCLENBQ2hDLG9CLENBQWdDLG9DLENBQ2hDLHVCLENBQWdDLHVDLENBRWhDLGEsQ0FBOEIsd0IsQ0FDOUIsZSxDQUE4QiwwQixDQUM5QixxQixDQUE4QixnQyxDQUM5QixhLENBQThCLHVCLENBQzlCLGUsQ0FBOEIscUIsQ0FDOUIsZSxDQUE4QixxQixDQUM5QixpQixDQUE4Qix1QixDQUM5QixpQixDQUE4Qix1QixDQUU5Qix5QixDQUFvQyxvQyxDQUNwQyx1QixDQUFvQyxrQyxDQUNwQywwQixDQUFvQyxnQyxDQUNwQywyQixDQUFvQyx1QyxDQUNwQywwQixDQUFvQyxzQyxDQUVwQyxxQixDQUFpQyxnQyxDQUNqQyxtQixDQUFpQyw4QixDQUNqQyxzQixDQUFpQyw0QixDQUNqQyx3QixDQUFpQyw4QixDQUNqQyx1QixDQUFpQyw2QixDQUVqQyx1QixDQUFrQyxrQyxDQUNsQyxxQixDQUFrQyxnQyxDQUNsQyx3QixDQUFrQyw4QixDQUNsQyx5QixDQUFrQyxxQyxDQUNsQyx3QixDQUFrQyxvQyxDQUNsQyx5QixDQUFrQywrQixDQUVsQyxtQixDQUFnQyx5QixDQUNoQyxvQixDQUFnQywrQixDQUNoQyxrQixDQUFnQyw2QixDQUNoQyxxQixDQUFnQywyQixDQUNoQyx1QixDQUFnQyw2QixDQUNoQyxzQixDQUFnQyw4QkMzQ3BDLEksQ0FjQyxTLENBSUEsdUIsQ0FsQkQsQyxDQUFBLEksQ0FBQSxPLENBQUEsTyxDQUFBLE0sQ0FBQSxPLENBQUEsSyxDQUFBLEssQ0FBQSxDLENBQUEsRyxDQUFBLFUsQ0FBQSxJLENBQUEsTSxDQUFBLE8sQ0FBQSxNLENBQUEsSSxDQUFBLEksQ0FBQSxFLENBQUEsRyxDQUFBLE8sQ0FBQSxHLENBQUEsRyxDQUFBLEUsQ0FBQSxFLENBQUEsRSxDQUFBLEssQ0FBQSxVLENBQUEsTSxDQUFBLEUsQ0FBQSxFLENBQUEsTSxDQUFBLE0sQ0FBQSxDLENBQUEsTSxDQUFBLEcsQ0FBQSxHLENBQUEsSyxDQUFBLEUsQ0FBQSxJLENBQUEsSSxDQUFBLEcsQ0FBQSxNLENBQUEsRSxDQUFBLE0sQ0FBQSxDLENBQUEsRyxDQUFBLEMsQ0FBQSxJLENBQUEsQyxDQUFBLEksQ0FBQSxPLENBQUEsSyxDQUFBLEksQ0FBQSxNLENBQUEsTSxDQUFBLEcsQ0FBQSxPLENBQUEsSyxDQUFBLEssQ0FBQSxFLENBQUEsSyxDQUFBLEUsQ0FBQSxLLENBQUEsSSxDQUFBLEUsQ0FBQSxFLENBQUEsQyxDQUFBLEUsQ0FBQSxHLENBQUEsSyxDQWFFLFEsQ0FDRCxTLENBQ0EsUSxDQUVBLFksQ0FDQSx1QixDQWxCRCxNLENBQUEsSSxDQUFBLEUsQ0FBQSxFLENBQUEsRSxDQUFBLEUsQ0FjQyxTLENBQ0EsUSxDQWZELEcsQ0FBQSxHLENBY0MsUyxDQUdBLFksQ0FqQkQsSSxDQUFBLEcsQ0FlQyxRLENBZkQsUSxDQUFBLE0sQ0FBQSxJLENBQUEsRSxDQUFBLEUsQ0FBQSxFLENBQUEsRSxDQUFBLE0sQ0FpQkMsWSxDQUNBLHVCLENBbEJELEksQ0FBQSxNLENBQUEsRyxDQWFFLFEsQ0FTRixNLENBQ0ksUyxDQUlKLE8sQ0FBQSxLLENBQUEsTyxDQUFBLFUsQ0FBQSxNLENBQUEsTSxDQUFBLE0sQ0FBQSxNLENBQUEsSSxDQUFBLEcsQ0FBQSxPLENBRUMsYSxDQUdELEksQ0FDQyxhLENDeEJHLGdCLENBQ0Esc0IsQ0FBeUIsa0MsQ0FBcUMsaUMsQ0FFOUQsaUMsQ0NxR0EsMkIsQ0FDQSw2QixDQUNBLHNCLENGL0VKLEUsQ0FBQSxFLENBQ0MsZSxDQUdELFUsQ0FBQSxDLENBQ0MsVyxDQUdELGdCLENBQUEsaUIsQ0FBQSxPLENBQUEsUSxDQUdDLFksQ0FHRCxLLENBNFFJLHdCLENBQ0EsZ0IsQ0F4UUosZ0QsQ0FBQSw2QyxDQUFBLGlELENBQUEscUQsQ0FJSSx1QixDQUNBLG9CLENBR0osa0IsQ0FFSSxvQixDQWdCSixLLENBQUEsTSxDQUFBLEssQ0FHSSxvQixDQUNBLGUsQ0FDQSxPLENBQ0EsYyxDQVFKLFVBQUEsVyxDQUNJLFksQ0FDQSxRLENBUUosUSxDQUNJLFksQ0FVSixJLENBRUksNkIsQ0FDQSx5QixDQU9KLE8sQ0FDSSxtQixDQU9KLFEsQ0FBQSxPLENBRUksUyxDQVFKLEcsQ0FDSSxRLENBQ0EsOEIsQ0FvTUEscUIsQ0g3UUEsYSxDQUFnQixVLENBQWEsYSxDR2dHakMsUSxDQVlBLE0sQ0FDSSxRLENBQ0EsUyxDQWRKLFEsQ0FoQkEsTSxDQVFBLEksQ0EwTEksUSxDQXRLSixNLENBR0ksa0IsQ0FDQSxpQixDQVVKLE0sQ0FBQSxLLENBQUEsTSxDQU1JLHVCLENBTkosTSxDQUFBLEssQ0FBQSxNLENBQUEsUSxDQUlJLGMsQ0FDQSxRLENBRUEsc0IsQ0FRSixNLENBQUEsSyxDQUVJLGtCLENBVUosTSxDQUFBLE0sQ0FFSSxtQixDQWFKLE0sQ0FJSSx5QixDQUVBLGlCLENBTkosdUIsQ0FBQSxpQixDQUFBLGtCLENBSUkseUIsQ0FDQSxjLENBQ0EsaUIsQ0FPSixnQixDQUFBLG9CLENBRUksYyxDQVVKLG9CLENBQUEsaUIsQ0FFSSxxQixDQUNBLFMsQ0FDQSxZLENBQ0EsVyxDQVNKLGtCLENBQ0ksNEIsQ0FDQSwyQixDQUNBLDhCLENBQ0Esc0IsQ0FRSixnRCxDQUFBLDZDLENBRUksdUIsQ0FPSix3QixDQUFBLHVCLENBRUksUSxDQUNBLFMsQ0NuUnNCLFEsQ0QyUjFCLFEsQ0FDSSxhLENBQ0Esa0IsQ0FZSixJLENBQUEsSyxDQUFBLE0sQ0FkQSxRLENBbUJJLFUsQ0FJSixnQixDQUNJLGtCLENBQ0EsZ0IsQ0FHSixXLENBQ0ksa0IsQ0FDQSxnQixDQWFKLFEsQ0FDSSxlLENBR0osWSxDQUNJLGEsQ0FDQSxlLENBQ0EsVSxDQUNBLGMsQ0N6V0osSSxDQUNJLHFCLENDNkdBLHlDLENBQ0Esb0IsQ0QxR0osQyxDQUFBLE8sQ0FBQSxRLENBRVcsa0IsQ0FXWCxDLENBRUEsTSxDQUVtQyxhLENBQWlDLGMsQ0FKcEUsQyxDQUFJLG9CLENDK0tBLHNCLENEN0tKLE0sQ0FDSSxTLENBQ0EsNEIsQ0FBK0MsYyxDRXpCbkQsSyxDQUNJLHNCLENBR0osSyxDQUNJLHVCLENBR0osVSxDQUNJLDJCLENBR0osRyxDQUNJLGUsQ0NnakJBLHlCRDlpQkEscUIsQ0FFUSxlLEFDNGlCUix5QkR4aUJBLGlCLENBRVEsZSxBQ3NpQlIsK0NEbGlCQSxXLENBRVEsZSxBQ2dpQlIseUJENWhCQSxlLENBRVEsZSxBQzBoQlIsZ0REdGhCQSxXLENBRVEsZSxBQ29oQlIsNEVEaGhCQSxxQixDQUVRLGUsQUM4Z0JSLDBCRDFnQkEsWSxDQUVRLGVBS1osTyxDQUNJLGtCLENEMURKLEssQ0FDSSxtQixDQUNBLHlCLENFMGpCQSx5QkY1akJKLEssQ0FLUSxrQixDQUNBLGlCLENBRUEsbUIsQ0FDQSxzQixDQUNBLHVCLENBRUEsbUIsQ0FFQSxtQixDQUVBLGMsQ0FFQSxtQixDQUNBLHFCLENBRUEseUIsQ0FDQSw0QixDQUVBLGtCLENBRUEsbUIsQUVraUJKLCtDRjVqQkosSyxDQThCUSxrQixDQUNBLGlCLENBRUEsbUIsQ0FDQSxzQixDQUNBLHVCLENBRUEsbUIsQ0FFQSxtQixDQUVBLGMsQ0FFQSxtQixDQUNBLHFCLENBRUEseUIsQ0FDQSw0QixDQUVBLGtCLENBRUEsbUIsQUV5Z0JKLGdERjVqQkosSyxDQXVEUSxrQixDQUNBLGlCLENBRUEsbUIsQ0FDQSxzQixDQUNBLHVCLENBRUEsbUIsQ0FFQSxtQixDQUVBLGMsQ0FFQSxtQixDQUNBLHFCLENBRUEseUIsQ0FDQSw0QixDQUVBLGtCLENBRUEsbUIsQUVnZkosMEJGNWpCSixLLENBZ0ZRLGtCLENBQ0Esa0IsQ0FFQSxtQixDQUNBLHNCLENBQ0EsdUIsQ0FFQSxtQixDQUVBLG1CLENBRUEsYyxDQUVBLG1CLENBQ0EscUIsQ0FFQSx5QixDQUNBLDRCLENBRUEsa0IsQ0FFQSxtQkFxQlIsRSxDQTBDQSxFLENBR0ksZSxDQTdDSixFLENBSUksa0IsQ0FGQSw0QixDQUlBLFEsQ0FDSSxhLENBQ0Esa0IsQ0FDQSwrQixDQUNBLGUsQ0FDQSx3QixDQUNBLG9CLENBSVIsRSxDQUFBLEUsQ0EwQkEsRSxDQXpCSSxjLENBQ0EsZSxDQWxCSixFLENBcUJBLEUsQ0FBQSxFLENBQ0ksb0MsQ0FHSixFLENBQ0ksNEIsQ0FHSixFLENBQ0ksNEIsQ0FDQSxpQixDQVdKLEUsQ0FDSSw0QixDQU1BLG1CLENBSUEsb0IsQ0FISSwyQixDQXVDUixXLENBOUJJLEcsQ0FDSSxjLENBSVIsQyxDQWhFQSxFLENBZ0VBLE0sQ0FDSSxlLENBR0osQyxDQUNJLGlCLENFNlhBLHdDRnRYSSxPLENBQ0ksMkJBS1osRyxDQUNJLGEsQ0FDQSxlLENBQ0Esb0IsQ0FDQSxrQixDQUdKLFcsQ0FDSSw4QixDRXdXQSx3Q0M1akJKLGEsQ0FFUSxnQkFJUixJLENBQ0ksWSxDQUFlLHNCLENBQXlCLGtCLENBQXFCLGUsQ0FFN0QsZSxDQUFBLGEsQ0FDSSxtQixDQ1ZSLEssQ1RrQkksYSxDQUNJLFEsQ0FBeUIsZSxDU25CakMsSyxDQUNzQixvQixDQUF1QixTLENBQ3pDLGlCLENBQW9CLHFCLENBQXdCLGEsQ0FDNUMsWSxDQUNBLGEsQ0FDQSxzQixDQUF5QixtQixDQUo0QixVLENGMmpCckQseUJQM2pCSixLLENBRVEseUIsQ0FDQSx1QixBT3dqQkoseUJQM2pCSixLLENBT1EseUIsQ0FDQSx1QkFTSixhLENBQ2UsVyxDQUFnQyxpQixDQUluRCxrQixDQUNHLFUsQ0FDQSxnQixDQUNBLGlCLENBQ0EsNkMsQ0FDQSw4QyxDQUdILGEsQ0FDSSxnQixDQUVKLGEsQ0FDSSxlLENBR0osYSxDQUNJLGUsQ0FnQ0osTSxDQTdCQSxPLENBQ0ksZ0MsQ0FDQSxtQyxDQUVBLGVBQUEsUSxDQUNJLGlCLENBSUosZUFBQSxRLENBQ0ksaUIsQ0FDQSxjLENBQ0Esa0IsQ0FFQSxlQUFBLGdCLENBQ0ksVSxDQUNBLHljLENBQ0EsaWQsQ0FDQSxpQixDQUNBLE8sQ0FDQSxNLENBQ0EsYSxDQUNBLFUsQ0FDQSxXLENBQ0Esc0MsQ1VuRVosTyxDQUNJLGlCLENBQ0EsMEIsQ0FDQSxlLENBU0EsYyxDQVBBLGEsQ0FRSSxZLENBQ0Esc0IsQ0FUSixhLENBR0ksa0IsQ0FDQSxrQixDQUdKLGMsQ0FHSSxjLENBR0osbUIsQ0FDSSxnQixDQUNBLGlCLENBR0osZSxDQUNJLGMsQ0hxaUJKLHlCSTNqQkosSyxDQUVRLGtCLEFKeWpCSixnREkzakJKLEssQ0FNUSxrQixBSnFqQkosMEJJM2pCSixLLENBVVEsa0JBSVIsTyxDQUNJLGlCLENBQ0EsUyxDQUNBLHFCLENBQ0EsZSxDQUNBLGtCLENBRUEsMEIsQ0FDSSxZLENBQ0EsNkIsQ0FDQSxrQixDQUdKLGEsQ0FDSSxZLENBQ0Esa0IsQ0FDQSx3QixDSjZoQkoseUJJaGlCQSxhLENBTVEsbUJBR0osbUIsQ0FDSSxhLENBQ0EsYSxDSnFoQlIseUJJamhCQSxnQixDQUVRLGNBSVIsbUIsQ0FDSSxvQyxDQUlSLEksQ0NyREMsd0IsQ0FDQSxxQixDQUNBLGdCLENEcURHLGlCLENKb2dCQSx5Qkl0Z0JKLEksQ0FLUSxVLENBQ0EsYSxBSmdnQkoseUJJdGdCSixJLENBVVEsY0FHSixjLENBQ0ksaUIsQ0FDQSxpQixDQUNBLFUsQ0pzZkoseUJJcGZJLGlDLENBRVEsa0IsQUprZloseUJJcGZJLGlDLENBTVEsZUFLWixXLENBQ0ksZSxDQUNBLG9CLENBQ0EsZ0IsQ0FDQSxhLENKcWVKLHlCSXplQSxXLENBT1EsVSxDQUNBLFcsQ0FDQSxnQixDQUNBLDhCLEFKK2RSLHlCSXplQSxXLENBY1EsVSxDQUNBLFcsQ0FDQSxpQixBSnlkUix3Q0l6ZUEsVyxDQW9CUSxnQkFJUixZLENBQ0ksYSxDQUNBLHdCLENBQ0EsaUIsQ0o4Y0oseUJJamRBLFksQ0FNUSxVLENBQ0EsVSxDQUNBLDZDLEFKeWNSLHlCSWpkQSxZLENBY1EsVSxDQUNBLFUsQ0FDQSw2Q0FPWixVLENBQ0ksZSxDQUNBLGlCLENBQ0EsUyxDSnViQSx5QkkxYkosVSxDQU1RLHNDLENBQ0EsVSxDQUNBLGUsQ0FDQSxZLENBQ0Esa0MsQUpnYkoseUJJMWJKLFUsQ0FjUSxZLENBQ0EsUSxDQUNBLE0sQ0FDQSxXLENBQ0Esc0NBTUosZ0IsQ0FDSSxhLENBQ0EsZ0IsQ0FDQSxxQixDQUhKLGdCLENBS0ksc0IsQ0FBQSx3QixDQUdJLG9CLENBQ0Esc0IsQ0p5WlIseUJJbGFBLGdCLENBYVEsYyxBSnFaUix5QklsYUEsZ0IsQ0FpQlEsYSxDQUNBLG1CLEFKZ1pSLHdDSTVZUSxzQixDQUNJLHVCRWpLaEIsSSxDQWZBLFMsQ0FxQkksaUIsQ0FyQkosUyxDQUVJLGUsQ0FDQSxhLENBRUEsaUIsQ0FDSSxpQixDQUdKLGlCLENBQ0ksaUIsQ0FDQSxvQixDQUlSLEksQ0FDSSxvQixDQUNBLG9CLENBQ0EsMkIsQ0FDQSxlLENBQ0EsNkIsQ0FFQSxrQixDQUNBLGEsQ0FDQSwrQixDQUNBLCtKLENBQ0Esc0MsQ0FDQSw2RCxDQUNBLGdDLENBRUEsZSxDQUFBLGEsQ0FFSSxtQixDTjJoQkosd0NNdmhCSSxVLENBQUEsWSxDQUVJLCtCLENBQ0Esb0IsQ0FHSixVLENBQ0ksMEZBSVIsVSxDQUNJLGUsQ0NoRFIsVSxDQUNJLGMsQ0FDQSxNLENBQ0EsSyxDQUNBLFksQ0FDQSxVLENBQ0EsWSxDQUNBLFksQ0FDQSxxQixDQUNBLGUsQ0FDQSw4QyxDQUVBLDZCLENBQ0ksWSxDQUNBLHNCLENBQ0Esa0IsQ0FJSixrQixDQUNJLGlCLENBQ0EsUyxDQUNBLFUsQ0FDQSxzQixDQUVBLHFDLENBQ0ksWSxDQUNBLDZCLENBQ0Esa0IsQ0FDQSxrQixDQUlSLGdCLENBQ0ksWSxDQUNBLGtCLENQd2hCSix5Qk8xaEJBLGdCLENBS1EsZ0MsQ0FDQSxzQyxBUG9oQlIsZ0RPMWhCQSxnQixDQVVRLGdDLENBQ0Esc0MsQVArZ0JSLDBCTzFoQkEsZ0IsQ0FlUSxpQyxDQUNBLHVDQUdKLHNCLENBQ0ksaUMsQ0FJUixxQixDQUNJLFksQ0FDQSxhLENBQ0EsZSxDQUNBLGMsQ1A4ZkosMEJPbGdCQSxxQixDQU9RLHVCLEFQMmZSLDBCT2xnQkEscUIsQ0FXUSxxQkFJUiw2QixDQUNJLHFCLENBQ0EsYSxDQUNBLDBCLENBSUosbUIsQ0FDSSxZLENBQ0Esc0IsQ0FDQSxxQixDQUdJLGdEQU5SLG1CLENBT1ksZUFLWixpQixDQUNJLG1CLENBQ0EseUMsQ0FDQSwwQyxDQUNBLGlCLENBQ0Esc0IsQ1AyZEoseUJPaGVBLGlCLENBUVEsNEIsQVB3ZFIsK0NPaGVBLGlCLENBWVEsNEIsQUFJQSx1RUFoQlIsaUIsQ0FpQlksNEIsQVArY1osMEJPaGVBLGlCLENBc0JRLDRCLEFBSUEsZ0RBMUJSLGlCLENBMkJZLDRCLEFQcWNaLHlCT2hlQSxpQixDQWdDUSxZLENBQ0EscUIsQ0FDQSx3QkFHSixzQixDQUNJLGEsQ0FDQSxnQixDQUNBLGEsQ0FDQSwyQixDQUlSLHlCLENBQ0ksWSxDQUNBLHNCLENBQ0EsYSxDQUVBLGlDLENBQ0ksWSxDQUNBLGtCLENBQ0EsVyxDUDJhUix5Qk92YUEsaUIsQ0FFUSxVLENBQ0EsYyxDQUNBLGlCLEFQbWFSLHlCT3ZhQSxpQixDQVFRLGUsQ0FDQSxrQixBQUlBLGdEQWJSLGlCLENBY1ksZSxDQUNBLFUsQ0FDQSxhQUtaLGtCLENBQ0ksWSxDQUNBLGtCLENBQ0EscUIsQ0FDQSxVLENQOFlKLHlCT2xaQSxrQixDQU9RLHNCLEFBSUEsZ0RBWFIsa0IsQ0FZWSxzQixBQUdKLGdEQWZSLGtCLENBZ0JZLHFCQzNMaEIsSSxDQUVJLDhFLENDREEsK0IsQ0FDQSwyRSxDQ0ZKLFUsQ0FDSSw4QixDQUNBLG9CLENBQ0EscUIsQ0FDQSxzQixDVnlqQkEseUJVN2pCSixVLENBT1EsNEIsQVZzakJKLCtDVTdqQkosVSxDQVdRLDRCLEFWa2pCSixnRFU3akJKLFUsQ0FlUSw0QixBVjhpQkosMEJVN2pCSixVLENBbUJRLDRCQU9KLHFCLENBQ0ksOEIsQ1ZraUJKLDBCVS9oQkEsaUIsQ0FFUSxPLENBQ0EscUIiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8tIEZhZGVzIHJlbGF0ZWQgYW5pbWF0aW9uc1xyXG4vLy0gQmxpbmtcclxuQGtleWZyYW1lcyBibGluayB7XHJcbiAgICAwJSAgIHsgb3BhY2l0eTogMTsgfVxyXG4gICAgNTAlICB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIGJsaW5rIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OiAxOyB9XHJcbiAgICA1MCUgIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG5ALW1vei1rZXlmcmFtZXMgYmxpbmsge1xyXG4gICAgMCUgICB7IG9wYWNpdHk6IDE7IH1cclxuICAgIDUwJSAgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxyXG59XHJcblxyXG4vLy0gQXBwZWFyXHJcbkBrZXlmcmFtZXMgYXBwZWFyIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyBhcHBlYXIge1xyXG4gICAgMCUgICB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIGFwcGVhciB7XHJcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG5cclxuLy8tIEFwcGVhciBIYW1tZXJcclxuQGtleWZyYW1lcyBhcHBlYXItaGFtbWVyIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICA1MCUgIHsgb3BhY2l0eTogMTsgfVxyXG4gICAgNjAlICB7IG9wYWNpdHk6IDE7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAwOyB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIGFwcGVhci1oYW1tZXIge1xyXG4gICAgMCUgICB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDUwJSAgeyBvcGFjaXR5OiAxOyB9XHJcbiAgICA2MCUgIHsgb3BhY2l0eTogMTsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDA7IH1cclxufVxyXG5ALW1vei1rZXlmcmFtZXMgYXBwZWFyLWhhbW1lciB7XHJcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgNTAlICB7IG9wYWNpdHk6IDE7IH1cclxuICAgIDYwJSAgeyBvcGFjaXR5OiAxOyB9XHJcbiAgICAxMDAlIHsgb3BhY2l0eTogMDsgfVxyXG59XHJcblxyXG4vLy0gQmxpbmsgQ3Vyc29yXHJcbkBrZXlmcmFtZXMgYmxpbmstY3Vyc29yIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OjE7IH1cclxuICAgIDUwJSAgeyBvcGFjaXR5OjA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OjE7IH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgYmxpbmstY3Vyc29yIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OjE7IH1cclxuICAgIDUwJSAgeyBvcGFjaXR5OjA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OjE7IH1cclxufVxyXG5ALW1vei1rZXlmcmFtZXMgYmxpbmstY3Vyc29yIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OjE7IH1cclxuICAgIDUwJSAgeyBvcGFjaXR5OjA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OjE7IH1cclxufVxyXG5cclxuXHJcbi8vLSBmYWRlIGluXHJcbkBrZXlmcmFtZXMgZmFkZWluIHtcclxuICAgIDAlICAgeyBkaXNwbGF5OiBibG9jazsgb3BhY2l0eTowOyB9XHJcbiAgICAxJSAgeyBvcGFjaXR5OjA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OjE7IH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZWluIHtcclxuICAgIDAlICAgeyBkaXNwbGF5OiBibG9jazsgb3BhY2l0eTowOyB9XHJcbiAgICAxJSAgeyBvcGFjaXR5OjA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OjE7IH1cclxufVxyXG5ALW1vei1rZXlmcmFtZXMgZmFkZWluIHtcclxuICAgIDAlICAgeyBkaXNwbGF5OiBibG9jazsgIG9wYWNpdHk6MDt9XHJcbiAgICAxJSAgeyBvcGFjaXR5OjA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OjE7IH1cclxufSIsIi8vLSBNb3Rpb24gcmVsYXRlZCBhbmltYXRpb25zXHJcbi8vLSBKdW1wXHJcbkBrZXlmcmFtZXMganVtcHtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDYwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIGp1bXB7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICA2MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG59XHJcbkAtbW96LWtleWZyYW1lcyBqdW1we1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgNjAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxufVxyXG5cclxuLy8tIFdlaWdodFxyXG5Aa2V5ZnJhbWVzIHdlaWdodHtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtNDhkZWcpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoNDhkZWcpOyB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIHdlaWdodHtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtNDhkZWcpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoNDhkZWcpOyB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIHdlaWdodHtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtNDhkZWcpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoNDhkZWcpOyB9XHJcbn1cclxuXHJcbi8vLSBIYW1tZXJcclxuQGtleWZyYW1lcyBoYW1tZXJ7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiByb3RhdGUoMjhkZWcpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMmRlZyk7IH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGFtbWVye1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogcm90YXRlKDI4ZGVnKTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDJkZWcpOyB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIGhhbW1lcntcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgyOGRlZyk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgyZGVnKTsgfVxyXG59XHJcblxyXG4vLy0gU2NhbGVcclxuQGtleWZyYW1lcyBzY2FsZXtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XHJcbiAgICA3MCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgyKTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2NhbGV7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxyXG4gICAgNzAlICB7IHRyYW5zZm9ybTogc2NhbGUoMik7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIHNjYWxle1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cclxuICAgIDcwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDIpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxyXG59XHJcblxyXG4vLy0gSG9vcFxyXG5Aa2V5ZnJhbWVzIGhvb3B7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cclxuICAgIDMwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwcHgpOyB9XHJcbiAgICA0MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cclxuICAgIDUwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTBweCk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyBob29we1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XHJcbiAgICAzMCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MHB4KTsgfVxyXG4gICAgNDAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XHJcbiAgICA1MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwcHgpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cclxufVxyXG5ALW1vei1rZXlmcmFtZXMgaG9vcHtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxyXG4gICAgMzAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDBweCk7IH1cclxuICAgIDQwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxyXG4gICAgNTAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MHB4KTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XHJcbn1cclxuXHJcbi8vLSBEYW5zZVxyXG5Aa2V5ZnJhbWVzIGRhbnNle1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9ICAgXHJcbiAgICA1MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfVxyXG4gICAgNzAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIGRhbnNle1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9ICAgXHJcbiAgICA1MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfVxyXG4gICAgNzAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIGRhbnNle1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9ICAgXHJcbiAgICA1MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfVxyXG4gICAgNzAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XHJcbn1cclxuXHJcbi8vLSBIYW1idXJnZXJcclxuQGtleWZyYW1lcyBoYW1idXJnZXJ7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMCk7IH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGFtYnVyZ2Vye1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDApOyB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIGhhbWJ1cmdlcntcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxyXG59XHJcblxyXG4vLy0gU3Bpbm5lclxyXG5Aa2V5ZnJhbWVzIHNwaW5uZXItcm90YXRlIHtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDF0dXJuKTsgfVxyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyBzcGlubmVyLXJvdGF0ZSB7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7IH1cclxufVxyXG5ALW1vei1rZXlmcmFtZXMgc3Bpbm5lci1yb3RhdGUge1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMXR1cm4pOyB9XHJcbn1cclxuXHJcbi8vLSBCb3R0bGUgRGFuY2VcclxuQGtleWZyYW1lcyBib3R0bGVEYW5jZXtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxyXG4gICAgNSUgICB7IHRyYW5zZm9ybTogcm90YXRlKDVkZWcpOyB9XHJcbiAgICA5NSUgIHsgdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm90dGxlRGFuY2V7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cclxuICAgIDUlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTsgfVxyXG4gICAgOTUlICB7IHRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIGJvdHRsZURhbmNle1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XHJcbiAgICA1JSAgIHsgdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7IH1cclxuICAgIDk1JSAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxyXG59XHJcblxyXG4vLy0gQm91bmNlXHJcbkBrZXlmcmFtZXMgYm91bmNlIHtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDEwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDMwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1cHgpOyB9XHJcbiAgICA0MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICA1MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsgfVxyXG4gICAgNjAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2Uge1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgMTAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgMzAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjVweCk7IH1cclxuICAgIDQwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDUwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpOyB9XHJcbiAgICA2MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIGJvdW5jZSB7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICAxMCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICAzMCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNXB4KTsgfVxyXG4gICAgNDAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgNTAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7IH1cclxuICAgIDYwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxufVxyXG5cclxuLy8tIEJvdW5jZSB3aXRoIGRpc3RvcnRpb25cclxuQGtleWZyYW1lcyBib3VuY2Utd2l0aC1kaXN0b3J0aW9uIHtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHNjYWxlKDEsMSkgICAgICAgdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgMTAlICB7IHRyYW5zZm9ybTogc2NhbGUoMS4wMywuOTcpICB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICAzMCUgIHsgdHJhbnNmb3JtOiBzY2FsZSguOTcsMS4wMykgIHRyYW5zbGF0ZVkoLTI1cHgpOyB9XHJcbiAgICA0MCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjAzLC45NykgIHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDUwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEsMSkgICAgICAgdHJhbnNsYXRlWSgtMTBweCk7IH1cclxuICAgIDYwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEsMSkgICAgICAgdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSwxKSAgICAgICB0cmFuc2xhdGVZKDApOyB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZS13aXRoLWRpc3RvcnRpb24ge1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogc2NhbGUoMSwxKSAgICAgICB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICAxMCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjAzLC45NykgIHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDMwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKC45NywxLjAzKSAgdHJhbnNsYXRlWSgtMjVweCk7IH1cclxuICAgIDQwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMDMsLjk3KSAgdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgNTAlICB7IHRyYW5zZm9ybTogc2NhbGUoMSwxKSAgICAgICB0cmFuc2xhdGVZKC0xMHB4KTsgfVxyXG4gICAgNjAlICB7IHRyYW5zZm9ybTogc2NhbGUoMSwxKSAgICAgICB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLDEpICAgICAgIHRyYW5zbGF0ZVkoMCk7IH1cclxufVxyXG5ALW1vei1rZXlmcmFtZXMgYm91bmNlLXdpdGgtZGlzdG9ydGlvbiB7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLDEpICAgICAgIHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDEwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMDMsLjk3KSAgdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgMzAlICB7IHRyYW5zZm9ybTogc2NhbGUoLjk3LDEuMDMpICB0cmFuc2xhdGVZKC0yNXB4KTsgfVxyXG4gICAgNDAlICB7IHRyYW5zZm9ybTogc2NhbGUoMS4wMywuOTcpICB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICA1MCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLDEpICAgICAgIHRyYW5zbGF0ZVkoLTEwcHgpOyB9XHJcbiAgICA2MCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLDEpICAgICAgIHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEsMSkgICAgICAgdHJhbnNsYXRlWSgwKTsgfVxyXG59IiwiLy8tIFNjaGVtYSByZWxhdGVkIGFuaW1hdGlvbnNcclxuJHRhcC1jb2xvcjogcmVkO1xyXG5cclxuLy8tIEJhY2tncm91bmQtY29sb3Igb24gdGFwXHJcbkBrZXlmcmFtZXMgYmdDb2xvci1vbi10YXAge1xyXG4gICAgMCUgICB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHRhcC1jb2xvciwgMTAwJSk7IH1cclxuICAgIDUwJSAgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR0YXAtY29sb3IsIDEwMCUpOyB9XHJcbiAgICAxMDAlIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkdGFwLWNvbG9yLCAwKTsgfVxyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyBiZ0NvbG9yLW9uLXRhcCB7XHJcbiAgICAwJSAgIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkdGFwLWNvbG9yLCAxMDAlKTsgfVxyXG4gICAgNTAlICB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHRhcC1jb2xvciwgMTAwJSk7IH1cclxuICAgIDEwMCUgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR0YXAtY29sb3IsIDApOyB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIGJnQ29sb3Itb24tdGFwIHtcclxuICAgIDAlICAgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR0YXAtY29sb3IsIDEwMCUpOyB9XHJcbiAgICA1MCUgIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkdGFwLWNvbG9yLCAxMDAlKTsgfVxyXG4gICAgMTAwJSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHRhcC1jb2xvciwgMCk7IH1cclxufSIsIi8vLSBGb250IGZhbWlsaWVzXHJcbi8vLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIFByb3hpbWFOb3ZhLUxpZ2h0Lm90ZlxyXG4vLyBQcm94aW1hTm92YS1SZWd1bGFyLm90ZlxyXG4vLyBQcm94aW1hTm92YS1TZW1pYm9sZC5vdGZcclxuLy8gUHJveGltYU5vdmEtQm9sZC5vdGZcclxuXHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6IFByb3hpbWFOb3ZhO1xyXG4gICAgc3JjOiB1cmwoLi9mb250cy9Qcm94aW1hTm92YS9Qcm94aW1hTm92YS1MaWdodC5vdGYpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogUHJveGltYU5vdmE7XHJcbiAgICBzcmM6IHVybCguL2ZvbnRzL1Byb3hpbWFOb3ZhL1Byb3hpbWFOb3ZhLVJlZ3VsYXIub3RmKTtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6IFByb3hpbWFOb3ZhO1xyXG4gICAgc3JjOiB1cmwoLi9mb250cy9Qcm94aW1hTm92YS9Qcm94aW1hTm92YS1TZW1pYm9sZC5vdGYpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogUHJveGltYU5vdmE7XHJcbiAgICBzcmM6IHVybCguL2ZvbnRzL1Byb3hpbWFOb3ZhL1Byb3hpbWFOb3ZhLUJvbGQub3RmKTtcclxuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbn1cclxuXHJcbiRwcm94aW1hTm92YTogUHJveGltYU5vdmEsIHNhbnMtc2VyaWY7XHJcblxyXG4kbWFpbkZvbnQ6ICRwcm94aW1hTm92YTtcclxuJHNlY29uZGFyeUZvbnQ6ICRwcm94aW1hTm92YTsiLCIvLy0gdjAyXG46cm9vdCB7XG4gICAgLS1tYWluQ29sb3I6ICAgICAgICBoc2woMjI4LCA1MiUsIDMyJSk7XG4gICAgLS1tYWluQ29sb3JfaDogICAgICAyMjg7XG4gICAgLS1tYWluQ29sb3JfczogICAgICA1MiU7XG4gICAgLS1tYWluQ29sb3JfbDogICAgICAzMiU7XG4gICAgLS1zZWNvbmRhcnlDb2xvcjogIGhzbCgxMjAsIDEwMCUsIDI1JSk7XG4gICAgLS1zZWNvbmRhcnlDb2xvcl9oOiAgMTIwO1xuICAgIC0tc2Vjb25kYXJ5Q29sb3JfczogIDEwMCU7XG4gICAgLS1zZWNvbmRhcnlDb2xvcl9sOiAgMjUlO1xuXG4gICAgLS10aXRsZUNvbG9yOiAgICAgIGhzbCgwLCAwJSwgMCUpO1xuICAgIC0tdGl0bGVDb2xvcl9oOiAgICAgIDA7XG4gICAgLS10aXRsZUNvbG9yX3M6ICAgICAgMCU7XG4gICAgLS10aXRsZUNvbG9yX2w6ICAgICAgMCU7XG5cbiAgICAtLXRleHRDb2xvcjogICAgICAgICAgaHNsKDAsIDAlLCAwJSk7XG4gICAgLS10ZXh0Q29sb3JfaDogICAgICAgICAgMDtcbiAgICAtLXRleHRDb2xvcl9zOiAgICAgICAgICAwJTtcbiAgICAtLXRleHRDb2xvcl9sOiAgICAgICAgICAwJTtcblxuICAgIC0tcmF0aW5nQ29sb3I6IGhzbCgzMiwgMTAwJSwgNjAlKTsgLy8tICNGRjlFMzJcbiAgICAtLXJhdGluZ0NvbG9yX2g6IDMyO1xuICAgIC0tcmF0aW5nQ29sb3JfczogMTAwJTtcbiAgICAtLXJhdGluZ0NvbG9yX2w6IDYwJTtcblxuICAgIC0tQ1RBOiBoc2woMzksIDEwMCUsIDUwJSk7IC8vLSAjRkZBNTAwXG4gICAgLS1DVEFfaDogMzk7XG4gICAgLS1DVEFfczogMTAwJTtcbiAgICAtLUNUQV9sOiA1MCU7XG59XG5cbiRibGFjazogICAgICAgICAgICAgICAgICAgICAgIzAwMDtcbiR3aGl0ZTogICAgICAgICAgICAgICAgICAgICAjZmZmO1xuJGxpZ2h0LWJsYWNrOiAgICAgICAgICAgICAgIzExMTkyNjtcbiRjbGF5LWJyb3duOiAgICAgICAgICAgICAgICAjYmE3YzNiO1xuJHdhcm0tZ3JleTogICAgICAgICAgICAgICAgICM3MDcwNzA7XG5cbiRtYWluQ29sb3I6IHZhcigtLW1haW5Db2xvcik7XG4kc2Vjb25kYXJ5Q29sb3I6IHZhcigtLXNlY29uZGFyeUNvbG9yKTtcblxuJHNlY29uZGFyeUNvbG9yOiAgICAgICAgICAgICAgICB2YXIoLS1zZWNvbmRhcnlDb2xvcik7XG4kc2Vjb25kYXJ5Q29sb3JPcGFjaXR5OiAgICAgICAgIGhzbGEodmFyKC0tc2Vjb25kYXJ5Q29sb3JfaCksIHZhcigtLXNlY29uZGFyeUNvbG9yX3MpLCB2YXIoLS1zZWNvbmRhcnlDb2xvcl9sKSwgLjMgKTtcblxuJHRlcnRpYXJ5Q29sb3I6ICAgICAgICAgICAgICAgIHZhcigtLXRlcnRpYXJ5Q29sb3IpO1xuXG4kdGl0bGVDb2xvcjogICAgICAgICAgICAgICAgICAgIHZhcigtLXRpdGxlQ29sb3IpO1xuJHRleHRDb2xvcjogICAgICAgICAgICAgICAgICAgICB2YXIoLS10ZXh0Q29sb3IpO1xuXG4kYnV0dG9uQ29sb3JTdGFydDogICAgICAgICAgICAgIHZhcigtLUNUQSk7XG4kYnV0dG9uQ29sb3JFbmQ6ICAgICAgICAgICAgICAgIGhzbCh2YXIoLS1DVEFfaCksIHZhcigtLUNUQV9zKSwgY2FsYyggdmFyKC0tQ1RBX2wpICsgMjAlICkgKTsgLy8tIGhzbCgxMjAsIDEwMCUsIDQwJSlcbiRidXR0b25HcmFkaWVudDogICAgICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgJGJ1dHRvbkNvbG9yU3RhcnQsICRidXR0b25Db2xvckVuZCk7XG4kYnV0dG9uQ29sb3I6ICAgICAgICAgICAgICAgICAgIHZhcigtLUNUQSk7XG5cbiRoZWFkZXJDb2xvcjogICAgICAgICAgICAgICAgICAgJGxpZ2h0LWJsYWNrO1xuJGJnQ29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGU7XG5cbiRtYWluU2hhZG93OiAgICAgICAgICAgICAgICAgICAgMCA1cHggNXB4IDAgI2NhYzljOTtcbiRidXR0b25UZXh0U2hhZG93OiAgICAgICAgICAgICAgJGNsYXktYnJvd247XG4kYnV0dG9uVGV4dFNoYWRvd0Rpc2FibGVkOiAgICAgICR3YXJtLWdyZXk7XG5cbiRib3gtc2hhZG93OiAgICAgICAgICByZ2JhKGJsYWNrLCAuMTYpO1xuJHRleHRTaGFkb3c6IHJnYmEoJGJsYWNrLCAwLjE1KTtcbiIsIi8vIENvbnRhaW5lciB3aWR0aHNcbi8vXG4vLyBTZXQgdGhlIGNvbnRhaW5lciB3aWR0aCwgYW5kIG92ZXJyaWRlIGl0IGZvciBmaXhlZCBuYXZiYXJzIGluIG1lZGlhIHF1ZXJpZXMuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC8vIFNpbmdsZSBjb250YWluZXIgY2xhc3Mgd2l0aCBicmVha3BvaW50IG1heC13aWR0aHNcbiAgLmNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCk7XG4gIH1cblxuICAvLyAxMDAlIHdpZGUgY29udGFpbmVyIGF0IGFsbCBicmVha3BvaW50c1xuICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSBjb250YWluZXJzIHRoYXQgYXJlIDEwMCUgd2lkZSB1bnRpbCBhIGJyZWFrcG9pbnRcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgLmNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICBAZXh0ZW5kIC5jb250YWluZXItZmx1aWQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAgICVyZXNwb25zaXZlLWNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgICB9XG5cbiAgICAgIC8vIEV4dGVuZCBlYWNoIGJyZWFrcG9pbnQgd2hpY2ggaXMgc21hbGxlciBvciBlcXVhbCB0byB0aGUgY3VycmVudCBicmVha3BvaW50XG4gICAgICAkZXh0ZW5kLWJyZWFrcG9pbnQ6IHRydWU7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkd2lkdGggaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgICAgICBAaWYgKCRleHRlbmQtYnJlYWtwb2ludCkge1xuICAgICAgICAgIC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRncmlkLWJyZWFrcG9pbnRzKX0ge1xuICAgICAgICAgICAgQGV4dGVuZCAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gT25jZSB0aGUgY3VycmVudCBicmVha3BvaW50IGlzIHJlYWNoZWQsIHN0b3AgZXh0ZW5kaW5nXG4gICAgICAgICAgQGlmICgkYnJlYWtwb2ludCA9PSAkbmFtZSkge1xuICAgICAgICAgICAgJGV4dGVuZC1icmVha3BvaW50OiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4geW91ciBjb2x1bW5zLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBtYWtlLXJvdygpO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBuZWdhdGl2ZSBtYXJnaW4gZnJvbSBkZWZhdWx0IC5yb3csIHRoZW4gdGhlIGhvcml6b250YWwgcGFkZGluZ1xuICAvLyBmcm9tIGFsbCBpbW1lZGlhdGUgY2hpbGRyZW4gY29sdW1ucyAodG8gcHJldmVudCBydW5hd2F5IHN0eWxlIGluaGVyaXRhbmNlKS5cbiAgLm5vLWd1dHRlcnMge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgID4gLmNvbCxcbiAgICA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIENvbHVtbnNcbi8vXG4vLyBDb21tb24gc3R5bGVzIGZvciBzbWFsbCBhbmQgbGFyZ2UgZ3JpZCBjb2x1bW5zXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zKCk7XG59XG4iLCIvLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbkBtaXhpbiBtYWtlLWNvbnRhaW5lcigkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgLyAyO1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgLyAyO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG5cbi8vIEZvciBlYWNoIGJyZWFrcG9pbnQsIGRlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiB0aGUgY29udGFpbmVyIGluIGEgbWVkaWEgcXVlcnlcbkBtaXhpbiBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCRtYXgtd2lkdGhzOiAkY29udGFpbmVyLW1heC13aWR0aHMsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRtYXgtd2lkdGhzIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYWtlLXJvdygkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0kZ3V0dGVyIC8gMjtcbiAgbWFyZ2luLWxlZnQ6IC0kZ3V0dGVyIC8gMjtcbn1cblxuQG1peGluIG1ha2UtY29sLXJlYWR5KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGJlY29taW5nIHRvbyBuYXJyb3cgd2hlbiBhdCBzbWFsbGVyIGdyaWQgdGllcnMgYnlcbiAgLy8gYWx3YXlzIHNldHRpbmcgYHdpZHRoOiAxMDAlO2AuIFRoaXMgd29ya3MgYmVjYXVzZSB3ZSB1c2UgYGZsZXhgIHZhbHVlc1xuICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyIC8gMjtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyIC8gMjtcbn1cblxuQG1peGluIG1ha2UtY29sKCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBmbGV4OiAwIDAgcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbiAgLy8gQWRkIGEgYG1heC13aWR0aGAgdG8gZW5zdXJlIGNvbnRlbnQgd2l0aGluIGVhY2ggY29sdW1uIGRvZXMgbm90IGJsb3cgb3V0XG4gIC8vIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uLiBBcHBsaWVzIHRvIElFMTArIGFuZCBGaXJlZm94LiBDaHJvbWUgYW5kIFNhZmFyaVxuICAvLyBkbyBub3QgYXBwZWFyIHRvIHJlcXVpcmUgdGhpcy5cbiAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtYXV0bygpIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFJlc2V0IGVhcmxpZXIgZ3JpZCB0aWVyc1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICAkbnVtOiAkc2l6ZSAvICRjb2x1bW5zO1xuICBtYXJnaW4tbGVmdDogaWYoJG51bSA9PSAwLCAwLCBwZXJjZW50YWdlKCRudW0pKTtcbn1cblxuLy8gUm93IGNvbHVtbnNcbi8vXG4vLyBTcGVjaWZ5IG9uIGEgcGFyZW50IGVsZW1lbnQoZS5nLiwgLnJvdykgdG8gZm9yY2UgaW1tZWRpYXRlIGNoaWxkcmVuIGludG8gTk5cbi8vIG51bWJlcm9mIGNvbHVtbnMuIFN1cHBvcnRzIHdyYXBwaW5nIHRvIG5ldyBsaW5lcywgYnV0IGRvZXMgbm90IGRvIGEgTWFzb25yeVxuLy8gc3R5bGUgZ3JpZC5cbkBtaXhpbiByb3ctY29scygkY291bnQpIHtcbiAgJiA+ICoge1xuICAgIGZsZXg6IDAgMCAxMDAlIC8gJGNvdW50O1xuICAgIG1heC13aWR0aDogMTAwJSAvICRjb3VudDtcbiAgfVxufVxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiAhPSBudWxsIGFuZCAkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcbi8vIHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZiBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAvLyBDb21tb24gcHJvcGVydGllcyBmb3IgYWxsIGJyZWFrcG9pbnRzXG4gICVncmlkLWNvbHVtbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgLyAyO1xuICAgIHBhZGRpbmctbGVmdDogJGd1dHRlciAvIDI7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgIC8vIEFsbG93IGNvbHVtbnMgdG8gc3RyZXRjaCBmdWxsIHdpZHRoIGJlbG93IHRoZWlyIGJyZWFrcG9pbnRzXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sI3skaW5maXh9LFxuICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIC8vIFByb3ZpZGUgYmFzaWMgYC5jb2wte2JwfWAgY2xhc3NlcyBmb3IgZXF1YWwtd2lkdGggZmxleGJveCBjb2x1bW5zXG4gICAgICAuY29sI3skaW5maXh9IHtcbiAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1NDEwXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgQGlmICRncmlkLXJvdy1jb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtcm93LWNvbHVtbnMge1xuICAgICAgICAgIC5yb3ctY29scyN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByb3ctY29scygkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm9yZGVyI3skaW5maXh9LWZpcnN0IHsgb3JkZXI6IC0xOyB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1sYXN0IHsgb3JkZXI6ICRjb2x1bW5zICsgMTsgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLm9yZGVyI3skaW5maXh9LSN7JGl9IHsgb3JkZXI6ICRpOyB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgICAvLyBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGVcbiAgICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIgYW5kICRpID09IDApIHsgLy8gQXZvaWQgZW1pdHRpbmcgdXNlbGVzcyAub2Zmc2V0LTBcbiAgICAgICAgICAgIC5vZmZzZXQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5mYWRlIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1mYWRlKTtcblxuICAmOm5vdCguc2hvdykge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmNvbGxhcHNlIHtcbiAgJjpub3QoLnNob3cpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5jb2xsYXBzaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tY29sbGFwc2UpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktYmxhY2tsaXN0XG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA9PSAwIHtcbiAgICAkdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcbiAgfVxuXG4gIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID4gMSB7XG4gICAgQGVhY2ggJHZhbHVlIGluICR0cmFuc2l0aW9uIHtcbiAgICAgIEBpZiAkdmFsdWUgPT0gbnVsbCBvciAkdmFsdWUgPT0gbm9uZSB7XG4gICAgICAgIEB3YXJuIFwiVGhlIGtleXdvcmQgJ25vbmUnIG9yICdudWxsJyBtdXN0IGJlIHVzZWQgYXMgYSBzaW5nbGUgYXJndW1lbnQuXCI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgIEBpZiBudGgoJHRyYW5zaXRpb24sIDEpICE9IG51bGwge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgfVxuXG4gICAgQGlmICRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeSBhbmQgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIGFuZCBudGgoJHRyYW5zaXRpb24sIDEpICE9IG5vbmUge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIC5tb2RhbC1vcGVuICAgICAgLSBib2R5IGNsYXNzIGZvciBraWxsaW5nIHRoZSBzY3JvbGxcbi8vIC5tb2RhbCAgICAgICAgICAgLSBjb250YWluZXIgdG8gc2Nyb2xsIHdpdGhpblxuLy8gLm1vZGFsLWRpYWxvZyAgICAtIHBvc2l0aW9uaW5nIHNoZWxsIGZvciB0aGUgYWN0dWFsIG1vZGFsXG4vLyAubW9kYWwtY29udGVudCAgIC0gYWN0dWFsIG1vZGFsIHcvIGJnIGFuZCBjb3JuZXJzIGFuZCBzdHVmZlxuXG5cbi5tb2RhbC1vcGVuIHtcbiAgLy8gS2lsbCB0aGUgc2Nyb2xsIG9uIHRoZSBib2R5XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLm1vZGFsIHtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxufVxuXG4vLyBDb250YWluZXIgdGhhdCB0aGUgbW9kYWwgc2Nyb2xscyB3aXRoaW5cbi5tb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvLyBQcmV2ZW50IENocm9tZSBvbiBXaW5kb3dzIGZyb20gYWRkaW5nIGEgZm9jdXMgb3V0bGluZS4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMDk1MS5cbiAgb3V0bGluZTogMDtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvbid0IHVzZSBgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO2AgZHVlIHRvIGFcbiAgLy8gZ25hcmx5IGlPUyBTYWZhcmkgYnVnOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4MzQyXG4gIC8vIFNlZSBhbHNvIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTc2OTVcbn1cblxuLy8gU2hlbGwgZGl2IHRvIHBvc2l0aW9uIHRoZSBtb2RhbCB3aXRoIGJvdHRvbSBwYWRkaW5nXG4ubW9kYWwtZGlhbG9nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiAkbW9kYWwtZGlhbG9nLW1hcmdpbjtcbiAgLy8gYWxsb3cgY2xpY2tzIHRvIHBhc3MgdGhyb3VnaCBmb3IgY3VzdG9tIGNsaWNrIGhhbmRsaW5nIHRvIGNsb3NlIG1vZGFsXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gIC8vIFdoZW4gZmFkaW5nIGluIHRoZSBtb2RhbCwgYW5pbWF0ZSBpdCB0byBzbGlkZSBkb3duXG4gIC5tb2RhbC5mYWRlICYge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJG1vZGFsLXRyYW5zaXRpb24pO1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLWZhZGUtdHJhbnNmb3JtO1xuICB9XG4gIC5tb2RhbC5zaG93ICYge1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLXNob3ctdHJhbnNmb3JtO1xuICB9XG5cbiAgLy8gV2hlbiB0cnlpbmcgdG8gY2xvc2UsIGFuaW1hdGUgZm9jdXMgdG8gc2NhbGVcbiAgLm1vZGFsLm1vZGFsLXN0YXRpYyAmIHtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1zY2FsZS10cmFuc2Zvcm07XG4gIH1cbn1cblxuLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgZGlzcGxheTogZmxleDsgLy8gSUUxMC8xMVxuICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDAlLCAkbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDIpO1xuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTsgLy8gSUUxMC8xMVxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAubW9kYWwtaGVhZGVyLFxuICAubW9kYWwtZm9vdGVyIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxuXG4gIC5tb2RhbC1ib2R5IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG59XG5cbi5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4taGVpZ2h0OiBzdWJ0cmFjdCgxMDAlLCAkbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDIpO1xuXG4gIC8vIEVuc3VyZSBgbW9kYWwtZGlhbG9nLWNlbnRlcmVkYCBleHRlbmRzIHRoZSBmdWxsIGhlaWdodCBvZiB0aGUgdmlldyAoSUUxMC8xMSlcbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgLy8gSUUxMFxuICAgIGhlaWdodDogc3VidHJhY3QoMTAwdmgsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7XG4gICAgaGVpZ2h0OiBtaW4tY29udGVudDsgLy8gUmVzZXQgaGVpZ2h0IHRvIDAgZXhjZXB0IG9uIElFXG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gIC8vIEVuc3VyZSBgLm1vZGFsLWJvZHlgIHNob3dzIHNjcm9sbGJhciAoSUUxMC8xMSlcbiAgJi5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBY3R1YWwgbW9kYWxcbi5tb2RhbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTsgLy8gRW5zdXJlIGAubW9kYWwtY29udGVudGAgZXh0ZW5kcyB0aGUgZnVsbCB3aWR0aCBvZiB0aGUgcGFyZW50IGAubW9kYWwtZGlhbG9nYFxuICAvLyBjb3VudGVyYWN0IHRoZSBwb2ludGVyLWV2ZW50czogbm9uZTsgaW4gdGhlIC5tb2RhbC1kaWFsb2dcbiAgY29sb3I6ICRtb2RhbC1jb250ZW50LWNvbG9yO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsLWNvbnRlbnQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzKTtcbiAgLy8gUmVtb3ZlIGZvY3VzIG91dGxpbmUgZnJvbSBvcGVuZWQgbW9kYWxcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gTW9kYWwgYmFja2dyb3VuZFxuLm1vZGFsLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWwtYmFja2Ryb3A7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsLWJhY2tkcm9wLWJnO1xuXG4gIC8vIEZhZGUgZm9yIGJhY2tkcm9wXG4gICYuZmFkZSB7IG9wYWNpdHk6IDA7IH1cbiAgJi5zaG93IHsgb3BhY2l0eTogJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk7IH1cbn1cblxuLy8gTW9kYWwgaGVhZGVyXG4vLyBUb3Agc2VjdGlvbiBvZiB0aGUgbW9kYWwgdy8gdGl0bGUgYW5kIGRpc21pc3Ncbi5tb2RhbC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgLy8gc28gdGhlIGNsb3NlIGJ0biBhbHdheXMgc3RheXMgb24gdGhlIHVwcGVyIHJpZ2h0IGNvcm5lclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IC8vIFB1dCBtb2RhbCBoZWFkZXIgZWxlbWVudHMgKHRpdGxlIGFuZCBkaXNtaXNzKSBvbiBvcHBvc2l0ZSBlbmRzXG4gIHBhZGRpbmc6ICRtb2RhbC1oZWFkZXItcGFkZGluZztcbiAgYm9yZGVyLWJvdHRvbTogJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXMpO1xuXG4gIC5jbG9zZSB7XG4gICAgcGFkZGluZzogJG1vZGFsLWhlYWRlci1wYWRkaW5nO1xuICAgIC8vIGF1dG8gb24gdGhlIGxlZnQgZm9yY2UgaWNvbiB0byB0aGUgcmlnaHQgZXZlbiB3aGVuIHRoZXJlIGlzIG5vIC5tb2RhbC10aXRsZVxuICAgIG1hcmdpbjogKC0kbW9kYWwtaGVhZGVyLXBhZGRpbmcteSkgKC0kbW9kYWwtaGVhZGVyLXBhZGRpbmcteCkgKC0kbW9kYWwtaGVhZGVyLXBhZGRpbmcteSkgYXV0bztcbiAgfVxufVxuXG4vLyBUaXRsZSB0ZXh0IHdpdGhpbiBoZWFkZXJcbi5tb2RhbC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiAkbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ7XG59XG5cbi8vIE1vZGFsIGJvZHlcbi8vIFdoZXJlIGFsbCBtb2RhbCBjb250ZW50IHJlc2lkZXMgKHNpYmxpbmcgb2YgLm1vZGFsLWhlYWRlciBhbmQgLm1vZGFsLWZvb3Rlcilcbi5tb2RhbC1ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgc28gdGhhdCB0aGUgYm9keSB0YWtlIHVwIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGVcbiAgLy8gd2hlbiB0aGVyZSBzaG91bGQgYmUgYSBmaXhlZCBoZWlnaHQgb24gYC5tb2RhbC1kaWFsb2dgLlxuICBmbGV4OiAxIDEgYXV0bztcbiAgcGFkZGluZzogJG1vZGFsLWlubmVyLXBhZGRpbmc7XG59XG5cbi8vIEZvb3RlciAoZm9yIGFjdGlvbnMpXG4ubW9kYWwtZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyB2ZXJ0aWNhbGx5IGNlbnRlclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyAvLyBSaWdodCBhbGlnbiBidXR0b25zIHdpdGggZmxleCBwcm9wZXJ0eSBiZWNhdXNlIHRleHQtYWxpZ24gZG9lc24ndCB3b3JrIG9uIGZsZXggaXRlbXNcbiAgcGFkZGluZzogJG1vZGFsLWlubmVyLXBhZGRpbmcgLSAkbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVuIC8gMjtcbiAgYm9yZGVyLXRvcDogJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIFBsYWNlIG1hcmdpbiBiZXR3ZWVuIGZvb3RlciBlbGVtZW50c1xuICAvLyBUaGlzIHNvbHV0aW9uIGlzIGZhciBmcm9tIGlkZWFsIGJlY2F1c2Ugb2YgdGhlIHVuaXZlcnNhbCBzZWxlY3RvciB1c2FnZSxcbiAgLy8gYnV0IGlzIG5lZWRlZCB0byBmaXggaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDgwMFxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbWF4LXVuaXZlcnNhbFxuICA+ICoge1xuICAgIG1hcmdpbjogJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbiAvIDI7XG4gIH1cbn1cblxuLy8gTWVhc3VyZSBzY3JvbGxiYXIgd2lkdGggZm9yIHBhZGRpbmcgYm9keSBkdXJpbmcgbW9kYWwgc2hvdy9oaWRlXG4ubW9kYWwtc2Nyb2xsYmFyLW1lYXN1cmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTlweDtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcbn1cblxuLy8gU2NhbGUgdXAgdGhlIG1vZGFsXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gIC8vIEF1dG9tYXRpY2FsbHkgc2V0IG1vZGFsJ3Mgd2lkdGggZm9yIGxhcmdlciB2aWV3cG9ydHNcbiAgLm1vZGFsLWRpYWxvZyB7XG4gICAgbWF4LXdpZHRoOiAkbW9kYWwtbWQ7XG4gICAgbWFyZ2luOiAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwIGF1dG87XG4gIH1cblxuICAubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICAgIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcblxuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG4gICAgfVxuICB9XG5cbiAgLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gICAgbWluLWhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGhlaWdodDogc3VidHJhY3QoMTAwdmgsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcbiAgICAgIGhlaWdodDogbWluLWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cCk7XG4gIH1cblxuICAubW9kYWwtc20geyBtYXgtd2lkdGg6ICRtb2RhbC1zbTsgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5tb2RhbC1sZyxcbiAgLm1vZGFsLXhsIHtcbiAgICBtYXgtd2lkdGg6ICRtb2RhbC1sZztcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gIC5tb2RhbC14bCB7IG1heC13aWR0aDogJG1vZGFsLXhsOyB9XG59XG4iLCJAdXNlIFwic2FzczptYXRoXCI7XG5cbjpyb290IHsgICAgXG4gICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQtbWlkJykge1xuICAgICAgICAtLWdyaWQtZ3V0dGVyLXdpZHRoOiAzMnB4O1xuICAgICAgICAtLXNlY3Rpb24taW5uZXI6IDQwcHg7XG4gICAgfVxuICAgIFxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldC1taWQnKSB7XG4gICAgICAgIC0tZ3JpZC1ndXR0ZXItd2lkdGg6IDQ4cHg7XG4gICAgICAgIC0tc2VjdGlvbi1pbm5lcjogNjBweDtcbiAgICB9XG59XG5cbm1haW4gPiBzZWN0aW9uIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyAvLy0gdG8gcmVtb3ZlIGhvcml6b250YWwgc2Nyb2xsIGNyZWF0ZWQgYnkgbmVnYXRpdmUgcG9zaXRpb24gb2YgZGVjb3JhdGl2ZSBiZy1pbWFnZXMgbG9jYXRlZCBvbiB0aGUgcmlnaHQgc2lkZVxufVxuXG5ib2R5IHtcbiAgICAmLm5vc2Nyb2xse1xuICAgICAgICBtYXJnaW46IDA7IGhlaWdodDogMTAwJTsgb3ZlcmZsb3c6IGhpZGRlbjsgdG91Y2gtYWN0aW9uOiBub25lO1xuICAgIH1cbn1cblxuW2NsYXNzXj1cImNvbnRhaW5lclwiXSB7XG4gICB3aWR0aDogMTAwJTsgXG4gICBtYXJnaW4tbGVmdDogYXV0bztcbiAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1ncmlkLWd1dHRlci13aWR0aCkgLyAyKTtcbiAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tZ3JpZC1ndXR0ZXItd2lkdGgpIC8gMik7XG59XG5cbi5jb250YWluZXIteGwge1xuICAgIG1heC13aWR0aDogbWFwLWdldCgkY29udGFpbmVyLW1heC13aWR0aHMsIHhsKTsgXG59XG4uY29udGFpbmVyLW1kIHtcbiAgICBtYXgtd2lkdGg6IG1hcC1nZXQoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBtZCk7IFxufVxuXG4uY29udGFpbmVyLWxnIHtcbiAgICBtYXgtd2lkdGg6IG1hcC1nZXQoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBsZyk7XG59XG5cbnNlY3Rpb24ge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zZWN0aW9uLWlubmVyKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2VjdGlvbi1pbm5lcik7XG5cbiAgICB1bDpub3QoW2NsYXNzXSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG5cbiAgICB9XG5cbiAgICBsaTpub3QoW2NsYXNzXSkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjhlbTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIG1hc2s6IHVybCgkc3ZnLWRhdGEgKyAkdGljay1zZWNvbmRhcnlDb2xvcikgbm8tcmVwZWF0OyBcbiAgICAgICAgICAgIC13ZWJraXQtbWFzazogdXJsKCRzdmctZGF0YSArICR0aWNrLXNlY29uZGFyeUNvbG9yKSBuby1yZXBlYXQ7IFxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyBcbiAgICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyBcbiAgICAgICAgICAgIHdpZHRoOiAyMnB4OyBcbiAgICAgICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnlDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZm9vdGVyIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc2VjdGlvbi1pbm5lcik7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNlY3Rpb24taW5uZXIpO1xufVxuXG5pbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgbWFyZ2luOiAwIGF1dG87IFxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktYmxhY2tsaXN0XG4vLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byByZXBsYWNlIG5lZ2F0aXZlIHZhbHVlcyB3aXRoIDBcbkBmdW5jdGlvbiB2YWxpZC1yYWRpdXMoJHJhZGl1cykge1xuICAkcmV0dXJuOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICRyYWRpdXMge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCBtYXgoJHZhbHVlLCAwKSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgJHZhbHVlKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcmV0dXJuO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cywgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM6IGZhbHNlKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxuICBAZWxzZSBpZiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cyAhPSBmYWxzZSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gRmxleCB2YXJpYXRpb25cbi8vXG4vLyBDdXN0b20gc3R5bGVzIGZvciBhZGRpdGlvbmFsIGZsZXggYWxpZ25tZW50IG9wdGlvbnMuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5mbGV4I3skaW5maXh9LXJvdyAgICAgICAgICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tY29sdW1uICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1yb3ctcmV2ZXJzZSAgICB7IGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tY29sdW1uLXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDsgfVxuXG4gICAgLmZsZXgjeyRpbmZpeH0td3JhcCAgICAgICAgIHsgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1ub3dyYXAgICAgICAgeyBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0td3JhcC1yZXZlcnNlIHsgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWZpbGwgICAgICAgICB7IGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1ncm93LTAgICAgICAgeyBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWdyb3ctMSAgICAgICB7IGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tc2hyaW5rLTAgICAgIHsgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXNocmluay0xICAgICB7IGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7IH1cblxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tc3RhcnQgICB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1lbmQgICAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1jZW50ZXIgIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tYmV0d2VlbiB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1hcm91bmQgIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1lbmQgICAgICB7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWNlbnRlciAgIHsgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RyZXRjaCAgeyBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdGFydCAgIHsgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tZW5kICAgICB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1jZW50ZXIgIHsgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tYXJvdW5kICB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tc3RyZXRjaCB7IGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tYXV0byAgICAgeyBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1zdGFydCAgICB7IGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWNlbnRlciAgIHsgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1iYXNlbGluZSB7IGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCIvKiBodHRwOi8vbWV5ZXJ3ZWIuY29tL2VyaWMvdG9vbHMvY3NzL3Jlc2V0L1xuICAgdjIuMC1tb2RpZmllZCB8IDIwMTEwMTI2XG4gICBMaWNlbnNlOiBub25lIChwdWJsaWMgZG9tYWluKVxuKi9cblxuaHRtbCwgYm9keSwgZGl2LCBzcGFuLCBhcHBsZXQsIG9iamVjdCwgaWZyYW1lLFxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYmxvY2txdW90ZSwgcHJlLFxuYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgYmlnLCBjaXRlLCBjb2RlLFxuZGVsLCBkZm4sIGVtLCBpbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLFxuc21hbGwsIHN0cmlrZSwgc3Ryb25nLCBzdWIsIHN1cCwgdHQsIHZhcixcbmIsIHUsIGksIGNlbnRlcixcbmRsLCBkdCwgZGQsIG9sLCB1bCwgbGksXG5maWVsZHNldCwgZm9ybSwgbGFiZWwsIGxlZ2VuZCxcbnRhYmxlLCBjYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkLFxuYXJ0aWNsZSwgYXNpZGUsIGNhbnZhcywgZGV0YWlscywgZW1iZWQsXG5maWd1cmUsIGZpZ2NhcHRpb24sIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsXG5tZW51LCBuYXYsIG91dHB1dCwgcnVieSwgc2VjdGlvbiwgc3VtbWFyeSxcbnRpbWUsIG1hcmssIGF1ZGlvLCB2aWRlbyB7XG4gIG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0Ym9yZGVyOiAwO1xuXHRmb250LXNpemU6IDEwMCU7XG5cdGZvbnQ6IGluaGVyaXQ7XG5cdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyogbWFrZSBzdXJlIHRvIHNldCBzb21lIGZvY3VzIHN0eWxlcyBmb3IgYWNjZXNzaWJpbGl0eSAqL1xuOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xufVxuXG4vKiBIVE1MNSBkaXNwbGF5LXJvbGUgcmVzZXQgZm9yIG9sZGVyIGJyb3dzZXJzICovXG5hcnRpY2xlLCBhc2lkZSwgZGV0YWlscywgZmlnY2FwdGlvbiwgZmlndXJlLFxuZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWVudSwgbmF2LCBzZWN0aW9uIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbmJvZHkge1xuXHRsaW5lLWhlaWdodDogMTtcbn1cblxub2wsIHVsIHtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuYmxvY2txdW90ZSwgcSB7XG5cdHF1b3Rlczogbm9uZTtcbn1cblxuYmxvY2txdW90ZTpiZWZvcmUsIGJsb2NrcXVvdGU6YWZ0ZXIsXG5xOmJlZm9yZSwgcTphZnRlciB7XG5cdGNvbnRlbnQ6ICcnO1xuXHRjb250ZW50OiBub25lO1xufVxuXG50YWJsZSB7XG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cdGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG5pbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG5pbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxuaW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbmlucHV0W3R5cGU9c2VhcmNoXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbnRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbi8qKlxuICogQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDYvNy84LzkgYW5kIEZpcmVmb3ggMy5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnZpZGVvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgKmRpc3BsYXk6IGlubGluZTtcbiAgICAqem9vbTogMTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8qKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgNy84LzksIEZpcmVmb3ggMywgYW5kIFNhZmFyaSA0LlxuICogS25vd24gaXNzdWU6IG5vIElFIDYgc3VwcG9ydC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRleHQgcmVzaXppbmcgb2RkbHkgaW4gSUUgNi83IHdoZW4gYm9keSBgZm9udC1zaXplYCBpcyBzZXQgdXNpbmdcbiAqICAgIGBlbWAgdW5pdHMuXG4gKiAyLiBQcmV2ZW50IGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmdcbiAqICAgIHVzZXIgem9vbS5cbiAqL1xuXG5odG1sIHtcbiAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYG91dGxpbmVgIGluY29uc2lzdGVuY3kgYmV0d2VlbiBDaHJvbWUgYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5cbmE6Zm9jdXMge1xuICAgIG91dGxpbmU6IHRoaW4gZG90dGVkO1xufVxuXG4vKipcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgd2hlbiBmb2N1c2VkIGFuZCBhbHNvIG1vdXNlIGhvdmVyZWQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gICAgb3V0bGluZTogMDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDYvNy84LzkgYW5kIEZpcmVmb3ggMy5cbiAqIDIuIEltcHJvdmUgaW1hZ2UgcXVhbGl0eSB3aGVuIHNjYWxlZCBpbiBJRSA3LlxuICovXG5cbmltZyB7XG4gICAgYm9yZGVyOiAwOyAvKiAxICovXG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDYvNy84LzksIFNhZmFyaSA1LCBhbmQgT3BlcmEgMTEuXG4gKi9cblxuZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogQ29ycmVjdCBtYXJnaW4gZGlzcGxheWVkIG9kZGx5IGluIElFIDYvNy5cbiAqL1xuXG5mb3JtIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5cbmZpZWxkc2V0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgIG1hcmdpbjogMCAycHg7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA2LzcvOC85LlxuICogMi4gQ29ycmVjdCB0ZXh0IG5vdCB3cmFwcGluZyBpbiBGaXJlZm94IDMuXG4gKiAzLiBDb3JyZWN0IGFsaWdubWVudCBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgNi83LlxuICovXG5cbmxlZ2VuZCB7XG4gICAgYm9yZGVyOiAwOyAvKiAxICovXG4gICAgcGFkZGluZzogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAyICovXG4gICAgKm1hcmdpbi1sZWZ0OiAtN3B4OyAvKiAzICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBmb250IHNpemUgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIElFIDYvNywgRmlyZWZveCAzKywgU2FmYXJpIDUsXG4gKiAgICBhbmQgQ2hyb21lLlxuICogMy4gSW1wcm92ZSBhcHBlYXJhbmNlIGFuZCBjb25zaXN0ZW5jeSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gICAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gICAgbWFyZ2luOiAwOyAvKiAyICovXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAzICovXG4gICAgKnZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBBZGRyZXNzIEZpcmVmb3ggMysgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBDaHJvbWUsIFNhZmFyaSA1KywgYW5kIElFIDYrLlxuICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94IDQrIGFuZCBPcGVyYS5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3Qge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKiA0LiBSZW1vdmUgaW5uZXIgc3BhY2luZyBpbiBJRSA3IHdpdGhvdXQgYWZmZWN0aW5nIG5vcm1hbCB0ZXh0IGlucHV0cy5cbiAqICAgIEtub3duIGlzc3VlOiBpbm5lciBzcGFjaW5nIHJlbWFpbnMgaW4gSUUgNi5cbiAqL1xuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG4gICAgKm92ZXJmbG93OiB2aXNpYmxlOyAgLyogNCAqL1xufVxuXG4vKipcbiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gKi9cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBjb250ZW50LWJveCBpbiBJRSA4LzkuXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LlxuICogMy4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDcuXG4gKiAgICBLbm93biBpc3N1ZTogZXhjZXNzIHBhZGRpbmcgcmVtYWlucyBpbiBJRSA2LlxuICovXG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgICAqaGVpZ2h0OiAxM3B4OyAvKiAzICovXG4gICAgKndpZHRoOiAxM3B4OyAvKiAzICovXG59XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIDUgYW5kIENocm9tZVxuICogICAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIDUgYW5kIENocm9tZVxuICogb24gT1MgWC5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCAzKy5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDYvNy84LzkuXG4gKiAyLiBJbXByb3ZlIHJlYWRhYmlsaXR5IGFuZCBhbGlnbm1lbnQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bzsgLyogMSAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKi9cblxudGFibGUge1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbmh0bWwsXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgICBjb2xvcjogIzIyMjtcbn1cblxuXG46Oi1tb3otc2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAjYjNkNGZjO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xufVxuXG46OnNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogI2IzZDRmYztcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuaW1nIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5maWVsZHNldCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG50ZXh0YXJlYSB7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuLmNocm9tZWZyYW1lIHtcbiAgICBtYXJnaW46IDAuMmVtIDA7XG4gICAgYmFja2dyb3VuZDogI2NjYztcbiAgICBjb2xvcjogIzAwMDtcbiAgICBwYWRkaW5nOiAwLjJlbSAwO1xufVxuIiwiLy8tIFJlc2V0IEV4dGVuZGVkIC0gT24gdGhpcyBwYXJ0aWFsIEknbGwgZXh0ZW5kIHRoZSBFcmljIE1leWVyIHJlc2V0IGZpbGUgYnkgYWRkaW5nIG1vZGVybiBhbmQgdXNlZnVsbCBzZWxlY3RvcnNcclxuXHJcbi8vLSBPdmVycmlkZSBkZWZhdWx0IGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyBzbyB3aWR0aCBpcyBub3QgYWZmZWN0ZWQgYnkgcGFkZGluZyBhbmQgYm9yZGVyIHByb3BlcnRpZXNcclxuaHRtbCB7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG4vLy0gSW5oZXJpdCByb290IGJveC1zaXppbmcgdmFsdWUgdG8gYWxsIERPTSBlbGVtZW50c1xyXG4qLFxyXG4qOjpiZWZvcmUsXHJcbio6OmFmdGVyIHsgYm94LXNpemluZzogaW5oZXJpdDsgfVxyXG5cclxuLy8tIFNldCBib2R5IHRvIGZpbGwgdmlld3BvcnQsIG9wdGltaXplIHRleHQtcmVuZGVyaW5nIGFuZCBzbW9vdGggc2Nyb2xsaW5nXHJcbmJvZHkge1xyXG4gICAgbWluLWhlaWdodDogMTAwdmg7IFxyXG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7IC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG4gICAgLy8tIE5vdGUgdGV4dC1yZW5kZXJpbmcgc2hvdWxkIGJlIGNob3NlbiBkZXBlbmRpbmcgb24gdXNlZCBmb250LWZhbWlseSBhbmQgcGVyZm9ybWFuY2UgZ29hbHNcclxuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IC8vLSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvdGV4dC1yZW5kZXJpbmdcclxufVxyXG5cclxuLy8tIFJlc2V0IGFuY2hvciBsb29rICYgYmVoYXZpb3VyXHJcbmEgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGNvbG9yOiBpbmhlcml0OyBjdXJzb3I6IHBvaW50ZXI7IH1cclxuXHJcbmJ1dHRvbiB7IFxyXG4gICAgcGFkZGluZzogMDsgXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgY29sb3I6IGluaGVyaXQ7IGJvcmRlci13aWR0aDogMDsgY3Vyc29yOnBvaW50ZXI7IFxyXG59XHJcblxyXG4vLy0gQWRpdGlvbmFsIHRvIHJlc2V0LnNjc3MsIHJlbW92ZSBtYXJnaW4gb24gRkYzKyBcclxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxyXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7IG1hcmdpbjogMDsgfVxyXG4iLCIvLy0gQmFzZSB0eXBvZ3JhcGh5IHN0eWxlc1xuOnJvb3Qge1xuICAgIC0tcmF0aW5nLXNpemU6IDMycHg7XG4gICAgLS1oZWFkaW5nTGluZUhlaWdodDogMS4yNTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPG1vYmlsZVwiKSB7XG4gICAgICAgIC0tZGVmYXVsdC1mczogMTZweDtcbiAgICAgICAgLS1saW5lSGVpZ2h0OiAxLjU7XG5cbiAgICAgICAgLS1oZWFkaW5nMS1mczogMzJweDtcbiAgICAgICAgLS1zdWJIZWFkaW5nMS1mczogMTRweDtcbiAgICAgICAgLS1pbnRyb0NvbnRlbnQtZnM6IDE4cHg7XG5cbiAgICAgICAgLS1oZWFkaW5nMi1mczogMjBweDtcblxuICAgICAgICAtLWhlYWRpbmczLWZzOiAyMXB4O1xuXG4gICAgICAgIC0tYnRuLWZzOiAxOHB4O1xuXG4gICAgICAgIC0taGVhZGluZzYtZnM6IDE2cHg7XG4gICAgICAgIC0tZGlzY2xhaW1lci1mczogMTBweDtcblxuICAgICAgICAtLXN0b2NrVXBIZWFkaW5nLWZzOiAyNHB4O1xuICAgICAgICAtLXN0b2NrVXBTdWJIZWFkaW5nLWZzOiAxNHB4O1xuXG4gICAgICAgIC0tc3R1ZGllcy1mczogMTRweDtcblxuICAgICAgICAtLWZvb3Rlci1mczogMTRweDtcbiAgICB9XG4gICAgXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1vYmlsZVwiLCBcIjx0YWJsZXRcIikge1xuICAgICAgICAtLWRlZmF1bHQtZnM6IDE2cHg7XG4gICAgICAgIC0tbGluZUhlaWdodDogMS41O1xuXG4gICAgICAgIC0taGVhZGluZzEtZnM6IDM2cHg7XG4gICAgICAgIC0tc3ViSGVhZGluZzEtZnM6IDE0cHg7XG4gICAgICAgIC0taW50cm9Db250ZW50LWZzOiAxOHB4O1xuXG4gICAgICAgIC0taGVhZGluZzItZnM6IDI0cHg7XG5cbiAgICAgICAgLS1oZWFkaW5nMy1mczogMjFweDtcblxuICAgICAgICAtLWJ0bi1mczogMjBweDtcblxuICAgICAgICAtLWhlYWRpbmc2LWZzOiAxOHB4O1xuICAgICAgICAtLWRpc2NsYWltZXItZnM6IDEycHg7XG5cbiAgICAgICAgLS1zdG9ja1VwSGVhZGluZy1mczogMjRweDtcbiAgICAgICAgLS1zdG9ja1VwU3ViSGVhZGluZy1mczogMTRweDtcblxuICAgICAgICAtLXN0dWRpZXMtZnM6IDE0cHg7XG5cbiAgICAgICAgLS1mb290ZXItZnM6IDE0cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiLCBcIjxkZXNrdG9wXCIpIHtcbiAgICAgICAgLS1kZWZhdWx0LWZzOiAxNnB4O1xuICAgICAgICAtLWxpbmVIZWlnaHQ6IDEuNTtcblxuICAgICAgICAtLWhlYWRpbmcxLWZzOiA0OHB4O1xuICAgICAgICAtLXN1YkhlYWRpbmcxLWZzOiAxNnB4O1xuICAgICAgICAtLWludHJvQ29udGVudC1mczogMThweDtcblxuICAgICAgICAtLWhlYWRpbmcyLWZzOiAyOHB4O1xuXG4gICAgICAgIC0taGVhZGluZzMtZnM6IDI0cHg7XG5cbiAgICAgICAgLS1idG4tZnM6IDI2cHg7XG5cbiAgICAgICAgLS1oZWFkaW5nNi1mczogMThweDtcbiAgICAgICAgLS1kaXNjbGFpbWVyLWZzOiAxMnB4O1xuXG4gICAgICAgIC0tc3RvY2tVcEhlYWRpbmctZnM6IDM2cHg7XG4gICAgICAgIC0tc3RvY2tVcFN1YkhlYWRpbmctZnM6IDE0cHg7XG5cbiAgICAgICAgLS1zdHVkaWVzLWZzOiAxNHB4O1xuXG4gICAgICAgIC0tZm9vdGVyLWZzOiAxNHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICAgICAgLS1kZWZhdWx0LWZzOiAxNnB4O1xuICAgICAgICAtLWxpbmVIZWlnaHQ6IDEuNzU7XG5cbiAgICAgICAgLS1oZWFkaW5nMS1mczogNDhweDtcbiAgICAgICAgLS1zdWJIZWFkaW5nMS1mczogMTZweDtcbiAgICAgICAgLS1pbnRyb0NvbnRlbnQtZnM6IDE4cHg7XG5cbiAgICAgICAgLS1oZWFkaW5nMi1mczogMjhweDtcblxuICAgICAgICAtLWhlYWRpbmczLWZzOiAyNHB4O1xuXG4gICAgICAgIC0tYnRuLWZzOiAzMnB4O1xuXG4gICAgICAgIC0taGVhZGluZzYtZnM6IDE4cHg7XG4gICAgICAgIC0tZGlzY2xhaW1lci1mczogMTJweDtcblxuICAgICAgICAtLXN0b2NrVXBIZWFkaW5nLWZzOiAzNnB4O1xuICAgICAgICAtLXN0b2NrVXBTdWJIZWFkaW5nLWZzOiAxNHB4O1xuXG4gICAgICAgIC0tc3R1ZGllcy1mczogMTRweDtcblxuICAgICAgICAtLWZvb3Rlci1mczogMTRweDtcbiAgICB9XG59XG5cbi8vLSBGb3IgUHJveGltYSBOb3ZhIEZvbnQgRmFtaWx5XG4kZm9udC13ZWlnaHQtbGlnaHQ6ICAgMjAwOyAvLy0gTGlnaHRcbiRmb250LXdlaWdodC1ub3JtYWw6ICA0MDA7IC8vLSBSZWd1bGFyXG4kZm9udC13ZWlnaHQtcmVndWxhcjogNjAwOyAvLy0gU2VtaS1Cb2xkIC8gTWVkaXVtXG4kZm9udC13ZWlnaHQtYm9sZDogICAgODAwOyAvLy0gQm9sZFxuXG5odG1sIHtcbiAgICBmb250OiAkZm9udC13ZWlnaHQtbm9ybWFsIDYyLjUlIC8gMS4yICRtYWluRm9udDsgLy8tIDYyLjUlIG1ha2VzICdlbScgYW5kICdyZW0nIHVuaXRzIHRvIGJlIGNvbXB1dGVkIHRvIDEwcHggc28gMXJlbSB3aWxsIGJlIDEwcHggYW5kIDEuNHJlbSB3aWxsIGJlIDE0cHhcbiAgICBsZXR0ZXItc3BhY2luZzogLjAxZW07XG59XG5cbmJvZHkge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZGVmYXVsdC1mcyk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmVIZWlnaHQpO1xuICAgIGNvbG9yOiAkdGV4dENvbG9yO1xufVxuXG5oMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLjVlbTtcbiAgICBmb250LXNpemU6IHZhcigtLWhlYWRpbmcxLWZzKTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcblxuICAgIHNtYWxsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC41ZW07XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tc3ViSGVhZGluZzEtZnMpOyAgICAgICAgXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLjAzZW07XG4gICAgfVxufVxuXG5oMiwgaDMge1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXJlZ3VsYXI7XG59XG5cbmgxLCBoMiwgaDMge1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1oZWFkaW5nTGluZUhlaWdodCk7XG59XG5cbmgyIHtcbiAgICBmb250LXNpemU6IHZhcigtLWhlYWRpbmcyLWZzKTtcbn1cblxuaDMge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0taGVhZGluZzMtZnMpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLy8tIFJlY2lwZXNcbmg0IHtcbiAgICAvLyBmb250LWZhbWlseTogJG1haW5Gb250O1xuICAgIC8vIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICAvLyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLy8tIEZBUVxuaDYge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0taGVhZGluZzYtZnMpO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtcmVndWxhcjtcbiAgICBtYXJnaW4tYm90dG9tOiAuNWVtO1xufVxuXG5zbWFsbCB7XG4gICAgLmhhcy1kYXJrTW9kZSAmIHtcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnlDb2xvcjtcbiAgICB9XG5cbiAgICAuaGFzLWxpZ2h0TW9kZSAmIHtcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnlDb2xvcjtcbiAgICB9XG59XG5cbnAge1xuICAgICYgKyAmIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMWVtO1xuICAgIH1cbn1cblxuYiwgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG59XG5cbmkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuYSB7XG4gICAgY29sb3I6ICRtYWluQ29sb3I7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcImhvdmVyXCIsIFwiZmluZVwiKSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbnN1cCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmRpc2NsYWltZXIge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZGlzY2xhaW1lci1mcyk7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xufVxuIiwiLmhpZGUge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc2hvdyB7XHJcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uaW52aXNpYmxlIHtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYnIge1xyXG4gICAgd2hpdGUtc3BhY2U6IHByZTsgLy8tIHByZXNlcnZlIHdoaXRlc3BhY2VcclxuXHJcbiAgICAmLS1ub3Qtc21hbGwtbW9iaWxlIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1tb2JpbGUnKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLS1zbWFsbC1tb2JpbGUge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bW9iaWxlJykge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi0tbW9iaWxlIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1tb2JpbGUnLCAnPHRhYmxldCcpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYtLW1vYmlsZS1tYXgge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bW9iaWxlLW1heCcpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYtLXRhYmxldCB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzxkZXNrdG9wJykge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi0tdGFibGV0LWxhbmRzY2FwZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzxkZXNrdG9wJywgJ2xhbmRzY2FwZScpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYtLWRlc2t0b3Age1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm5vd3JhcCB7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vICAgICBfICAgICAgICAgICAgXyAgICAgICAgICAgXyAgICAgICAgICAgICAgICAgICAgICAgICAgIF8gX1xyXG4vLyAgICAoXykgICAgICAgICAgfCB8ICAgICAgICAgfCB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF8pXHJcbi8vICAgICBfIF8gX18gICBfX198IHxfICAgXyAgX198IHwgX19fICAgXyBfXyBfX18gICBfX18gIF9ffCB8XyAgX18gX1xyXG4vLyAgICB8IHwgJ18gXFwgLyBfX3wgfCB8IHwgfC8gX2AgfC8gXyBcXCB8ICdfIGAgXyBcXCAvIF8gXFwvIF9gIHwgfC8gX2AgfFxyXG4vLyAgICB8IHwgfCB8IHwgKF9ffCB8IHxffCB8IChffCB8ICBfXy8gfCB8IHwgfCB8IHwgIF9fLyAoX3wgfCB8IChffCB8XHJcbi8vICAgIHxffF98IHxffFxcX19ffF98XFxfXyxffFxcX18sX3xcXF9fX3wgfF98IHxffCB8X3xcXF9fX3xcXF9fLF98X3xcXF9fLF98XHJcbi8vXHJcbi8vICAgICAgU2ltcGxlLCBlbGVnYW50IGFuZCBtYWludGFpbmFibGUgbWVkaWEgcXVlcmllcyBpbiBTYXNzXHJcbi8vICAgICAgICAgICAgICAgICAgICAgICAgdjEuNC45XHJcbi8vXHJcbi8vICAgICAgICBodHRwczovL2VkdWFyZG9ib3VjYXMuZ2l0aHViLmlvL2luY2x1ZGUtbWVkaWFcclxuLy9cclxuLy8gICAgICAgICBBdXRob3JzOiBFZHVhcmRvIEJvdWNhcyAoQGVkdWFyZG9ib3VjYXMpXHJcbi8vICAgICAgICAgICAgICAgICAgSHVnbyBHaXJhdWRlbCAoQGh1Z29naXJhdWRlbClcclxuLy9cclxuLy8gICAgICBUaGlzIHByb2plY3QgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNSVQgbGljZW5zZVxyXG4vLy8vXHJcbi8vLyBpbmNsdWRlLW1lZGlhIGxpYnJhcnkgcHVibGljIGNvbmZpZ3VyYXRpb25cclxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcclxuLy8vIEBhY2Nlc3MgcHVibGljXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIGdsb2JhbCBicmVha3BvaW50c1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgd2l0aCB0aGUgbGFiZWwgYG1vYmlsZWBcclxuLy8vICAkYnJlYWtwb2ludHM6ICgnbW9iaWxlJzogMzIwcHgpO1xyXG4vLy9cclxuJGJyZWFrcG9pbnRzOiAoXHJcbiAgJ21vYmlsZSc6IDM3NXB4LFxyXG4gIC8vICd0YWJsZXQnOiA3NjhweCxcclxuICAvLyAnZGVza3RvcCc6IDEwMjRweFxyXG4gICdtb2JpbGUtbWlkJzogNTIwcHgsXHJcbiAgJ21vYmlsZS1tYXgnOiA1NzVweCxcclxuICAndGFibGV0JzogNzY4cHgsXHJcbiAgJ3RhYmxldC1taWQnOiA4NTBweCxcclxuICAnYm9vdC1kZXNrdG9wJzogOTkycHgsXHJcbiAgJ2Rlc2t0b3AnOiAxMDI1cHgsXHJcbiAgJ2Rlc2t0b3AtbWlkJzogMTIwMHB4LFxyXG4gICdkZXNrdG9wLW1heCc6IDE5MjBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8tIG1vYmlsZSBvbmx5XHJcbi8vLy8tICgnPHRhYmxldCcpIC0gbWF4LXdpZHRoOiA3NjdweFxyXG4vLy0gdGFibGV0IG9ubHlcclxuLy8vLy0gKCc+PXRhYmxldCcsICc8ZGVza3RvcCcpIC0gbWluLXdpZHRoOiA3NjhweDsgbWF4LXdpZHRoOiAxMDI0cHhcclxuLy8tIGRlc2t0b3Agb25seVxyXG4vLy8vLSAoJz49ZGVza3RvcCcpIC0gbWluLXdpZHRoOiAxMDI1cHhcclxuXHJcbi8vL1xyXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2Ygc3RhdGljIGV4cHJlc3Npb25zIG9yIG1lZGlhIHR5cGVzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgbWVkaWEgdHlwZSAoc2NyZWVuKVxyXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nOiAnc2NyZWVuJyk7XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzdGF0aWMgZXhwcmVzc2lvbiB3aXRoIGxvZ2ljYWwgZGlzanVuY3Rpb24gKE9SIG9wZXJhdG9yKVxyXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKFxyXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXHJcbi8vLyAgKTtcclxuLy8vXHJcbiRtZWRpYS1leHByZXNzaW9uczogKFxyXG4gICdzY3JlZW4nOiAnc2NyZWVuJyxcclxuICAncHJpbnQnOiAncHJpbnQnLFxyXG4gICdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXHJcbiAgJ2xhbmRzY2FwZSc6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknLFxyXG4gICdwb3J0cmFpdCc6ICcob3JpZW50YXRpb246IHBvcnRyYWl0KScsXHJcbiAgJ2hvdmVyJzogJyhob3ZlcjogaG92ZXIpJyxcclxuICAnZmluZSc6ICcocG9pbnRlcjogZmluZSknLFxyXG4gICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAobWluLXJlc29sdXRpb246IDJkcHB4KScsXHJcbiAgJ3JldGluYTN4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLCAobWluLXJlc29sdXRpb246IDM1MGRwaSksIChtaW4tcmVzb2x1dGlvbjogM2RwcHgpJ1xyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gRGVmaW5lcyBhIG51bWJlciB0byBiZSBhZGRlZCBvciBzdWJ0cmFjdGVkIGZyb20gZWFjaCB1bml0IHdoZW4gZGVjbGFyaW5nIGJyZWFrcG9pbnRzIHdpdGggZXhjbHVzaXZlIGludGVydmFsc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcGl4ZWxzIGlzIGRlZmluZWQgYXMgYDFgIGJ5IGRlZmF1bHRcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjEyOHB4Jykge31cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAxMjlweCkge31cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIGVtcyBpcyBkZWZpbmVkIGFzIGAwLjAxYCBieSBkZWZhdWx0XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yMGVtJykge31cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyMC4wMWVtKSB7fVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcmVtcyBpcyBkZWZpbmVkIGFzIGAwLjFgIGJ5IGRlZmF1bHQsIHRvIGJlIHVzZWQgd2l0aCBgZm9udC1zaXplOiA2Mi41JTtgXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yLjByZW0nKSB7fVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIuMXJlbSkge31cclxuLy8vXHJcbiR1bml0LWludGVydmFsczogKFxyXG4gICdweCc6IDEsXHJcbiAgJ2VtJzogMC4wMSxcclxuICAncmVtJzogMC4xLFxyXG4gICcnOiAwXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIERlZmluZXMgd2hldGhlciBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGF2YWlsYWJsZSwgdXNlZnVsIGZvciBjcmVhdGluZyBzZXBhcmF0ZSBzdHlsZXNoZWV0c1xyXG4vLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBEaXNhYmxlcyBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzXHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIC5mb28ge1xyXG4vLy8gICAgY29sb3I6IHRvbWF0bztcclxuLy8vICB9XHJcbi8vL1xyXG4kaW0tbWVkaWEtc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gU2VsZWN0cyB3aGljaCBicmVha3BvaW50IHRvIGVtdWxhdGUgd2hlbiBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGRpc2FibGVkLiBNZWRpYSBxdWVyaWVzIHRoYXQgc3RhcnQgYXQgb3JcclxuLy8vIGludGVyY2VwdCB0aGUgYnJlYWtwb2ludCB3aWxsIGJlIGRpc3BsYXllZCwgYW55IG90aGVycyB3aWxsIGJlIGlnbm9yZWQuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnRcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICAuZm9vIHtcclxuLy8vICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbnRlcmNlcHQgdGhlIGRlc2t0b3AgYnJlYWtwb2ludFxyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ3RhYmxldCc7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogTm8gb3V0cHV0ICovXHJcbi8vL1xyXG4kaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBTZWxlY3RzIHdoaWNoIG1lZGlhIGV4cHJlc3Npb25zIGFyZSBhbGxvd2VkIGluIGFuIGV4cHJlc3Npb24gZm9yIGl0IHRvIGJlIHVzZWQgd2hlbiBtZWRpYSBxdWVyaWVzXHJcbi8vLyBhcmUgbm90IHN1cHBvcnRlZC5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBhbmQgY29udGFpbnMgb25seSBhY2NlcHRlZCBtZWRpYSBleHByZXNzaW9uc1xyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xyXG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnc2NyZWVuJykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gICAuZm9vIHtcclxuLy8vICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGJ1dCBjb250YWlucyBhIG1lZGlhIGV4cHJlc3Npb24gdGhhdCBpcyBub3QgYWNjZXB0ZWRcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcclxuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3JldGluYTJ4Jykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBObyBvdXRwdXQgKi9cclxuLy8vXHJcbiRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nLCAncG9ydHJhaXQnLCAnbGFuZHNjYXBlJykgIWRlZmF1bHQ7XHJcblxyXG4vLy8vXHJcbi8vLyBDcm9zcy1lbmdpbmUgbG9nZ2luZyBlbmdpbmVcclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIExvZyBhIG1lc3NhZ2UgZWl0aGVyIHdpdGggYEBlcnJvcmAgaWYgc3VwcG9ydGVkXHJcbi8vLyBlbHNlIHdpdGggYEB3YXJuYCwgdXNpbmcgYGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpYFxyXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcclxuLy8vXHJcbkBmdW5jdGlvbiBpbS1sb2coJG1lc3NhZ2UpIHtcclxuICBAaWYgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJykge1xyXG4gICAgQGVycm9yICRtZXNzYWdlO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQHdhcm4gJG1lc3NhZ2U7XHJcbiAgICAkXzogbm9vcCgpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkbWVzc2FnZTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gV3JhcHBlciBtaXhpbiBmb3IgdGhlIGxvZyBmdW5jdGlvbiBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGEgbW9yZSBmcmllbmRseVxyXG4vLy8gQVBJIHRoYW4gYEBpZiBpbS1sb2coJy4uJykge31gIG9yIGAkXzogaW0tbG9nKCcuLicpYC4gQmFzaWNhbGx5LCB1c2UgdGhlIGZ1bmN0aW9uXHJcbi8vLyB3aXRoaW4gZnVuY3Rpb25zIGJlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbiBhIGZ1bmN0aW9uXHJcbi8vLyBhbmQgdXNlIHRoZSBtaXhpbiBldmVyeXdoZXJlIGVsc2UgYmVjYXVzZSBpdCdzIG11Y2ggbW9yZSBlbGVnYW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXHJcbi8vL1xyXG5AbWl4aW4gbG9nKCRtZXNzYWdlKSB7XHJcbiAgQGlmIGltLWxvZygkbWVzc2FnZSkge31cclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gRnVuY3Rpb24gd2l0aCBubyBgQHJldHVybmAgY2FsbGVkIG5leHQgdG8gYEB3YXJuYCBpbiBTYXNzIDMuM1xyXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cclxuLy8vXHJcbkBmdW5jdGlvbiBub29wKCkge31cclxuXHJcbi8vL1xyXG4vLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGEgbGlzdCBvZiBjb25kaXRpb25zIGlzIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xyXG4vLy9cclxuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBjb25kaXRpb25zIGFyZSBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnRcclxuLy8vXHJcbkBmdW5jdGlvbiBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSB7XHJcbiAgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludCk7XHJcblxyXG4gIEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xyXG4gICAgQGlmIGltLWxvZygnYCN7JGltLW5vLW1lZGlhLWJyZWFrcG9pbnR9YCBpcyBub3QgYSB2YWxpZCBicmVha3BvaW50LicpIHt9XHJcbiAgfVxyXG5cclxuICBAZWFjaCAkY29uZGl0aW9uIGluICRjb25kaXRpb25zIHtcclxuICAgIEBpZiBub3QgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XHJcbiAgICAgICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGNvbmRpdGlvbik7XHJcbiAgICAgICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xyXG4gICAgICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XHJcblxyXG4gICAgICBAaWYgKCRwcmVmaXggPT0gJ21heCcgYW5kICR2YWx1ZSA8PSAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkgb3JcclxuICAgICAgICAgICgkcHJlZml4ID09ICdtaW4nIGFuZCAkdmFsdWUgPiAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkge1xyXG4gICAgICAgIEByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2UgaWYgbm90IGluZGV4KCRpbS1uby1tZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xyXG4gICAgICBAcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiB0cnVlO1xyXG59XHJcblxyXG4vLy8vXHJcbi8vLyBQYXJzaW5nIGVuZ2luZVxyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IG9wZXJhdG9yIG9mIGFuIGV4cHJlc3Npb25cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBBbnkgb2YgYD49YCwgYD5gLCBgPD1gLCBgPGAsIGDiiaVgLCBg4omkYFxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKSB7XHJcbiAgQGVhY2ggJG9wZXJhdG9yIGluICgnPj0nLCAnPicsICc8PScsICc8JywgJ+KJpScsICfiiaQnKSB7XHJcbiAgICBAaWYgc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuICAgICAgQHJldHVybiAkb3BlcmF0b3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXHJcbiAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcclxuICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cclxuICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxyXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cclxuICAkXzogaW0tbG9nKCdObyBvcGVyYXRvciBmb3VuZCBpbiBgI3skZXhwcmVzc2lvbn1gLicpO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgZGltZW5zaW9uIGZyb21cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYHdpZHRoYCBvciBgaGVpZ2h0YCAob3IgcG90ZW50aWFsbHkgYW55dGhpbmcgZWxzZSlcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xyXG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xyXG4gICRkaW1lbnNpb246ICd3aWR0aCc7XHJcblxyXG4gIEBpZiBzdHItbGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xyXG4gICAgJGRpbWVuc2lvbjogJHBhcnNlZC1kaW1lbnNpb247XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRkaW1lbnNpb247XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGBtaW5gIG9yIGBtYXhgXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xyXG4gIEByZXR1cm4gaWYoaW5kZXgoKCc8JywgJzw9JywgJ+KJpCcpLCAkb3BlcmF0b3IpLCAnbWF4JywgJ21pbicpO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCB2YWx1ZSBmcm9tXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIEEgbnVtZXJpYyB2YWx1ZVxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuICAkdmFsdWU6IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyLWxlbmd0aCgkb3BlcmF0b3IpKTtcclxuXHJcbiAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XHJcbiAgICAkdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkdmFsdWUpO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgJHZhbHVlOiB0by1udW1iZXIoJHZhbHVlKTtcclxuICB9XHJcblxyXG4gICRpbnRlcnZhbDogbWFwLWdldCgkdW5pdC1pbnRlcnZhbHMsIHVuaXQoJHZhbHVlKSk7XHJcblxyXG4gIEBpZiBub3QgJGludGVydmFsIHtcclxuICAgIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cclxuICAgIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXHJcbiAgICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cclxuICAgIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXHJcbiAgICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXHJcbiAgICAkXzogaW0tbG9nKCdVbmtub3duIHVuaXQgYCN7dW5pdCgkdmFsdWUpfWAuJyk7XHJcbiAgfVxyXG5cclxuICBAaWYgJG9wZXJhdG9yID09ICc+JyB7XHJcbiAgICAkdmFsdWU6ICR2YWx1ZSArICRpbnRlcnZhbDtcclxuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xyXG4gICAgJHZhbHVlOiAkdmFsdWUgLSAkaW50ZXJ2YWw7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICR2YWx1ZTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBwYXJzZVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBWYWxpZCBtZWRpYSBxdWVyeVxyXG4vLy9cclxuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcclxuICAvLyBJZiBpdCBpcyBwYXJ0IG9mICRtZWRpYS1leHByZXNzaW9ucywgaXQgaGFzIG5vIG9wZXJhdG9yXHJcbiAgLy8gdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvIGdvIGFueSBmdXJ0aGVyLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcclxuICBAaWYgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xyXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pO1xyXG4gIH1cclxuXHJcbiAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbik7XHJcbiAgJGRpbWVuc2lvbjogZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG4gICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xyXG4gICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcblxyXG4gIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xyXG59XHJcblxyXG4vLy9cclxuLy8vIFNsaWNlIGAkbGlzdGAgYmV0d2VlbiBgJHN0YXJ0YCBhbmQgYCRlbmRgIGluZGV4ZXNcclxuLy8vXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzbGljZVxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRlbmQgW2xlbmd0aCgkbGlzdCldIC0gRW5kIGluZGV4XHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3RcclxuLy8vXHJcbkBmdW5jdGlvbiBzbGljZSgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsZW5ndGgoJGxpc3QpKSB7XHJcbiAgQGlmIGxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xyXG4gICAgQHJldHVybiAoKTtcclxuICB9XHJcblxyXG4gICRyZXN1bHQ6ICgpO1xyXG5cclxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XHJcbiAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRsaXN0LCAkaSkpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkcmVzdWx0O1xyXG59XHJcblxyXG4vLy8vXHJcbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gQ2FzdHMgYSBzdHJpbmcgaW50byBhIG51bWJlclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9XHJcbi8vL1xyXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xyXG4gICAgQHJldHVybiAkdmFsdWU7XHJcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xyXG4gICAgJF86IGltLWxvZygnVmFsdWUgZm9yIGB0by1udW1iZXJgIHNob3VsZCBiZSBhIG51bWJlciBvciBhIHN0cmluZy4nKTtcclxuICB9XHJcblxyXG4gICRmaXJzdC1jaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsIDEsIDEpO1xyXG4gICRyZXN1bHQ6IDA7XHJcbiAgJGRpZ2l0czogMDtcclxuICAkbWludXM6ICgkZmlyc3QtY2hhcmFjdGVyID09ICctJyk7XHJcbiAgJG51bWJlcnM6ICgnMCc6IDAsICcxJzogMSwgJzInOiAyLCAnMyc6IDMsICc0JzogNCwgJzUnOiA1LCAnNic6IDYsICc3JzogNywgJzgnOiA4LCAnOSc6IDkpO1xyXG5cclxuICAvLyBSZW1vdmUgKy8tIHNpZ24gaWYgcHJlc2VudCBhdCBmaXJzdCBjaGFyYWN0ZXJcclxuICBAaWYgKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJysnIG9yICRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKSB7XHJcbiAgICAkdmFsdWU6IHN0ci1zbGljZSgkdmFsdWUsIDIpO1xyXG4gIH1cclxuXHJcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCR2YWx1ZSkge1xyXG4gICAgJGNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgJGksICRpKTtcclxuXHJcbiAgICBAaWYgbm90IChpbmRleChtYXAta2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XHJcbiAgICAgIEByZXR1cm4gdG8tbGVuZ3RoKGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpLCBzdHItc2xpY2UoJHZhbHVlLCAkaSkpXHJcbiAgICB9XHJcblxyXG4gICAgQGlmICRjaGFyYWN0ZXIgPT0gJy4nIHtcclxuICAgICAgJGRpZ2l0czogMTtcclxuICAgIH0gQGVsc2UgaWYgJGRpZ2l0cyA9PSAwIHtcclxuICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3Rlcik7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgJGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xyXG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3RlcikgLyAkZGlnaXRzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gQWRkIGAkdW5pdGAgdG8gYCR2YWx1ZWBcclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYWRkIHVuaXQgdG9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdW5pdCAtIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdW5pdFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBgJHZhbHVlYCBleHByZXNzZWQgaW4gYCR1bml0YFxyXG4vLy9cclxuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XHJcbiAgJHVuaXRzOiAoJ3B4JzogMXB4LCAnY20nOiAxY20sICdtbSc6IDFtbSwgJyUnOiAxJSwgJ2NoJzogMWNoLCAncGMnOiAxcGMsICdpbic6IDFpbiwgJ2VtJzogMWVtLCAncmVtJzogMXJlbSwgJ3B0JzogMXB0LCAnZXgnOiAxZXgsICd2dyc6IDF2dywgJ3ZoJzogMXZoLCAndm1pbic6IDF2bWluLCAndm1heCc6IDF2bWF4KTtcclxuXHJcbiAgQGlmIG5vdCBpbmRleChtYXAta2V5cygkdW5pdHMpLCAkdW5pdCkge1xyXG4gICAgJF86IGltLWxvZygnSW52YWxpZCB1bml0IGAjeyR1bml0fWAuJyk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICR2YWx1ZSAqIG1hcC1nZXQoJHVuaXRzLCAkdW5pdCk7XHJcbn1cclxuXHJcbi8vL1xyXG4vLy8gVGhpcyBtaXhpbiBhaW1zIGF0IHJlZGVmaW5pbmcgdGhlIGNvbmZpZ3VyYXRpb24ganVzdCBmb3IgdGhlIHNjb3BlIG9mXHJcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXHJcbi8vLyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgY3VzdG9tIGJyZWFrcG9pbnRzIChyZWZlcnJlZCB0byBhcyB0d2Vha3BvaW50cylcclxuLy8vIGZvciBpbnN0YW5jZS5cclxuLy8vXHJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcclxuLy8vXHJcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrcG9pbnRzIFsoKV0gLSBNYXAgb2YgdHdlYWtwb2ludHMgdG8gYmUgbWVyZ2VkIHdpdGggYCRicmVha3BvaW50c2BcclxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMgWygpXSAtIE1hcCBvZiB0d2Vha2VkIG1lZGlhIGV4cHJlc3Npb25zIHRvIGJlIG1lcmdlZCB3aXRoIGAkbWVkaWEtZXhwcmVzc2lvbmBcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgYnJlYWtwb2ludHMgd2l0aCBhIHR3ZWFrcG9pbnRcclxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJz5tb2JpbGUnLCAnPD1jdXN0b20nKSB7XHJcbi8vLyAgICAgICAvLyAuLi5cclxuLy8vICAgICAgfVxyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgbWVkaWEgZXhwcmVzc2lvbnMgd2l0aCBhIGN1c3RvbSBvbmVcclxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCdhbGwnOiAnYWxsJykpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5tb2JpbGUnKSB7XHJcbi8vLyAgICAgICAvLyAuLi5cclxuLy8vICAgICAgfVxyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIGJvdGggY29uZmlndXJhdGlvbiBtYXBzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSwgKCdhbGwnOiAnYWxsJykpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5tb2JpbGUnLCAnPD1jdXN0b20nKSB7XHJcbi8vLyAgICAgICAvLyAuLi5cclxuLy8vICAgICAgfVxyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbkBtaXhpbiBtZWRpYS1jb250ZXh0KCR0d2Vha3BvaW50czogKCksICR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCkpIHtcclxuICAvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcbiAgJGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xyXG4gICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnM6ICRtZWRpYS1leHByZXNzaW9ucztcclxuXHJcbiAgLy8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcbiAgJGJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJGJyZWFrcG9pbnRzLCAkdHdlYWtwb2ludHMpICFnbG9iYWw7XHJcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiBtYXAtbWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XHJcblxyXG4gIEBjb250ZW50O1xyXG5cclxuICAvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcbiAgJGJyZWFrcG9pbnRzOiAkZ2xvYmFsLWJyZWFrcG9pbnRzICFnbG9iYWw7XHJcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XHJcbn1cclxuXHJcbi8vLy9cclxuLy8vIGluY2x1ZGUtbWVkaWEgcHVibGljIGV4cG9zZWQgQVBJXHJcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXHJcbi8vLyBAYWNjZXNzIHB1YmxpY1xyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiBhIGxpc3Qgb2YgY29uZGl0aW9uc1xyXG4vLy9cclxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzaW5nbGUgc2V0IGJyZWFrcG9pbnRcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPm1vYmlsZScpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHR3byBzZXQgYnJlYWtwb2ludHNcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPm1vYmlsZScsICc8PXRhYmxldCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGN1c3RvbSB2YWx1ZXNcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNThweCcsICc8ODUwcHgnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBzZXQgYnJlYWtwb2ludHMgd2l0aCBjdXN0b20gdmFsdWVzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJywgJzw9MTM1MHB4JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzdGF0aWMgZXhwcmVzc2lvblxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCdyZXRpbmEyeCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBNaXhpbmcgZXZlcnl0aGluZ1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1MHB4JywgJzx0YWJsZXQnLCAncmV0aW5hM3gnKSB7IH1cclxuLy8vXHJcbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9ucy4uLikge1xyXG4gIEBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPT0gMCkgb3JcclxuICAgICAgKG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH0gQGVsc2UgaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID4gMCkge1xyXG4gICAgQG1lZGlhICN7dW5xdW90ZShwYXJzZS1leHByZXNzaW9uKG50aCgkY29uZGl0aW9ucywgMSkpKX0ge1xyXG4gICAgICAvLyBSZWN1cnNpdmUgY2FsbFxyXG4gICAgICBAaW5jbHVkZSBtZWRpYShzbGljZSgkY29uZGl0aW9ucywgMikuLi4pIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLy0gQnV0dG9ucyBwYXJ0aWFsXG5bcm9sZT0nYnV0dG9uJ10ge1xuICAgIEBpbmNsdWRlIG1lZGlhKCdob3ZlcicsICdmaW5lJykge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxufVxuXG4uYnRuIHsgXG4gICAgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGZsZXgtYmFzaXM6IGF1dG87IFxuICAgIFxuICAgICYuZGlzYWJsZWQsIFtkaXNhYmxlZF0ge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG59XG4iLCIvLy0gUGFydGlhbCBmb3IgU1ZHIHNwcml0ZSBpY29uc1xyXG4uaWNvbiB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiAxZW07IGhlaWdodDogMWVtOyBtYXJnaW46IDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IGZvbnQtc2l6ZTogMWVtOyAvKiBkZWZhdWx0LXNpemUgKi9cclxuICAgIGZpbGw6IGluaGVyaXQ7IC8qIGRlZmF1bHQgY29sb3IgKi8gXHJcbiAgICBjb2xvcjogaW5oZXJpdDsgLyogZGVmYXVsdCBjb2xvciB3aGVuIGN1cnJlbnRDb2xvciBpcyB1c2VkICovXHJcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuIiwiLmZvb3RlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9vdGVyLWZzKTtcbiAgICBsaW5lLWhlaWdodDogMS44OyBcblxuICAgICZfX2xvZ28ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICB9XG5cbiAgICAmX19saW5rcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuXG4gICAgJl9fZGlzY2xhaW1lciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgJl9fcmlnaHRzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMmVtO1xuICAgIH1cbn1cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcblxuOnJvb3Qge1xuICAgIEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XG4gICAgICAgIC0tbG9nby1mczogMTgwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiLCBcIjxkZXNrdG9wXCIpIHtcbiAgICAgICAgLS1sb2dvLWZzOiAxODBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgICAgIC0tbG9nby1mczogMTgwcHg7XG4gICAgfVxufVxuXG4uaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgcGFkZGluZy10b3A6IDFlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuXG4gICAgW2NsYXNzXj1cImNvbnRhaW5lclwiXSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19sb2dvIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1sb2dvLWZzKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRoZWFkZXIsIGxvZ28taGVpZ2h0KTtcbiAgICAgICAgICAgIGNvbG9yOiAjMjczNzc5O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGFjdCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0taGFzLXNoYWRvdyB7XG4gICAgICAgIGJveC1zaGFkb3c6IG1hcC1nZXQoJGhlYWRlciwgc2hhZG93KTtcbiAgICB9XG59XG5cbi5uYXYge1xuICAgIEBpbmNsdWRlIHVzZXItc2VsZWN0O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XG4gICAgICAgIHdpZHRoOiBtYXAtZGVlcC1nZXQoJGJ1cmdlciwgbW9iaWxlLCB3aWR0aCk7XG4gICAgICAgIGhlaWdodDogbWFwLWRlZXAtZ2V0KCRidXJnZXIsIG1vYmlsZSwgaGVpZ2h0KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmX19jaGVja2JveCB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgICAmOmNoZWNrZWQgfiAubWVudS1saXN0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGFiZWwge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHRleHQtaW5kZW50OiAyMDAlO1xuICAgICAgICBsaW5lLWhlaWdodDogMDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgICAgICAgICAgd2lkdGg6IG1hcC1kZWVwLWdldCgkYnVyZ2VyLCBtb2JpbGUsIHdpZHRoKTtcbiAgICAgICAgICAgIGhlaWdodDogbWFwLWRlZXAtZ2V0KCRidXJnZXIsIG1vYmlsZSwgaGVpZ2h0KTtcbiAgICAgICAgICAgIHBhZGRpbmc6ICN7bWFwLWRlZXAtZ2V0KCRidXJnZXItaWNvbiwgbW9iaWxlLCBnYXApICogNn0gI3ttYXAtZGVlcC1nZXQoJGJ1cmdlci1pY29uLCBtb2JpbGUsIGdhcCkgKiAzLjV9O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWRlZXAtZ2V0KCRidXJnZXItaWNvbiwgbW9iaWxlLCBiZyk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgIHdpZHRoOiBtYXAtZGVlcC1nZXQoJGJ1cmdlci1pY29uLCBkZXNrdG9wLCB3aWR0aCk7XG4gICAgICAgICAgICBoZWlnaHQ6IG1hcC1kZWVwLWdldCgkYnVyZ2VyLWljb24sIGRlc2t0b3AsIHdpZHRoKTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBtYXAtZGVlcC1nZXQoJGJ1cmdlci1pY29uLCBkZXNrdG9wLCBnYXApIC8gMjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiaG92ZXJcIiwgXCJmaW5lXCIpIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1cmdlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRidXJnZXItaWNvbiwgY29sb3IpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRidXJnZXItaWNvbiwgcmFkaXVzKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgICAgICAgICAgd2lkdGg6IG1hcC1kZWVwLWdldCgkYnVyZ2VyLWljb24sIG1vYmlsZSwgd2lkdGgpO1xuICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZGVlcC1nZXQoJGJ1cmdlci1pY29uLCBtb2JpbGUsIGhlaWdodCk7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwICN7bWFwLWRlZXAtZ2V0KCRidXJnZXItaWNvbiwgbW9iaWxlLCBoZWlnaHQpICsgbWFwLWRlZXAtZ2V0KCRidXJnZXItaWNvbiwgbW9iaWxlLCBnYXApICogMn0gMCBtYXAtZ2V0KCRidXJnZXItaWNvbiwgY29sb3IpLFxuICAgICAgICAgICAgICAgIDAgI3sobWFwLWRlZXAtZ2V0KCRidXJnZXItaWNvbiwgbW9iaWxlLCBoZWlnaHQpICsgbWFwLWRlZXAtZ2V0KCRidXJnZXItaWNvbiwgbW9iaWxlLCBnYXApKSAqIDN9IDBcbiAgICAgICAgICAgICAgICAgICAgbWFwLWdldCgkYnVyZ2VyLWljb24sIGNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgd2lkdGg6IG1hcC1kZWVwLWdldCgkYnVyZ2VyLWljb24sIGRlc2t0b3AsIHdpZHRoKTtcbiAgICAgICAgICAgIGhlaWdodDogbWFwLWRlZXAtZ2V0KCRidXJnZXItaWNvbiwgZGVza3RvcCwgaGVpZ2h0KTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgI3ttYXAtZGVlcC1nZXQoJGJ1cmdlci1pY29uLCBkZXNrdG9wLCBoZWlnaHQpICsgbWFwLWRlZXAtZ2V0KCRidXJnZXItaWNvbiwgZGVza3RvcCwgZ2FwKX0gMCBtYXAtZ2V0KCRidXJnZXItaWNvbiwgY29sb3IpLFxuICAgICAgICAgICAgICAgIDAgI3sobWFwLWRlZXAtZ2V0KCRidXJnZXItaWNvbiwgZGVza3RvcCwgaGVpZ2h0KSArIG1hcC1kZWVwLWdldCgkYnVyZ2VyLWljb24sIGRlc2t0b3AsIGdhcCkpICogMn0gMFxuICAgICAgICAgICAgICAgICAgICBtYXAtZ2V0KCRidXJnZXItaWNvbiwgY29sb3IpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubWVudS1saXN0IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcbiAgICAgICAgbGVmdDogY2FsYyh2YXIoLS1ncmlkLWd1dHRlci13aWR0aCkgLyAtMik7XG4gICAgICAgIHdpZHRoOiBtYXAtZGVlcC1nZXQoJG1lbnUsIG1vYmlsZSwgd2lkdGgpO1xuICAgICAgICBtaW4td2lkdGg6IG1hcC1kZWVwLWdldCgkbWVudSwgbW9iaWxlLCBtaW4td2lkdGgpO1xuICAgICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHRvcDogbWFwLWRlZXAtZ2V0KCRidXJnZXIsIGRlc2t0b3AsIGhlaWdodCk7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiBtYXAtZGVlcC1nZXQoJG1lbnUsIGRlc2t0b3AsIHdpZHRoKTtcbiAgICAgICAgYm94LXNoYWRvdzogbWFwLWRlZXAtZ2V0KCRtZW51LCBkZXNrdG9wLCBzaGFkb3cpO1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1kZWVwLWdldCgkbWVudSwgYmcsIGluaXRpYWwpO1xuXG4gICAgICAgICYsXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbWVudSwgY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1kZWVwLWdldCgkbWVudSwgbW9iaWxlLCBpbm5lcik7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogbWFwLWRlZXAtZ2V0KCRtZW51LCBkZXNrdG9wLCBpbm5lcik7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcImhvdmVyXCIsIFwiZmluZVwiKSB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZGVlcC1nZXQoJG1lbnUsIGJnLCBob3Zlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLy0gZnVuY3Rpb25hbGl0eSByZWxhdGVkIG1peGluc1xyXG5AbWl4aW4gdXNlci1zZWxlY3Qge1xyXG5cdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcblx0LW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuXHR1c2VyLXNlbGVjdDogbm9uZTtcclxufSIsIkBpbXBvcnQgXCJkZWZhdWx0XCI7XG5cbi5jdGEtd3JhcCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1heC13aWR0aDogNDcwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICBzZWN0aW9uICYge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjI1ZW07XG4gICAgfVxuXG4gICAgc2VjdGlvbiArICYge1xuICAgICAgICBwYWRkaW5nLXRvcDogMS41ZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjNlbTtcbiAgICB9XG59XG5cbi5idG4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRjdGEtc3RydWN0dXJlLCBwYWRkaW5nKTtcbiAgICBmb250LWZhbWlseTogbWFwLWRlZXAtZ2V0KCRjdGEtc2NoZW1hLCBmb250LCBmYW1pbHkpO1xuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZGVlcC1nZXQoJGN0YS1zY2hlbWEsIGZvbnQsIHdlaWdodCk7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRjdGEtc2NoZW1hLCBmb250LXNpemUpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyAgICBcbiAgICBjb2xvcjogbWFwLWdldCgkY3RhLXNjaGVtYSwgY29sb3IpO1xuICAgIGJhY2tncm91bmQ6IG1hcC1kZWVwLWdldCgkY3RhLXNjaGVtYSwgYmcsIGluaXRpYWwpO1xuICAgIGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJGN0YS1zY2hlbWEsIHJhZGl1cyk7XG4gICAgYm94LXNoYWRvdzogbWFwLWdldCgkY3RhLXNjaGVtYSwgc2hhZG93KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbi1vdXQ7XG5cbiAgICAmLmRpc2FibGVkLFxuICAgIFtkaXNhYmxlZF0ge1xuICAgICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgxKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcImhvdmVyXCIsIFwiZmluZVwiKSB7XG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6dmlzaXRlZCB7ICAgICAgIFxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGN0YS1zY2hlbWEsIGNvbG9yKTsgICAgIFxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZGVlcC1nZXQoJGN0YS1zY2hlbWEsIGJnLCBob3Zlcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkY3RhLXNjaGVtYSwgaWNvbi1zaXplKTtcbiAgICB9XG59IiwiQGltcG9ydCBcImRlZmF1bHRcIjtcblxuLnBvcHNjcmVlbiB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZy1ibG9jazogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRwb3BzY3JlZW4sIGJhY2tncm91bmRDb2xvcik7XG5cbiAgICBbY2xhc3NePVwiY29udGFpbmVyXCJdIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLy8tIFBvcHNjcmVlbiBIZWFkZXJcbiAgICAmX19oZWFkZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAxZW0gLjVlbTtcblxuICAgICAgICBbY2xhc3NePVwiY29udGFpbmVyXCJdIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xvZ28ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgd2lkdGg6IG1hcC1kZWVwLWdldCgkcG9wc2NyZWVuLCBsb2dvLXdpZHRoLCBtb2JpbGUpOyAgIFxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZGVlcC1nZXQoJHBvcHNjcmVlbiwgbG9nby13aWR0aCwgbW9iaWxlKTsgICBcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8ZGVza3RvcCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiBtYXAtZGVlcC1nZXQoJHBvcHNjcmVlbiwgbG9nby13aWR0aCwgdGFibGV0KTsgICBcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWRlZXAtZ2V0KCRwb3BzY3JlZW4sIGxvZ28td2lkdGgsIHRhYmxldCk7ICAgXG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuICAgICAgICAgICAgd2lkdGg6IG1hcC1kZWVwLWdldCgkcG9wc2NyZWVuLCBsb2dvLXdpZHRoLCBkZXNrdG9wKTsgICBcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWRlZXAtZ2V0KCRwb3BzY3JlZW4sIGxvZ28td2lkdGgsIGRlc2t0b3ApOyAgIFxuICAgICAgICB9XG5cbiAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRwb3BzY3JlZW4sIGxvZ28taGVpZ2h0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Nsb3NlLWJ0biB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBmb250LXNpemU6IDEuNWVtOyAgICAgICAgXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8ZGVza3RvcCcpIHtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7ICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgICAgICAgICAgICBcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYgPiBbY2xhc3NePVwiY29udGFpbmVyXCJdIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXZoKTtcbiAgICB9XG5cbiAgICAvLy0gcG9wc2NyZWVuIGNvbnRlbnRcbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICBAbWVkaWEobWF4LWhlaWdodDogNTIwcHgpIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJsb2NrOiAwIC41ZW07XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tcG9wc2NyZWVuLXRpdGxlLWZzLCA1MHB4KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLXBvcHNjcmVlbi10aXRsZS13ZywgODAwKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogdmFyKC0tbWFpbkNvbG9yKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxtb2JpbGVcIikge1xuICAgICAgICAgICAgLS1wb3BzY3JlZW4tdGl0bGUtZnM6IDI0cHg7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1tb2JpbGVcIiwgXCI8dGFibGV0XCIpIHtcbiAgICAgICAgICAgIC0tcG9wc2NyZWVuLXRpdGxlLWZzOiAyNnB4O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIsIFwiPGRlc2t0b3BcIikge1xuICAgICAgICAgICAgQG1lZGlhKG1pbi1oZWlnaHQ6IDk5MXB4KSB7XG4gICAgICAgICAgICAgICAgLS1wb3BzY3JlZW4tdGl0bGUtZnM6IDM4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICAgICAgICAgIC0tcG9wc2NyZWVuLXRpdGxlLWZzOiA1MHB4O1xuICAgICAgICB9XG4gICAgXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgQG1lZGlhKG1heC1oZWlnaHQ6IDk5MHB4KSB7XG4gICAgICAgICAgICAgICAgLS1wb3BzY3JlZW4tdGl0bGUtZnM6IDM1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjk1ZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnlDb2xvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbWFnZS13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZsZXg6IDEgMSAxMDAlO1xuXG4gICAgICAgIHBpY3R1cmUge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbWFnZSB7ICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtb2JpbGUtbWlkJykge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDYwdnc7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1tb2JpbGUtbWlkJykge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyNDBweDtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKXtcbiAgICAgICAgICAgIEBtZWRpYShtYXgtaGVpZ2h0OiA5OTBweCkge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDM1dmg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfSAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZm9vdGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IDEuMjVlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgQG1lZGlhKG1heC1oZWlnaHQ6IDk5MHB4KSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogMS4yNWVtO1xuICAgICAgICAgICAgfSAgICAgICAgICAgIFxuICAgICAgICAgICAgXG4gICAgICAgICAgICBAbWVkaWEobWluLWhlaWdodDogOTkxcHgpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAyLjVlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5idG4ge1xyXG4gICAgLS1idXR0b24tYmctaW5pdGlhbDogdmFyKC0tQ1RBKTtcclxuICAgIC0tYnV0dG9uLWJnLWhvdmVyOiBoc2wodmFyKC0tQ1RBX2gpLCB2YXIoLS1DVEFfcyksIGNhbGMoIHZhcigtLUNUQV9sKSAtIDUlICkgKTtcclxufSIsIi5idG4ge1xyXG4gICAgLS1idXR0b24tYmctaW5pdGlhbDogdmFyKC0tQ1RBKTtcclxuICAgIC0tYnV0dG9uLWJnLWhvdmVyOiBoc2wodmFyKC0tQ1RBX2gpLCB2YXIoLS1DVEFfcyksIGNhbGModmFyKC0tQ1RBX2wpIC0gMyUpKTtcclxufSIsIi5wb3BzY3JlZW4ge1xyXG4gICAgLS1tYWluQ29sb3I6IHZhcigtLXRpdGxlQ29sb3IpO1xyXG4gICAgLS1sb2dvV2lkdGhNb2I6IDkwcHg7XHJcbiAgICAtLWxvZ29XaWR0aFRhYjogMTUwcHg7XHJcbiAgICAtLWxvZ29XaWR0aERlc2s6IDE3MHB4O1xyXG4gICAgXHJcbiAgICBAaW5jbHVkZSBtZWRpYShcIjxtb2JpbGVcIikge1xyXG4gICAgICAgIC0tcG9wc2NyZWVuLXRpdGxlLWZzOiAyNHB4O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bW9iaWxlXCIsIFwiPHRhYmxldFwiKSB7XHJcbiAgICAgICAgLS1wb3BzY3JlZW4tdGl0bGUtZnM6IDI2cHg7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIiwgXCI8ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgLS1wb3BzY3JlZW4tdGl0bGUtZnM6IDM4cHg7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcclxuICAgICAgICAtLXBvcHNjcmVlbi10aXRsZS1mczogNTBweDtcclxuICAgIH1cclxuXHJcbiAgICAmX19jbG9zZS1idG4ge1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAmX19jbG9zZS1idG4ge1xyXG4gICAgICAgIC0tbWFpbkNvbG9yOiB2YXIoLS10aXRsZUNvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICAmX190aXRsZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jazogLjVlbSAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSJdfQ== */
