#loading-container,#loading-text{width:60%;margin:calc(5vh - 5px) auto}.loadingbar{display:block;height:2px;background-color:#ccc;overflow:hidden;position:relative}.loadingbar:after,.loadingbar:before{content:"";display:block;position:absolute;top:0;bottom:0;width:0%;border-radius:5px;background-color:#999}.loadingbar:before{-webkit-animation:loading1 5s linear 0s infinite;animation:loading1 5s linear 0s infinite;z-index:10}.loadingbar:after{-webkit-animation:loading2 5s linear 2.5s infinite;animation:loading2 5s linear 2.5s infinite;z-index:20}@-webkit-keyframes loading1{0%{width:10%;margin-left:-10%}100%,50%{width:50%;margin-left:100%}}@keyframes loading1{0%{width:10%;margin-left:-10%}100%,50%{width:50%;margin-left:100%}}@-webkit-keyframes loading2{0%{width:50%;margin-left:-50%}100%,50%{width:10%;margin-left:100%}}@keyframes loading2{0%{width:50%;margin-left:-50%}100%,50%{width:10%;margin-left:100%}}.loading-text-container{position:relative;height:50px;text-align:center;margin-bottom:50px}.loading-text-container #loading-text{position:absolute;left:50%;transform:translateX(-50%)}.loading-container-2{width:100px;height:100px;border-radius:100%;position:relative;margin:0 auto;transform:scale(.5)}.loading-container-2:after,.loading-container-2:before{content:"";width:20px;height:20px;position:absolute;top:0;left:calc(50% - 10px);background-color:#eee;-webkit-animation:squaremove 1s ease-in-out infinite;animation:squaremove 1s ease-in-out infinite}.loading-container-2:after{bottom:0;-webkit-animation-delay:.5s;animation-delay:.5s}@-webkit-keyframes squaremove{0%,100%{transform:translate(0,0) rotate(0);background-color:#eee}25%{transform:translate(40px,40px) rotate(45deg);background-color:#ccc}50%{transform:translate(0,80px) rotate(0);background-color:#bbb}75%{transform:translate(-40px,40px) rotate(45deg);background-color:#ddd}}@keyframes squaremove{0%,100%{transform:translate(0,0) rotate(0);background-color:#eee}25%{transform:translate(40px,40px) rotate(45deg);background-color:#ccc}50%{transform:translate(0,80px) rotate(0);background-color:#bbb}75%{transform:translate(-40px,40px) rotate(45deg);background-color:#ddd}}.difo-image-banner-bkg{background-repeat:no-repeat;background-position:center center;width:100%;height:0;padding-top:63%;background-size:contain}.difo-default-coupon{opacity:0}.difo-wrapper .button-wrap{border-top:1px solid #ececec;width:100%;margin:0;padding:10px 0 0 0;list-style:none;display:-moz-flex;display:flex;-moz-flex-direction:row;flex-direction:row;flex-wrap:wrap;-moz-align-items:stretch;align-items:stretch;align-content:stretch;-moz-justify-content:space-between;justify-content:space-between}.difo-wrapper .button-wrap li{-moz-flex:1 1 50%;flex:1 1 50%;-ms-flex:1 1 47%;margin:0;padding:3px;width:100%}@media (max-width:768px){.difo-wrapper .button-wrap li{-moz-flex:0 0 100%;flex:0 0 100%;-ms-flex:0 0 97%;width:100%}}.difo-wrapper .button-wrap li.difo-wallet-btn-container .difo-type-wallet{-moz-flex:0 0 100%;flex:0 0 100%;-ms-flex:0 0 97%;background:#000;border-radius:4px}.difo-wrapper .button-wrap li.difo-wallet-btn-container .difo-type-wallet.difo-button img{max-width:15px;width:100%;height:auto!important}.difo-wrapper .difo-button{display:block;margin:0;border-radius:4px;font-size:.8571428571em;text-align:center;width:100%;height:100%;padding:1em;line-height:1.4}.difo-wrapper .difo-button i.fa{display:inline-block;vertical-align:top;font-size:1.2857142857em;margin-right:4px;transition:all .2s ease;color:inherit}@media (max-width:1450px){.difo-wrapper .difo-button i.fa{width:100%;display:block;margin-bottom:5px}}.difo-wrapper .coupon-detailed-pricing{margin:.5rem 0;padding:.5rem 0 .35rem;border-top:1.75px solid #bbb;border-bottom:1.75px solid #bbb;display:flex;justify-content:space-evenly;align-items:center}.difo-wrapper .coupon-detailed-pricing .value-item{text-align:center;position:relative;width:50%;padding:0 1rem}.difo-wrapper .coupon-detailed-pricing .value-item.main-value-container{border-right:1px solid #bbb}.difo-wrapper .coupon-detailed-pricing .value-item .value-heading{font-size:2rem;margin-bottom:.5rem}.difo-wrapper .coupon-detailed-pricing .value-item .value-supplement{font-size:1.1rem;line-height:1.5em;color:#666}.difo-wrapper .coupon-detailed-pricing.nosecondary .value-item.main-value-container{border:none}.difo-wrapper .coupon-detailed-pricing.no-main-value{flex-direction:column}.difo-wrapper .coupon-detailed-pricing.no-main-value .value-item{width:100%;margin:.5rem 0}.difo-wrapper .coupon-detailed-pricing.no-main-value .value-item.main-value-container{border-right:none}.difo-wrapper .coupon-detailed-pricing.no-main-value .value-item.main-value-container .value-supplement{font-size:1.6rem}.difo-wrapper .edit-difo{position:absolute;top:-18px;right:15px}.difo-wrapper .edit-difo a{display:block;background:#1565c0;color:#fff;text-align:center;width:40px;height:40px;line-height:40px;border-radius:200px;font-size:1.2857142857em;box-shadow:2px 2px 5px #0b3564;transition:all .3s ease}.difo-wrapper .edit-difo a i{transition:all .3s ease;transform:scale(1.2) rotate(0)}.difo-wrapper .edit-difo a:hover{background:#217ee7}.difo-wrapper .edit-difo a:hover i{transform:scale(1.2) rotate(20deg)}.difo-wrapper .difo-card{border:1px solid transparent}.difo-wrapper .difo-card[data-difo-selected]{border:2px dotted #666;background:#ececec}.difo-wrapper .difo-card .coupon-header{display:table}.difo-wrapper .difo-card .coupon-header .coupon-photo{padding-left:0;padding-right:2px;margin-bottom:10px;overflow:hidden;display:table-cell;vertical-align:top}.difo-wrapper .difo-card .coupon-header .coupon-photo .difo-image-background{overflow:hidden}.difo-wrapper .difo-card .coupon-header .coupon-header-inner{display:table-cell;vertical-align:bottom}@media (max-width:767px){.difo-wrapper .difo-card .coupon-header .coupon-header-inner{padding-left:0;padding-right:0}}.difo-wrapper .difo-card .coupon-header .coupon-header-inner .coupon-title{font-size:1.1428571429em;margin:5px 0}.difo-wrapper .difo-card .coupon-header .coupon-header-inner .coupon-pricing{margin:5px 0;font-size:1em}.difo-wrapper .difo-card .coupon-content{color:#111}.difo-wrapper .difo-card .coupon-content .coupon-description{margin-top:5px}.difo-wrapper .difo-card .coupon-content .coupon-description.scrolling{max-height:200px;overflow-y:scroll;overflow-x:hidden}.difo-wrapper .difo-card .coupon-content .coupon-disclaimer{margin:10px 0;font-style:italic;line-height:1.2;color:#888}.difo-wrapper .difo-card .coupon-content .coupon-expiration{margin-top:30px;text-align:center;font-size:1.1428571429em;border-radius:3px;background-color:#f8f8f8;padding:5px;color:#263238}.difo-wrapper .difo-card .coupon-content .coupon-actions{margin-top:20px}.difo-wrapper .difo-list-coupons{margin:36px 0}.difo-wrapper .difo-list-coupons .difo-list-item{padding-top:25px;padding-right:0;padding-bottom:15px;padding-left:0;border-bottom:1px solid #aaa;box-shadow:0 1px 5px rgba(0,0,0,.4);position:relative}.difo-wrapper .difo-list-coupons .difo-list-item[data-difo-selected]{border:2px dotted #666;background:#ececec}.difo-wrapper .difo-list-coupons .difo-list-item+.difo-list-item{margin-top:30px}.difo-wrapper .difo-list-coupons .difo-image-background img{max-width:200px;width:100%}.difo-wrapper .difo-list-coupons .coupon-title{margin:5px 0;font-size:22px;line-height:1.4}.difo-wrapper .difo-list-coupons .coupon-expiration{margin-bottom:10px}.difo-wrapper .button-wrap{display:-moz-inline-flex;display:inline-flex;-moz-justify-content:space-between;justify-content:space-between;-moz-align-items:center;align-items:center}.difo-wrapper .button-wrap li{-moz-flex:1;flex:1;-ms-flex:1}@media (max-width:768px){.difo-wrapper .button-wrap li{-moz-flex:0 0 100%;flex:0 0 100%;-ms-flex:0 0 97%}}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL19fZGlmb19nbG9iYWxfcGFydGlhbHMvc2Nzcy9taXhpbnMvX2xvYWRpbmdfYmFyLnNjc3MiLCIuLi8uLi9fX2RpZm9fZ2xvYmFsX3BhcnRpYWxzL3Njc3MvX2RpZm9fYmFzZV9zdHlsZXMuc2NzcyIsIi4uLy4uL19fZGlmb19nbG9iYWxfcGFydGlhbHMvc2Nzcy9taXhpbnMvX2RpZm8tYnV0dG9ucy5zY3NzIiwiLi4vLi4vX19kaWZvX2dsb2JhbF9wYXJ0aWFscy9zY3NzL21peGlucy9fZmxleGJveC5zY3NzIiwiLi4vLi4vX19kaWZvX2dsb2JhbF9wYXJ0aWFscy9zY3NzL21peGlucy9fZGV0YWlsZWRQcmljaW5nLnNjc3MiLCIuLi8uLi9fX2RpZm9fZ2xvYmFsX3BhcnRpYWxzL3Njc3MvbWl4aW5zL19vZmZlcl9zZWxlY3RlZC5zY3NzIiwibGlzdHNwZWNpYWxzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0UsbUJBQUEsY0FDRSxNQUFBLElBQ0EsT0FBQSxnQkFBQSxLQUdGLFlBQ0ksUUFBQSxNQUNBLE9BQUEsSUFDQSxpQkFBQSxLQUNBLFNBQUEsT0FDQSxTQUFBLFNBR0osa0JBQUEsbUJBQ0ksUUFBQSxHQUNBLFFBQUEsTUFDQSxTQUFBLFNBQ0EsSUFBQSxFQUNBLE9BQUEsRUFDQSxNQUFBLEdBQ0EsY0FBQSxJQUNBLGlCQUFBLEtBR0osbUJBQ0ksa0JBQUEsU0FBQSxHQUFBLE9BQUEsR0FBQSxTQUFBLFVBQUEsU0FBQSxHQUFBLE9BQUEsR0FBQSxTQUNBLFFBQUEsR0FHSixrQkFDSSxrQkFBQSxTQUFBLEdBQUEsT0FBQSxLQUFBLFNBQUEsVUFBQSxTQUFBLEdBQUEsT0FBQSxLQUFBLFNBQ0EsUUFBQSxHQUdKLDRCQUNFLEdBQ0UsTUFBQSxJQUNBLFlBQUEsS0FFRixLQUFBLElBQ0UsTUFBQSxJQUNBLFlBQUEsTUFQSixvQkFDRSxHQUNFLE1BQUEsSUFDQSxZQUFBLEtBRUYsS0FBQSxJQUNFLE1BQUEsSUFDQSxZQUFBLE1B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QUEsRUFDQSxjQUFBLElBQUEsTUFBQSxLQUNBLFdBQUEsRUFBQSxJQUFBLElBQUEsZUFDQSxTQUFBLFNBQ0EscUVEMUJBLE9BQUEsSUFBQSxPQUFBLEtBQ0EsV0FBQSxRQzhCRCxpRUFDQyxXQUFBLEtBSUEsNERBQ0MsVUFBQSxNQUNBLE1BQUEsS0FJRiwrQ0FDQyxPQUFBLElBQUEsRUFDQSxVQUFBLEtBQ0EsWUFBQSxJQUdELG9EQUNDLGNBQUEsS0FJRiwyQkhzQkQsUUFBQSxpQkFFQSxRQUFBLFlBME9BLHFCQUFBLGNBQ0EsZ0JBQUEsY0FrQ0EsaUJBQUEsT0FDQSxZQUFBLE9HalNFLDhCSGdORixVQUFBLEVBQ0EsS0FBQSxFQUtDLFNBQUEsRUduTkUseUJBSEQsOEJIZ05GLFVBQUEsRUFBQSxFQUFBLEtBQ0EsS0FBQSxFQUFBLEVBQUEsS0FHQyxTQUFBLEVBQUEsRUFBQSIsImZpbGUiOiJsaXN0c3BlY2lhbHMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQG1peGluIGRpZm9fbG9hZGJhcigpIHtcbiAgI2xvYWRpbmctY29udGFpbmVyLCAjbG9hZGluZy10ZXh0IHtcbiAgICB3aWR0aDogNjAlOyAgICBcbiAgICBtYXJnaW46IGNhbGMoNXZoIC0gNXB4KSBhdXRvOyAvKnZlcnRpY2FsIGNlbnRlciBmb3IgYmV0dGVyIHNob3djYXNlKi9cbiAgfVxuXG4gIC5sb2FkaW5nYmFyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAycHg7XHQgICAgXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5sb2FkaW5nYmFyOmFmdGVyLCAubG9hZGluZ2JhcjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiAwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5OTk7XG4gIH1cblxuICAubG9hZGluZ2JhcjpiZWZvcmUge1xuICAgICAgYW5pbWF0aW9uOiBsb2FkaW5nMSA1cyBsaW5lYXIgMHMgaW5maW5pdGU7XG4gICAgICB6LWluZGV4OiAxMDtcbiAgfVxuXG4gIC5sb2FkaW5nYmFyOmFmdGVyIHtcbiAgICAgIGFuaW1hdGlvbjogbG9hZGluZzIgNXMgbGluZWFyIDIuNXMgaW5maW5pdGU7XG4gICAgICB6LWluZGV4OiAyMDtcbiAgfVxuXG4gIEBrZXlmcmFtZXMgbG9hZGluZzEge1xuICAgIDAle1xuICAgICAgd2lkdGg6IDEwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTAlO1xuICAgIH1cbiAgICA1MCUsMTAwJXtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIGxvYWRpbmcyIHtcbiAgICAwJXtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTUwJTtcbiAgICB9XG4gICAgNTAlLDEwMCV7XG4gICAgICB3aWR0aDogMTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwMCU7XG4gICAgfVxuICB9XG4gIC5sb2FkaW5nLXRleHQtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICNsb2FkaW5nLXRleHQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cbiBcbiAgLmxvYWRpbmctY29udGFpbmVyLTIge1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgfVxuXG4gIC5sb2FkaW5nLWNvbnRhaW5lci0yOmJlZm9yZSwgLmxvYWRpbmctY29udGFpbmVyLTI6YWZ0ZXJ7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDEwcHgpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gICAgYW5pbWF0aW9uOiBzcXVhcmVtb3ZlIDFzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICB9XG5cbiAgLmxvYWRpbmctY29udGFpbmVyLTI6YWZ0ZXJ7XG4gICAgYm90dG9tOiAwO1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC41cztcbiAgfVxuXG4gIEBrZXlmcmFtZXMgc3F1YXJlbW92ZXtcbiAgICAwJSwgMTAwJXtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwwKSByb3RhdGUoMCk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwwKSByb3RhdGUoMCk7XG4gICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLDApIHJvdGF0ZSgwKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsMCkgcm90YXRlKDApO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgICB9XG5cbiAgICAyNSV7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDQwcHgsNDBweCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSg0MHB4LDQwcHgpIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSg0MHB4LDQwcHgpIHJvdGF0ZSg0NWRlZyk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg0MHB4LDQwcHgpIHJvdGF0ZSg0NWRlZyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICAgIH1cblxuICAgIDUwJXtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LDgwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsODBweCkgcm90YXRlKDBkZWcpO1xuICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LDgwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCw4MHB4KSByb3RhdGUoMGRlZyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmJiO1xuICAgIH1cblxuICAgIDc1JXtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTQwcHgsNDBweCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNDBweCw0MHB4KSByb3RhdGUoNDVkZWcpO1xuICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTQwcHgsNDBweCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC00MHB4LDQwcHgpIHJvdGF0ZSg0NWRlZyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xuICAgIH1cbiAgfVxufSAvLyBlL286IGRpZm9fbG9hZGJhciIsIkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuJGRpZm9fYm9yZGVyX3JhZGl1czogM3B4ICFkZWZhdWx0O1xuJGRpZm9fYnV0dG9uX2NvbG9yOiAjMzMzICFkZWZhdWx0O1xuJGRpZm9fYnV0dG9uX2JhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG5AbWl4aW4gZGlmbygpIHtcblx0QGluY2x1ZGUgZGlmb19sb2FkYmFyKCk7XG5cblx0Ly8gdXNlZCB0byBmYWRlIGluIGNvdXBvblxuXHQuZGlmby1pbWFnZS1iYW5uZXItYmtnIHtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAwO1xuXHRcdHBhZGRpbmctdG9wOiBjYWxjKDMxNSAvIDUwMCAqIDEwMCUpO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcblx0fVxuXG5cdC5kaWZvLWRlZmF1bHQtY291cG9uIHtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cblx0LmRpZm8td3JhcHBlciB7XG5cdFx0QGluY2x1ZGUgZGlmby1idXR0b25zKCk7XG4gICAgICAgIEBpbmNsdWRlIGRldGFpbGVkUHJpY2luZygpO1xuXG5cdFx0LmVkaXQtZGlmbyB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IC0xOHB4O1xuXHRcdFx0cmlnaHQ6IDE1cHg7XG5cblx0XHRcdGEge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0YmFja2dyb3VuZDogIzE1NjVjMDtcblx0XHRcdFx0Y29sb3I6ICNmZmY7IFxuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdHdpZHRoOiA0MHB4O1xuXHRcdFx0XHRoZWlnaHQ6IDQwcHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiA0MHB4O1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAyMDBweDtcblx0XHRcdFx0Zm9udC1zaXplOiBlbSgxOCk7XG5cdFx0XHRcdGJveC1zaGFkb3c6IDJweCAycHggNXB4IGRhcmtlbigjMTU2NWMwLCAyMCUpO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXG5cdFx0XHRcdGkge1xuXHRcdFx0XHRcdHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjIpIHJvdGF0ZSgwZGVnKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6IGxpZ2h0ZW4oIzE1NjVjMCwgMTAlKTtcblxuXHRcdFx0XHRcdGkge1xuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjIpIHJvdGF0ZSgyMGRlZyk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmRpZm8tY2FyZCB7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuXHRcdFx0JltkYXRhLWRpZm8tc2VsZWN0ZWRdIHtcblx0XHRcdFx0QGluY2x1ZGUgb2ZmZXJfc2VsZWN0ZWQoKTtcblx0XHRcdH1cblxuXHRcdFx0LmNvdXBvbi1oZWFkZXIge1xuXHRcdFx0XHRkaXNwbGF5OiB0YWJsZTtcblxuXHRcdFx0XHQuY291cG9uLXBob3RvIHtcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMnB4O1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdFx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7IFxuXG5cdFx0XHRcdFx0LmRpZm8taW1hZ2UtYmFja2dyb3VuZCB7XG5cdFx0XHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0LmNvdXBvbi1oZWFkZXItaW5uZXIge1xuXHRcdFx0XHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IGJvdHRvbTtcblxuXHRcdFx0XHRcdEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuXHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQuY291cG9uLXRpdGxlIHtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogZW0oMTYpO1xuXHRcdFx0XHRcdFx0bWFyZ2luOiA1cHggMDtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQuY291cG9uLXByaWNpbmcge1xuXHRcdFx0XHRcdFx0bWFyZ2luOiA1cHggMDsgXG5cdFx0XHRcdFx0XHRmb250LXNpemU6IGVtKDE0KTsgIFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQuY291cG9uLWNvbnRlbnQge1xuXHRcdFx0XHRjb2xvcjogIzExMTtcblxuXHRcdFx0XHQuY291cG9uLWRlc2NyaXB0aW9uIHtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiA1cHg7XG5cblx0XHRcdFx0XHQmLnNjcm9sbGluZyB7XG5cdFx0XHRcdFx0XHRtYXgtaGVpZ2h0OiAyMDBweDtcblx0XHRcdFx0XHRcdG92ZXJmbG93LXk6IHNjcm9sbDtcblx0XHRcdFx0XHRcdG92ZXJmbG93LXg6IGhpZGRlbjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuY291cG9uLWRpc2NsYWltZXIge1xuXHRcdFx0XHRcdG1hcmdpbjogMTBweCAwO1xuXHRcdFx0XHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHRcdFx0XHRcdGNvbG9yOiAjODg4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0LmNvdXBvbi1leHBpcmF0aW9uIHtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAzMHB4O1xuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHRmb250LXNpemU6IGVtKDE2KTtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAkZGlmb19ib3JkZXJfcmFkaXVzO1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XG5cdFx0XHRcdFx0cGFkZGluZzogNXB4O1xuXHRcdFx0XHRcdGNvbG9yOiAjMjYzMjM4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0LmNvdXBvbi1hY3Rpb25zIHtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAyMHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCJAbWl4aW4gZGlmby1idXR0b25zKCkge1xuICAuYnV0dG9uLXdyYXAge1xuXHQgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlY2VjZWM7XG5cdCAgICB3aWR0aDogMTAwJTtcblx0ICAgIG1hcmdpbjogMDtcblx0ICAgIHBhZGRpbmc6IDEwcHggMCAwIDA7XG5cdCAgICBsaXN0LXN0eWxlOiBub25lO1xuXG5cdCAgICBAaW5jbHVkZSBmbGV4Ym94KCk7XG5cdCAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xuICAgICAgQGluY2x1ZGUgZmxleC13cmFwKHdyYXApO1xuXHQgICAgQGluY2x1ZGUgYWxpZ24taXRlbXMoc3RyZXRjaCk7XG5cdCAgICBAaW5jbHVkZSBhbGlnbi1jb250ZW50KHN0cmV0Y2gpO1xuXHQgICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xuXG5cdCAgICBsaSB7XG5cdFx0XHRAaW5jbHVkZSBmbGV4KDEsIDEsIDUwJSk7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0ICAgIHBhZGRpbmc6IDNweDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0XHRAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0XHRcdFx0QGluY2x1ZGUgZmxleCgwLCAwLCAxMDAlKTtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cbiAgICAgICYuZGlmby13YWxsZXQtYnRuLWNvbnRhaW5lciB7XG4gICAgICAgIC5kaWZvLXR5cGUtd2FsbGV0IHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4KDAsIDAsIDEwMCUpO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmRpZm8tdHlwZS13YWxsZXQuZGlmby1idXR0b24ge1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblx0fVxuXG5cdC5kaWZvLWJ1dHRvbiB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGJvcmRlci1yYWRpdXM6IDRweDtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGZvbnQtc2l6ZTogZW0oMTIpO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0cGFkZGluZzogMWVtO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjQ7XG5cblx0XHRpLmZhIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdFx0XHRmb250LXNpemU6IGVtKDE4KTtcblx0XHRcdG1hcmdpbi1yaWdodDogNHB4O1xuXHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblx0XHRcdGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDE0NTBweCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICAgIH1cblx0XHR9XG5cblx0XHQvLyBkb3VibGUgY2hlY2sgdG8gbWFrZSBzdXJlIHByaW50IGJ1dHRvbiBpcyBoaWRkZW4ganVzdCBpbiBjYXNlIHRoZSBwYXJ0aWFsIGdldHMgb3ZlcnJpZGVuXG4gICAgICAgIC8qXG5cdFx0JltocmVmXj1cIiNwcmludC1cIl17XG5cdFx0XHRAbWVkaWEoIG1heC13aWR0aDogMTAyNHB4IClcblx0XHRcdHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHR9XG4gICAgICAgICovXG5cblx0fVxufVxuIiwiLy8gRmxleGJveCBNaXhpbnNcbi8vIGh0dHA6Ly9waGlsaXB3YWx0b24uZ2l0aHViLmlvL3NvbHZlZC1ieS1mbGV4Ym94L1xuLy8gaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9zb2x2ZWQtYnktZmxleGJveFxuLy8gXG4vLyBDb3B5cmlnaHQgKGMpIDIwMTMgQnJpYW4gRnJhbmNvXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGVcbi8vIFwiU29mdHdhcmVcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZ1xuLy8gd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLFxuLy8gZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvXG4vLyBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG9cbi8vIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkXG4vLyBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1Ncbi8vIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0Zcbi8vIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC5cbi8vIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZXG4vLyBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULFxuLy8gVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEVcbi8vIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLlxuLy9cbi8vIFRoaXMgaXMgYSBzZXQgb2YgbWl4aW5zIGZvciB0aG9zZSB3aG8gd2FudCB0byBtZXNzIGFyb3VuZCB3aXRoIGZsZXhib3hcbi8vIHVzaW5nIHRoZSBuYXRpdmUgc3VwcG9ydCBvZiBjdXJyZW50IGJyb3dzZXJzLiBGb3IgZnVsbCBzdXBwb3J0IHRhYmxlXG4vLyBjaGVjazogaHR0cDovL2Nhbml1c2UuY29tL2ZsZXhib3hcbi8vXG4vLyBCYXNpY2FsbHkgdGhpcyB3aWxsIHVzZTpcbi8vXG4vLyAqIEZhbGxiYWNrLCBvbGQgc3ludGF4IChJRTEwLCBtb2JpbGUgd2Via2l0IGJyb3dzZXJzIC0gbm8gd3JhcHBpbmcpXG4vLyAqIEZpbmFsIHN0YW5kYXJkcyBzeW50YXggKEZGLCBTYWZhcmksIENocm9tZSwgSUUxMSwgT3BlcmEpXG4vL1xuLy8gVGhpcyB3YXMgaW5zcGlyZWQgYnk6XG4vLyBcbi8vICogaHR0cDovL2Rldi5vcGVyYS5jb20vYXJ0aWNsZXMvdmlldy9hZHZhbmNlZC1jcm9zcy1icm93c2VyLWZsZXhib3gvXG4vLyBcbi8vIFdpdGggaGVscCBmcm9tOlxuLy8gXG4vLyAqIGh0dHA6Ly93My5vcmcvdHIvY3NzMy1mbGV4Ym94L1xuLy8gKiBodHRwOi8vdGhlLWVjaG9wbGV4Lm5ldC9mbGV4eWJveGVzL1xuLy8gKiBodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkvaWUvaGg3NzIwNjkodj12cy44NSkuYXNweFxuLy8gKiBodHRwOi8vY3NzLXRyaWNrcy5jb20vdXNpbmctZmxleGJveC9cbi8vICogaHR0cDovL2Rldi5vcGVyYS5jb20vYXJ0aWNsZXMvdmlldy9hZHZhbmNlZC1jcm9zcy1icm93c2VyLWZsZXhib3gvXG4vLyAqIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLXVzL2RvY3Mvd2ViL2d1aWRlL2Nzcy9mbGV4aWJsZV9ib3hlc1xuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gRmxleGJveCBDb250YWluZXJzXG4vL1xuLy8gVGhlICdmbGV4JyB2YWx1ZSBjYXVzZXMgYW4gZWxlbWVudCB0byBnZW5lcmF0ZSBhIGJsb2NrLWxldmVsIGZsZXhcbi8vIGNvbnRhaW5lciBib3guXG4vL1xuLy8gVGhlICdpbmxpbmUtZmxleCcgdmFsdWUgY2F1c2VzIGFuIGVsZW1lbnQgdG8gZ2VuZXJhdGUgYSBpbmxpbmUtbGV2ZWxcbi8vIGZsZXggY29udGFpbmVyIGJveC4gXG4vL1xuLy8gZGlzcGxheTogZmxleCB8IGlubGluZS1mbGV4XG4vL1xuLy8gaHR0cDovL3czLm9yZy90ci9jc3MzLWZsZXhib3gvI2ZsZXgtY29udGFpbmVyc1xuLy9cbi8vIChQbGFjZWhvbGRlciBzZWxlY3RvcnMgZm9yIGVhY2ggdHlwZSwgZm9yIHRob3NlIHdobyByYXRoZXIgQGV4dGVuZClcblxuQG1peGluIGZsZXhib3gge1xuXHRkaXNwbGF5OiAtd2Via2l0LWJveDtcblx0ZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuXHRkaXNwbGF5OiAtbW96LWZsZXg7XG5cdGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuXG4lZmxleGJveCB7IEBpbmNsdWRlIGZsZXhib3g7IH1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBpbmxpbmUtZmxleCB7XG5cdGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcblx0ZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDtcblx0ZGlzcGxheTogLW1vei1pbmxpbmUtZmxleDtcblx0ZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcbn1cblxuJWlubGluZS1mbGV4IHsgQGluY2x1ZGUgaW5saW5lLWZsZXg7IH1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEZsZXhib3ggRGlyZWN0aW9uXG4vL1xuLy8gVGhlICdmbGV4LWRpcmVjdGlvbicgcHJvcGVydHkgc3BlY2lmaWVzIGhvdyBmbGV4IGl0ZW1zIGFyZSBwbGFjZWQgaW5cbi8vIHRoZSBmbGV4IGNvbnRhaW5lciwgYnkgc2V0dGluZyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBmbGV4IGNvbnRhaW5lcidzXG4vLyBtYWluIGF4aXMuIFRoaXMgZGV0ZXJtaW5lcyB0aGUgZGlyZWN0aW9uIHRoYXQgZmxleCBpdGVtcyBhcmUgbGFpZCBvdXQgaW4uIFxuLy9cbi8vIFZhbHVlczogcm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZVxuLy8gRGVmYXVsdDogcm93XG4vL1xuLy8gaHR0cDovL3czLm9yZy90ci9jc3MzLWZsZXhib3gvI2ZsZXgtZGlyZWN0aW9uLXByb3BlcnR5XG5cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWU6IHJvdykge1xuXHRAaWYgJHZhbHVlID09IHJvdy1yZXZlcnNlIHtcblx0XHQtd2Via2l0LWJveC1kaXJlY3Rpb246IHJldmVyc2U7XG5cdFx0LXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuXHR9IEBlbHNlIGlmICR2YWx1ZSA9PSBjb2x1bW4ge1xuXHRcdC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuXHRcdC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG5cdH0gQGVsc2UgaWYgJHZhbHVlID09IGNvbHVtbi1yZXZlcnNlIHtcblx0XHQtd2Via2l0LWJveC1kaXJlY3Rpb246IHJldmVyc2U7XG5cdFx0LXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcblx0fSBAZWxzZSB7XG5cdFx0LXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG5cdFx0LXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuXHR9XG5cdC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcblx0LW1vei1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xuXHQtbXMtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcblx0ZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cblx0Ly8gU2hvcnRlciB2ZXJzaW9uOlxuXHRAbWl4aW4gZmxleC1kaXIoJGFyZ3MuLi4pIHsgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJGFyZ3MuLi4pOyB9XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBGbGV4Ym94IFdyYXBcbi8vXG4vLyBUaGUgJ2ZsZXgtd3JhcCcgcHJvcGVydHkgY29udHJvbHMgd2hldGhlciB0aGUgZmxleCBjb250YWluZXIgaXMgc2luZ2xlLWxpbmVcbi8vIG9yIG11bHRpLWxpbmUsIGFuZCB0aGUgZGlyZWN0aW9uIG9mIHRoZSBjcm9zcy1heGlzLCB3aGljaCBkZXRlcm1pbmVzXG4vLyB0aGUgZGlyZWN0aW9uIG5ldyBsaW5lcyBhcmUgc3RhY2tlZCBpbi4gXG4vL1xuLy8gVmFsdWVzOiBub3dyYXAgfCB3cmFwIHwgd3JhcC1yZXZlcnNlXG4vLyBEZWZhdWx0OiBub3dyYXBcbi8vXG4vLyBodHRwOi8vdzMub3JnL3RyL2NzczMtZmxleGJveC8jZmxleC13cmFwLXByb3BlcnR5XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlOiBub3dyYXApIHtcblx0Ly8gTm8gV2Via2l0IEJveCBmYWxsYmFjay5cblx0LXdlYmtpdC1mbGV4LXdyYXA6ICR2YWx1ZTtcblx0LW1vei1mbGV4LXdyYXA6ICR2YWx1ZTtcblx0QGlmICR2YWx1ZSA9PSBub3dyYXAge1xuXHRcdC1tcy1mbGV4LXdyYXA6IG5vbmU7XG5cdH0gQGVsc2UgeyBcblx0XHQtbXMtZmxleC13cmFwOiAkdmFsdWU7IFxuXHR9XG5cdGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gRmxleGJveCBGbG93IChzaG9ydGhhbmQpXG4vL1xuLy8gVGhlICdmbGV4LWZsb3cnIHByb3BlcnR5IGlzIGEgc2hvcnRoYW5kIGZvciBzZXR0aW5nIHRoZSAnZmxleC1kaXJlY3Rpb24nXG4vLyBhbmQgJ2ZsZXgtd3JhcCcgcHJvcGVydGllcywgd2hpY2ggdG9nZXRoZXIgZGVmaW5lIHRoZSBmbGV4IGNvbnRhaW5lcidzXG4vLyBtYWluIGFuZCBjcm9zcyBheGVzLlxuLy9cbi8vIFZhbHVlczogPGZsZXgtZGlyZWN0aW9uPiB8IDxmbGV4LXdyYXA+IFxuLy8gRGVmYXVsdDogcm93IG5vd3JhcFxuLy9cbi8vIGh0dHA6Ly93My5vcmcvdHIvY3NzMy1mbGV4Ym94LyNmbGV4LWZsb3ctcHJvcGVydHlcblxuQG1peGluIGZsZXgtZmxvdygkdmFsdWVzOiAocm93IG5vd3JhcCkpIHtcblx0Ly8gTm8gV2Via2l0IEJveCBmYWxsYmFjay5cblx0LXdlYmtpdC1mbGV4LWZsb3c6ICR2YWx1ZXM7XG5cdC1tb3otZmxleC1mbG93OiAkdmFsdWVzO1xuXHQtbXMtZmxleC1mbG93OiAkdmFsdWVzO1xuXHRmbGV4LWZsb3c6ICR2YWx1ZXM7XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBGbGV4Ym94IE9yZGVyXG4vL1xuLy8gVGhlICdvcmRlcicgcHJvcGVydHkgY29udHJvbHMgdGhlIG9yZGVyIGluIHdoaWNoIGZsZXggaXRlbXMgYXBwZWFyIHdpdGhpblxuLy8gdGhlaXIgZmxleCBjb250YWluZXIsIGJ5IGFzc2lnbmluZyB0aGVtIHRvIG9yZGluYWwgZ3JvdXBzLlxuLy9cbi8vIERlZmF1bHQ6IDBcbi8vXG4vLyBodHRwOi8vdzMub3JnL3RyL2NzczMtZmxleGJveC8jb3JkZXItcHJvcGVydHlcblxuQG1peGluIG9yZGVyKCRpbnQ6IDApIHtcblx0LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogJGludCArIDE7XG5cdC13ZWJraXQtb3JkZXI6ICRpbnQ7XG5cdC1tb3otb3JkZXI6ICRpbnQ7XG5cdC1tcy1mbGV4LW9yZGVyOiAkaW50O1xuXHRvcmRlcjogJGludDtcbn1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEZsZXhib3ggR3Jvd1xuLy9cbi8vIFRoZSAnZmxleC1ncm93JyBwcm9wZXJ0eSBzZXRzIHRoZSBmbGV4IGdyb3cgZmFjdG9yLiBOZWdhdGl2ZSBudW1iZXJzXG4vLyBhcmUgaW52YWxpZC5cbi8vXG4vLyBEZWZhdWx0OiAwXG4vL1xuLy8gaHR0cDovL3czLm9yZy90ci9jc3MzLWZsZXhib3gvI2ZsZXgtZ3Jvdy1wcm9wZXJ0eVxuXG5AbWl4aW4gZmxleC1ncm93KCRpbnQ6IDApIHtcblx0LXdlYmtpdC1ib3gtZmxleDogJGludDtcblx0LXdlYmtpdC1mbGV4LWdyb3c6ICRpbnQ7XG5cdC1tb3otZmxleC1ncm93OiAkaW50O1xuXHQtbXMtZmxleC1wb3NpdGl2ZTogJGludDtcblx0ZmxleC1ncm93OiAkaW50O1xufVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gRmxleGJveCBTaHJpbmtcbi8vXG4vLyBUaGUgJ2ZsZXgtc2hyaW5rJyBwcm9wZXJ0eSBzZXRzIHRoZSBmbGV4IHNocmluayBmYWN0b3IuIE5lZ2F0aXZlIG51bWJlcnNcbi8vIGFyZSBpbnZhbGlkLlxuLy9cbi8vIERlZmF1bHQ6IDFcbi8vXG4vLyBodHRwOi8vdzMub3JnL3RyL2NzczMtZmxleGJveC8jZmxleC1zaHJpbmstcHJvcGVydHlcblxuQG1peGluIGZsZXgtc2hyaW5rKCRpbnQ6IDEpIHtcblx0LXdlYmtpdC1mbGV4LXNocmluazogJGludDtcblx0LW1vei1mbGV4LXNocmluazogJGludDtcblx0LW1zLWZsZXgtbmVnYXRpdmU6ICRpbnQ7XG5cdGZsZXgtc2hyaW5rOiAkaW50O1xufVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gRmxleGJveCBCYXNpc1xuLy9cbi8vIFRoZSAnZmxleC1iYXNpcycgcHJvcGVydHkgc2V0cyB0aGUgZmxleCBiYXNpcy4gTmVnYXRpdmUgbGVuZ3RocyBhcmUgaW52YWxpZC4gXG4vL1xuLy8gVmFsdWVzOiBMaWtlIFwid2lkdGhcIiBcbi8vIERlZmF1bHQ6IGF1dG9cbi8vXG4vLyBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLWZsZXhib3gvI2ZsZXgtYmFzaXMtcHJvcGVydHlcblxuQG1peGluIGZsZXgtYmFzaXMoJHZhbHVlOiBhdXRvKSB7XG5cdC13ZWJraXQtZmxleC1iYXNpczogJHZhbHVlO1xuXHQtbW96LWZsZXgtYmFzaXM6ICR2YWx1ZTtcblx0LW1zLWZsZXgtcHJlZmVycmVkLXNpemU6ICR2YWx1ZTtcblx0ZmxleC1iYXNpczogJHZhbHVlO1xufVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gRmxleGJveCBcIkZsZXhcIiAoc2hvcnRoYW5kKVxuLy9cbi8vIFRoZSAnZmxleCcgcHJvcGVydHkgc3BlY2lmaWVzIHRoZSBjb21wb25lbnRzIG9mIGEgZmxleGlibGUgbGVuZ3RoOiB0aGVcbi8vIGZsZXggZ3JvdyBmYWN0b3IgYW5kIGZsZXggc2hyaW5rIGZhY3RvciwgYW5kIHRoZSBmbGV4IGJhc2lzLiBXaGVuIGFuXG4vLyBlbGVtZW50IGlzIGEgZmxleCBpdGVtLCAnZmxleCcgaXMgY29uc3VsdGVkIGluc3RlYWQgb2YgdGhlIG1haW4gc2l6ZVxuLy8gcHJvcGVydHkgdG8gZGV0ZXJtaW5lIHRoZSBtYWluIHNpemUgb2YgdGhlIGVsZW1lbnQuIElmIGFuIGVsZW1lbnQgaXNcbi8vIG5vdCBhIGZsZXggaXRlbSwgJ2ZsZXgnIGhhcyBubyBlZmZlY3QuXG4vL1xuLy8gVmFsdWVzOiBub25lIHwgPGZsZXgtZ3Jvdz4gPGZsZXgtc2hyaW5rPiB8fCA8ZmxleC1iYXNpcz5cbi8vIERlZmF1bHQ6IFNlZSBpbmRpdmlkdWFsIHByb3BlcnRpZXMgKDEgMSAwKS5cbi8vXG4vLyBodHRwOi8vdzMub3JnL3RyL2NzczMtZmxleGJveC8jZmxleC1wcm9wZXJ0eVxuXG5AbWl4aW4gZmxleCgkZmc6IDEsICRmczogbnVsbCwgJGZiOiBudWxsKSB7XG4gICAgXG5cdC8vIFNldCBhIHZhcmlhYmxlIHRvIGJlIHVzZWQgYnkgYm94LWZsZXggcHJvcGVydGllc1xuXHQkZmctYm94ZmxleDogJGZnO1xuXG5cdC8vIEJveC1GbGV4IG9ubHkgc3VwcG9ydHMgYSBmbGV4LWdyb3cgdmFsdWUgc28gbGV0J3MgZ3JhYiB0aGVcblx0Ly8gZmlyc3QgaXRlbSBpbiB0aGUgbGlzdCBhbmQganVzdCByZXR1cm4gdGhhdC5cblx0QGlmIHR5cGUtb2YoJGZnKSA9PSAnbGlzdCcge1xuXHRcdCRmZy1ib3hmbGV4OiBudGgoJGZnLCAxKTtcblx0fVxuXG5cdC13ZWJraXQtYm94LWZsZXg6ICRmZy1ib3hmbGV4O1xuXHQtd2Via2l0LWZsZXg6ICRmZyAkZnMgJGZiO1xuXHQtbW96LWJveC1mbGV4OiAkZmctYm94ZmxleDtcblx0LW1vei1mbGV4OiAkZmcgJGZzICRmYjtcblx0ZmxleDogJGZnICRmcyAkZmI7XG5cblx0QGlmIHR5cGUtb2YoJGZiKSA9PSAnbnVtYmVyJyB7XG5cdFx0LW1zLWZsZXg6ICRmZyAkZnMgJGZiIC0gMzsgLy8gZHVlIHRvIElFIGlzc3Vlcywgd2UgaGF2ZSB0byBzdWJ0cmFjdCAzJSBmcm9tIHRoZSBvcmlnaW5hbCB2YWx1ZSBzbyB0aGUgYm94IGRvZXNuJ3QgYnJlYWsgdG8gdGhlIG5leHQgbGluZVx0XG5cdH0gQGVsc2Uge1xuXHRcdC1tcy1mbGV4OiAkZmcgJGZzICRmYjtcblx0fVxufVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gRmxleGJveCBKdXN0aWZ5IENvbnRlbnRcbi8vXG4vLyBUaGUgJ2p1c3RpZnktY29udGVudCcgcHJvcGVydHkgYWxpZ25zIGZsZXggaXRlbXMgYWxvbmcgdGhlIG1haW4gYXhpc1xuLy8gb2YgdGhlIGN1cnJlbnQgbGluZSBvZiB0aGUgZmxleCBjb250YWluZXIuIFRoaXMgaXMgZG9uZSBhZnRlciBhbnkgZmxleGlibGVcbi8vIGxlbmd0aHMgYW5kIGFueSBhdXRvIG1hcmdpbnMgaGF2ZSBiZWVuIHJlc29sdmVkLiBUeXBpY2FsbHkgaXQgaGVscHMgZGlzdHJpYnV0ZVxuLy8gZXh0cmEgZnJlZSBzcGFjZSBsZWZ0b3ZlciB3aGVuIGVpdGhlciBhbGwgdGhlIGZsZXggaXRlbXMgb24gYSBsaW5lIGFyZVxuLy8gaW5mbGV4aWJsZSwgb3IgYXJlIGZsZXhpYmxlIGJ1dCBoYXZlIHJlYWNoZWQgdGhlaXIgbWF4aW11bSBzaXplLiBJdCBhbHNvXG4vLyBleGVydHMgc29tZSBjb250cm9sIG92ZXIgdGhlIGFsaWdubWVudCBvZiBpdGVtcyB3aGVuIHRoZXkgb3ZlcmZsb3cgdGhlIGxpbmUuXG4vL1xuLy8gTm90ZTogJ3NwYWNlLSonIHZhbHVlcyBub3Qgc3VwcG9ydGVkIGluIG9sZGVyIHN5bnRheGVzLlxuLy9cbi8vIFZhbHVlczogZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZFxuLy8gRGVmYXVsdDogZmxleC1zdGFydFxuLy9cbi8vIGh0dHA6Ly93My5vcmcvdHIvY3NzMy1mbGV4Ym94LyNqdXN0aWZ5LWNvbnRlbnQtcHJvcGVydHlcblxuQG1peGluIGp1c3RpZnktY29udGVudCgkdmFsdWU6IGZsZXgtc3RhcnQpIHtcblx0QGlmICR2YWx1ZSA9PSBmbGV4LXN0YXJ0IHtcblx0XHQtd2Via2l0LWJveC1wYWNrOiBzdGFydDtcblx0XHQtbXMtZmxleC1wYWNrOiBzdGFydDtcblx0fSBAZWxzZSBpZiAkdmFsdWUgPT0gZmxleC1lbmQge1xuXHRcdC13ZWJraXQtYm94LXBhY2s6IGVuZDtcblx0XHQtbXMtZmxleC1wYWNrOiBlbmQ7XG5cdH0gQGVsc2UgaWYgJHZhbHVlID09IHNwYWNlLWJldHdlZW4ge1xuXHRcdC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7XG5cdFx0LW1zLWZsZXgtcGFjazoganVzdGlmeTtcblx0fSBAZWxzZSBpZiAkdmFsdWUgPT0gc3BhY2UtYXJvdW5kIHtcblx0XHQtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlO1x0XHRcblx0fSBAZWxzZSB7XG5cdFx0LXdlYmtpdC1ib3gtcGFjazogJHZhbHVlO1xuXHRcdC1tcy1mbGV4LXBhY2s6ICR2YWx1ZTtcblx0fVxuXHQtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuXHQtbW96LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblx0Ly8gU2hvcnRlciB2ZXJzaW9uOlxuXHRAbWl4aW4gZmxleC1qdXN0KCRhcmdzLi4uKSB7IEBpbmNsdWRlIGp1c3RpZnktY29udGVudCgkYXJncy4uLik7IH1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEZsZXhib3ggQWxpZ24gSXRlbXNcbi8vXG4vLyBGbGV4IGl0ZW1zIGNhbiBiZSBhbGlnbmVkIGluIHRoZSBjcm9zcyBheGlzIG9mIHRoZSBjdXJyZW50IGxpbmUgb2YgdGhlXG4vLyBmbGV4IGNvbnRhaW5lciwgc2ltaWxhciB0byAnanVzdGlmeS1jb250ZW50JyBidXQgaW4gdGhlIHBlcnBlbmRpY3VsYXJcbi8vIGRpcmVjdGlvbi4gJ2FsaWduLWl0ZW1zJyBzZXRzIHRoZSBkZWZhdWx0IGFsaWdubWVudCBmb3IgYWxsIG9mIHRoZSBmbGV4XG4vLyBjb250YWluZXIncyBpdGVtcywgaW5jbHVkaW5nIGFub255bW91cyBmbGV4IGl0ZW1zLiAnYWxpZ24tc2VsZicgYWxsb3dzXG4vLyB0aGlzIGRlZmF1bHQgYWxpZ25tZW50IHRvIGJlIG92ZXJyaWRkZW4gZm9yIGluZGl2aWR1YWwgZmxleCBpdGVtcy4gKEZvclxuLy8gYW5vbnltb3VzIGZsZXggaXRlbXMsICdhbGlnbi1zZWxmJyBhbHdheXMgbWF0Y2hlcyB0aGUgdmFsdWUgb2YgJ2FsaWduLWl0ZW1zJ1xuLy8gb24gdGhlaXIgYXNzb2NpYXRlZCBmbGV4IGNvbnRhaW5lci4pIFxuLy9cbi8vIFZhbHVlczogZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoXG4vLyBEZWZhdWx0OiBzdHJldGNoXG4vL1xuLy8gaHR0cDovL3czLm9yZy90ci9jc3MzLWZsZXhib3gvI2FsaWduLWl0ZW1zLXByb3BlcnR5XG5cbkBtaXhpbiBhbGlnbi1pdGVtcygkdmFsdWU6IHN0cmV0Y2gpIHtcblx0QGlmICR2YWx1ZSA9PSBmbGV4LXN0YXJ0IHtcblx0XHQtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XG5cdFx0LW1zLWZsZXgtYWxpZ246IHN0YXJ0O1xuXHR9IEBlbHNlIGlmICR2YWx1ZSA9PSBmbGV4LWVuZCB7XG5cdFx0LXdlYmtpdC1ib3gtYWxpZ246IGVuZDtcblx0XHQtbXMtZmxleC1hbGlnbjogZW5kO1xuXHR9IEBlbHNlIHtcblx0XHQtd2Via2l0LWJveC1hbGlnbjogJHZhbHVlO1xuXHRcdC1tcy1mbGV4LWFsaWduOiAkdmFsdWU7XG5cdH1cblx0LXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuXHQtbW96LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG5cdGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBGbGV4Ym94IEFsaWduIFNlbGZcbi8vXG4vLyBWYWx1ZXM6IGF1dG8gfCBmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2hcbi8vIERlZmF1bHQ6IGF1dG9cblxuQG1peGluIGFsaWduLXNlbGYoJHZhbHVlOiBhdXRvKSB7XG5cdC8vIE5vIFdlYmtpdCBCb3ggRmFsbGJhY2suXG5cdC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuXHQtbW96LWFsaWduLXNlbGY6ICR2YWx1ZTtcblx0QGlmICR2YWx1ZSA9PSBmbGV4LXN0YXJ0IHtcblx0XHQtbXMtZmxleC1pdGVtLWFsaWduOiBzdGFydDtcblx0fSBAZWxzZSBpZiAkdmFsdWUgPT0gZmxleC1lbmQge1xuXHRcdC1tcy1mbGV4LWl0ZW0tYWxpZ246IGVuZDtcblx0fSBAZWxzZSB7XG5cdFx0LW1zLWZsZXgtaXRlbS1hbGlnbjogJHZhbHVlO1xuXHR9XG5cdGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEZsZXhib3ggQWxpZ24gQ29udGVudFxuLy9cbi8vIFRoZSAnYWxpZ24tY29udGVudCcgcHJvcGVydHkgYWxpZ25zIGEgZmxleCBjb250YWluZXIncyBsaW5lcyB3aXRoaW4gdGhlXG4vLyBmbGV4IGNvbnRhaW5lciB3aGVuIHRoZXJlIGlzIGV4dHJhIHNwYWNlIGluIHRoZSBjcm9zcy1heGlzLCBzaW1pbGFyIHRvXG4vLyBob3cgJ2p1c3RpZnktY29udGVudCcgYWxpZ25zIGluZGl2aWR1YWwgaXRlbXMgd2l0aGluIHRoZSBtYWluLWF4aXMuIE5vdGUsXG4vLyB0aGlzIHByb3BlcnR5IGhhcyBubyBlZmZlY3Qgd2hlbiB0aGUgZmxleGJveCBoYXMgb25seSBhIHNpbmdsZSBsaW5lLlxuLy9cbi8vIFZhbHVlczogZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZCB8IHN0cmV0Y2hcbi8vIERlZmF1bHQ6IHN0cmV0Y2hcbi8vXG4vLyBodHRwOi8vdzMub3JnL3RyL2NzczMtZmxleGJveC8jYWxpZ24tY29udGVudC1wcm9wZXJ0eVxuXG5AbWl4aW4gYWxpZ24tY29udGVudCgkdmFsdWU6IHN0cmV0Y2gpIHtcblx0Ly8gTm8gV2Via2l0IEJveCBGYWxsYmFjay5cblx0LXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG5cdC1tb3otYWxpZ24tY29udGVudDogJHZhbHVlO1xuXHRAaWYgJHZhbHVlID09IGZsZXgtc3RhcnQge1xuXHRcdC1tcy1mbGV4LWxpbmUtcGFjazogc3RhcnQ7XG5cdH0gQGVsc2UgaWYgJHZhbHVlID09IGZsZXgtZW5kIHtcblx0XHQtbXMtZmxleC1saW5lLXBhY2s6IGVuZDtcblx0fSBAZWxzZSB7XG5cdFx0LW1zLWZsZXgtbGluZS1wYWNrOiAkdmFsdWU7XG5cdH1cblx0YWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuIiwiQG1peGluIGRldGFpbGVkUHJpY2luZygpIHtcblx0LmNvdXBvbi1kZXRhaWxlZC1wcmljaW5nIHtcblx0XHRtYXJnaW46IDAuNXJlbSAwO1xuXHRcdHBhZGRpbmc6IDAuNXJlbSAwIDAuMzVyZW07XG5cdFx0Ym9yZGVyLXRvcDogMS43NXB4IHNvbGlkICNiYmI7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMS43NXB4IHNvbGlkICNiYmI7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdFx0LnZhbHVlLWl0ZW0ge1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0d2lkdGg6IDUwJTtcblx0XHRcdHBhZGRpbmc6IDAgMXJlbTtcblxuXHRcdFx0Ji5tYWluLXZhbHVlLWNvbnRhaW5lciB7XG5cdFx0XHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNiYmI7XG5cdFx0XHR9XG5cblx0XHRcdC52YWx1ZS1oZWFkaW5nIHtcblx0XHRcdFx0Zm9udC1zaXplOiAycmVtO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XG5cdFx0XHR9XG5cblx0XHRcdC52YWx1ZS1zdXBwbGVtZW50IHtcblx0XHRcdFx0Zm9udC1zaXplOiAxLjFyZW07XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjVlbTtcblx0XHRcdFx0Y29sb3I6ICM2NjY7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji5ub3NlY29uZGFyeSB7XG5cdFx0XHQudmFsdWUtaXRlbSB7XG5cdFx0XHRcdCYubWFpbi12YWx1ZS1jb250YWluZXIge1xuXHRcdFx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYubm8tbWFpbi12YWx1ZSB7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0LnZhbHVlLWl0ZW0ge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0bWFyZ2luOiAwLjVyZW0gMDtcblx0XHRcdFx0Ji5tYWluLXZhbHVlLWNvbnRhaW5lciB7XG5cdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiBub25lO1xuXG5cdFx0XHRcdFx0LnZhbHVlLXN1cHBsZW1lbnQge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxLjZyZW07XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCJAbWl4aW4gb2ZmZXJfc2VsZWN0ZWQoKSB7XG4gICAgYm9yZGVyOiAycHggZG90dGVkICM2NjY7XG4gICAgYmFja2dyb3VuZDogI0VDRUNFQzsgICAgICAgICAgXG59IiwiLyogXG5HcnVudCBwYXJzZXMgdGhpcyBmaWxlIGZvciBESUZPIFRlbXBsYXRlIHRvIHJlZ2lzdGVyIGl0IGFzIGEgdmFsaWQgU0FTUyB0ZW1wbGF0ZSB0byBwcm9jZXNzIHRoaXMgZmlsZSBcbmlmIHlvdSdyZSBjcmVhdGluZyBhIG5ldyBESUZPIHRlbXBsYXRlIGluIHRoZSBwbHVnaW4sIHBsZWFzZSBtYWtlIHN1cmUgeW91IGFkZCB0aGUgZm9sbG93aW5nIGxpbmUgYmVsb3dcbnNvIHRoYXQgZ3J1bnQga25vd3MgaXQncyBhIHBhcnQgb2YgdGhlIERJRk8gdGVtcGxhdGVzXG4qL1xuLyogRElGTyBUZW1wbGF0ZTogTGlzdCBTcGVjaWFscyAqL1xuXG5cbiRjb3Vwb25fZGVmYXVsdF9jYXJkX2JvcmRlcl9jb2xvcjogI2FhYSAhZGVmYXVsdDtcblxuQGltcG9ydCBcIi4uLy4uL19fZGlmb19nbG9iYWxfcGFydGlhbHMvc2Nzcy9kaWZvX2Jhc2Vfc3R5bGVzXCI7IFxuXG5AbWl4aW4gZGlmb19saXN0c3BlY2lhbHMoKSB7XG5cdEBpbmNsdWRlIGRpZm8oKTtcblx0XG5cdC5kaWZvLXdyYXBwZXIge1xuXHRcdC5kaWZvLWxpc3QtY291cG9ucyB7XG5cdFx0XHRtYXJnaW46IDM2cHggMDtcdFxuXHRcdFxuXHRcdFx0LmRpZm8tbGlzdC1pdGVtIHtcblx0XHRcdFx0cGFkZGluZy10b3A6IDI1cHg7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAxNXB4O1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY291cG9uX2RlZmF1bHRfY2FyZF9ib3JkZXJfY29sb3I7XG5cdFx0XHRcdGJveC1zaGFkb3c6IDBweCAxcHggNXB4IHJnYmEoMCwgMCwgMCwgMC40KTtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHQmW2RhdGEtZGlmby1zZWxlY3RlZF0ge1xuXHRcdFx0XHRcdEBpbmNsdWRlIG9mZmVyX3NlbGVjdGVkKCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LmRpZm8tbGlzdC1pdGVtICsgLmRpZm8tbGlzdC1pdGVtIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogMzBweDtcblx0XHRcdH1cblxuXHRcdFx0LmRpZm8taW1hZ2UtYmFja2dyb3VuZCB7XG5cdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0bWF4LXdpZHRoOiAyMDBweDtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQuY291cG9uLXRpdGxlIHtcblx0XHRcdFx0bWFyZ2luOiA1cHggMDtcblx0XHRcdFx0Zm9udC1zaXplOiAyMnB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMS40O1xuXHRcdFx0fVxuXG5cdFx0XHQuY291cG9uLWV4cGlyYXRpb24ge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5idXR0b24td3JhcCB7XG5cdFx0XHRAaW5jbHVkZSBpbmxpbmUtZmxleCgpO1xuXHRcdFx0QGluY2x1ZGUganVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xuXHRcdFx0QGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcblxuXHRcdFx0bGkge1xuXHRcdFx0XHRAaW5jbHVkZSBmbGV4KCk7XG5cblx0XHRcdFx0QG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleCgwLCAwLCAxMDAlKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5AaW5jbHVkZSBkaWZvX2xpc3RzcGVjaWFscygpOyJdfQ== */
