@-webkit-keyframes pulsate{0%{transform:scale(1)}to{transform:scale(1.1)}}@keyframes pulsate{0%{transform:scale(1)}to{transform:scale(1.1)}}@-webkit-keyframes animation-slide-in-up{0%{opacity:0;transform:translate3d(0,30px,0)}to{opacity:1;transform:none}}@keyframes animation-slide-in-up{0%{opacity:0;transform:translate3d(0,30px,0)}to{opacity:1;transform:none}}@-webkit-keyframes animation-slide-in-down{0%{opacity:0;transform:translate3d(0,-30px,0)}to{opacity:1;transform:none}}@keyframes animation-slide-in-down{0%{opacity:0;transform:translate3d(0,-30px,0)}to{opacity:1;transform:none}}@-webkit-keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.elementor-widget-nav-menu nav .elementor-nav-menu .menu-item .menu-link .sub-arrow{padding:0 0 0 5px;margin-top:-14px}.elementor-widget-nav-menu nav .elementor-nav-menu .menu-item .menu-link .sub-arrow .fa-caret-down:before{content:"\f078";font-size:75%}.elementor-location-footer nav .elementor-nav-menu .menu-item a.menu-link{padding:0 5px}.elementor-location-footer nav .elementor-nav-menu .menu-item:first-child a.menu-link{padding-left:0}.elementor-location-footer nav .elementor-nav-menu .menu-item:last-child a.menu-link{padding-right:0}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}.screen-reader-text:focus{background-color:#f1f1f1;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;-webkit-clip-path:none;clip-path:none;color:#21759b;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}#content[tabindex="-1"]:focus{outline:0}header#masthead{z-index:202}#overlay-menu-container{z-index:201}.default-banner .container{z-index:3}.widget{margin:0 0 1.5em}.widget select{max-width:100%}.site-content .elementor-container .elementor-column:first-child .elementor-widget-wrap{padding-left:20px}.site-content .elementor-container .elementor-column:last-child .elementor-widget-wrap{padding-right:20px}.entry-content .elementor .elementor-section-wrap .elementor-section div:not(.elementor-column-gap-no)[class*=elementor-column-gap-]>.elementor-column:first-child>.elementor-element-populated{padding-left:0}.entry-content .elementor .elementor-section-wrap .elementor-section div:not(.elementor-column-gap-no)[class*=elementor-column-gap-]>.elementor-column:last-child>.elementor-element-populated{padding-right:0}.site-header-top-section a,.site-header-top-section a:focus,.site-header-top-section a:hover,.site-header-top-section a:visited{color:#fff;font-family:Causten Round,sans-serif}.site-header-top-section a:focus,.site-header-top-section a:hover{text-decoration:underline}.elementor-widget-heading p:last-child,.elementor-widget-text-editor p:last-child{margin-bottom:0}.elementor-widget-text-editor .elementor-widget-container ul{list-style:none;margin:0;padding:0}.elementor-widget-text-editor .elementor-widget-container ul li{padding-left:20px;position:relative;padding-bottom:1em}.elementor-widget-text-editor .elementor-widget-container ul li:last-child{padding-bottom:0}.elementor-widget-text-editor .elementor-widget-container ul li:before{content:">";color:#e6683f;position:absolute;left:0;top:3px;font-size:1.1rem;line-height:1em}.elementor-widget-text-editor .elementor-widget-container ul li ul{padding:1em 0 0}.elementor-widget-text-editor .elementor-widget-container ul li ul li{padding-left:18px}.elementor-widget-text-editor .elementor-widget-container ul li ul li:before{content:"";width:6px;height:6px;top:10px;background-color:#e6683f;border-radius:200px}.image-with-border{position:relative}.image-with-border .elementor-widget-container{z-index:1;position:relative}.image-with-border:after,.image-with-border:before{position:absolute;width:60%;height:60%;content:"";border-radius:15px}.image-with-border:before{left:-12px;top:-12px}.image-with-border:after{right:-12px;bottom:-12px}.image-with-border.top-yellow:before{background:#ffcf43}.image-with-border.top-blue:before{background:#16bed5}.image-with-border.top-purple:before{background:#5e568e}.image-with-border.bottom-yellow:after{background:#ffcf43}.image-with-border.bottom-blue:after{background:#16bed5}.image-with-border.bottom-purple:after{background:#5e568e}.elementor-column[class*=bottom-branded-color],.elementor-column[class*=top-branded-color]{position:relative}.elementor-column[class*=bottom-branded-color]:after,.elementor-column[class*=top-branded-color]:before{position:absolute;width:50%;height:100px;content:"";border-radius:15px;z-index:-1;left:25%}.elementor-column[class*=top-branded-color]:before{top:-15px}.elementor-column[class*=bottom-branded-color]{position:relative}.elementor-column[class*=bottom-branded-color]:after{bottom:-15px}.elementor-column.top-branded-color-yellow:before{background:#ffcf43}.elementor-column.top-branded-color-orange:before{background:#e6683f}.elementor-column.top-branded-color-purple:before{background:#5e568e}.elementor-column.top-branded-color-blue:before{background:#16bed5}.elementor-column.bottom-branded-color-yellow:after{background:#ffcf43}.elementor-column.bottom-branded-color-orange:after{background:#e6683f}.elementor-column.bottom-branded-color-purple:after{background:#5e568e}.elementor-column.bottom-branded-color-blue:after{background:#16bed5}@media (min-width:1260px){.elementor-location-footer nav .elementor-nav-menu .menu-item a.menu-link{padding:0 20px}.site-content .elementor-container .elementor-column:first-child .elementor-widget-wrap{padding-left:0}.site-content .elementor-container .elementor-column:last-child .elementor-widget-wrap{padding-right:0}}@media (max-width:1260px){.entry-content .elementor .elementor-section-wrap .elementor-section.elementor-section-boxed{padding-left:20px;padding-right:20px}}@media (max-width:768px){.entry-content .elementor .elementor-section-wrap .elementor-section div:not(.elementor-column-gap-no)[class*=elementor-column-gap-]>.elementor-column>.elementor-element-populated{padding-left:0;padding-right:0}.entry-content .elementor .elementor-section-wrap .elementor-section div.elementor-column-gap-wide>.elementor-column>.elementor-element-populated,.entry-content .elementor .elementor-section-wrap .elementor-section div.elementor-column-gap-wider>.elementor-column>.elementor-element-populated{padding-bottom:15px;padding-top:15px}}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLmNzcyIsIm1peGlucy9fbWl4aW5zLW1hc3Rlci5zY3NzIiwic3R5bGUuc2NzcyIsIm5hdmlnYXRpb24vX21lbnVzLnNjc3MiLCJtb2R1bGVzL19hY2Nlc3NpYmlsaXR5LnNjc3MiLCJzaXRlL3ByaW1hcnkvX3Bvc3RzLWFuZC1wYWdlcy5zY3NzIiwic2l0ZS9fc2l0ZS5zY3NzIiwic2l0ZS9wcmltYXJ5L190ZXh0LWVkaXRvci13aWRnZXQuc2NzcyIsInNpdGUvcHJpbWFyeS9faW1hZ2Utd2l0aC1ib3JkZXIuc2NzcyIsInNpdGUvcHJpbWFyeS9fdG9wLWJvdHRvbS1icmFuZC1kZXNpZ24uc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2RkEsMkJBQ0UsR0NxR0Usa0JEbkdGLENBRUEsR0NvSU0sb0JEbElOLENDa0dFLENEM0VKLG1CQUNFLEdDMEVFLGtCRHhFRixDQUVBLEdDa0hNLG9CRGhITixDQ3VFRSxDRHBFSix5Q0FDRSxHQzRHTSxTQUFTLENEMUdiLCtCQ29FQSxDQW1DQSxHQUVJLFNBQUEsQ0RuR0osY0NxREEsQ0RuREosQ0E0QkEsaUNBQ0UsR0VySEYsU0FBQSxDRnVISSwrQkFDRixDQUVBLEdBQ0UsU0FBVSxDQUVWLGNHckxKLENIdUxBLENBRUEsMkNDaklJLEdEbUlBLFNBQVUsQ0d0S2QsZ0NId0tFLENBRUEsR0VsSUYsU0FBQSxDRnFJSSxjSWxNSixDQUNBLENKK05BLG1DS2hPQSxHTGtPSSxTQUFVLENDMUtWLGdDRDRLRixDQUVBLEdDOUtFLFNBQVEsQ0FtQlIsY0QrSkYsQ0MvSkUsQ0kvQ0osMkJMa05FLEdLbE5GLFNMb05FLENBRUEsR016T0YsU04yT0UsQ0FDRixDTy9PQSxtQlBzUUUsR012UEYsU055UEUsQ01uUEYsR05zUEksU0FDRixDUWxSRixDUnlUQSxvRlN6VEEsaUJBQWlCLENUMlRmLGdCUzNURixDQUFBLDBHVCtURSxlQUFnQixDUy9UbEIsYVRpVUEsQ0FFQSwwRVNuVUEsYVRxVUEsQ0FFQSxzRkFDRSxjQUNGLENBRUEscUZBQ0UsZUFDRixDQVFBLG9CQUNFLFFBQVMsQ0FDVCwwQkFBOEIsQ0FDOUIsNEJBQXFCLENBQXJCLG9CQUFxQixDQUNyQixVQUFXLENBQ1gsV0FBWSxDQUNaLGVBQWdCLENBQ2hCLFNBQVUsQ0FDViwyQkFBNkIsQ0FDN0IsU0FBVSxDQUNWLDBCQUVGLENBRUEsMEJBQ0Usd0JBQXlCLENBQ3pCLGlCQUFrQixDQUNsQixxQ0FBMEMsQ0FDMUMsbUJBQXFCLENBQ3JCLHNCQUFlLENBQWYsY0FBZSxDQUNmLGFBQWMsQ0FDZCxhQUFjLENBQ2QsY0FBZSxDQUNmLGlCQUFtQixDQUNuQixlQUFpQixDQUNqQixXQUFZLENBQ1osUUFBUyxDQUNULGtCQUFtQixDQUNuQixzQkFBdUIsQ0FDdkIsb0JBQXFCLENBQ3JCLE9BQVEsQ0FDUixVQUFXLENBQ1gsY0FFRixDQUlBLDhCQUNFLFNBQ0YsQ0FNQSxnQkFDRSxXQUNGLENBRUEsd0JBQ0UsV0FDRixDQUVBLDJCQUNFLFNBQ0YsQ0FNQSxRQUNFLGdCQUVGLENBRUEsZUFDRSxjQUNGLENBVUEsd0ZBQ0UsaUJBQ0YsQ0FFQSx1RkFDRSxrQkFDRixDQUVBLGdNQUNFLGNBQ0YsQ0FFQSwrTEFDRSxlQUNGLENBTUEsZ0lBSUUsVUFBYyxDQUNkLG9DQUNGLENBRUEsa0VBRUUseUJBQ0YsQ0FNQSxrRkFFRSxlQUNGLENBRUEsNkRBQ0UsZUFBZ0IsQ0FDaEIsUUFBUyxDQUNULFNBQ0YsQ0FFQSxnRUFDRSxpQkFBa0IsQ0FDbEIsaUJBQWtCLENBQ2xCLGtCQUNGLENBRUEsMkVBQ0UsZ0JBQ0YsQ0FFQSx1RUFDRSxXQUFZLENBQ1osYUFBYyxDQUNkLGlCQUFrQixDQUNsQixNQUFPLENBQ1AsT0FBUSxDQUNSLGdCQUFpQixDQUNqQixlQUNGLENBRUEsbUVBQ0UsZUFDRixDQUVBLHNFQUNFLGlCQUNGLENBRUEsNkVBQ0UsVUFBVyxDQUNYLFNBQVUsQ0FDVixVQUFXLENBQ1gsUUFBUyxDQUNULHdCQUF5QixDQUN6QixtQkFDRixDQVVBLG1CQUNFLGlCQUNGLENBRUEsK0NBQ0UsU0FBVSxDQUNWLGlCQUNGLENBRUEsbURBRUUsaUJBQWtCLENBQ2xCLFNBQVUsQ0FDVixVQUFXLENBQ1gsVUFBVyxDQUNYLGtCQUNGLENBRUEsMEJBQ0UsVUFBVyxDQUNYLFNBQ0YsQ0FFQSx5QkFDRSxXQUFZLENBQ1osWUFDRixDQUVBLHFDQUNFLGtCQUNGLENBRUEsbUNBQ0Usa0JBQ0YsQ0FFQSxxQ0FDRSxrQkFDRixDQUVBLHVDQUNFLGtCQUNGLENBRUEscUNBQ0Usa0JBQ0YsQ0FFQSx1Q0FDRSxrQkFDRixDQU1BLDJGQUVFLGlCQUNGLENBWUEsd0dBQ0UsaUJBQWtCLENBQ2xCLFNBQVUsQ0FDVixZQUFhLENBQ2IsVUFBVyxDQUNYLGtCQUFtQixDQUNuQixVQUFXLENBQ1gsUUFDRixDQUVBLG1EQUNFLFNBQ0YsQ0FFQSwrQ0FDRSxpQkFDRixDQUVBLHFEQUNFLFlBQ0YsQ0FFQSxrREFDRSxrQkFDRixDQUVBLGtEQUNFLGtCQUNGLENBRUEsa0RBQ0Usa0JBQ0YsQ0FFQSxnREFDRSxrQkFDRixDQUVBLG9EQUNFLGtCQUNGLENBRUEsb0RBQ0Usa0JBQ0YsQ0FFQSxvREFDRSxrQkFDRixDQUVBLGtEQUNFLGtCQUNGLENBRUEsMEJBQ0UsMEVBQ0UsY0FDRixDQUVBLHdGQUNFLGNBQ0YsQ0FFQSx1RkFDRSxlQUNGLENBQ0YsQ0FFQSwwQkFDRSw2RkFDRSxpQkFBa0IsQ0FDbEIsa0JBQ0YsQ0FDRixDQUVBLHlCQUNFLG9MQUNFLGNBQWlCLENBQ2pCLGVBQ0YsQ0FFQSxxU0FFRSxtQkFBb0IsQ0FDcEIsZ0JBQ0YsQ0FDRiIsImZpbGUiOiJzdHlsZS5taW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuVGhlbWUgTmFtZTogVk9DTyBDcmVhdGl2ZVxyXG5UaGVtZSBVUkk6IGh0dHA6Ly91bmRlcnNjb3Jlcy5tZS9cclxuQXV0aG9yOiBWT0NPXHJcbkF1dGhvciBVUkk6IGh0dHBzOi8vd3d3LnZvY29jcmVhdGl2ZS5jb21cclxuRGVzY3JpcHRpb246IFRoaXMgaXMgdGhlIG1haW4gdGhlbWUgZm9yIHRoZSBWT0NPIENyZWF0aXZlIHNpdGUuXHJcblZlcnNpb246IDEuMC4wXHJcbkxpY2Vuc2U6IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHYyIG9yIGxhdGVyXHJcbkxpY2Vuc2UgVVJJOiBMSUNFTlNFXHJcblRleHQgRG9tYWluOiB2b2NvY3JlYXRpdmVcclxuVGFnczogY3VzdG9tLWJhY2tncm91bmQsIGN1c3RvbS1sb2dvLCBjdXN0b20tbWVudSwgZmVhdHVyZWQtaW1hZ2VzLCB0aHJlYWRlZC1jb21tZW50cywgdHJhbnNsYXRpb24tcmVhZHlcclxuXHJcblRoaXMgdGhlbWUsIGxpa2UgV29yZFByZXNzLCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgR1BMLlxyXG5Vc2UgaXQgdG8gbWFrZSBzb21ldGhpbmcgY29vbCwgaGF2ZSBmdW4sIGFuZCBzaGFyZSB3aGF0IHlvdSd2ZSBsZWFybmVkIHdpdGggb3RoZXJzLlxyXG5cclxuVk9DTyBDcmVhdGl2ZSBpcyBiYXNlZCBvbiBVbmRlcnNjb3JlcyBodHRwczovL3VuZGVyc2NvcmVzLm1lLywgKEMpIDIwMTItMjAxNyBBdXRvbWF0dGljLCBJbmMuXHJcblVuZGVyc2NvcmVzIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdQTCB2MiBvciBsYXRlci5cclxuXHJcbk5vcm1hbGl6aW5nIHN0eWxlcyBoYXZlIGJlZW4gaGVscGVkIGFsb25nIHRoYW5rcyB0byB0aGUgZmluZSB3b3JrIG9mXHJcbk5pY29sYXMgR2FsbGFnaGVyIGFuZCBKb25hdGhhbiBOZWFsIGh0dHBzOi8vbmVjb2xhcy5naXRodWIuaW8vbm9ybWFsaXplLmNzcy9cclxuKi9cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4+Pj4gVEFCTEUgT0YgQ09OVEVOVFM6XHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuIyBOb3JtYWxpemVcclxuIyBUeXBvZ3JhcGh5XHJcbiMgRWxlbWVudHNcclxuIyBGb3Jtc1xyXG4jIE5hdmlnYXRpb25cclxuXHQjIyBMaW5rc1xyXG5cdCMjIE1lbnVzXHJcbiMgQWNjZXNzaWJpbGl0eVxyXG4jIEFsaWdubWVudHNcclxuIyBDbGVhcmluZ3NcclxuIyBXaWRnZXRzXHJcbiMgQ29udGVudFxyXG5cdCMjIFBvc3RzIGFuZCBwYWdlc1xyXG5cdCMjIENvbW1lbnRzXHJcbiMgSW5maW5pdGUgc2Nyb2xsXHJcbiMgTWVkaWFcclxuXHQjIyBDYXB0aW9uc1xyXG5cdCMjIEdhbGxlcmllc1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuIyBWYXJpYWJsZXMgYW5kIE1peGluc1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qKioqKioqKioqKioqKioqKioqKipcclxuT1BBQ0lUWVxyXG5hZGRzIGFuIG9wYWNpdHkgdG8gYW4gSFRNTCBlbGVtZW50XHJcblVTQUdFOiAgQGluY2x1ZGUgb3BhY2l0eSguOCw4MCk7XHJcbioqKioqKioqKioqKioqKioqKioqKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKlxyXG5IVE1MIExJU1QgSVRFTSBXSVRIIE5PVCBMSVNUIFNUWUxFXHJcbnJlbW92ZXMgdGhlIGxpc3Qtc3R5bGUgc2V0dGluZ3MgZnJvbSBhbiBIVE1MIGxpc3RcclxuVVNBR0U6ICBAaW5jbHVkZSBsaXN0Tm9TdHlsZVxyXG4qKioqKioqKioqKioqKioqKioqKiovXG5cbi8qKioqKioqKioqKioqKioqKioqKipcclxuUExBQ0hPTERFUiBTVFlMSU5HXHJcbioqKioqKioqKioqKioqKioqKioqKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbkhFWENPREUgVE8gUkdCQVxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qKioqKioqKioqKioqKioqKioqKipcclxuS0VZRlJBTUUgQU5JTUFUSU9OXHJcblxyXG5hbmltYXRpb24tbmFtZTogYm91bmNpbmctYXJyb3c7XHJcbmFuaW1hdGlvbi1kdXJhdGlvbjogLjZzO1xyXG5hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuYW5pbWF0aW9uLWRlbGF5OiAwO1xyXG5hbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGU7XHJcbmFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xyXG5hbmltYXRpb24tZmlsbC1tb2RlOiBub25lO1xyXG5hbmltYXRpb24tcGxheS1zdGF0ZTogcnVubmluZztcclxuXHJcbnRoZSBhYm92ZSBjYW4gYmUgd3JpdHRlbiBsaWtlOlxyXG5AaW5jbHVkZSBhbmltYXRpb24oJ21vdmUtdGhlLW9iamVjdCAuNnMgZWFzZS1vdXQgMHMgYWx0ZXJuYXRlIGluZmluaXRlJyk7XHJcbioqKioqKioqKioqKioqKioqKioqKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKlxyXG5LRVlGUkFNRVNcclxuKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqXHJcbktFWUZSQU1FIGJhciB3YXZlIG1vdmVcclxuKioqKioqKioqKioqKioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcHVsc2F0ZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICB9XG59XG5cbkAtbW96LWtleWZyYW1lcyBwdWxzYXRlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gIH1cbn1cblxuQC1vLWtleWZyYW1lcyBwdWxzYXRlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBwdWxzYXRlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gIH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGFuaW1hdGlvbi1zbGlkZS1pbi11cCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzBweCwgMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5ALW1vei1rZXlmcmFtZXMgYW5pbWF0aW9uLXNsaWRlLWluLXVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMHB4LCAwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkAtby1rZXlmcmFtZXMgYW5pbWF0aW9uLXNsaWRlLWluLXVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMHB4LCAwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYW5pbWF0aW9uLXNsaWRlLWluLXVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMHB4LCAwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBhbmltYXRpb24tc2xpZGUtaW4tZG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQC1tb3ota2V5ZnJhbWVzIGFuaW1hdGlvbi1zbGlkZS1pbi1kb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5ALW8ta2V5ZnJhbWVzIGFuaW1hdGlvbi1zbGlkZS1pbi1kb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGlvbi1zbGlkZS1pbi1kb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZS1pbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5ALW1vei1rZXlmcmFtZXMgZmFkZS1pbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5ALW8ta2V5ZnJhbWVzIGZhZGUtaW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlLWluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKipcclxuQ1NTMyBHUkFESUVOVFNcclxuQmUgY2FyZWZ1bCB3aXRoIHRoZXNlIHNpbmNlIHRoZXkgY2FuXHJcbnJlYWxseSBzbG93IGRvd24geW91ciBDU1MuIERvbid0IG92ZXJkbyBpdC5cclxuVGhpcyBpcyBhIGdyZWF0IHRvb2wgZm9yIGNyZWF0aW5nIENTUyBncmFkaWVudHM6ICBodHRwOi8vd3d3LmNvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci9cclxuKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiBAaW5jbHVkZSBjc3MtZ3JhZGllbnQoI2RmZGZkZiwjZjhmOGY4KTsgKi9cblxuLyogQGluY2x1ZGUgY3NzLWdyYWRpZW50LXRyaWFuZ2xlKHRvcCwgYm90dG9tLCAjMUYxQzIxKTsgKi9cblxuLyogQGluY2x1ZGUgY3NzLWdyYWRpZW50LXR3by12ZXJ0aWNhbCgjZGZkZmRmLDAlLCAjZjhmOGY4LCA4MCUpOyAqL1xuXG4vKiBAaW5jbHVkZSBjc3MtZ3JhZGllbnQtdHdvLXZlcnRpY2FsKCNkZmRmZGYsMCUsICNmOGY4ZjgsIDgwJSk7ICovXG5cbi8qIEBpbmNsdWRlIGNzcy1ncmFkaWVudC10d28taG9yaXpvbnRhbCgjZGZkZmRmLDAlLCAjZjhmOGY4LCA4MCUpOyAqL1xuXG4vKiBAaW5jbHVkZSBjc3MtZ3JhZGllbnQtdHdvLWRpYWdvbmFsLWxlZnR0b3AtcmlnaHRib3R0b20oI2RmZGZkZiwwJSwgI2Y4ZjhmOCwgODAlKTsgKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKlxyXG5HcmV5c2NhbGVcclxuZ3JleXNjYWxlIFVTQUdFOiAgQGluY2x1ZGUgZ3JleXNjYWxlKDMwJSlcclxuKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiMgRWxlbWVudHNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiMgTmF2aWdhdGlvblxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuIyMgTWVudXNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4uZWxlbWVudG9yLXdpZGdldC1uYXYtbWVudSBuYXYgLmVsZW1lbnRvci1uYXYtbWVudSAubWVudS1pdGVtIC5tZW51LWxpbmsgLnN1Yi1hcnJvdyB7XG4gIHBhZGRpbmc6IDAgMCAwIDVweDtcbiAgbWFyZ2luLXRvcDogLTE0cHg7XG59XG5cbi5lbGVtZW50b3Itd2lkZ2V0LW5hdi1tZW51IG5hdiAuZWxlbWVudG9yLW5hdi1tZW51IC5tZW51LWl0ZW0gLm1lbnUtbGluayAuc3ViLWFycm93IC5mYS1jYXJldC1kb3duOjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMDc4JztcbiAgZm9udC1zaXplOiA3NSU7XG59XG5cbi5lbGVtZW50b3ItbG9jYXRpb24tZm9vdGVyIG5hdiAuZWxlbWVudG9yLW5hdi1tZW51IC5tZW51LWl0ZW0gYS5tZW51LWxpbmsge1xuICBwYWRkaW5nOiAwIDVweDtcbn1cblxuLmVsZW1lbnRvci1sb2NhdGlvbi1mb290ZXIgbmF2IC5lbGVtZW50b3ItbmF2LW1lbnUgLm1lbnUtaXRlbTpmaXJzdC1jaGlsZCBhLm1lbnUtbGluayB7XG4gIHBhZGRpbmctbGVmdDogMHB4O1xufVxuXG4uZWxlbWVudG9yLWxvY2F0aW9uLWZvb3RlciBuYXYgLmVsZW1lbnRvci1uYXYtbWVudSAubWVudS1pdGVtOmxhc3QtY2hpbGQgYS5tZW51LWxpbmsge1xuICBwYWRkaW5nLXJpZ2h0OiAwcHg7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuIyBBY2Nlc3NpYmlsaXR5XHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogVGV4dCBtZWFudCBvbmx5IGZvciBzY3JlZW4gcmVhZGVycy4gKi9cblxuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICB3b3JkLXdyYXA6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAvKiBNYW55IHNjcmVlbiByZWFkZXIgYW5kIGJyb3dzZXIgY29tYmluYXRpb25zIGFubm91bmNlIGJyb2tlbiB3b3JkcyBhcyB0aGV5IHdvdWxkIGFwcGVhciB2aXN1YWxseS4gKi9cbn1cblxuLnNjcmVlbi1yZWFkZXItdGV4dDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNoYWRvdzogMCAwIDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGNsaXAtcGF0aDogbm9uZTtcbiAgY29sb3I6ICMyMTc1OWI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBoZWlnaHQ6IGF1dG87XG4gIGxlZnQ6IDVweDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgcGFkZGluZzogMTVweCAyM3B4IDE0cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdG9wOiA1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICB6LWluZGV4OiAxMDAwMDA7XG4gIC8qIEFib3ZlIFdQIHRvb2xiYXIuICovXG59XG5cbi8qIERvIG5vdCBzaG93IHRoZSBvdXRsaW5lIG9uIHRoZSBza2lwIGxpbmsgdGFyZ2V0LiAqL1xuXG4jY29udGVudFt0YWJpbmRleD1cIi0xXCJdOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4jIFotaW5kZXhcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5oZWFkZXIjbWFzdGhlYWQge1xuICB6LWluZGV4OiAyMDI7XG59XG5cbiNvdmVybGF5LW1lbnUtY29udGFpbmVyIHtcbiAgei1pbmRleDogMjAxO1xufVxuXG4uZGVmYXVsdC1iYW5uZXIgLmNvbnRhaW5lciB7XG4gIHotaW5kZXg6IDM7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuIyBXaWRnZXRzXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLndpZGdldCB7XG4gIG1hcmdpbjogMCAwIDEuNWVtO1xuICAvKiBNYWtlIHN1cmUgc2VsZWN0IGVsZW1lbnRzIGZpdCBpbiB3aWRnZXRzLiAqL1xufVxuXG4ud2lkZ2V0IHNlbGVjdCB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4jIENvbnRlbnRcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiMjIFBvc3RzIGFuZCBwYWdlc1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5zaXRlLWNvbnRlbnQgLmVsZW1lbnRvci1jb250YWluZXIgLmVsZW1lbnRvci1jb2x1bW46Zmlyc3QtY2hpbGQgLmVsZW1lbnRvci13aWRnZXQtd3JhcCB7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbn1cblxuLnNpdGUtY29udGVudCAuZWxlbWVudG9yLWNvbnRhaW5lciAuZWxlbWVudG9yLWNvbHVtbjpsYXN0LWNoaWxkIC5lbGVtZW50b3Itd2lkZ2V0LXdyYXAge1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xufVxuXG4uZW50cnktY29udGVudCAuZWxlbWVudG9yIC5lbGVtZW50b3Itc2VjdGlvbi13cmFwIC5lbGVtZW50b3Itc2VjdGlvbiBkaXY6bm90KC5lbGVtZW50b3ItY29sdW1uLWdhcC1ubylbY2xhc3MqPSdlbGVtZW50b3ItY29sdW1uLWdhcC0nXSA+IC5lbGVtZW50b3ItY29sdW1uOmZpcnN0LWNoaWxkID4gLmVsZW1lbnRvci1lbGVtZW50LXBvcHVsYXRlZCB7XG4gIHBhZGRpbmctbGVmdDogMHB4O1xufVxuXG4uZW50cnktY29udGVudCAuZWxlbWVudG9yIC5lbGVtZW50b3Itc2VjdGlvbi13cmFwIC5lbGVtZW50b3Itc2VjdGlvbiBkaXY6bm90KC5lbGVtZW50b3ItY29sdW1uLWdhcC1ubylbY2xhc3MqPSdlbGVtZW50b3ItY29sdW1uLWdhcC0nXSA+IC5lbGVtZW50b3ItY29sdW1uOmxhc3QtY2hpbGQgPiAuZWxlbWVudG9yLWVsZW1lbnQtcG9wdWxhdGVkIHtcbiAgcGFkZGluZy1yaWdodDogMHB4O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiMjIEhlYWRlclxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5zaXRlLWhlYWRlci10b3Atc2VjdGlvbiBhLFxuLnNpdGUtaGVhZGVyLXRvcC1zZWN0aW9uIGE6Zm9jdXMsXG4uc2l0ZS1oZWFkZXItdG9wLXNlY3Rpb24gYTpob3Zlcixcbi5zaXRlLWhlYWRlci10b3Atc2VjdGlvbiBhOnZpc2l0ZWQge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1mYW1pbHk6IFwiQ2F1c3RlbiBSb3VuZFwiLCBzYW5zLXNlcmlmO1xufVxuXG4uc2l0ZS1oZWFkZXItdG9wLXNlY3Rpb24gYTpob3Zlcixcbi5zaXRlLWhlYWRlci10b3Atc2VjdGlvbiBhOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuIyMgVGV4dCBFZGl0b3IgV2lkZ2V0XHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLmVsZW1lbnRvci13aWRnZXQtdGV4dC1lZGl0b3IgcDpsYXN0LWNoaWxkLFxuLmVsZW1lbnRvci13aWRnZXQtaGVhZGluZyBwOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG59XG5cbi5lbGVtZW50b3Itd2lkZ2V0LXRleHQtZWRpdG9yIC5lbGVtZW50b3Itd2lkZ2V0LWNvbnRhaW5lciB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLmVsZW1lbnRvci13aWRnZXQtdGV4dC1lZGl0b3IgLmVsZW1lbnRvci13aWRnZXQtY29udGFpbmVyIHVsIGxpIHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiAxZW07XG59XG5cbi5lbGVtZW50b3Itd2lkZ2V0LXRleHQtZWRpdG9yIC5lbGVtZW50b3Itd2lkZ2V0LWNvbnRhaW5lciB1bCBsaTpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZy1ib3R0b206IDBweDtcbn1cblxuLmVsZW1lbnRvci13aWRnZXQtdGV4dC1lZGl0b3IgLmVsZW1lbnRvci13aWRnZXQtY29udGFpbmVyIHVsIGxpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiPlwiO1xuICBjb2xvcjogI2U2NjgzZjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDNweDtcbiAgZm9udC1zaXplOiAxLjFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG59XG5cbi5lbGVtZW50b3Itd2lkZ2V0LXRleHQtZWRpdG9yIC5lbGVtZW50b3Itd2lkZ2V0LWNvbnRhaW5lciB1bCBsaSB1bCB7XG4gIHBhZGRpbmc6IDFlbSAwIDA7XG59XG5cbi5lbGVtZW50b3Itd2lkZ2V0LXRleHQtZWRpdG9yIC5lbGVtZW50b3Itd2lkZ2V0LWNvbnRhaW5lciB1bCBsaSB1bCBsaSB7XG4gIHBhZGRpbmctbGVmdDogMThweDtcbn1cblxuLmVsZW1lbnRvci13aWRnZXQtdGV4dC1lZGl0b3IgLmVsZW1lbnRvci13aWRnZXQtY29udGFpbmVyIHVsIGxpIHVsIGxpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICB3aWR0aDogNnB4O1xuICBoZWlnaHQ6IDZweDtcbiAgdG9wOiAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTY2ODNmO1xuICBib3JkZXItcmFkaXVzOiAyMDBweDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4jIyBGb290ZXJcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiMjIEltYWdlIHdpdGggQm9yZGVyXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLmltYWdlLXdpdGgtYm9yZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaW1hZ2Utd2l0aC1ib3JkZXIgLmVsZW1lbnRvci13aWRnZXQtY29udGFpbmVyIHtcbiAgei1pbmRleDogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaW1hZ2Utd2l0aC1ib3JkZXI6OmJlZm9yZSxcbi5pbWFnZS13aXRoLWJvcmRlcjo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiA2MCU7XG4gIGhlaWdodDogNjAlO1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItcmFkaXVzOiAxNXB4O1xufVxuXG4uaW1hZ2Utd2l0aC1ib3JkZXI6OmJlZm9yZSB7XG4gIGxlZnQ6IC0xMnB4O1xuICB0b3A6IC0xMnB4O1xufVxuXG4uaW1hZ2Utd2l0aC1ib3JkZXI6OmFmdGVyIHtcbiAgcmlnaHQ6IC0xMnB4O1xuICBib3R0b206IC0xMnB4O1xufVxuXG4uaW1hZ2Utd2l0aC1ib3JkZXIudG9wLXllbGxvdzo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI0ZGQ0Y0Mztcbn1cblxuLmltYWdlLXdpdGgtYm9yZGVyLnRvcC1ibHVlOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjMTZCRUQ1O1xufVxuXG4uaW1hZ2Utd2l0aC1ib3JkZXIudG9wLXB1cnBsZTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzVFNTY4RTtcbn1cblxuLmltYWdlLXdpdGgtYm9yZGVyLmJvdHRvbS15ZWxsb3c6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogI0ZGQ0Y0Mztcbn1cblxuLmltYWdlLXdpdGgtYm9yZGVyLmJvdHRvbS1ibHVlOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICMxNkJFRDU7XG59XG5cbi5pbWFnZS13aXRoLWJvcmRlci5ib3R0b20tcHVycGxlOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICM1RTU2OEU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuIyMgVG9wIGJvdHRvbSBicmFuZCBkZXNpZ25cclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4uZWxlbWVudG9yLWNvbHVtbltjbGFzcyo9XCJ0b3AtYnJhbmRlZC1jb2xvclwiXSxcbi5lbGVtZW50b3ItY29sdW1uW2NsYXNzKj1cImJvdHRvbS1icmFuZGVkLWNvbG9yXCJdIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZWxlbWVudG9yLWNvbHVtbltjbGFzcyo9XCJ0b3AtYnJhbmRlZC1jb2xvclwiXTo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogNTAlO1xuICBoZWlnaHQ6IDEwMHB4O1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICB6LWluZGV4OiAtMTtcbiAgbGVmdDogMjUlO1xufVxuXG4uZWxlbWVudG9yLWNvbHVtbltjbGFzcyo9XCJib3R0b20tYnJhbmRlZC1jb2xvclwiXTo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiA1MCU7XG4gIGhlaWdodDogMTAwcHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gIHotaW5kZXg6IC0xO1xuICBsZWZ0OiAyNSU7XG59XG5cbi5lbGVtZW50b3ItY29sdW1uW2NsYXNzKj1cInRvcC1icmFuZGVkLWNvbG9yXCJdOjpiZWZvcmUge1xuICB0b3A6IC0xNXB4O1xufVxuXG4uZWxlbWVudG9yLWNvbHVtbltjbGFzcyo9XCJib3R0b20tYnJhbmRlZC1jb2xvclwiXSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmVsZW1lbnRvci1jb2x1bW5bY2xhc3MqPVwiYm90dG9tLWJyYW5kZWQtY29sb3JcIl06OmFmdGVyIHtcbiAgYm90dG9tOiAtMTVweDtcbn1cblxuLmVsZW1lbnRvci1jb2x1bW4udG9wLWJyYW5kZWQtY29sb3IteWVsbG93OjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjRkZDRjQzO1xufVxuXG4uZWxlbWVudG9yLWNvbHVtbi50b3AtYnJhbmRlZC1jb2xvci1vcmFuZ2U6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNlNjY4M2Y7XG59XG5cbi5lbGVtZW50b3ItY29sdW1uLnRvcC1icmFuZGVkLWNvbG9yLXB1cnBsZTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzVFNTY4RTtcbn1cblxuLmVsZW1lbnRvci1jb2x1bW4udG9wLWJyYW5kZWQtY29sb3ItYmx1ZTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzE2QkVENTtcbn1cblxuLmVsZW1lbnRvci1jb2x1bW4uYm90dG9tLWJyYW5kZWQtY29sb3IteWVsbG93OjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICNGRkNGNDM7XG59XG5cbi5lbGVtZW50b3ItY29sdW1uLmJvdHRvbS1icmFuZGVkLWNvbG9yLW9yYW5nZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjZTY2ODNmO1xufVxuXG4uZWxlbWVudG9yLWNvbHVtbi5ib3R0b20tYnJhbmRlZC1jb2xvci1wdXJwbGU6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogIzVFNTY4RTtcbn1cblxuLmVsZW1lbnRvci1jb2x1bW4uYm90dG9tLWJyYW5kZWQtY29sb3ItYmx1ZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjMTZCRUQ1O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTI2MHB4KSB7XG4gIC5lbGVtZW50b3ItbG9jYXRpb24tZm9vdGVyIG5hdiAuZWxlbWVudG9yLW5hdi1tZW51IC5tZW51LWl0ZW0gYS5tZW51LWxpbmsge1xuICAgIHBhZGRpbmc6IDBweCAyMHB4O1xuICB9XG5cbiAgLnNpdGUtY29udGVudCAuZWxlbWVudG9yLWNvbnRhaW5lciAuZWxlbWVudG9yLWNvbHVtbjpmaXJzdC1jaGlsZCAuZWxlbWVudG9yLXdpZGdldC13cmFwIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICAuc2l0ZS1jb250ZW50IC5lbGVtZW50b3ItY29udGFpbmVyIC5lbGVtZW50b3ItY29sdW1uOmxhc3QtY2hpbGQgLmVsZW1lbnRvci13aWRnZXQtd3JhcCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTI2MHB4KSB7XG4gIC5lbnRyeS1jb250ZW50IC5lbGVtZW50b3IgLmVsZW1lbnRvci1zZWN0aW9uLXdyYXAgLmVsZW1lbnRvci1zZWN0aW9uLmVsZW1lbnRvci1zZWN0aW9uLWJveGVkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmVudHJ5LWNvbnRlbnQgLmVsZW1lbnRvciAuZWxlbWVudG9yLXNlY3Rpb24td3JhcCAuZWxlbWVudG9yLXNlY3Rpb24gZGl2Om5vdCguZWxlbWVudG9yLWNvbHVtbi1nYXAtbm8pW2NsYXNzKj0nZWxlbWVudG9yLWNvbHVtbi1nYXAtJ10gPiAuZWxlbWVudG9yLWNvbHVtbiA+IC5lbGVtZW50b3ItZWxlbWVudC1wb3B1bGF0ZWQge1xuICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcbiAgfVxuXG4gIC5lbnRyeS1jb250ZW50IC5lbGVtZW50b3IgLmVsZW1lbnRvci1zZWN0aW9uLXdyYXAgLmVsZW1lbnRvci1zZWN0aW9uIGRpdi5lbGVtZW50b3ItY29sdW1uLWdhcC13aWRlciA+IC5lbGVtZW50b3ItY29sdW1uID4gLmVsZW1lbnRvci1lbGVtZW50LXBvcHVsYXRlZCxcbiAgLmVudHJ5LWNvbnRlbnQgLmVsZW1lbnRvciAuZWxlbWVudG9yLXNlY3Rpb24td3JhcCAuZWxlbWVudG9yLXNlY3Rpb24gZGl2LmVsZW1lbnRvci1jb2x1bW4tZ2FwLXdpZGUgPiAuZWxlbWVudG9yLWNvbHVtbiA+IC5lbGVtZW50b3ItZWxlbWVudC1wb3B1bGF0ZWQge1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICB9XG59IiwiLy8gUmVtIG91dHB1dCB3aXRoIHB4IGZhbGxiYWNrXHJcbkBtaXhpbiBmb250LXNpemUoJHNpemVWYWx1ZTogMSkge1xyXG4gICAgZm9udC1zaXplOiAoJHNpemVWYWx1ZSAqIDE2KSAqIDFweDtcclxuICAgIGZvbnQtc2l6ZTogJHNpemVWYWx1ZSAqIDFyZW07XHJcbn1cclxuXHJcbi8vIENlbnRlciBibG9ja1xyXG5AbWl4aW4gY2VudGVyLWJsb2NrIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbi8vIENsZWFyZml4XHJcbkBtaXhpbiBjbGVhcmZpeCgpIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XHJcbn1cclxuXHJcbi8vIENsZWFyIGFmdGVyIChub3QgYWxsIGNsZWFyZml4IG5lZWQgdGhpcyBhbHNvKVxyXG5AbWl4aW4gY2xlYXJmaXgtYWZ0ZXIoKSB7XHJcbiAgICBjbGVhcjogYm90aDtcclxufVxyXG5cclxuLy8gQ29sdW1uIHdpZHRoIHdpdGggbWFyZ2luXHJcbkBtaXhpbiBjb2x1bW4td2lkdGgoJG51bWJlckNvbHVtbnM6IDMpIHtcclxuICAgIHdpZHRoOiBtYXAtZ2V0KCAkY29sdW1ucywgJG51bWJlckNvbHVtbnMpIC0gKCAoICRjb2x1bW5zX19tYXJnaW4gKiAoICRudW1iZXJDb2x1bW5zIC0gMSkpIC8gJG51bWJlckNvbHVtbnMpO1xyXG59XHJcblxyXG4vL1NjcmVlbiBTaXplIFByZXNldHMgKHRoaXMgY2FuIGJlIGFkanVzdGVkIG9yIGFkZGVkIHRvIGlmIG5lY2Vzc2FyeSlcclxuLy9VU0FHRTogVGhlIGJlbG93IGV4YW1wbGUgY2hlY2tzIGZvciBhbnl0aGluZyBsb3dlciB0aGFuIDc2OHB4IGFuZCBoaWRlcyB0aGUgI2hlcm8gZGl2IHdpdGggYSBkaXNwbGF5Om5vbmUgcHJvcGVydHlcclxuLy8gI2hlcm97XHJcbi8vXHRAaW5jbHVkZSBicmVha3BvaW50KCRzY3JlZW4tbWQtbWluKXtkaXNwbGF5Om5vbmV9XHJcbi8vIH1cclxuLy9cclxuXHJcbi8vc2FzcyBicmVha3BvaW50IGlkZWEgZnJvbSB0aGlzIGFydGljbGU6IGh0dHBzOi8vd3d3LnNpdGVwb2ludC5jb20vbWFuYWdpbmctcmVzcG9uc2l2ZS1icmVha3BvaW50cy1zYXNzL1xyXG4kYnJlYWtwb2ludHM6IChcclxuICAneHNtYWxsJyA6IDMyMHB4LFxyXG4gICdzbWFsbCcgIDogNzY4cHgsXHJcbiAgJ21lZGl1bScgOiAxMDI0cHgsXHJcbiAgJ2xhcmdlJyAgOiAxMjYwcHgsIC8vaW5jcmVhc2VkIG1heCBib290c3RyYXAgd2lkdGggZnJvbSAxMjAwXHJcbiAgJ3hsYXJnZScgOiAxMzUwcHgsXHJcbiAgJ3h4bGFyZ2UnIDogMTYwMHB4LFxyXG4gICdnZm9ybS1tb2JpbGUnOiA2NDBweCwgLy9zcGVjaWFsIHNpemUgZm9yIGdmcm9tIG1vYmlsZVxyXG4gICd0ZWFtLW1lbWJlci1ncmlkJyA6IDU3NnB4IC8vc3BlY2lhbCBzaXplIGZvciBUZWFtIG1lbWJlcnMgR3JpZCBvbiBtb2JpbGVcclxuKTtcclxuXHJcbkBtaXhpbiByZXNwb25kLXRvKCRicmVha3BvaW50KSB7XHJcbiAgLy8gUmV0cmlldmVzIHRoZSB2YWx1ZSBmcm9tIHRoZSBrZXlcclxuICAkdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCk7XHJcblxyXG4gIC8vIElmIHRoZSBrZXkgZXhpc3RzIGluIHRoZSBtYXBcclxuICBAaWYgJHZhbHVlICE9IG51bGwge1xyXG4gICAgLy8gUHJpbnRzIGEgbWVkaWEgcXVlcnkgYmFzZWQgb24gdGhlIHZhbHVlXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHZhbHVlKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0IGluIHRoZSBtYXBcclxuICBAZWxzZSB7XHJcbiAgICBAd2FybiBcIlVuZm9ydHVuYXRlbHksIG5vIHZhbHVlIGNvdWxkIGJlIHJldHJpZXZlZCBmcm9tIGAjeyRicmVha3BvaW50fWAuIFwiXHJcbiAgICAgICAgKyBcIlBsZWFzZSBtYWtlIHN1cmUgaXQgaXMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYCBtYXAuXCI7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcmVzcG9uZC10by1tYXgoJGJyZWFrcG9pbnQpIHtcclxuICAvLyBSZXRyaWV2ZXMgdGhlIHZhbHVlIGZyb20gdGhlIGtleVxyXG4gICR2YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicmVha3BvaW50KTtcclxuXHJcbiAgLy8gSWYgdGhlIGtleSBleGlzdHMgaW4gdGhlIG1hcFxyXG4gIEBpZiAkdmFsdWUgIT0gbnVsbCB7XHJcbiAgICAvLyBQcmludHMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiB0aGUgdmFsdWVcclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkdmFsdWUpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QgaW4gdGhlIG1hcFxyXG4gIEBlbHNlIHtcclxuICAgIEB3YXJuIFwiVW5mb3J0dW5hdGVseSwgbm8gdmFsdWUgY291bGQgYmUgcmV0cmlldmVkIGZyb20gYCN7JGJyZWFrcG9pbnR9YC4gXCJcclxuICAgICAgICArIFwiUGxlYXNlIG1ha2Ugc3VyZSBpdCBpcyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgIG1hcC5cIjtcclxuICB9XHJcbn1cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKipcclxuT1BBQ0lUWVxyXG5hZGRzIGFuIG9wYWNpdHkgdG8gYW4gSFRNTCBlbGVtZW50XHJcblVTQUdFOiAgQGluY2x1ZGUgb3BhY2l0eSguOCw4MCk7XHJcbioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbkBtaXhpbiBvcGFjaXR5KCRwZXJjOjEuMCwgJHBlcmNmdWxsOjEwMCkge1xyXG4gICAgem9vbTogMTtcclxuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0kcGVyY2Z1bGwpO1xyXG4gICAgb3BhY2l0eTogJHBlcmM7XHJcbn1cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqXHJcbkhUTUwgTElTVCBJVEVNIFdJVEggTk9UIExJU1QgU1RZTEVcclxucmVtb3ZlcyB0aGUgbGlzdC1zdHlsZSBzZXR0aW5ncyBmcm9tIGFuIEhUTUwgbGlzdFxyXG5VU0FHRTogIEBpbmNsdWRlIGxpc3ROb1N0eWxlXHJcbioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbkBtaXhpbiBsaXN0Tm9TdHlsZSB7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNpdGlvbigkY29kZSkge1xyXG4gICAgdHJhbnNpdGlvbjogJGNvZGU7XHJcbiAgICAvL2ZpeCBmb3IgZmxpY2tlcmluZ1xyXG4gICAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogMTAwMDtcclxuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKlxyXG5QTEFDSE9MREVSIFNUWUxJTkdcclxuKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgICAgIEBjb250ZW50XHJcbiAgICB9XHJcbiAgICAmOi1tb3otcGxhY2Vob2xkZXIge1xyXG4gICAgICAgIEBjb250ZW50XHJcbiAgICB9XHJcbiAgICAmOjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgICAgICBAY29udGVudFxyXG4gICAgfVxyXG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgICAgIEBjb250ZW50XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuSEVYQ09ERSBUTyBSR0JBXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbkBtaXhpbiBoZXhfdG9fcmdiYSgkY29sb3I6ICR0ZWFsLCAkb3BhY2l0eTogLjUsICR0eXBlOiAnYmFja2dyb3VuZCcpIHtcclxuICAgICRyZWQ6IHJlZCgkY29sb3IpO1xyXG4gICAgJGdyZWVuOiBncmVlbigkY29sb3IpO1xyXG4gICAgJGJsdWU6IGJsdWUoJGNvbG9yKTtcclxuICAgIEBpZiAkdHlwZT09J2JhY2tncm91bmQnIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRyZWQsICRncmVlbiwgJGJsdWUsICRvcGFjaXR5KTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICR0eXBlPT0nY29sb3InIHtcclxuICAgICAgICBjb2xvcjogcmdiYSgkcmVkLCAkZ3JlZW4sICRibHVlLCAkb3BhY2l0eSk7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqXHJcbktFWUZSQU1FIEFOSU1BVElPTlxyXG5cclxuYW5pbWF0aW9uLW5hbWU6IGJvdW5jaW5nLWFycm93O1xyXG5hbmltYXRpb24tZHVyYXRpb246IC42cztcclxuYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbmFuaW1hdGlvbi1kZWxheTogMDtcclxuYW5pbWF0aW9uLWRpcmVjdGlvbjogYWx0ZXJuYXRlO1xyXG5hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcclxuYW5pbWF0aW9uLWZpbGwtbW9kZTogbm9uZTtcclxuYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7XHJcblxyXG50aGUgYWJvdmUgY2FuIGJlIHdyaXR0ZW4gbGlrZTpcclxuQGluY2x1ZGUgYW5pbWF0aW9uKCdtb3ZlLXRoZS1vYmplY3QgLjZzIGVhc2Utb3V0IDBzIGFsdGVybmF0ZSBpbmZpbml0ZScpO1xyXG4qKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5AbWl4aW4gYW5pbWF0aW9uKCRhbmltYXRlLi4uKSB7XHJcbiAgICAkbWF4OiBsZW5ndGgoJGFuaW1hdGUpO1xyXG4gICAgJGFuaW1hdGlvbnM6ICcnO1xyXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbWF4IHtcclxuICAgICAgICAkYW5pbWF0aW9uczogI3skYW5pbWF0aW9ucyArIG50aCgkYW5pbWF0ZSwgJGkpfTtcclxuICAgICAgICBAaWYgJGkgPCAkbWF4IHtcclxuICAgICAgICAgICAgJGFuaW1hdGlvbnM6ICN7JGFuaW1hdGlvbnMgKyBcIiwgXCJ9O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiAkYW5pbWF0aW9ucztcclxuICAgIC1tb3otYW5pbWF0aW9uOiAkYW5pbWF0aW9ucztcclxuICAgIC1vLWFuaW1hdGlvbjogJGFuaW1hdGlvbnM7XHJcbiAgICBhbmltYXRpb246ICRhbmltYXRpb25zO1xyXG59XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKlxyXG5LRVlGUkFNRVNcclxuKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuQG1peGluIGtleWZyYW1lcygkYW5pbWF0aW9uTmFtZSkge1xyXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzICN7JGFuaW1hdGlvbk5hbWV9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxuICAgIEAtbW96LWtleWZyYW1lcyAjeyRhbmltYXRpb25OYW1lfSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgICBALW8ta2V5ZnJhbWVzICN7JGFuaW1hdGlvbk5hbWV9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxuICAgIEBrZXlmcmFtZXMgI3skYW5pbWF0aW9uTmFtZX0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKlxyXG5LRVlGUkFNRSBiYXIgd2F2ZSBtb3ZlXHJcbioqKioqKioqKioqKioqKioqKioqKi9cclxuQGluY2x1ZGUga2V5ZnJhbWVzKHB1bHNhdGUpIHtcclxuICAgIDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBrZXlmcmFtZXMoYW5pbWF0aW9uLXNsaWRlLWluLXVwKSB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwcHgsIDApO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGtleWZyYW1lcyhhbmltYXRpb24tc2xpZGUtaW4tZG93bikge1xyXG4gICAgMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7XHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUga2V5ZnJhbWVzKGZhZGUtaW4pIHtcclxuICAgIDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAwXHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxXHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIGdlbmVyaWMgdHJhbnNmb3JtXHJcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcclxuICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbn1cclxuXHJcbi8vIHJvdGF0ZVxyXG5AbWl4aW4gcm90YXRlICgkZGVnKSB7XHJcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKCN7JGRlZ31kZWcpKTtcclxufVxyXG5cclxuLy8gc2NhbGVcclxuQG1peGluIHNjYWxlKCRzY2FsZSkge1xyXG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKCRzY2FsZSkpO1xyXG59XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqXHJcbkNTUzMgR1JBRElFTlRTXHJcbkJlIGNhcmVmdWwgd2l0aCB0aGVzZSBzaW5jZSB0aGV5IGNhblxyXG5yZWFsbHkgc2xvdyBkb3duIHlvdXIgQ1NTLiBEb24ndCBvdmVyZG8gaXQuXHJcblRoaXMgaXMgYSBncmVhdCB0b29sIGZvciBjcmVhdGluZyBDU1MgZ3JhZGllbnRzOiAgaHR0cDovL3d3dy5jb2xvcnppbGxhLmNvbS9ncmFkaWVudC1lZGl0b3IvXHJcbioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblxyXG4vKiBAaW5jbHVkZSBjc3MtZ3JhZGllbnQoI2RmZGZkZiwjZjhmOGY4KTsgKi9cclxuQG1peGluIGNzcy1ncmFkaWVudCgkZnJvbTogI2RmZGZkZiwgJHRvOiAjZjhmOGY4KSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG87XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICRmcm9tLCAkdG8pO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAkZnJvbSwgJHRvKTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRmcm9tLCAkdG8pO1xyXG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuR3JhZGllbnQoR3JhZGllbnRUeXBlPTAsIHN0YXJ0Q29sb3JzdHI9JyN7JGZyb219JywgZW5kQ29sb3JzdHI9JyN7JHRvfScpO1xyXG59XHJcblxyXG4vKiBAaW5jbHVkZSBjc3MtZ3JhZGllbnQtdHJpYW5nbGUodG9wLCBib3R0b20sICMxRjFDMjEpOyAqL1xyXG5AbWl4aW4gY3NzLWdyYWRpZW50LXRyaWFuZ2xlKCRmcm9tOiB0b3AsICR0bzogYm90dG9tLCAkY29sb3I6ICMxRjFDMjEpIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KCRmcm9tICR0bywgJGNvbG9yIDAlLCAkY29sb3IgNTAlLCB0cmFuc3BhcmVudCA1MCUpO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJGZyb20gJHRvLCAkY29sb3IgMCUsICRjb2xvciA1MCUsIHRyYW5zcGFyZW50IDUwJSk7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gJGZyb20gJHRvLCAkY29sb3IgMCUsICRjb2xvciA1MCUsIHRyYW5zcGFyZW50IDUwJSk7XHJcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5HcmFkaWVudChHcmFkaWVudFR5cGU9MCwgc3RhcnRDb2xvcnN0cj0nI3skY29sb3J9JywgZW5kQ29sb3JzdHI9JyN7JGNvbG9yfScpO1xyXG59XHJcblxyXG4vKiBAaW5jbHVkZSBjc3MtZ3JhZGllbnQtdHdvLXZlcnRpY2FsKCNkZmRmZGYsMCUsICNmOGY4ZjgsIDgwJSk7ICovXHJcbkBtaXhpbiBjc3MtZ3JhZGllbnQtdHdvLXZlcnRpY2FsKCRsZWZ0OiAjZGZkZmRmLCAkbHBlcmM6MCUsICRyaWdodDogI2Y4ZjhmOCwgJHJ0cGVyYzoxMDAlKSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkbGVmdDsgLyogT2xkIGJyb3dzZXJzICovXHJcbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICAkbGVmdCAkbHBlcmMsICRyaWdodCAkcnRwZXJjKTsgLyogRkYzLjYrICovXHJcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICAkbGVmdCAkbHBlcmMsICRyaWdodCAkcnRwZXJjKTsgLyogQ2hyb21lMTArLFNhZmFyaTUuMSsgKi9cclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICAkbGVmdCAkbHBlcmMsICRyaWdodCAkcnRwZXJjKTsgLyogVzNDICovXHJcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5HcmFkaWVudChHcmFkaWVudFR5cGU9MCwgc3RhcnRDb2xvcnN0cj0nI3skbGVmdH0nLCBlbmRDb2xvcnN0cj0nI3skcmlnaHR9Jyk7XHJcbn1cclxuXHJcbi8qIEBpbmNsdWRlIGNzcy1ncmFkaWVudC10d28tdmVydGljYWwoI2RmZGZkZiwwJSwgI2Y4ZjhmOCwgODAlKTsgKi9cclxuQG1peGluIGNzcy1ncmFkaWVudC10aHJlZS12ZXJ0aWNhbCgkdG9wOiAjZGZkZmRmLCAkdHBlcmM6MCUsICRtaWRkbGU6ICNkZmRmZGYsICRtcGVyYzo1MCUsICRib3R0b206ICNmOGY4ZjgsICRidHBlcmM6MTAwJSkge1xyXG4gICAgYmFja2dyb3VuZDogJHRvcDsgLyogT2xkIGJyb3dzZXJzICovXHJcbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICAkdG9wICR0cGVyYywkbWlkZGxlICRtcGVyYywkYm90dG9tICRidHBlcmMpOyAvKiBGRjMuNisgKi9cclxuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgICR0b3AgJHRwZXJjLCRtaWRkbGUgJG1wZXJjLCRib3R0b20gJGJ0cGVyYyk7IC8qIENocm9tZTEwKyxTYWZhcmk1LjErICovXHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAgJHRvcCAkdHBlcmMsJG1pZGRsZSAkbXBlcmMsJGJvdHRvbSAkYnRwZXJjKTsgLyogVzNDICovXHJcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5HcmFkaWVudChHcmFkaWVudFR5cGU9MCwgc3RhcnRDb2xvcnN0cj0nI3skdG9wfScsIGVuZENvbG9yc3RyPScjeyRib3R0b219Jyk7XHJcbn1cclxuXHJcbi8qIEBpbmNsdWRlIGNzcy1ncmFkaWVudC10d28taG9yaXpvbnRhbCgjZGZkZmRmLDAlLCAjZjhmOGY4LCA4MCUpOyAqL1xyXG5AbWl4aW4gY3NzLWdyYWRpZW50LXR3by1ob3Jpem9udGFsKCRmcm9tOiAjZGZkZmRmLCAkbHBlcmM6MCUsICR0bzogI2Y4ZjhmOCwgJHJ0cGVyYzoxMDAlKSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkdG87XHJcbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAkZnJvbSAkbHBlcmMsICR0byAkcnRwZXJjKTtcclxuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICRmcm9tICRscGVyYywgJHRvICRydHBlcmMpO1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkZnJvbSAkbHBlcmMsICR0byAkcnRwZXJjKTtcclxuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkdyYWRpZW50KEdyYWRpZW50VHlwZT0xLCBzdGFydENvbG9yc3RyPScjeyRmcm9tfScsIGVuZENvbG9yc3RyPScjeyR0b30nKTtcclxufVxyXG5cclxuLyogQGluY2x1ZGUgY3NzLWdyYWRpZW50LXR3by1kaWFnb25hbC1sZWZ0dG9wLXJpZ2h0Ym90dG9tKCNkZmRmZGYsMCUsICNmOGY4ZjgsIDgwJSk7ICovXHJcbkBtaXhpbiBjc3MtZ3JhZGllbnQtdHdvLWRpYWdvbmFsLWxlZnR0b3AtcmlnaHRib3R0b20oJGZyb206ICNkZmRmZGYsICRscGVyYzowJSwgJHRvOiAjZjhmOGY4LCAkcnRwZXJjOjEwMCUpIHtcclxuICAgIGJhY2tncm91bmQ6ICR0bztcclxuICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KC00NWRlZywgJGZyb20gJGxwZXJjLCAkdG8gJHJ0cGVyYyk7IC8qIEZGMy42LTE1ICovXHJcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsICRmcm9tICRscGVyYywkdG8gJHJ0cGVyYyk7IC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAkZnJvbSAkbHBlcmMsJHRvICRydHBlcmMpOyAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cclxuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjeyRmcm9tfScsIGVuZENvbG9yc3RyPScjeyR0b30nLEdyYWRpZW50VHlwZT0xICk7IC8qIElFNi05IGZhbGxiYWNrIG9uIGhvcml6b250YWwgZ3JhZGllbnQgKi9cclxuIH1cclxuXHJcbiAvKioqKioqKioqKioqKioqKioqKioqXHJcbkdyZXlzY2FsZVxyXG5ncmV5c2NhbGUgVVNBR0U6ICBAaW5jbHVkZSBncmV5c2NhbGUoMzAlKVxyXG4qKioqKioqKioqKioqKioqKioqKiovXHJcbkBtaXhpbiBncmV5c2NhbGUoJHBlcmM6IDcwJSl7XHJcbiAgICBmaWx0ZXI6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XFwnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcXCc+PGZpbHRlciBpZD1cXCdncmF5c2NhbGVcXCc+PGZlQ29sb3JNYXRyaXggdHlwZT1cXCdtYXRyaXhcXCcgdmFsdWVzPVxcJzAuMzMzMyAwLjMzMzMgMC4zMzMzIDAgMCAwLjMzMzMgMC4zMzMzIDAuMzMzMyAwIDAgMC4zMzMzIDAuMzMzMyAwLjMzMzMgMCAwIDAgMCAwIDEgMFxcJy8+PC9maWx0ZXI+PC9zdmc+I2dyYXlzY2FsZVwiKTsgLyogRmlyZWZveCAxMCssIEZpcmVmb3ggb24gQW5kcm9pZCAqL1xyXG4gICAgZmlsdGVyOiBncmF5c2NhbGUoJHBlcmMpOyAvKiBOZXdlciBGaXJlZm94ICovXHJcbiAgICBmaWx0ZXI6IGdyYXkgYWxwaGEob3BhY2l0eT0xMDApOyAvKiBJRTYtOSAqL1xyXG4gICAgLXdlYmtpdC1maWx0ZXI6IGdyYXlzY2FsZSgkcGVyYyk7IC8qIENocm9tZSAxOSssIFNhZmFyaSA2KywgU2FmYXJpIDYrIGlPUyAqL1xyXG5cclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XHJcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xyXG4gICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xyXG4gICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcclxuXHJcbiAgICB6b29tOiAxO1xyXG4gICAgb3BhY2l0eTogMC44O1xyXG5cclxuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyAvKiBGaXggZm9yIHRyYW5zaXRpb24gZmxpY2tlcmluZyAqL1xyXG5cclxuICAgICY6aG92ZXJ7XHJcbiAgICAgICAgZmlsdGVyOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVxcJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXFwnPjxmaWx0ZXIgaWQ9XFwnZ3JheXNjYWxlXFwnPjxmZUNvbG9yTWF0cml4IHR5cGU9XFwnbWF0cml4XFwnIHZhbHVlcz1cXCcxIDAgMCAwIDAsIDAgMSAwIDAgMCwgMCAwIDEgMCAwLCAwIDAgMCAxIDBcXCcvPjwvZmlsdGVyPjwvc3ZnPiNncmF5c2NhbGVcIik7XHJcbiAgICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMCUpOyAvKiBOZXdlciBGaXJlZm94ICovXHJcbiAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGdyYXlzY2FsZSgwJSk7XHJcblxyXG4gICAgICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApO1xyXG4gICAgICAgIG9wYWNpdHk6IDEuMDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5UaGVtZSBOYW1lOiBWT0NPIENyZWF0aXZlXHJcblRoZW1lIFVSSTogaHR0cDovL3VuZGVyc2NvcmVzLm1lL1xyXG5BdXRob3I6IFZPQ09cclxuQXV0aG9yIFVSSTogaHR0cHM6Ly93d3cudm9jb2NyZWF0aXZlLmNvbVxyXG5EZXNjcmlwdGlvbjogVGhpcyBpcyB0aGUgbWFpbiB0aGVtZSBmb3IgdGhlIFZPQ08gQ3JlYXRpdmUgc2l0ZS5cclxuVmVyc2lvbjogMS4wLjBcclxuTGljZW5zZTogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjIgb3IgbGF0ZXJcclxuTGljZW5zZSBVUkk6IExJQ0VOU0VcclxuVGV4dCBEb21haW46IHZvY29jcmVhdGl2ZVxyXG5UYWdzOiBjdXN0b20tYmFja2dyb3VuZCwgY3VzdG9tLWxvZ28sIGN1c3RvbS1tZW51LCBmZWF0dXJlZC1pbWFnZXMsIHRocmVhZGVkLWNvbW1lbnRzLCB0cmFuc2xhdGlvbi1yZWFkeVxyXG5cclxuVGhpcyB0aGVtZSwgbGlrZSBXb3JkUHJlc3MsIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBHUEwuXHJcblVzZSBpdCB0byBtYWtlIHNvbWV0aGluZyBjb29sLCBoYXZlIGZ1biwgYW5kIHNoYXJlIHdoYXQgeW91J3ZlIGxlYXJuZWQgd2l0aCBvdGhlcnMuXHJcblxyXG5WT0NPIENyZWF0aXZlIGlzIGJhc2VkIG9uIFVuZGVyc2NvcmVzIGh0dHBzOi8vdW5kZXJzY29yZXMubWUvLCAoQykgMjAxMi0yMDE3IEF1dG9tYXR0aWMsIEluYy5cclxuVW5kZXJzY29yZXMgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR1BMIHYyIG9yIGxhdGVyLlxyXG5cclxuTm9ybWFsaXppbmcgc3R5bGVzIGhhdmUgYmVlbiBoZWxwZWQgYWxvbmcgdGhhbmtzIHRvIHRoZSBmaW5lIHdvcmsgb2ZcclxuTmljb2xhcyBHYWxsYWdoZXIgYW5kIEpvbmF0aGFuIE5lYWwgaHR0cHM6Ly9uZWNvbGFzLmdpdGh1Yi5pby9ub3JtYWxpemUuY3NzL1xyXG4qL1xyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4+Pj4gVEFCTEUgT0YgQ09OVEVOVFM6XHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuIyBOb3JtYWxpemVcclxuIyBUeXBvZ3JhcGh5XHJcbiMgRWxlbWVudHNcclxuIyBGb3Jtc1xyXG4jIE5hdmlnYXRpb25cclxuXHQjIyBMaW5rc1xyXG5cdCMjIE1lbnVzXHJcbiMgQWNjZXNzaWJpbGl0eVxyXG4jIEFsaWdubWVudHNcclxuIyBDbGVhcmluZ3NcclxuIyBXaWRnZXRzXHJcbiMgQ29udGVudFxyXG5cdCMjIFBvc3RzIGFuZCBwYWdlc1xyXG5cdCMjIENvbW1lbnRzXHJcbiMgSW5maW5pdGUgc2Nyb2xsXHJcbiMgTWVkaWFcclxuXHQjIyBDYXB0aW9uc1xyXG5cdCMjIEdhbGxlcmllc1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiMgVmFyaWFibGVzIGFuZCBNaXhpbnNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5AaW1wb3J0IFwidmFyaWFibGVzLXNpdGUvdmFyaWFibGVzLXNpdGVcIjtcclxuQGltcG9ydCBcIm1peGlucy9taXhpbnMtbWFzdGVyXCI7IFxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4jIEVsZW1lbnRzXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuQGltcG9ydCBcImVsZW1lbnRzL2VsZW1lbnRzXCI7XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiMgTmF2aWdhdGlvblxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbkBpbXBvcnQgXCJuYXZpZ2F0aW9uL25hdmlnYXRpb25cIjtcclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuIyBBY2Nlc3NpYmlsaXR5XHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuQGltcG9ydCBcIm1vZHVsZXMvYWNjZXNzaWJpbGl0eVwiO1xyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4jIFotaW5kZXhcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5AaW1wb3J0IFwibW9kdWxlcy96aW5kZXhcIjtcclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuIyBXaWRnZXRzXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuQGltcG9ydCBcInNpdGUvc2Vjb25kYXJ5L3dpZGdldHNcIjtcclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuIyBDb250ZW50XHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuQGltcG9ydCBcInNpdGUvc2l0ZVwiO1xyXG4iLCIuZWxlbWVudG9yLXdpZGdldC1uYXYtbWVudSB7XHJcbiAgICBuYXYge1xyXG4gICAgICAgIC5lbGVtZW50b3ItbmF2LW1lbnUge1xyXG4gICAgICAgICAgICAubWVudS1pdGVtIHtcclxuICAgICAgICAgICAgICAgIC5tZW51LWxpbmsge1xyXG4gICAgICAgICAgICAgICAgICAgIC5zdWItYXJyb3cge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuZmEtY2FyZXQtZG93biB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwNzgnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNzUlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uZWxlbWVudG9yLWxvY2F0aW9uLWZvb3RlcntcclxuICAgIG5hdntcclxuICAgICAgICAuZWxlbWVudG9yLW5hdi1tZW51e1xyXG4gICAgICAgICAgICAubWVudS1pdGVtIHtcclxuICAgICAgICAgICAgICAgIGEubWVudS1saW5rIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDVweDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10bygnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6MHB4IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZHtcclxuICAgICAgICAgICAgICAgICAgICBhLm1lbnUtbGlua3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OjBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxke1xyXG4gICAgICAgICAgICAgICAgICAgIGEubWVudS1saW5re1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OjBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLyogVGV4dCBtZWFudCBvbmx5IGZvciBzY3JlZW4gcmVhZGVycy4gKi9cclxuLnNjcmVlbi1yZWFkZXItdGV4dCB7XHJcblx0Ym9yZGVyOiAwO1xyXG5cdGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcclxuXHRjbGlwLXBhdGg6IGluc2V0KDUwJSk7XHJcblx0aGVpZ2h0OiAxcHg7XHJcblx0bWFyZ2luOiAtMXB4O1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0cGFkZGluZzogMDtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcclxuXHR3aWR0aDogMXB4O1xyXG5cdHdvcmQtd3JhcDogbm9ybWFsICFpbXBvcnRhbnQ7IC8qIE1hbnkgc2NyZWVuIHJlYWRlciBhbmQgYnJvd3NlciBjb21iaW5hdGlvbnMgYW5ub3VuY2UgYnJva2VuIHdvcmRzIGFzIHRoZXkgd291bGQgYXBwZWFyIHZpc3VhbGx5LiAqL1xyXG5cclxuXHQmOmZvY3VzIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fYmFja2dyb3VuZC1zY3JlZW47XHJcblx0XHRib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0XHRib3gtc2hhZG93OiAwIDAgMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNik7XHJcblx0XHRjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XHJcblx0XHRjbGlwLXBhdGg6IG5vbmU7XHJcblx0XHRjb2xvcjogJGNvbG9yX190ZXh0LXNjcmVlbjtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0QGluY2x1ZGUgZm9udC1zaXplKDAuODc1KTtcclxuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdFx0bGVmdDogNXB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuXHRcdHBhZGRpbmc6IDE1cHggMjNweCAxNHB4O1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0dG9wOiA1cHg7XHJcblx0XHR3aWR0aDogYXV0bztcclxuXHRcdHotaW5kZXg6IDEwMDAwMDsgLyogQWJvdmUgV1AgdG9vbGJhci4gKi9cclxuXHR9XHJcbn1cclxuXHJcbi8qIERvIG5vdCBzaG93IHRoZSBvdXRsaW5lIG9uIHRoZSBza2lwIGxpbmsgdGFyZ2V0LiAqL1xyXG4jY29udGVudFt0YWJpbmRleD1cIi0xXCJdOmZvY3VzIHtcclxuXHRvdXRsaW5lOiAwO1xyXG59XHJcbiIsIi5zaXRlLWNvbnRlbnQge1xyXG5cdC5lbGVtZW50b3ItY29udGFpbmVyIHtcclxuXHRcdC5lbGVtZW50b3ItY29sdW1uIHtcclxuXHRcdFx0JjpmaXJzdC1jaGlsZCB7XHJcblx0XHRcdFx0LmVsZW1lbnRvci13aWRnZXQtd3JhcCB7XHJcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgcmVzcG9uZC10bygnbGFyZ2UnKSB7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMDtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0JjpsYXN0LWNoaWxkIHtcclxuXHRcdFx0XHQuZWxlbWVudG9yLXdpZGdldC13cmFwIHtcclxuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgcmVzcG9uZC10bygnbGFyZ2UnKSB7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uZW50cnktY29udGVudCB7XHJcblx0LmVsZW1lbnRvciB7XHJcblx0XHQuZWxlbWVudG9yLXNlY3Rpb24td3JhcCB7XHJcblx0XHRcdC5lbGVtZW50b3Itc2VjdGlvbiB7XHJcblx0XHRcdFx0Ji5lbGVtZW50b3Itc2VjdGlvbi1ib3hlZCB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSByZXNwb25kLXRvLW1heCgnbGFyZ2UnKSB7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMjBweDtcclxuXHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMjBweDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdGRpdjpub3QoLmVsZW1lbnRvci1jb2x1bW4tZ2FwLW5vKVtjbGFzcyo9J2VsZW1lbnRvci1jb2x1bW4tZ2FwLSddIHtcclxuXHRcdFx0XHRcdD4uZWxlbWVudG9yLWNvbHVtbiB7XHJcblx0XHRcdFx0XHRcdD4uZWxlbWVudG9yLWVsZW1lbnQtcG9wdWxhdGVkIHtcclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSByZXNwb25kLXRvLW1heCgnc21hbGwnKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDBweDtcclxuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDBweDtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdCY6Zmlyc3QtY2hpbGQge1xyXG5cdFx0XHRcdFx0XHRcdD4uZWxlbWVudG9yLWVsZW1lbnQtcG9wdWxhdGVkIHtcclxuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMHB4O1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0JjpsYXN0LWNoaWxkIHtcclxuXHRcdFx0XHRcdFx0XHQ+LmVsZW1lbnRvci1lbGVtZW50LXBvcHVsYXRlZCB7XHJcblx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwcHg7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRkaXYuZWxlbWVudG9yLWNvbHVtbi1nYXAtd2lkZXIsXHJcblx0XHRcdFx0ZGl2LmVsZW1lbnRvci1jb2x1bW4tZ2FwLXdpZGUge1xyXG5cdFx0XHRcdFx0Pi5lbGVtZW50b3ItY29sdW1uIHtcclxuXHRcdFx0XHRcdFx0Pi5lbGVtZW50b3ItZWxlbWVudC1wb3B1bGF0ZWQge1xyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIHJlc3BvbmQtdG8tbWF4KCdzbWFsbCcpIHtcclxuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAxNXB4O1xyXG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZy10b3A6IDE1cHg7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIi8vIEBpbXBvcnQgXCIuLi9sYXlvdXQvY29udGVudC1zaWRlYmFyXCI7XHJcbi8vIEBpbXBvcnQgXCIuLi9sYXlvdXQvc2lkZWJhci1jb250ZW50XCI7XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiMjIFBvc3RzIGFuZCBwYWdlc1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG5AaW1wb3J0IFwicHJpbWFyeS9wb3N0cy1hbmQtcGFnZXNcIjtcclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuIyMgSGVhZGVyXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbkBpbXBvcnQgXCJwcmltYXJ5L2hlYWRlclwiO1xyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4jIyBUZXh0IEVkaXRvciBXaWRnZXRcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuQGltcG9ydCBcInByaW1hcnkvdGV4dC1lZGl0b3Itd2lkZ2V0XCI7XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiMjIEZvb3RlclxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG5AaW1wb3J0IFwicHJpbWFyeS9mb290ZXJcIjtcclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuIyMgSW1hZ2Ugd2l0aCBCb3JkZXJcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuQGltcG9ydCBcInByaW1hcnkvaW1hZ2Utd2l0aC1ib3JkZXJcIjtcclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuIyMgVG9wIGJvdHRvbSBicmFuZCBkZXNpZ25cclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuQGltcG9ydCBcInByaW1hcnkvdG9wLWJvdHRvbS1icmFuZC1kZXNpZ25cIjtcclxuIiwiLmVsZW1lbnRvci13aWRnZXQtdGV4dC1lZGl0b3IsXHJcbi5lbGVtZW50b3Itd2lkZ2V0LWhlYWRpbmd7XHJcbiAgICBwOmxhc3QtY2hpbGR7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTowcHg7XHJcbiAgICB9XHJcbn1cclxuLmVsZW1lbnRvci13aWRnZXQtdGV4dC1lZGl0b3J7XHJcbiAgICAuZWxlbWVudG9yLXdpZGdldC1jb250YWluZXJ7XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxZW07XHJcblxyXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxke1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIj5cIjtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG9yYW5nZTtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDNweDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6MS4xcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgdWx7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzoxZW0gMCAwO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBsaXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxOHB4O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmV7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OicnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6NnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OjZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDoxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi5pbWFnZS13aXRoLWJvcmRlciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAuZWxlbWVudG9yLXdpZGdldC1jb250YWluZXIge1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgfVxyXG4gICAgJjo6YmVmb3JlLFxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB3aWR0aDogNjAlO1xyXG4gICAgICAgIGhlaWdodDogNjAlO1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTVweDtcclxuICAgIH1cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgbGVmdDogLTEycHg7XHJcbiAgICAgICAgdG9wOiAtMTJweDtcclxuICAgIH1cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgICByaWdodDogLTEycHg7XHJcbiAgICAgICAgYm90dG9tOiAtMTJweDtcclxuICAgIH1cclxuICAgICYudG9wLXllbGxvdyB7XHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHllbGxvdztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnRvcC1ibHVlIHtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnRvcC1wdXJwbGUge1xyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwdXJwbGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5ib3R0b20teWVsbG93IHtcclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR5ZWxsb3c7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5ib3R0b20tYmx1ZSB7XHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmJvdHRvbS1wdXJwbGUge1xyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHB1cnBsZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLmVsZW1lbnRvci1jb2x1bW4ge1xyXG4gICAgJltjbGFzcyo9XCJ0b3AtYnJhbmRlZC1jb2xvclwiXSxcclxuICAgICZbY2xhc3MqPVwiYm90dG9tLWJyYW5kZWQtY29sb3JcIl17XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAmW2NsYXNzKj1cInRvcC1icmFuZGVkLWNvbG9yXCJde1xyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDtcclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTVweDtcclxuICAgICAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgICAgIGxlZnQ6IDI1JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJltjbGFzcyo9XCJib3R0b20tYnJhbmRlZC1jb2xvclwiXXtcclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDtcclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTVweDtcclxuICAgICAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgICAgIGxlZnQ6IDI1JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmW2NsYXNzKj1cInRvcC1icmFuZGVkLWNvbG9yXCJde1xyXG4gICAgICAgICY6OmJlZm9yZXtcclxuICAgICAgICAgICAgdG9wOiAtMTVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmW2NsYXNzKj1cImJvdHRvbS1icmFuZGVkLWNvbG9yXCJde1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGJvdHRvbTogLTE1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYudG9wLWJyYW5kZWQtY29sb3IteWVsbG93e1xyXG4gICAgICAgICY6OmJlZm9yZXtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHllbGxvdztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnRvcC1icmFuZGVkLWNvbG9yLW9yYW5nZXtcclxuICAgICAgICAmOjpiZWZvcmV7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi50b3AtYnJhbmRlZC1jb2xvci1wdXJwbGV7XHJcbiAgICAgICAgJjo6YmVmb3Jle1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHVycGxlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYudG9wLWJyYW5kZWQtY29sb3ItYmx1ZXtcclxuICAgICAgICAmOjpiZWZvcmV7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibHVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmJvdHRvbS1icmFuZGVkLWNvbG9yLXllbGxvd3tcclxuICAgICAgICAmOjphZnRlcntcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHllbGxvdztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmJvdHRvbS1icmFuZGVkLWNvbG9yLW9yYW5nZXtcclxuICAgICAgICAmOjphZnRlcntcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJG9yYW5nZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmJvdHRvbS1icmFuZGVkLWNvbG9yLXB1cnBsZXtcclxuICAgICAgICAmOjphZnRlcntcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHB1cnBsZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmJvdHRvbS1icmFuZGVkLWNvbG9yLWJsdWV7XHJcbiAgICAgICAgJjo6YWZ0ZXJ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibHVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSJdfQ== */
