@import url(https://fonts.googleapis.com/css2?family=Lato:wght@400;700&display=swap);
@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-1rem)}}.realisations-gallery{margin:3rem 0}.realisations-gallery .grid.grid-h-3{grid-gap:3rem;gap:3rem}.realisations-gallery .grid.grid-h-3 .galcell{position:relative;display:block;-ms-flex-order:1;order:1;width:100%}.realisations-gallery .grid.grid-h-3 .galcell:hover .overlay{opacity:1;transform:scale(1);transition:all .5s cubic-bezier(.175,.885,.32,1.275)}.realisations-gallery .grid.grid-h-3 .galcell a{display:-ms-grid;display:grid;-ms-flex-align:stretch;align-items:stretch;grid-template-rows:25rem auto;width:100%;height:100%}.realisations-gallery .grid.grid-h-3 .galcell a:before{display:none}.realisations-gallery .grid.grid-h-3 .galcell .image{position:relative;width:100%;height:25rem;background:#fab528}.realisations-gallery .grid.grid-h-3 .galcell .image .banners{position:absolute;display:block;top:1rem;right:1rem;width:calc(100% - 2rem)}.realisations-gallery .grid.grid-h-3 .galcell .image .banners .banner{display:none;position:absolute;top:0;right:0;padding:1em 1.25em;font-family:Lato,sans-serif;font-size:1.36rem;font-weight:700;text-transform:uppercase}.realisations-gallery .grid.grid-h-3 .galcell .image .banners .banner.new{color:#3a3a3c;background:#fab528}.realisations-gallery .grid.grid-h-3 .galcell .image .banners .banner.inoption{color:#3a3a3c;background:#fff}.realisations-gallery .grid.grid-h-3 .galcell .image .banners .banner.sold{color:#fff;background:#3a3a3c}.realisations-gallery .grid.grid-h-3 .galcell .image .banners .banner.opendoor{right:auto;left:0;border:1px solid #fab528;color:#3a3a3c;background:#fff}.realisations-gallery .grid.grid-h-3 .galcell .bottom{-ms-grid-columns:2.25fr 1fr;grid-template-columns:2.25fr 1fr;font-size:1.7rem;background:#f7f7f7}.realisations-gallery .grid.grid-h-3 .galcell .bottom .start{-ms-flex-item-align:center;align-self:center;padding:2rem}.realisations-gallery .grid.grid-h-3 .galcell .bottom .start .grid{grid-gap:1rem;gap:1rem;-ms-flex-align:center;align-items:center}.realisations-gallery .grid.grid-h-3 .galcell .bottom .start .name{display:none;line-height:1.2;margin:1rem 0 2rem}.realisations-gallery .grid.grid-h-3 .galcell .bottom .start .description{display:none;max-height:2.5em;margin:1rem 0 2rem;font-size:1.36rem;line-height:1.2;overflow:hidden}.realisations-gallery .grid.grid-h-3 .galcell .bottom .start .type{margin-bottom:1rem}.realisations-gallery .grid.grid-h-3 .galcell .bottom .start .price{font-weight:700}.realisations-gallery .grid.grid-h-3 .galcell .bottom .start .numbers .number-item{display:inline-block;vertical-align:middle;height:2rem}.realisations-gallery .grid.grid-h-3 .galcell .bottom .start .numbers .number-item:not(:last-child){margin-right:1rem}.realisations-gallery .grid.grid-h-3 .galcell .bottom .start .numbers .number-item .icon{display:inline-block;vertical-align:middle;width:2rem;height:2rem}.realisations-gallery .grid.grid-h-3 .galcell .bottom .start .numbers .number-item .icon img{width:100%;height:100%;object-fit:contain;object-position:center center}.realisations-gallery .grid.grid-h-3 .galcell .bottom .start .numbers .number-item .number{display:inline-block;vertical-align:middle;font-size:1rem}.realisations-gallery .grid.grid-h-3 .galcell .bottom .end{display:-ms-grid;display:grid;-ms-flex-line-pack:center;align-content:center;padding:2rem;color:#fff;text-align:center;background:#707070}.realisations-gallery .grid.grid-h-3 .galcell .bottom .end .zip{font-size:2.72rem;font-weight:700}.realisations-gallery .grid.grid-h-3 .galcell .bottom .end .city{margin-top:.5rem}.realisations-gallery .grid.grid-h-3 .galcell .overlay{opacity:0;display:-ms-grid;display:grid;position:absolute;top:0;left:0;width:100%;height:100%;padding:1rem;color:#fff;line-height:1.5;background:rgba(36,36,36,.8);transform:scale(0);transition:all .2s cubic-bezier(.39,.575,.565,1)}.realisations-gallery .grid.grid-h-3 .galcell .overlay:after{content:"";position:absolute;top:1rem;left:1rem;width:calc(100% - 2rem);height:calc(100% - 2rem);border:1px solid #fff;z-index:1;pointer-events:none;transition:all .5s ease}.realisations-gallery .grid.grid-h-3 .galcell .overlay .details{margin:auto;font-size:1.7rem;text-align:center}.realisations-gallery .grid.grid-h-3 .galcell .overlay .details span{display:block}.realisations-gallery .grid.grid-h-3 .galcell .overlay .details .location,.realisations-gallery .grid.grid-h-3 .galcell .overlay .details .price{font-weight:700}.realisations-gallery .grid.grid-h-3 .galcell .overlay .details .numbers{margin-top:1rem}.realisations-gallery .grid.grid-h-3 .galcell .overlay .details .numbers .number-item{display:inline-block;vertical-align:middle;width:5rem;height:2rem}.realisations-gallery .grid.grid-h-3 .galcell .overlay .details .numbers .number-item:nth-child(2){border-left:1px solid #fff}.realisations-gallery .grid.grid-h-3 .galcell .overlay .details .numbers .number-item.wide{width:100%}.realisations-gallery .grid.grid-h-3 .galcell .overlay .details .numbers .number-item .icon{display:inline-block;vertical-align:middle;width:2rem;height:2rem;margin-right:.5rem}.realisations-gallery .grid.grid-h-3 .galcell .overlay .details .numbers .number-item .icon img{width:100%;height:100%;object-fit:contain;object-position:center center}.realisations-gallery .grid.grid-h-3 .galcell .overlay .details .numbers .number-item .number{display:inline-block;vertical-align:middle;font-size:1.36rem}.realisations-gallery .grid.grid-h-3 .galcell.isnew .image .banners .banner.inoption,.realisations-gallery .grid.grid-h-3 .galcell.isnew .image .banners .banner.sold{display:none}.realisations-gallery .grid.grid-h-3 .galcell.isnew .image .banners .banner.new{display:inline-block}.realisations-gallery .grid.grid-h-3 .galcell.isinoption .image .banners .banner.new,.realisations-gallery .grid.grid-h-3 .galcell.isinoption .image .banners .banner.sold{display:none}.realisations-gallery .grid.grid-h-3 .galcell.isinoption .image .banners .banner.inoption{display:inline-block}.realisations-gallery .grid.grid-h-3 .galcell.isinoption .image .details{display:none}.realisations-gallery .grid.grid-h-3 .galcell.issold a{pointer-events:none}.realisations-gallery .grid.grid-h-3 .galcell.issold .image .banners .banner.inoption,.realisations-gallery .grid.grid-h-3 .galcell.issold .image .banners .banner.new{display:none}.realisations-gallery .grid.grid-h-3 .galcell.issold .image .banners .banner.sold{display:inline-block}.realisations-gallery .grid.grid-h-3 .galcell.issold .bottom .start .numbers{display:none!important}.realisations-gallery .grid.grid-h-3 .galcell.hasopendoor .image .banners .banner.opendoor{display:inline-block}.realisations-gallery .grid.grid-h-3 .galcell.ctacell{-ms-flex-order:1;order:1;background:#707070}.realisations-gallery .grid.grid-h-3 .galcell.ctacell:before{display:none}.realisations-gallery .grid.grid-h-3 .galcell.ctacell:after{content:"";position:absolute;top:1rem;left:1rem;width:calc(100% - 2rem);height:calc(100% - 2rem);border:1px solid #fff;pointer-events:none}.realisations-gallery .grid.grid-h-3 .galcell.ctacell .image:after{content:"";display:block;padding-bottom:50%}@supports (aspect-ratio:1){.realisations-gallery .grid.grid-h-3 .galcell.ctacell .image{width:100%;aspect-ratio:1/.5}.realisations-gallery .grid.grid-h-3 .galcell.ctacell .image:after{display:none}}.realisations-gallery .grid.grid-h-3 .galcell.ctacell .bottom{padding:2rem;text-align:center;color:#fff;background:#707070}.realisations-gallery .grid.grid-h-3 .galcell.ctacell .bottom p{display:block;margin-bottom:1rem}.realisations-gallery .grid.grid-h-3 .galcell.ctacell .bottom .btn{width:auto;height:auto;border-color:#fff;font-size:1.36rem}@media only screen and (max-width:576px){.realisations-gallery .grid.grid-h-3 .galcell .image{height:auto}.realisations-gallery .grid.grid-h-3 .galcell .image:after{content:"";display:block;padding-bottom:80%}@supports (aspect-ratio:1){.realisations-gallery .grid.grid-h-3 .galcell .image{width:100%;aspect-ratio:1/.8}.realisations-gallery .grid.grid-h-3 .galcell .image:after{display:none}}}.realisations-gallery .grid.grid-h-3 .realisationcell{position:relative;display:block;width:100%;-ms-flex-order:1;order:1}.realisations-gallery .grid.grid-h-3 .realisationcell .image{position:relative;background:#fab528}.realisations-gallery .grid.grid-h-3 .realisationcell .image:after{content:"";display:block;padding-bottom:60%}@supports (aspect-ratio:1){.realisations-gallery .grid.grid-h-3 .realisationcell .image{width:100%;aspect-ratio:1/.6}.realisations-gallery .grid.grid-h-3 .realisationcell .image:after{display:none}}.realisations-gallery .grid.grid-h-3 .realisationcell .bottom{-ms-grid-columns:2.25fr 1fr;grid-template-columns:2.25fr 1fr;font-size:1.7rem;background:#f7f7f7}.realisations-gallery .grid.grid-h-3 .realisationcell .bottom .start{margin:auto 0;padding:2rem}.realisations-gallery .grid.grid-h-3 .realisationcell .bottom .start .price{font-weight:700;text-transform:uppercase}.realisations-gallery .grid.grid-h-3 .realisationcell .bottom .start .soldterm{margin-top:1rem;font-size:1.36rem}.realisations-gallery .grid.grid-h-3 .realisationcell .bottom .end{display:-ms-grid;display:grid;-ms-flex-line-pack:center;align-content:center;padding:2rem;color:#fff;text-align:center;background:#707070}.realisations-gallery .grid.grid-h-3 .realisationcell .bottom .end .zip{font-size:2.72rem;font-weight:700}.realisations-gallery .grid.grid-h-3 .realisationcell .bottom .end .city{margin-top:.5rem}.realisations-gallery .grid.grid-h-3 .realisationcell.hasreview{-ms-flex-order:1;order:1;display:-ms-grid;display:grid;-ms-grid-columns:minmax(0,1fr) minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-column:span 2;background:#f7f7f7}.realisations-gallery .grid.grid-h-3 .realisationcell.hasreview:after{content:"";position:absolute;top:1rem;left:1rem;width:calc(100% - 2rem);height:calc(100% - 2rem);border:1px solid #3a3a3c;pointer-events:none}.realisations-gallery .grid.grid-h-3 .realisationcell.hasreview .review{padding:5rem}.realisations-gallery .grid.grid-h-3 .realisationcell.hasreview .stars img{display:inline-block;vertical-align:middle;width:1.5rem;height:auto;margin-right:.5rem}.realisations-gallery .grid.grid-h-3 .realisationcell.hasreview .text{margin:2rem 0;font-style:italic}@media only screen and (max-width:1024px){.realisations-gallery .grid.grid-h-3 .realisationcell{-ms-flex-order:1;order:1}.realisations-gallery .grid.grid-h-3 .realisationcell.hasreview{-ms-flex-order:2;order:2}.realisations-gallery .grid.grid-h-3 .realisationcell .image:after{content:"";display:block;padding-bottom:60%}@supports (aspect-ratio:1){.realisations-gallery .grid.grid-h-3 .realisationcell .image{width:100%;aspect-ratio:1/.6}.realisations-gallery .grid.grid-h-3 .realisationcell .image:after{display:none}}}@media only screen and (max-width:768px){.realisations-gallery .grid.grid-h-3 .realisationcell{-ms-flex-order:1;order:1}.realisations-gallery .grid.grid-h-3 .realisationcell.hasreview{-ms-flex-order:1;order:1;-ms-grid-columns:minmax(0,1fr);grid-template-columns:minmax(0,1fr);grid-column:span 1}.realisations-gallery .grid.grid-h-3 .realisationcell.hasreview .review{text-align:center}}@media only screen and (max-width:576px){.realisations-gallery .grid.grid-h-3 .realisationcell .image:after{content:"";display:block;padding-bottom:80%}@supports (aspect-ratio:1){.realisations-gallery .grid.grid-h-3 .realisationcell .image{width:100%;aspect-ratio:1/.8}.realisations-gallery .grid.grid-h-3 .realisationcell .image:after{display:none}}}@media only screen and (max-width:1500px){.realisations-gallery .grid.grid-h-3{-ms-grid-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}}@media only screen and (max-width:1024px){.realisations-gallery .grid.grid-h-3{-ms-grid-columns:minmax(0,1fr) minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media only screen and (max-width:768px){.realisations-gallery .grid.grid-h-3{-ms-grid-columns:1fr;grid-template-columns:1fr}}.realisations-gallery .noresults{margin:7rem 0;text-align:center}.realisations-gallery .noresults h3{display:inline-block;max-width:60rem;margin-bottom:5rem}.realisations-gallery .noresults .skyline{width:100%}.realisations-gallery .noresults .skyline img{width:100%;height:100%;object-fit:cover;object-position:center center}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi4vdG9vbHMvX21peGlucy5zY3NzIiwid2VicGFjazovLy9yZWFsaXNhdGlvbnMtZ2FsbGVyeS5zY3NzIiwid2VicGFjazovLy8uLi9jb21wb25lbnRzL19nYWxjZWxsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uL3Rvb2xzL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vY29tcG9uZW50cy9fcmVhbGlzYXRpb25jZWxsLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQXVJQSxrQkFDSSxHQXBHQSx1QkN2QkYsQ0QrSEUsR0F4R0EsMkJDaEJGLENBQ0YsQ0FsQkEsc0JBQ0ksYUF1QkosQ0FyQkkscUNEbUtBLGFDbEtzQixDRGtLdEIsUUMxSUosQ0MvQkEsOENBQ0ksa0JBQ0EsY0FDQSx5QkFDQSxVRGlDSixDQzlCUSw2REFDSSxVRjRCUixrQkUzQjJCLENGSzNCLG9EQ29DSixDQ25DSSxnREYrSUEsaUJBQ0EsYUU5SUksMkNBQ0EsOEJBQ0EsV0FDQSxXRHNDUixDQ3JDUSx1REFDSSxZRHVDWixDQ25DSSxxREFDSSxrQkFDQSxXQUNBLGFBQ0Esa0JEcUNSLENDbkNRLDhEQUNJLGtCQUNBLGNBQ0EsU0FDQSxXQUNBLHVCRHFDWixDQ25DWSxzRUFDSSxhQUNBLGtCQUNBLE1BQ0EsUUFDQSxtQkFDQSwyQkN6QkgsQ0QwQkcsaUJDZlAsQ0RnQk8sZUNWSCxDRFdHLHdCRHFDaEIsQ0NqQ1ksMEVBQ0ksYUM5Q0osQ0QrQ0ksa0JEbUNoQixDQ2hDWSwrRUFDSSxhQ25ESixDRG9ESSxlRGtDaEIsQ0MvQlksMkVBQ0ksVUM3RFIsQ0Q4RFEsa0JEaUNoQixDQzlCWSwrRUFDSSxXQUNBLE9BQ0EseUJBQ0EsYUNoRUosQ0RpRUksZURnQ2hCLENDekJJLHNERnlHQSwyQkV4R0ksQ0Z5R0osZ0NFekdJLENBQ0EsZ0JDeERHLENEeURILGtCRDRCUixDQzFCUSw2REFDSSw2Q0FDQSxZRDRCWixDQzFCWSxtRUZpRlIsYUVoRjhCLENGZ0Y5QixRRWhGOEIsQ0FDbEIsd0NENkJoQixDQzFCWSxtRUFDSSxhQUNBLGdCQUNBLGtCRDRCaEIsQ0N6QlksMEVBQ0ksYUFDQSxpQkFDQSxtQkFDQSxrQkFDQSxnQkFDQSxlRDJCaEIsQ0N4QlksbUVBQ0ksa0JEMEJoQixDQ3ZCWSxvRUFDSSxlRHlCaEIsQ0NwQmdCLG1GQUNJLHFCQUNBLHNCQUNBLFdEc0JwQixDQ3JCb0Isb0dBQ0ksaUJEdUJ4QixDQ3BCb0IseUZBQ0kscUJBQ0Esc0JBQ0EsV0FDQSxXRHNCeEIsQ0NwQndCLDZGRjRJcEIsV0FDQSxZQVBBLGtCQUZ1QixDQUl2Qiw2QkM1R0osQ0N0Qm9CLDJGQUNJLHFCQUNBLHNCQUNBLGNEd0J4QixDQ2ZRLDJERlFKLGlCQUNBLGFFUFEsK0NBQ0EsYUFDQSxVQ3hKSixDRHlKSSxrQkFDQSxrQkRrQlosQ0NoQlksZ0VBQ0ksaUJDbElQLENEbUlPLGVEa0JoQixDQ2ZZLGlFQUNJLGdCRGlCaEIsQ0NWSSx1REFDSSxVRmRKLGlCQUNBLGFBeEZBLGtCQUNBLE1BQ0EsT0FDQSxXQUNBLFlFb0dJLGFBQ0EsVUM5S0EsQ0QrS0EsZ0JBQ0EsNkJGOUlKLGtCRStJdUIsQ0ZyS3ZCLGdEQytMSixDRHFTSSw2REFDSSxXQUNBLGtCQUNBLFNBQ0EsVUFDQSx3QkFDQSx5QkFDQSxzQkFDQSxVQUNBLG9CQTdlSix1QkMrTUosQ0N0Q1EsZ0VBQ0ksWUFDQSxnQkNoS0QsQ0RpS0MsaUJEd0NaLENDdENZLHFFQUNJLGFEd0NoQixDQ3JDWSxpSkFDSSxlRHVDaEIsQ0NwQ1kseUVBQ0ksZURzQ2hCLENDcENnQixzRkFDSSxxQkFDQSxzQkFDQSxXQUNBLFdEc0NwQixDQ3JDb0IsbUdBQ0ksMEJEdUN4QixDQ3JDb0IsMkZBQ0ksVUR1Q3hCLENDcENvQiw0RkFDSSxxQkFDQSxzQkFDQSxXQUNBLFlBQ0Esa0JEc0N4QixDQ3BDd0IsZ0dGc0RwQixXQUNBLFlBUEEsa0JBRnVCLENBSXZCLDZCQ05KLENDdENvQiw4RkFDSSxxQkFDQSxzQkFDQSxpQkR3Q3hCLENDekJZLHNLQUNJLFlEMkJoQixDQ3hCWSxnRkFDSSxvQkQwQmhCLENDaEJZLDJLQUNJLFlEa0JoQixDQ2ZZLDBGQUNJLG9CRGlCaEIsQ0NaUSx5RUFDSSxZRGNaLENDUlEsdURBQ0ksbUJEVVosQ0NMWSx1S0FDSSxZRE9oQixDQ0pZLGtGQUNJLG9CRE1oQixDQ0RRLDZFQUNJLHNCREdaLENDS1ksMkZBQ0ksb0JESGhCLENDVUksc0RBQ0kseUJBQ0Esa0JEUlIsQ0NTUSw2REFDSSxZRFBaLENDU1EsNERBQ0ksV0FDQSxrQkFDQSxTQUNBLFVBQ0Esd0JBQ0EseUJBQ0Esc0JBQ0EsbUJEUFosQ0RHSSxtRUFDSSxXQUNBLGNBQ0Esa0JDRFIsQ0RHSSwyQkVFSSw2REZFQSxXQUNBLGlCQ0hOLENERE0sbUVBQ0ksWUNHVixDQUNGLENDQVEsOERBQ0ksYUFDQSxrQkFDQSxVQ3pVSixDRDBVSSxrQkRFWixDQ0FZLGdFQUNJLGNBQ0Esa0JERWhCLENDQ1ksbUVBQ0ksV0FDQSxZQUNBLGlCQ3BWUixDRHFWUSxpQkRDaEIsQ0Q2SUkseUNFcklJLHFEQUNJLFdETFYsQ0RjRSwyREFDSSxXQUNBLGNBQ0Esa0JDWk4sQ0RjRSwyQkVmSSxxREZtQkEsV0FDQSxpQkNkSixDRFVJLDJEQUNJLFlDUlIsQ0FDRixDQUNGLENHM1dBLHNEQUNJLGtCQUNBLGNBQ0EsV0FDQSx3Qkg2V0osQ0czV0ksNkRBQ0ksa0JBRUEsa0JINFdSLENEMUJJLG1FQUNJLFdBQ0EsY0FDQSxrQkM0QlIsQ0QxQkksMkJJMVZBLDZESjhWSSxXQUNBLGlCQzBCTixDRDlCTSxtRUFDSSxZQ2dDVixDQUNGLENHdlhJLDhESjRLQSwyQkkzS0ksQ0o0S0osZ0NJNUtJLENBQ0EsZ0JEV0csQ0NWSCxrQkgwWFIsQ0d4WFEscUVBQ0ksY0FDQSxZSDBYWixDR3hYWSw0RUFDSSxlRGVILENDZEcsd0JIMFhoQixDR3ZYWSwrRUFDSSxnQkFDQSxpQkh5WGhCLENHcFhRLG1FSjZISixpQkFDQSxhSTVIUSwrQ0FDQSxhQUNBLFVEbkNKLENDb0NJLGtCQUNBLGtCSHVYWixDR3JYWSx3RUFDSSxpQkRiUCxDQ2NPLGVIdVhoQixDR3BYWSx5RUFDSSxnQkhzWGhCLENHL1dJLGdFQUNJLHlCSnVHSixpQkFDQSxhQXlCQSw0Q0kvSEksQ0pnSUosaURJaElJLENBQ0EsbUJBQ0Esa0JIbVhSLENHbFhRLHNFQUNJLFdBQ0Esa0JBQ0EsU0FDQSxVQUNBLHdCQUNBLHlCQUNBLHlCQUNBLG1CSG9YWixDR2pYUSx3RUFDSSxZSG1YWixDRzlXWSwyRUFDSSxxQkFDQSxzQkFDQSxhQUNBLFlBQ0Esa0JIZ1hoQixDRzNXUSxzRUFDSSxjQUNBLGlCSDZXWixDRG1CSSwwQ0l6ZEosc0RBK0ZRLHdCSDJXTixDRzFXTSxnRUFDSSx3Qkg0V1YsQ0RsSEUsbUVBQ0ksV0FDQSxjQUNBLGtCQ29ITixDRGxIRSwyQkk1UEksNkRKZ1FBLFdBQ0EsaUJDa0hKLENEdEhJLG1FQUNJLFlDd0hSLENBQ0YsQ0FDRixDREdJLHlDSS9kSixzREEyR1Esd0JIcVhOLENHblhNLGdFQUNJLHlCSjBFUiw4Qkl6RVEsQ0owRVIsbUNJMUVRLENBQ0Esa0JIc1hWLENHcFhVLHdFQUNJLGlCSHNYZCxDQUNGLENETEkseUNBM0hBLG1FQUNJLFdBQ0EsY0FDQSxrQkNtSU4sQ0RqSUUsMkJJcFBJLDZESndQQSxXQUNBLGlCQ2lJSixDRHJJSSxtRUFDSSxZQ3VJUixDQUNGLENBQ0YsQ0Q3Q0ksMENDdmNBLHFDRGtMQSwwREMzS1EsQ0Q0S1IsK0RDc1VGLENBQ0YsQ0R2Q0ksMENDbmRBLHFDRGtMQSw0Q0N2S1EsQ0R3S1IsaURDNFVGLENBQ0YsQ0R2Q0kseUNDemRBLHFDRGtMQSxvQkNuS1EsQ0RvS1IseUJDa1ZGLENBQ0YsQ0FsZkksaUNBQ0ksY0FDQSxpQkFvZlIsQ0FsZlEsb0NBQ0kscUJBQ0EsZ0JBQ0Esa0JBb2ZaLENBamZRLDBDQUNJLFVBbWZaLENBamZZLDhDRCtPUixXQUNBLFlBYkEsZ0JBY29CLENBWnBCLDZCQ29SSixDIiwiZmlsZSI6InJlYWxpc2F0aW9ucy1nYWxsZXJ5LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIFRSQU5TSVRJT05TICovXG5cbkBtaXhpbiB0cmFuc2l0aW9uLWR1cmF0aW9uKCRkdXJhdGlvbikge1xuICAgIC1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICAgIC1vLXRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uKCRhcmdzLi4uKSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAkYXJncztcbiAgICAtbW96LXRyYW5zaXRpb246ICRhcmdzO1xuICAgIC1tcy10cmFuc2l0aW9uOiAkYXJncztcbiAgICAtby10cmFuc2l0aW9uOiAkYXJncztcbiAgICB0cmFuc2l0aW9uOiAkYXJncztcbn1cblxuLyogRklMVEVSICovXG5cbi8vZmlsdGVyXG5AbWl4aW4gZmlsdGVyKCRhcmdzLi4uKSB7XG4gICAgLXdlYmtpdC1maWx0ZXI6ICRhcmdzO1xuICAgIC1tb3otZmlsdGVyOiAkYXJncztcbiAgICAtbXMtZmlsdGVyOiAkYXJncztcbiAgICAtby1maWx0ZXI6ICRhcmdzO1xuICAgIGZpbHRlcjogJGFyZ3M7XG59XG5cbi8qIFRSQU5TRk9STVMgKi9cblxuLy8gZ2VuZXJpYyB0cmFuc2Zvcm1cbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcbiAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuLy8gcm90YXRlXG5AbWl4aW4gcm90YXRlICgkZGVnKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgjeyRkZWd9ZGVnKSk7XG59XG5cbi8vIHNjYWxlXG5AbWl4aW4gc2NhbGUoJHNjYWxlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKCRzY2FsZSkpO1xufVxuXG4vLyB0cmFuc2xhdGVcbkBtaXhpbiB0cmFuc2xhdGUgKCR4LCAkeSkge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoJHgsICR5KSk7XG59XG5cbi8vIHNrZXdcbkBtaXhpbiBza2V3ICgkeCwgJHkpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2tldygjeyR4fWRlZywgI3skeX1kZWcpKTtcbn1cblxuLy90cmFuc2Zvcm0gb3JpZ2luXG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbiAoJG9yaWdpbikge1xuICAgIG1vei10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xuICAgIC1vLXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG4gICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG59XG5cbi8qIFBPU0lUSU9OSU5HICovXG5cbkBtaXhpbiBjb3ZlcigpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG5AbWl4aW4gdmMoKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoMCwgLTUwJSkpO1xufVxuXG5AbWl4aW4gaGMoKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKC01MCUsIDApKTtcbn1cblxuQG1peGluIGNjKCkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSk7XG59XG5cbi8qIEFOSU1BVElPTlMgKi9cblxuJHJlZ3VsYXJFYXNlOiBlYXNlO1xuJGVhc2VJblNpbmU6IGN1YmljLWJlemllcigwLjQ3LCAwLCAwLjc0NSwgMC43MTUpO1xuJGVhc2VPdXRTaW5lOiBjdWJpYy1iZXppZXIoMC4zOSwgMC41NzUsIDAuNTY1LCAxKTtcbiRlYXNlSW5PdXRTaW5lOiBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUsIDAuNTUsIDAuOTUpO1xuJGVhc2VJblF1YWQ6IGN1YmljLWJlemllcigwLjU1LCAwLjA4NSwgMC42OCwgMC41Myk7XG4kZWFzZU91dFF1YWQ6IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbiRlYXNlSW5PdXRRdWFkOiBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMsIDAuNTE1LCAwLjk1NSk7XG4kZWFzZUluRXhwbzogY3ViaWMtYmV6aWVyKDAuOTUsIDAuMDUsIDAuNzk1LCAwLjAzNSk7XG4kZWFzZU91dEV4cG86IGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcbiRlYXNlSW5PdXRFeHBvOiBjdWJpYy1iZXppZXIoMSwgMCwgMCwgMSk7XG4kZWFzZUluQmFjazogY3ViaWMtYmV6aWVyKDAuNiwgLTAuMjgsIDAuNzM1LCAwLjA0NSk7XG4kZWFzZU91dEJhY2s6IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMjc1KTtcbiRlYXNlSW5PdXRCYWNrOiBjdWJpYy1iZXppZXIoMC42OCwgLTAuNTUsIDAuMjY1LCAxLjU1KTtcbiRlYXNlSW5PdXRCYWNrOiBjdWJpYy1iZXppZXIoMC42OCwgLTAuNTUsIDAuMjY1LCAxLjU1KTtcblxuQG1peGluIGFuaW1hdGlvbigkYW5pbWF0aW9uKSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb246ICRhbmltYXRpb247XG4gICAgLW1vei1hbmltYXRpb246ICRhbmltYXRpb247XG4gICAgLW1zLWFuaW1hdGlvbjogJGFuaW1hdGlvbjtcbiAgICAtby1hbmltYXRpb246ICRhbmltYXRpb247XG4gICAgYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xufVxuXG5AbWl4aW4gb3BhY2l0eSgkdmFsdWUpIHtcbiAgICAkSUVWYWx1ZTogJHZhbHVlKjEwMDtcbiAgICBvcGFjaXR5OiAkdmFsdWU7XG4gICAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT1cIiskSUVWYWx1ZStcIilcIjtcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9JElFVmFsdWUpO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkYXJncy4uLikge1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogJGFyZ3M7XG4gICAgLW1vei1ib3gtc2hhZG93OiAkYXJncztcbiAgICBib3gtc2hhZG93OiAkYXJncztcbn1cblxuQGtleWZyYW1lcyBib3VuY2Uge1xuICAgIDAlIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoMCkpXG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC0xcmVtKSlcbiAgICB9XG59XG5cblxuLy8gQm9yZGVyIHJhZGl1c1xuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICAtbXMtYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICAtby1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xufVxuXG4vKiBHUklEICovXG5cbkBtaXhpbiBkaXNwbGF5LWdyaWQge1xuICAgIGRpc3BsYXk6IC1tcy1ncmlkO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG59XG5cbkBtaXhpbiBkaXNwbGF5LWlubGluZS1ncmlkIHtcbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWdyaWQ7XG4gICAgZGlzcGxheTogaW5saW5lLWdyaWQ7XG59XG5cbkBtaXhpbiBncmlkLWdhcCgkZ2FwOiAzcmVtKSB7XG4gICAgZ3JpZC1nYXA6ICRnYXA7XG4gICAgZ2FwOiAkZ2FwO1xufVxuXG5AbWl4aW4gZ3JpZC1yb3ctZ2FwKCRnYXA6IDNyZW0pIHtcbiAgICBncmlkLXJvdy1nYXA6ICRnYXA7XG4gICAgcm93LWdhcDogJGdhcDtcbn1cblxuQG1peGluIGdyaWQtY29sdW1uLWdhcCgkZ2FwOiAzcmVtKSB7XG4gICAgZ3JpZC1jb2x1bW4tZ2FwOiAkZ2FwO1xuICAgIGNvbHVtbi1nYXA6ICRnYXA7XG59XG5cbi8vICRjb2x1bW5zIHZhbHVlcyBzaG91bGQgYmUgZGVsaW1pdGVkIGJ5IGEgc3BhY2VcbkBtaXhpbiBncmlkLXRlbXBsYXRlLWNvbHVtbnMoJGNvbHVtbnMuLi4pIHtcbiAgICAtbXMtZ3JpZC1jb2x1bW5zOiAkY29sdW1ucztcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6ICRjb2x1bW5zO1xufVxuXG4vLyAkcm93cyB2YWx1ZXMgc2hvdWxkIGJlIGRlbGltaXRlZCBieSBhIHNwYWNlXG5AbWl4aW4gZ3JpZC10ZW1wbGF0ZS1yb3dzKCRyb3dzLi4uKSB7XG4gICAgLW1zLWdyaWQtcm93czogJHJvd3M7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAkcm93cztcbn1cblxuLy8gQ2FuIGJlIHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCBhYm92ZSBncmlkLXRlbXBsYXRlLVggbWl4aW5zLlxuLy8gVGhlc2UgcmVzdWx0IGluIHRoZSBzYW1lIG91dHB1dDpcbi8vIEBpbmNsdWRlIGdyaWQtdGVtcGxhdGUtY29sdW1ucygxMHB4IGdyaWQtcmVwZWF0KDQsIDIwcHgpIDMwcHgpO1xuLy8gQGluY2x1ZGUgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zKDEwcHggMjBweCAyMHB4IDIwcHggMjBweCAzMHB4KTtcbkBmdW5jdGlvbiBncmlkLXJlcGVhdCgkcmVwZWF0LCAkc3R1ZmY6IG1pbm1heCgwLCAxZnIpKSB7XG4gICAgJGxpc3Q6ICgpO1xuXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkcmVwZWF0IHtcbiAgICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJHN0dWZmLCBzcGFjZSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkbGlzdDtcbn1cblxuQG1peGluIGdyaWQtY29sdW1uKCRjb2wtc3RhcnQsICRjb2wtZW5kKSB7XG4gICAgLW1zLWdyaWQtY29sdW1uOiAkY29sLXN0YXJ0O1xuICAgIC1tcy1ncmlkLWNvbHVtbi1zcGFuOiAkY29sLWVuZCAtICRjb2wtc3RhcnQ7XG4gICAgZ3JpZC1jb2x1bW46ICN7JGNvbC1zdGFydH0gLyAjeyRjb2wtZW5kfTtcbn1cblxuQG1peGluIGdyaWQtcm93KCRyb3ctc3RhcnQsICRyb3ctZW5kKSB7XG4gICAgLW1zLWdyaWQtcm93OiAkcm93LXN0YXJ0O1xuICAgIC1tcy1ncmlkLXJvdy1zcGFuOiAkcm93LWVuZCAtICRyb3ctc3RhcnQ7XG4gICAgZ3JpZC1yb3c6ICN7JHJvdy1zdGFydH0gLyAjeyRyb3ctZW5kfTtcbn1cblxuQG1peGluIGdyaWQtYWxpZ24tc2VsZigkdmFsdWUpIHtcbiAgICAtbXMtZ3JpZC1yb3ctYWxpZ246ICR2YWx1ZTtcbiAgICBhbGlnbi1zZWxmOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBncmlkLWp1c3RpZnktc2VsZigkdmFsdWUpIHtcbiAgICAtbXMtZ3JpZC1jb2x1bW4tYWxpZ246ICR2YWx1ZTtcbiAgICBqdXN0aWZ5LXNlbGY6ICR2YWx1ZTtcbn1cblxuLyogQ09MVU1OUyAqL1xuXG5AbWl4aW4gY29sdW1ucygkY29sdW1uQ291bnQ6IDMsICRjb2x1bW5XaWR0aDogMjAwcHgsICRjb2x1bW5HYXA6IDAsICRjb2x1bW5SdWxlOiBmYWxzZSkge1xuICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAkY29sdW1uQ291bnQ7XG4gICAgLW1vei1jb2x1bW4tY291bnQ6ICRjb2x1bW5Db3VudDtcbiAgICBjb2x1bW4tY291bnQ6ICRjb2x1bW5Db3VudDtcbiAgICAtd2Via2l0LWNvbHVtbi13aWR0aDogJGNvbHVtbldpZHRoO1xuICAgIC1tb3otY29sdW1uLXdpZHRoOiAkY29sdW1uV2lkdGg7XG4gICAgY29sdW1uLXdpZHRoOiAkY29sdW1uV2lkdGg7XG4gICAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkY29sdW1uR2FwO1xuICAgIC1tb3otY29sdW1uLWdhcDogJGNvbHVtbkdhcDtcbiAgICBjb2x1bW4tZ2FwOiAkY29sdW1uR2FwO1xuXG4gICAgQGlmICRjb2x1bW5SdWxlICE9ZmFsc2Uge1xuICAgICAgICAkY29sdW1uUnVsZS1jb29yZHM6ICRjb2x1bW5SdWxlO1xuICAgICAgICAkd2lkdGg6IG50aCgkY29sdW1uUnVsZS1jb29yZHMsIDEpO1xuICAgICAgICAkc3R5bGU6IG50aCgkY29sdW1uUnVsZS1jb29yZHMsIDIpO1xuICAgICAgICAkY29sb3I6IG50aCgkY29sdW1uUnVsZS1jb29yZHMsIDMpO1xuICAgICAgICAtd2Via2l0LWNvbHVtbi1ydWxlOiAkd2lkdGggJHN0eWxlICRjb2xvcjtcbiAgICAgICAgLW1vei1jb2x1bW4tcnVsZTogJHdpZHRoICRzdHlsZSAkY29sb3I7XG4gICAgICAgIGNvbHVtbi1ydWxlOiAkd2lkdGggJHN0eWxlICRjb2xvcjtcbiAgICB9XG59XG5cbkBtaXhpbiBicmVhay1pbnNpZGUoJGJyZWFrOiBhdm9pZCkge1xuICAgIC13ZWJraXQtYnJlYWstaW5zaWRlOiAkYnJlYWs7XG4gICAgLW1vei1icmVhay1pbnNpZGU6ICRicmVhaztcbiAgICBicmVhay1pbnNpZGU6ICRicmVhaztcbn1cblxuLyogT0JKRUNULUZJVCAqL1xuXG4vLyBPYmplY3QtZml0XG5cbkBtaXhpbiBvYmplY3QtZml0KCRwX3NpemU6IGNvbnRhaW4sICRwX3BvczogY2VudGVyIGNlbnRlcikge1xuICAgIC1vLW9iamVjdC1maXQ6ICRwX3NpemU7XG4gICAgb2JqZWN0LWZpdDogJHBfc2l6ZTtcbiAgICAtby1vYmplY3QtcG9zaXRpb246ICRwX3BvcztcbiAgICBvYmplY3QtcG9zaXRpb246ICRwX3Bvcztcbn1cblxuQG1peGluIGJnLWNvbnRhaW4ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBAaW5jbHVkZSBvYmplY3QtZml0KCk7XG59XG5cbkBtaXhpbiBiZy1jb3ZlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIEBpbmNsdWRlIG9iamVjdC1maXQoY292ZXIpO1xufVxuXG5cbi8vbWFrZSBzcXVhcmVzIGFuZCBiYXJzXG5AbWl4aW4gc3F1YXJlKCkge1xuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG4gICAgQHN1cHBvcnRzKGFzcGVjdC1yYXRpbzogMSkge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gICAgfVxufVxuXG5AbWl4aW4gbG9iYXIoKSB7XG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDQwJTtcbiAgICB9XG4gICAgQHN1cHBvcnRzKGFzcGVjdC1yYXRpbzogMSkge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogMSAvIDAuNDtcbiAgICB9XG59XG5cbkBtaXhpbiBiYXIoKSB7XG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDUwJTtcbiAgICB9XG4gICAgQHN1cHBvcnRzKGFzcGVjdC1yYXRpbzogMSkge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogMSAvIDAuNTtcbiAgICB9XG59XG5cbkBtaXhpbiBnYWxsY2VsbGltYWdlKCkge1xuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1NSU7XG4gICAgfVxuICAgIEBzdXBwb3J0cyhhc3BlY3QtcmF0aW86IDEpIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBhc3BlY3QtcmF0aW86IDEgLyAwLjU1O1xuICAgIH1cbn1cblxuQG1peGluIG1kYmFyKCkge1xuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA2MCU7XG4gICAgfVxuICAgIEBzdXBwb3J0cyhhc3BlY3QtcmF0aW86IDEpIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBhc3BlY3QtcmF0aW86IDEgLyAwLjY7XG4gICAgfVxufVxuXG5AbWl4aW4gaGliYXIoKSB7XG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDgwJTtcbiAgICB9XG4gICAgQHN1cHBvcnRzKGFzcGVjdC1yYXRpbzogMSkge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogMSAvIDAuODtcbiAgICB9XG59XG5cbkBtaXhpbiBwb3J0cmFpdCgpIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTIwJTtcbiAgICB9XG4gICAgQHN1cHBvcnRzKGFzcGVjdC1yYXRpbzogMSkge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogMSAvIDEuMjtcbiAgICB9XG59XG5cbi8vYWRkIHJhbmRvbSBib3JkZXIgdG8gYW4gZWxlbWVudCB0byBmaW5kIGl0IGVhc2lseVxuQG1peGluIGRldiB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiKHJhbmRvbSgyNTUpLCByYW5kb20oMjU1KSwgcmFuZG9tKDI1NSkpO1xufVxuXG4vLyBTY3JvbGxiYXJzXG5AbWl4aW4gc2Nyb2xsYmFycygkc2l6ZTogMTBweCwgJGJvcmRlcjogMCwgJGJvcmRlci1yYWRpdXM6IDAsICRmb3JlZ3JvdW5kLWNvbG9yOiBibGFjaywgJGJhY2tncm91bmQtY29sb3I6IGdyZXkpIHtcbiAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICB9XG5cbiAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGZvcmVncm91bmQtY29sb3I7XG4gICAgICAgIGJvcmRlcjogJGJvcmRlciBzb2xpZCBsaWdodGVuKCRmb3JlZ3JvdW5kLWNvbG9yLCAxMCUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgd2lkdGg6IGNhbGMoI3skc2l6ZX0gKiAyKTtcbiAgICAgICAgYm9yZGVyOiAoJGJvcmRlciAqIDIpIHNvbGlkIGxpZ2h0ZW4oJGJhY2tncm91bmQtY29sb3IsIDEwJSk7XG4gICAgfVxuXG4gICAgOjotd2Via2l0LXNjcm9sbGJhci10cmFjay1waWVjZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICB3aWR0aDogY2FsYygjeyRzaXplfSAvIDIpO1xuICAgICAgICBib3JkZXI6ICgkYm9yZGVyICogMikgc29saWQgbGlnaHRlbigkYmFja2dyb3VuZC1jb2xvciwgMTAlKTtcbiAgICB9XG5cbiAgICBib2R5IHtcbiAgICAgICAgc2Nyb2xsYmFyLWZhY2UtY29sb3I6ICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgICBzY3JvbGxiYXItdHJhY2stY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbn1cblxuLy8gRm9yY2UgR1BVIGFjY2VsZXJhdGlvblxuQG1peGluIGdwdS1hY2NlbCgpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlM2QoMCwgMCwgMCkpO1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuQG1peGluIHBsYWNlaG9sZGVyKCRjb2xvcikge1xuICAgIDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgfVxuXG4gICAgOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG5cbiAgICA6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG5cbiAgICA6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgfVxufVxuXG5cbi8vIE1RIHRyaWdnZXJzXG5cbkBtaXhpbiBleHRyYWxhcmdlIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR4bExpbWl0KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQG1peGluIGxhcmdlIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsZ0xpbWl0KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQG1peGluIG5vcm1hbCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWRMaW1pdCkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBzbWFsbCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc21MaW1pdCkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBleHRyYXNtYWxsIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR4c0xpbWl0KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuXG4vLyBPUk5BTUVOVEFMXG5cbkBtaXhpbiBzaGFkb3coKSB7XG4gICAgQGluY2x1ZGUgZmlsdGVyKGRyb3Atc2hhZG93LCAwIDAgM3B4IHJnYmEoJGJsYWNrLCAwLjUpKTtcbn1cblxuQG1peGluIGlubmVyLWJvcmRlcigkY29sb3I6ICR3aGl0ZSkge1xuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDFyZW07XG4gICAgICAgIGxlZnQ6IDFyZW07XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAycmVtKTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC41cyBlYXNlKTtcbiAgICB9XG59IiwiQGltcG9ydCBcIi4uL3Rvb2xzL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4uL3Rvb2xzL21peGluc1wiO1xuXG4ucmVhbGlzYXRpb25zLWdhbGxlcnkge1xuICAgIG1hcmdpbjogM3JlbSAwO1xuXG4gICAgLmdyaWQuZ3JpZC1oLTMge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWdhcCgzcmVtKTtcblxuICAgICAgICBAaW1wb3J0IFwiLi4vY29tcG9uZW50cy9nYWxjZWxsXCI7XG4gICAgICAgIEBpbXBvcnQgXCIuLi9jb21wb25lbnRzL3JlYWxpc2F0aW9uY2VsbFwiO1xuXG4gICAgICAgIEBpbmNsdWRlIGV4dHJhbGFyZ2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zKGdyaWQtcmVwZWF0KDMpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLXRlbXBsYXRlLWNvbHVtbnMoZ3JpZC1yZXBlYXQoMikpO1xuICAgICAgICB9XG4gICAgXG4gICAgICAgIEBpbmNsdWRlIHNtYWxsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtdGVtcGxhdGUtY29sdW1ucygxZnIpO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAubm9yZXN1bHRzIHtcbiAgICAgICAgbWFyZ2luOiA3cmVtIDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDYwcmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5za3lsaW5lIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJnLWNvdmVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cblxufSIsIi5nYWxjZWxsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3JkZXI6IDE7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgJjpob3ZlciB7XG5cbiAgICAgICAgLm92ZXJsYXkge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxKSk7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjVzICRlYXNlT3V0QmFjayk7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIGEge1xuICAgICAgICBAaW5jbHVkZSBkaXNwbGF5LWdyaWQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDI1cmVtIGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW1hZ2Uge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDI1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjZW50Q29sb3I7XG5cbiAgICAgICAgLmJhbm5lcnMge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0b3A6IDFyZW07XG4gICAgICAgICAgICByaWdodDogMXJlbTtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTtcblxuICAgICAgICAgICAgLmJhbm5lciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDFlbSAxLjI1ZW07XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRhY2NlbnRGb250O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHhzRm9udDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGJvbGRXZWlnaHQ7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJhbm5lci5uZXcge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbWFpbkNvbG9yO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRhY2NlbnRDb2xvcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJhbm5lci5pbm9wdGlvbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRtYWluQ29sb3I7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYmFubmVyLnNvbGQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJG1haW5Db2xvcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJhbm5lci5vcGVuZG9vciB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYWNjZW50Q29sb3I7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRtYWluQ29sb3I7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5ib3R0b20ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLXRlbXBsYXRlLWNvbHVtbnMoMi4yNWZyIDFmcik7XG4gICAgICAgIGZvbnQtc2l6ZTogJHNtRm9udDtcbiAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0R3JleTtcblxuICAgICAgICAuc3RhcnQge1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogMnJlbTtcblxuICAgICAgICAgICAgLmdyaWQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtZ2FwKDFyZW0pO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5uYW1lIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxcmVtIDAgMnJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDIuNWVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMXJlbSAwIDJyZW07XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjM2cmVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnR5cGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRib2xkV2VpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAubnVtYmVycyB7XG5cbiAgICAgICAgICAgICAgICAubnVtYmVyLWl0ZW0ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMnJlbTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBiZy1jb250YWluKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5udW1iZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5lbmQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZGlzcGxheS1ncmlkKCk7XG4gICAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRkYXJrR3JleTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLnppcCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkbWRGb250O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYm9sZFdlaWdodDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNpdHkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAub3ZlcmxheSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIEBpbmNsdWRlIGRpc3BsYXktZ3JpZDtcbiAgICAgICAgQGluY2x1ZGUgY292ZXI7XG4gICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjgpO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMCkpO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjJzICRlYXNlT3V0U2luZSk7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLWJvcmRlcjtcblxuICAgICAgICAuZGV0YWlscyB7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICBmb250LXNpemU6ICRzbUZvbnQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubG9jYXRpb24sIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRib2xkV2VpZ2h0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubnVtYmVycyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcblxuICAgICAgICAgICAgICAgIC5udW1iZXItaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDVyZW07XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJi53aWRlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAycmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYmctY29udGFpbigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAubnVtYmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICR4c0ZvbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgICYuaXNuZXcge1xuXG4gICAgICAgIC5pbWFnZSAuYmFubmVycyAuYmFubmVyIHtcblxuICAgICAgICAgICAgJi5zb2xkLCAmLmlub3B0aW9uIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm5ldyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cbiAgICAmLmlzaW5vcHRpb24ge1xuXG4gICAgICAgIC5pbWFnZSAuYmFubmVycyAuYmFubmVyIHtcblxuICAgICAgICAgICAgJi5zb2xkLCAmLm5ldyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5pbm9wdGlvbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAuaW1hZ2UgLmRldGFpbHMge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgfVxuICAgICYuaXNzb2xkIHtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmltYWdlIC5iYW5uZXJzIC5iYW5uZXIge1xuXG4gICAgICAgICAgICAmLm5ldywgJi5pbm9wdGlvbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5zb2xkIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5ib3R0b20gLnN0YXJ0IC5udW1iZXJzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgfVxuICAgICYuaGFzb3BlbmRvb3Ige1xuXG4gICAgICAgIC5pbWFnZSAuYmFubmVycyAuYmFubmVyIHtcblxuICAgICAgICAgICAgJi5vcGVuZG9vciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgICYuY3RhY2VsbCB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZGFya0dyZXk7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMXJlbTtcbiAgICAgICAgICAgIGxlZnQ6IDFyZW07XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDJyZW0pO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5pbWFnZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBiYXI7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5ib3R0b20ge1xuICAgICAgICAgICAgcGFkZGluZzogMnJlbTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZGFya0dyZXk7XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5idG4ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICR4c0ZvbnRcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBleHRyYXNtYWxsIHtcblxuICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgQGluY2x1ZGUgaGliYXI7XG4gICAgICAgIH1cblxuICAgIH1cblxufSIsIi8vQ09MT1JTXG5cbiR3aGl0ZTogI2ZmZjtcbiRibGFjazogIzI0MjQyNDtcbiRsaWdodEdyZXk6ICNmN2Y3Zjc7XG4kZ3JleTogI2VmZWZlZjtcbiRkYXJrR3JleTogIzcwNzA3MDtcbiRtYWluQ29sb3I6ICMzYTNhM2M7XG4kYWNjZW50Q29sb3I6ICNmYWI1Mjg7XG4kbGlnaHRBY2NlbnRDb2xvcjogbGlnaHRlbigkYWNjZW50Q29sb3IsIDEwJSk7XG4kZGFya0FjY2VudENvbG9yOiBkYXJrZW4oJGFjY2VudENvbG9yLCAxMCUpO1xuJGFjY2VudEdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRhY2NlbnRDb2xvciwgICRkYXJrQWNjZW50Q29sb3IpO1xuXG5cbi8vRk9OVFNcblxuLy9tYWluIHNpdGVcbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PUxhdG86d2dodEA0MDA7NzAwJmRpc3BsYXk9c3dhcCcpO1xuXG4kbWFpbkZvbnQ6ICdMYXRvJywgTGF0bywgc2Fucy1zZXJpZjtcbiRhY2NlbnRGb250OiAnTGF0bycsIExhdG8sIHNhbnMtc2VyaWY7XG5cbi8vc2l6ZXNcblxuJHJvb3RGb250OiAxMHB4O1xuJGJhc2VGb250OiAxLjcwcmVtO1xuLy9yZW0gICAgICAgICAgICAgICAgICAgICAgICAgIC8vc2l6ZXMgaW4gWGRcbiR4bEZvbnQ6ICgkYmFzZUZvbnQgKiAyLjgpOyAgICAvLzcwcHRcbiRsZ0ZvbnQ6ICgkYmFzZUZvbnQgKiAyLjApOyAgICAvLzUwcHRcbiRtZEZvbnQ6ICgkYmFzZUZvbnQgKiAxLjYpOyAgICAvLzQwcHRcbiRzbUZvbnQ6ICRiYXNlRm9udDsgICAgICAgICAgICAvLzI1cHRcbiR4c0ZvbnQ6ICgkYmFzZUZvbnQgKiAwLjgpOyAgICAvLzIwcHRcblxuLy93ZWlnaHRzXG5cbiRsaWdodFdlaWdodDogNDAwO1xuJG1lZGl1bVdlaWdodDogNDAwO1xuJGJvbGRXZWlnaHQ6IDcwMDtcblxuXG4vL1JFU1BPTlNJVkVcblxuJHhzTGltaXQ6IDU3NnB4O1xuJHNtTGltaXQ6IDc2OHB4O1xuJG1kTGltaXQ6IDEwMjRweDtcbiRsZ0xpbWl0OiAxMjgwcHg7XG4keGxMaW1pdDogMTUwMHB4O1xuXG5cbi8vQ09OVEFJTkVSU1xuXG4keHNDb250YWluZXI6IDgwMHB4O1xuJHNtQ29udGFpbmVyOiA5NTBweDtcbiRtZENvbnRhaW5lcjogMTA3MHB4O1xuJGxnQ29udGFpbmVyOiAxMjIwcHg7XG4keGxDb250YWluZXI6IDE1MDBweDtcblxuLy9PVEhFUlxuXG4kaGVhZGVySGVpZ2h0OiAxNDBweDtcbiRoZWFkZXJIZWlnaHRTY3JvbGxpbmc6IDgwcHg7XG4kZXN0YXRlSGVhZGVySGVpZ2h0OiAxMjBweDtcbiRjdGFaOiAxO1xuJG1lbnVaOiAyO1xuJHBvcHVwWjogMztcbiIsIi5yZWFsaXNhdGlvbmNlbGwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvcmRlcjogMTtcblxuICAgIC5pbWFnZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgQGluY2x1ZGUgbWRiYXI7XG4gICAgICAgIGJhY2tncm91bmQ6ICRhY2NlbnRDb2xvcjtcbiAgICB9XG5cbiAgICAuYm90dG9tIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zKDIuMjVmciAxZnIpO1xuICAgICAgICBmb250LXNpemU6ICRzbUZvbnQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICRsaWdodEdyZXk7XG5cbiAgICAgICAgLnN0YXJ0IHtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAwO1xuICAgICAgICAgICAgcGFkZGluZzogMnJlbTtcblxuICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGJvbGRXZWlnaHQ7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNvbGR0ZXJtIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHhzRm9udDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLmVuZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkaXNwbGF5LWdyaWQoKTtcbiAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDJyZW07XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGRhcmtHcmV5O1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAuemlwIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRtZEZvbnQ7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRib2xkV2VpZ2h0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2l0eSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgICYuaGFzcmV2aWV3IHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIEBpbmNsdWRlIGRpc3BsYXktZ3JpZDtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zKGdyaWQtcmVwZWF0KDIpKTtcbiAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbiAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0R3JleTtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMXJlbTtcbiAgICAgICAgICAgIGxlZnQ6IDFyZW07XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDJyZW0pO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJG1haW5Db2xvcjtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJldmlldyB7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLnN0YXJzIHtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLnRleHQge1xuICAgICAgICAgICAgbWFyZ2luOiAycmVtIDA7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIEBpbmNsdWRlIG5vcm1hbCB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAmLmhhc3JldmlldyB7XG4gICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbWFnZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZGJhcjtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgc21hbGwge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgXG4gICAgICAgICYuaGFzcmV2aWV3IHtcbiAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zKGdyaWQtcmVwZWF0KDEpKTtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDE7XG5cbiAgICAgICAgICAgIC5yZXZpZXcge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZXh0cmFzbWFsbCB7XG5cbiAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGhpYmFyO1xuICAgICAgICB9XG5cbiAgICB9XG5cbn0iXSwic291cmNlUm9vdCI6IiJ9*/