@import https://fonts.googleapis.com/css?family=Raleway;html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}.chapter-time{display:none}html,body{background:#ececec;color:#5b5b5b;font-family:"Open Sans", sans-serif;text-rendering:optimizeLegibility;font-size:1em;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%}h1,h2,h3,h4,h5,h6,p{line-height:1.5;margin-bottom:1em;font-weight:400}h1{font-size:2.188em}h2{font-size:1.875em}h3{font-size:1.625em}h4{font-size:1.438em}h5{font-size:1.125em}p{font-size:1em}hr{border:none;background:#cdcdcd;height:1px;margin:20px 0}i,em{font-style:italic}b,strong{font-weight:600}small{font-size:80%}a{color:#9928e5}a:hover{color:#7816b9;text-decoration:none}ul li,ol li{line-height:1.5}.unstyle{list-style:none;padding:0}input:focus::-webkit-input-placeholder{color:transparent}input:focus::-moz-placeholder{color:transparent}.form-control{background:#fefefe;border:1px solid #cdcdcd;height:40px;padding:6px 15px;box-shadow:none;font-size:1em}label{display:block}input[type="search"]{-webkit-transition:all 0.1s ease;-moz-transition:all 0.1s ease;transition:all 0.1s ease;box-sizing:border-box;border-radius:3px;padding:10px 15px;background:none;border:1px solid rgba(91,91,91,0.1)}input[type="search"]:focus{background:#ffffff}.radio,.checkbox{display:block;min-height:20px;margin-top:10px;margin-bottom:10px;padding-left:20px;vertical-align:middle}.form__separator{margin:15px 0;font-weight:600;line-height:1.5;text-align:center;text-transform:uppercase}.btn{display:inline-block;width:auto;border:none;border-radius:3px;box-shadow:none;outline:none;font-weight:500;text-decoration:none;-webkit-tap-highlight-color:transparent}.btn:hover,.btn:focus,.btn:active{box-shadow:none}.btn-large{padding:12px;font-size:1.125em}.btn-block{display:block;width:100%}.btn-primary{background:#f0f;color:#fff}.btn-primary:hover,.btn-primary:focus,.btn-primary:active{background:#c0c;color:#fff}.btn-secondary{background:#f0f;color:#fff}.btn-secondary:hover,.btn-secondary:focus,.btn-secondary:active{background:#c0c;color:#fff}.btn-default{background:#b2b2b2;color:#ffffff}.btn-default:hover,.btn-default:focus,.btn-default:active{background:#999}.linkedin-signin{background:#4875b4;color:#fff}.linkedin-signin:hover,.linkedin-signin:focus,.linkedin-signin:active{background:#395d90;color:#fff}#wrap{min-height:100%;margin-bottom:-166px;background:#f9f9f9}#wrap::after{clear:both;content:"";display:table}@media only screen and (min-width: 1600px){#wrap{max-width:1600px;margin-left:auto;margin-right:auto;border-left:1px solid #dfdfdf;border-right:1px solid #dfdfdf}}#content-push{padding-top:30px}@media only screen and (max-width: 767px){#content-push{padding-top:25px}}@media only screen and (max-width: 479px){#content-push{padding-top:15px}}.site-landing__courses,.products-wrapper,.student-dashboard-wrapper,.checkout-form,.student-profile{max-width:1250px;margin:0 auto;padding:35px 0}.site-landing__courses{padding-top:60px}@media only screen and (max-width: 479px){.site-landing__courses,.products-wrapper,.student-dashboard-wrapper,.checkout-form,.student-profile{padding:20px 0}}.column{padding-left:75px;padding-right:75px}@media only screen and (min-width: 992px){.column{padding-left:100px;padding-right:100px}}@media only screen and (max-width: 991px){.column{padding-left:55px;padding-right:55px}}@media only screen and (max-width: 767px){.column{padding-left:25px;padding-right:25px}}@media only screen and (max-width: 479px){.column{padding-left:15px;padding-right:15px}}.visible{display:inline-block !important}.card{border-radius:3px;box-shadow:1px 1px 0 #e2e2e2;position:relative;background:#ffffff}.card::after{clear:both;content:"";display:table}.card--block{display:block}.card--padding-5{padding:5px}.card--padding-15{padding:15px}.card--padding-20{padding:20px}.card--bottom-margin-10{margin-bottom:10px}.card--bottom-margin-20{margin-bottom:20px}.course-card{height:451px;margin-bottom:30px;cursor:pointer}.course-card__img{border-top-left-radius:3px;border-top-right-radius:3px;width:100%;height:auto}.course-card__img-container{border-top-left-radius:3px;border-top-right-radius:3px;position:relative;overflow:hidden;max-height:220px}.course-card__body{padding:20px 20px 10px}.course-card__instructor-name{font-size:0.875em}.course-card__price{color:#9928e5;font-weight:600;font-size:0.875em;text-align:right;line-height:1;word-wrap:break-word}.course-card__price .free{text-transform:uppercase}.course-card__title{color:#5b5b5b;font-size:1.125em}.course-card__title a{color:#5b5b5b}.course-card__description{margin-bottom:10px;color:#9b9b9b;font-size:0.938em}.course-card__cta{position:absolute;bottom:0;left:0;width:100%;margin-bottom:20px;padding:0 20px}.course-card__cta .btn{padding:8px}.course-card__cta a{margin-bottom:5px}.course-card__cta a:last-of-type{margin-bottom:0}.course-card__cta-secondary{margin-bottom:10px}.progress-card{cursor:default}.progress-card .course-card__body{padding-top:10px}.progress-card .course-card__title{text-align:center}.progress-card .progress-card-progress{padding-top:10px}.progress-card .progress-completion{color:#5b5b5b;font-size:1.875em;text-align:center}.progress-card .progress-line{position:relative;display:inline-block;overflow:hidden;width:100%;height:3px;margin:10px 0}.progress-card .progress-line .progress-line-percent{position:absolute;top:0;left:0;height:100%;background-color:#9928e5}.progress-card .progress-line .progress-line-bar{height:3px;background:#cdcdcd}@media screen and (min-width: 992px){.course-card__img-container{max-height:185px}}@media screen and (min-width: 768px) and (max-width: 991px){.course-card{height:481px}.course-card__img-container{max-height:235px}.course-card__title{font-size:1.063em}}@media screen and (max-width: 767px){.course-card{max-width:370px;height:auto;margin-top:0;margin-right:auto;margin-left:auto;padding-bottom:20px}.course-card__cta{position:relative;margin-bottom:0}.course-card__body .star-rating{margin:10px 0}}header{padding-top:20px;padding-bottom:20px;background:#107ddf}header a{color:#faf2fd}header a:hover,header a:active,header a:focus{color:#d89aef}.header-logo__image{width:auto;max-height:35px;margin-right:20px}.header-school-name{display:inline-block;margin-right:20px;font-size:1.875em}.header-nav__list{list-style:none;padding:0;margin:0;width:100%}.header-nav__item{font-size:0.875em;cursor:pointer}.header-user-avatar{border-radius:50%;height:25px;width:25px;margin:-25px 5px -21px}.dropdown{margin-left:15px}.dropdown-toggle{margin-left:10px}.dropdown-menu{top:22px;right:0;left:auto;border-radius:0;background:#107ddf;border:0}.dropdown-menu>li{text-align:right}.dropdown-menu>li>a{color:#faf2fd}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:active,.dropdown-menu>li>a:focus{color:#107ddf;background-color:#faf2fd}.header-nav__mobile-btn{display:none;margin-right:0;padding:6px 10px;color:#faf2fd;border:1px solid #faf2fd;background:none;border-radius:3px}.header-nav__mobile-btn:hover,.header-nav__mobile-btn:active,.header-nav__mobile-btn:focus{color:#107ddf;background-color:#faf2fd}@media only screen and (min-width: 992px){header .column{display:table;width:100%}.header-logo__container{display:table-cell;width:1px;white-space:nowrap}.header-nav__container{display:table-cell;vertical-align:middle}.header-nav{display:table;width:100%}.header-nav__list{display:table-cell}.header-nav__left,.header-nav__right{width:auto}.header-nav__right{text-align:right}.header-nav__item{display:inline-block;vertical-align:sub}.header-nav__item+.header-nav__item{margin-left:10px}}@media only screen and (max-width: 991px){.header-nav{padding-top:15px}.header-school-name{margin-right:85px}.header-nav__container{display:none}.header-nav__container.open{display:block}.header-nav__item{display:block;text-align:center;font-size:0.938em}.header-nav__link{display:block;padding:10px 0}.header-logo__container{position:relative}.header-nav__mobile-btn{position:absolute;display:block;top:50%;right:0;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%)}.dropdown{display:none}}footer,#wrap:after{height:166px}footer{margin-left:auto;margin-right:auto;max-width:1600px;background:#9928e5;padding:30px 0;color:#fff}footer a{color:#fff}footer a:hover,footer a:active,footer a:focus{text-decoration:underline}.footer-nav{text-align:center;list-style:none;padding:0;margin:0 0 30px 0}.footer-nav__item{display:inline-block;font-size:0.875em}.footer-nav__item+.footer-nav__item{margin-left:15px}.footer-copyright{margin-bottom:10px;font-size:0.750em;opacity:0.6}.footer-powered-by{font-size:0.750em}@media only screen and (min-width: 1600px){footer{max-width:1600px;margin-left:auto;margin-right:auto;border-left:1px solid #d3d3d3;border-right:1px solid #d3d3d3}}.star-rating{position:relative;display:inline-block;overflow:hidden;width:90px;height:18px;background:url("data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDIwIDIwIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cG9seWdvbiBmaWxsPSIjREREREREIiBwb2ludHM9IjEwLDAgMTMuMDksNi41ODMgMjAsNy42MzkgMTUsMTIuNzY0IDE2LjE4LDIwIDEwLDE2LjU4MyAzLjgyLDIwIDUsMTIuNzY0IDAsNy42MzkgNi45MSw2LjU4MyAiLz48L3N2Zz4=");background-size:contain;font-size:0;white-space:nowrap}.star-rating i{position:absolute;top:0;left:0;z-index:1;width:20%;height:100%;opacity:0;background:url("data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDIwIDIwIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cG9seWdvbiBmaWxsPSIjRkZERjg4IiBwb2ludHM9IjEwLDAgMTMuMDksNi41ODMgMjAsNy42MzkgMTUsMTIuNzY0IDE2LjE4LDIwIDEwLDE2LjU4MyAzLjgyLDIwIDUsMTIuNzY0IDAsNy42MzkgNi45MSw2LjU4MyAiLz48L3N2Zz4=");background-size:contain}.star-rating input{position:relative;z-index:2;display:inline-block;width:20%;height:100%;margin:0;padding:0;opacity:0;-webkit-appearance:none;-moz-appearance:none}.star-rating i ~ i{width:40%}.star-rating i ~ i ~ i{width:60%}.star-rating i ~ i ~ i ~ i{width:80%}.star-rating i ~ i ~ i ~ i ~ i{width:100%}.star-rating__input input{position:relative}.star-rating__input input:hover+i,.star-rating__input input:checked+i{opacity:1}.star-rating__filled{position:relative}.star-rating__filled i{opacity:1}.star_rating__single{width:25px}.pagination>.active>a,.pagination>.active>a:hover,.pagination>.active>a:focus,.pagination>.active>span,.pagination>.active>span:hover,.pagination>.active>span:focus{background-color:#f3f3f3;border-color:#cdcdcd;color:#9928e5}.pagination>li>a,.pagination>li>a:hover,.pagination>li>a:focus,.pagination>li>span{color:#9928e5;border:1px solid #cdcdcd}.site-landing__banner{position:relative;height:400px;background-size:cover;background-position:center center;background-repeat:no-repeat;color:#fff}.site-landing__banner-content{-webkit-transform:translate(-50%, -50%);-moz-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);-o-transform:translate(-50%, -50%);transform:translate(-50%, -50%);position:absolute;top:50%;left:50%;width:100%;max-width:1250px;text-align:center}.product-cards__container::after{clear:both;content:"";display:table}@media only screen and (min-width: 992px){.product-cards__container{display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-moz-box-pack:center;box-pack:center;-webkit-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;-o-justify-content:center;justify-content:center;-ms-flex-pack:center;-webkit-box-lines:multiple;-moz-box-lines:multiple;box-lines:multiple;-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.product-cards__container:before,.product-cards__container:after{content:normal}}@media only screen and (max-width: 767px){.site-landing__banner{height:300px}.site-landing__banner--title{font-size:1.875em;margin-top:0}.site-landing__banner--subtitle{font-size:1.250em;margin:0}}@media only screen and (max-width: 479px){.site-landing__banner{height:250px}.site-landing__banner--title{font-size:1.625em}.site-landing__banner--subtitle{font-size:0.938em}}.product-landing{background:#ffffff;font-size:1em;line-height:1.8}.product-landing section{padding-top:60px;padding-bottom:60px}.product-landing section::after{clear:both;content:"";display:table}.product-landing section p:last-of-type{margin-bottom:0}.product-landing section p a{color:#9928e5}.product-landing section p a:hover{text-decoration:underline}.product-landing .section-title{margin:0 0 42px;color:#9928e5;font-weight:200;font-size:2.250em}.course-contact-info{font-weight:bold}.product-banner{position:relative;width:100%}.product-banner .title-block{width:75%;margin:auto;padding:0;font-weight:900;text-align:center}.product-banner .product__title{margin:0 0 30px;color:#fff;font-weight:300;font-size:2.438em}.product-banner .product__subtitle{display:block;color:#fff;font-weight:400;font-size:1em}.product-banner .product__private-title{color:#fff;line-height:1}.product-banner .product__private-title i{font-size:1.125em;vertical-align:middle}.btn-intro-video{border:1px solid #fff;background:none;color:#fff;font-size:1em}.btn-intro-video:hover,.btn-intro-video:focus,.btn-intro-video:active{border:1px solid #fff;background:#fff;color:#9928e5}@media only screen and (max-width: 479px){.btn-intro-video{padding-left:12px;padding-right:12px}}.product-main-cta{text-align:center}.product-main-cta .btn{padding:15px 40px;font-weight:400;font-size:1.250em}.product-body-button-block .bundle-cta-tagline{color:#5b5b5b}.product-overview img{max-width:100%}.product-overview .readmore{position:relative}.product-overview .readmore-toggle{margin-top:26px}.course-contact-info{margin:0}.course-contact-info p{margin:10px 0}.course-review__container{margin-bottom:48px}.course-review__container:last-of-type{margin-bottom:0}.course-review__name{margin-bottom:18px}.course-review__stars{margin-bottom:12px}.course-review__title{margin-bottom:12px;font-weight:normal}.review-button{display:inline-block;margin-top:30px;cursor:pointer}.chapter-info{padding:0;list-style:none}.chapter-info li{float:left;display:inline-block;margin:0 5px 5px 0;padding:2px 10px 0;border-radius:3px;background:#f3f3f3;color:#5b5b5b}.chapter-info i{color:#9928e5;font-size:1.125em;vertical-align:middle}.chapter-info span{font-weight:600;font-size:0.688em}.toggle-content{padding:5px 0;background:#f3f3f3;color:#747474;font-weight:600;font-size:0.813em;text-align:center;cursor:pointer}.label{border-radius:3px;display:inline-block;padding:2px 5px;margin:0 5px;float:left;background:#9928e5;color:#fff}.label-free{background:#54c670;float:none}.product-landing .course-promotion{padding:0}.product-landing .course-promotion .coupon{padding:10px;font-size:1em}.product-landing .course-promotion .valid-coupon{background-color:#54c670;color:#fff}.product-landing .course-promotion .invalid-coupon{background-color:#ffed8f;color:#8f7800}@media only screen and (max-width: 767px){.product-landing section{padding-top:40px;padding-bottom:40px}.product-landing section p,.product-landing section ul{font-size:0.938em}.product-landing .product__title{font-size:1.750em !important}.product-landing .section-title{margin-bottom:24px;font-size:1.750em !important}.product-landing .title-block{width:90%}}@media only screen and (max-width: 479px){.product-landing .product-main-cta .btn{padding:12px;font-size:1.125em}}.high-convert-landing .btn-intro-video{margin-bottom:10px}.high-convert-landing .product-main-cta{margin-top:30px}.high-convert-landing .course-instructor{margin-top:48px;background:#f3f3f3;color:#5b5b5b}.high-convert-landing .course-instructor img{max-width:100%}.high-convert-landing .course-instructor .instructor__img-wrap{margin-top:-120px;text-align:center}.high-convert-landing .course-instructor .instructor__img{border-radius:50%;margin-bottom:10px;height:162px;width:162px;border:5px solid #ffffff}.high-convert-landing .course-instructor .instructor__details{margin-bottom:36px}.high-convert-landing .course-instructor .instructor__name{font-size:1.250em;font-weight:600;text-align:center}.high-convert-landing .course-instructor .instructor__title{text-align:center}.high-convert-landing .course-curriculum{background:#e6e6e6}.high-convert-landing .course-curriculum .section-title{color:#5b5b5b}.high-convert-landing .course-curriculum .curriculum-chapter{margin:0 0 10px 0 !important}.high-convert-landing .course-curriculum .curriculum-chapter-header{padding:10px 15px !important;background:#9928e5 !important}.high-convert-landing .course-curriculum .curriculum-chapter-header .chapter-time{color:#fff;text-align:right}.high-convert-landing .course-curriculum .chapter-header{font-weight:bold;color:#fff}.high-convert-landing .course-curriculum .chapter-list-item__link{display:block}.high-convert-landing .course-curriculum .chapter-list-item__link:hover{background:#f3f3f3}.high-convert-landing .course-curriculum .chapter-list-item{position:relative;padding:5px 45px 5px 15px;color:#5b5b5b}.high-convert-landing .course-curriculum .chapter-list-item i{-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%);position:absolute;top:50%;right:25px;font-size:1.250em;color:#5b5b5b}.high-convert-landing .course-curriculum .chapter-toggle{border-radius:0;border:0;background:#ffffff}.high-convert-landing .course-curriculum .course-main-cta{padding-top:36px}@media only screen and (max-width: 479px){.high-convert-landing .course-instructor{margin-top:60px}.high-convert-landing .instructor__img-wrap{margin-top:-80px}.high-convert-landing .instructor__img{height:108px;width:108px}.high-convert-landing .curriculum-chapter-header{padding:5px 15px !important}.high-convert-landing .toggle-content{padding:0 !important}.high-convert-landing .course-curriculum .chapter-time{text-align:left}}.curriculum-landing .course-actions{padding:25px 0;border-bottom:1px solid #cdcdcd;background:#f3f3f3}.curriculum-landing .section-title{color:#5b5b5b}.curriculum-landing .btn-intro-video{margin-top:20px}.curriculum-landing .course-body{position:relative}.curriculum-landing .sidebar-filler{position:absolute;right:0;bottom:0;height:100%;border-left:1px solid #cdcdcd}.curriculum-landing .course-includes{margin-bottom:24px}.curriculum-landing .course-includes ul{display:inline;padding:0;color:#5b5b5b;list-style:none}.curriculum-landing .course-includes li{display:inline-block;margin-right:3px;margin-bottom:6px;padding:5px 6px 3px 4px;border:1px solid #cdcdcd;border-radius:3px;background:#ffffff;color:#5b5b5b;font-size:0.813em;white-space:nowrap}.curriculum-landing .course-includes li:last-of-type{margin-right:0}.curriculum-landing .course-includes i{color:#9928e5;font-weight:400;font-size:1.125em;line-height:1;vertical-align:middle}.curriculum-landing .course-curriculum{padding-right:20px}.curriculum-landing .curriculum-chapter+.curriculum-chapter{margin-top:16px}.curriculum-landing .chapter-toggle{padding:0;border:1px solid #cdcdcd;border-radius:3px;background:#ffffff}.curriculum-landing .curriculum-chapter-header{padding:10px 15px !important}.curriculum-landing .curriculum-chapter-header .chapter-time{color:#fff;text-align:right}.curriculum-landing .chapter-header{color:#9928e5;font-weight:600;line-height:1}.curriculum-landing .chapter-list{padding:5px 0}.curriculum-landing .chapter-list-item{position:relative;padding:5px 45px 5px 15px;color:#5b5b5b;font-size:0.875em}.curriculum-landing .chapter-list-item i{-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%);position:absolute;top:50%;right:25px;color:#5b5b5b;font-size:1.250em}.curriculum-landing .chapter-time{float:right;display:inline-block;margin-top:8px;padding:0 10px;border-radius:50%;background:#9928e5;color:#fff;font-size:0.875em;text-align:center}.curriculum-landing .course-details{padding:0 0 40px 18px}.curriculum-landing .course-details .product-overview,.curriculum-landing .course-details .course-instructor{margin-bottom:48px}.curriculum-landing .course-details .social-icons{font-size:1px}.curriculum-landing .course-details .social-icons iframe{vertical-align:middle}.curriculum-landing .course-details .share-btn{display:inline-block;width:75px;vertical-align:middle}.curriculum-landing .course-details .less{overflow:hidden;height:270px}.curriculum-landing .course-details__section{margin-bottom:48px}.curriculum-landing .instructor__details{display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-moz-box-align:center;box-align:center;-webkit-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;-ms-flex-align:center;margin:0 0 20px 0;font-weight:600}.curriculum-landing .instructor__img{width:70px;height:70px;margin-right:20px;border:1px solid #cdcdcd;border-radius:50%}.curriculum-landing .multi-product__description{padding:5px 10px;line-height:1.5}.curriculum-landing .multi-product__description .price{font-size:1em}.curriculum-landing .multi-product__description .title{font-size:0.875em}@media only screen and (max-width: 991px){.curriculum-landing .course-body .course-curriculum{margin-bottom:40px}.curriculum-landing .course-curriculum{padding-right:0}.curriculum-landing .course-details{padding:0}.curriculum-landing .sidebar-filler{display:none}}@media only screen and (max-width: 767px){.curriculum-landing .chapter-time{float:none;margin-top:12px}}@media only screen and (max-width: 479px){.curriculum-landing .course-includes{margin-bottom:24px}.curriculum-landing .course-actions{padding:10px}}.bundle-content{background:#f3f3f3}.bundle-content .section-title{color:#5b5b5b}.bundle-cta-tagline{margin-top:10px;color:#fff}.bundle-content__item{border-radius:3px;box-shadow:1px 1px 0 #e2e2e2;position:relative;background:#ffffff;padding:10px}.bundle-content__item::after{clear:both;content:"";display:table}.bundle-content__item .row{display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-moz-box-align:center;box-align:center;-webkit-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;-ms-flex-align:center}.bundle-content__item-img{border-radius:3px;height:auto;width:100%}.bundle-content__item-title{font-size:1.125em}.bundle-content__item+.bundle-content__item,.bundle-content__item+.bundle-course--hidden,.bundle-course--hidden+.bundle-course--hidden{margin-top:12px}.bundle-see-more-content{padding-top:32px}@media only screen and (max-width: 479px){.bundle-content__item-title{font-size:1em}}.multi-products .multi-product__item,.course-multi-products .multi-product__item{display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;margin:0 0 6px 0}.multi-products .multi-product__buy,.course-multi-products .multi-product__buy{display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;padding:0}.multi-products .multi-product__cta,.course-multi-products .multi-product__cta{border-radius:0;display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-moz-box-align:center;box-align:center;-webkit-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;-ms-flex-align:center;-webkit-box-pack:center;-moz-box-pack:center;box-pack:center;-webkit-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;-o-justify-content:center;justify-content:center;-ms-flex-pack:center;-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:1;-moz-flex:1;-ms-flex:1;flex:1;font-size:1em}.multi-products .multi-product__description,.course-multi-products .multi-product__description{padding:10px 18px;background:#f3f3f3}.multi-products .multi-product__description .price,.course-multi-products .multi-product__description .price{line-height:1.5;font-weight:600}@media only screen and (max-width: 767px){.multi-products .multi-product__item,.course-multi-products .multi-product__item{display:block;margin-bottom:24px}.multi-products .multi-product__cta,.course-multi-products .multi-product__cta{padding:3px}}.user-sign-up .section-title{text-align:center;margin-bottom:30px}.user-sign-up .sign_up__or,.user-sign-up .sign_in__or{margin:15px auto;font-weight:600;line-height:1.5;text-align:center;text-transform:uppercase}.user-sign-up .help-block{display:none}.user-sign-up .has-error .help-block{font-size:0.750em;margin:0;padding:0;display:block}.user-sign-up .checkbox{margin:0}.user-sign-up .remember-me-link{line-height:21px}.user-sign-up .btn-primary{font-size:1em;padding:8px 0}.user-sign-up__alt-logins{text-align:center}.user-sign-up__alt-logins .btn+.btn{margin-left:10px}.user-sign-up__bottom{padding:30px;text-align:center}.user-sign-up__bottom a{font-size:0.938em;color:#5b5b5b}.user-sign-up__bottom a:hover,.user-sign-up__bottom a:focus,.user-sign-up__bottom a:active{text-decoration:underline}@media only screen and (max-width: 767px){.user-sign-up .remember-me-link,.user-sign-up .forgot-password{font-size:0.875em}}@media only screen and (max-width: 479px){.user-sign-up__alt-logins .btn+.btn{margin-top:5px;margin-left:0}}.products__filters{margin-bottom:35px}.products__filters select{-webkit-appearance:menulist;-moz-appearance:menulist;-ms-appearance:menulist;-o-appearance:menulist;appearance:menulist}.products__filters [type="search"]{width:100%}.student-dashboard__hero{padding:40px 30px;background:#ffffff;border-bottom:1px solid #eee}.student-dashboard__title{margin-top:0;font-size:1.875em;font-weight:300;line-height:1;margin-bottom:1.5rem}@media only screen and (max-width: 767px){.products__filter-box{margin-bottom:10px}.student-dashboard__hero{padding:20px 15px}.student-dashboard__title{font-size:1.625em}}.checkout-form-container__inner{border-radius:3px;box-shadow:1px 1px 0 #e2e2e2;position:relative;background:#ffffff;padding:20px}.checkout-form-container__inner::after{clear:both;content:"";display:table}.checkout-form__body .section-title{margin:0 0 25px 0;line-height:1.25;font-size:1.250em}.checkout-form__bottom{padding-top:25px;text-align:center}.checkout-form__bottom a{color:#9928e5}.checkout-form__purchase{padding:0 10px;margin-bottom:15px;text-align:center}.checkout-form__purchase-img{border-radius:2px;max-width:180px;height:auto;margin-bottom:15px}.checkout-form__purchase-description{max-width:90%;margin:0 auto;font-size:1.063em}.order-security{padding-top:20px;margin-bottom:20px}.coupon-form__coupon-code [type="text"]{width:100%}img[src*="googleadservices.com"]{position:absolute;top:-2px;left:-2px}#progressbar{margin:0 auto 25px;padding:0;width:70%;counter-reset:step;list-style:none}#progressbar::after{clear:both;content:"";display:table}#progressbar li{list-style-type:none;color:#5b5b5b;text-align:center;font-size:0.688em;width:50%;float:left;position:relative;z-index:2}#progressbar li:before{border-radius:50%;content:counter(step);counter-increment:step;width:20px;height:20px;line-height:20px;display:block;font-size:0.813em;color:#fff;background:#dadada;margin:0 auto 5px auto;z-index:2}#progressbar li:after{content:'';width:100%;height:1px;background:#dadada;position:absolute;left:calc( -50% + 10px);top:9px;z-index:-1}#progressbar li:first-child:after{content:none}#progressbar li.active:before,#progressbar li.active:after{background:#9928e5}.order-product__list{font-size:1.125em;margin-bottom:10px;text-align:left}.order-product__total-amount,.order-product__coupon-name{padding-top:12px}.order-product__coupon .coupon-check{margin-bottom:10px;text-align:right;font-size:1em}.order-product__coupon .coupon{padding:10px 0 20px}.checkout-auth-container .credit-card{padding-top:10px}.checkout-auth-container .credit-card .btn{margin-top:20px}.checkout-auth-container .credit-card__expiry-date .expiration-date{padding-top:11px}.checkout-auth-container .paypal-button-row{text-align:center}.checkout-auth-container .paypal-button-row__text{font-size:11px;margin:5px 0}.checkout-thankyou .multi-products{margin-bottom:50px;padding-top:20px}.checkout-thankyou__course{padding:5px 0}.checkout-thankyou__course+.checkout-thankyou__course{margin-top:8px}.checkout-thankyou__course:nth-of-type(even){background:#f3f3f3}.checkout-thankyou__course-name{font-size:1.125em;line-height:1.8}.checkout-bundle__more_enrollments_limit{margin:10px}@media only screen and (max-width: 767px){.checkout-thankyou__course-name,.checkout-thankyou__button{text-align:center}.checkout-thankyou__course{padding:10px}.checkout-thankyou__course:nth-of-type(even){background:none}}.checkout-auth-container #local-payment-errors,.checkout-auth-container #coupon-errors,.checkout-auth-container .payment-errors{display:none;color:red}.checkout-auth-container #local-payment-errors{margin-bottom:10px}.checkout-auth-container #coupon-errors{padding-top:10px;font-size:0.750em}.checkout-form #errors{border-radius:3px;list-style:none;font-weight:300;font-size:0.875em;background:#ffd4cc;color:#e75725;margin-top:20px;padding:15px;line-height:145%}.checkout-form .alert-error{font-size:0.750em;color:#e75725}.checkout-form .error-title{font-weight:bold;margin-bottom:5px}.checkout-form .alert-error a{text-decoration:underline;color:inherit}.checkout-form .alert-hide{display:none}.checkout-form .has-error .form-control{border-color:#e75725}.checkout-form #errors{margin-top:0;margin-bottom:20px}@media only screen and (min-width: 768px){.coupon-form__coupon-button .btn{padding:10px 15px}}@media only screen and (max-width: 767px){.credit-card__expiry-date{margin-bottom:10px}.credit-card__expiry-date .expiration-date{padding-top:0}.checkout-form-container .form-group{margin-bottom:12px}.checkout-form-container .section-title{font-size:1.125em}.checkout-form-container__inner{padding:15px}.coupon-form__coupon-code,.coupon-form__applied{margin-bottom:10px}.coupon-form__coupon-button{text-align:right}.coupon-form__coupon-button .btn{width:auto;min-width:100px}#progressbar{width:100%;margin-bottom:15px}#progressbar li:before{width:10px;height:10px;line-height:10px;content:"\00a0"}#progressbar li:after{left:calc( -50% + 5px);top:5px}.checkout-form__purchase-img{max-width:120px}.checkout-form__purchase-description{font-size:0.875em;width:100%}}@media only screen and (max-width: 479px){.order-product__list{font-size:0.875em}.order-product__coupon .coupon-check{font-size:0.875em;margin-bottom:20px}}.video-landing .product-banner{height:auto;padding:100px 0 240px}.video-landing .product__title{font-weight:bold}.video-landing .title-block{margin-bottom:15px}.video-landing .embed-container{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;max-width:100%}.video-landing .embed-container iframe,.video-landing .embed-container object,.video-landing .embed-container embed{position:absolute;top:0;left:0;width:100%;height:100%}.video-landing .course-description{position:relative}.video-landing .course-video{width:50%;margin:-200px auto 60px;box-shadow:5px 5px 29px -6px rgba(0,0,0,0.39)}.video-landing .course-instructor{margin-top:48px;background:#f3f3f3;color:#5b5b5b}.video-landing .course-instructor img{max-width:100%}.video-landing .instructor__img-wrap{margin-top:-154px;text-align:center}.video-landing .instructor__details{margin-bottom:36px}.video-landing .instructor__name{font-size:1.625em;text-align:center}.video-landing .instructor__title{text-align:center}.video-landing .instructor__img{border-radius:50%;margin-bottom:20px;height:170px;width:170px;box-shadow:5px 5px 29px -6px rgba(0,0,0,0.2)}.video-landing .curriculum-chapter+.curriculum-chapter{margin-top:45px}.video-landing .chapter-name{font-size:1.625em;line-height:1.2;padding-right:30px;text-align:right}.video-landing .chapter-time{padding-top:10px;padding-right:30px;text-align:right}.video-landing .chapter-list{border-left:1px solid #eee}.video-landing .chapter-list-item{position:relative;padding:4px 30px 4px 15px}.video-landing .chapter-list-item i{position:absolute;right:0;top:3px;font-size:26px;color:#5b5b5b}.video-landing .course-related-products{background:#eee}.video-landing .multi-product__item{border-radius:3px;box-shadow:1px 1px 0 #e2e2e2;position:relative;background:#ffffff;margin-bottom:15px;padding:15px;text-align:center}.video-landing .multi-product__item::after{clear:both;content:"";display:table}.video-landing .multi-product__item .price{font-size:22px;text-transform:uppercase}.video-landing .multi-product__description{margin-bottom:20px}@media only screen and (max-width: 991px){.video-landing .product-banner{padding:50px 0 200px}}@media only screen and (max-width: 767px){.video-landing .product-banner{padding:30px 0 150px}.video-landing .course-video{width:50%;margin:-150px auto 40px}.video-landing .curriculum-chapter+.curriculum-chapter{margin-top:30px;padding-top:30px;border-top:1px solid #e7e7e7}.video-landing .chapter-name{margin-bottom:20px;text-align:left;font-size:1.250em}.video-landing .chapter-list{border-left:none}.video-landing .chapter-list-item{padding-left:0}.video-landing .product__title{margin-bottom:10px}.video-landing .instructor__img-wrap{margin-top:-100px}.video-landing .instructor__img{border-radius:50%;height:130px;width:130px;box-shadow:5px 5px 29px -6px rgba(0,0,0,0.2)}.video-landing .instructor__details{margin-bottom:18px}}@media only screen and (max-width: 479px){.video-landing .product-banner{padding:30px 0 60px}.video-landing .course-video{width:70%;margin:-55px auto 30px}}.student-profile .btn-upload{opacity:0;display:inline-block;width:0;width:100%}.student-profile .account-content-profile-img{margin:20px 0 40px}.student-profile .account-content-profile-img img{height:100px;width:100px}.student-profile #feedback-area{padding-top:10px;font-size:13px}.student-profile #error_explanation{border-radius:4px;position:relative;font-size:14px;background:#ffd4cc;color:#e75725;padding:12px 30px;margin:0 0 30px 0;text-align:center}.student-profile #error_explanation h2{font-size:14px;margin:10px 0;color:#e75725}.student-profile #error_explanation ul{list-style:none}.account-content,.affiliate-content{border-radius:3px;box-shadow:1px 1px 0 #e2e2e2;position:relative;background:#ffffff;padding:20px}.account-content::after,.affiliate-content::after{clear:both;content:"";display:table}.account-content::after,.affiliate-content::after{clear:both;content:"";display:table}.account-content .account-content-footer,.account-content .affiliate-content-footer,.affiliate-content .account-content-footer,.affiliate-content .affiliate-content-footer{padding-top:30px}.account-content__back-link{margin-bottom:30px;display:inline-block}.account-menu,.affiliate-menu{border-radius:3px;box-shadow:1px 1px 0 #e2e2e2;position:relative;background:#ffffff}.account-menu::after,.affiliate-menu::after{clear:both;content:"";display:table}.account-menu .list-group-item,.affiliate-menu .list-group-item{padding:15px 10px;border:0}.account-menu a.list-group-item:hover,.account-menu a.list-group-item:focus,.affiliate-menu a.list-group-item:hover,.affiliate-menu a.list-group-item:focus{color:#9928e5;background:#f3f3f3}.account-menu a.list-group-item.active,.account-menu a.list-group-item.active:hover,.account-menu a.list-group-item.active:focus,.affiliate-menu a.list-group-item.active,.affiliate-menu a.list-group-item.active:hover,.affiliate-menu a.list-group-item.active:focus{color:#9928e5;background:#f3f3f3;border-color:none}.account-menu .badge,.affiliate-menu .badge{background:#9928e5;color:#fff}.account-menu a.list-group-item.active>.badge,.account-menu .nav-pills>.active>a>.badge,.affiliate-menu a.list-group-item.active>.badge,.affiliate-menu .nav-pills>.active>a>.badge{background:#9928e5;color:#fff}.reset-password-container{border-radius:3px;box-shadow:1px 1px 0 #e2e2e2;position:relative;background:#ffffff;padding:20px}.reset-password-container::after{clear:both;content:"";display:table}.reset-password-container .reset-password__title{margin-top:0}.single-task-view{background:#f4f5f7 url(https://assets.thinkific.com/assets/defaults/bg-shapes-grey-f1a814e2f65da464153ef67885ca0311.png) top left;overflow-y:auto}.single-task-view .container{padding-top:15px;margin-bottom:20px}.single-task-view .container .thinkific-logo{width:150px;margin-bottom:10px}.single-task-view .single-task-view__card{border-radius:3px;box-shadow:1px 1px 0 #e2e2e2;position:relative;background:#ffffff;padding:20px}.single-task-view .single-task-view__card::after{clear:both;content:"";display:table}.single-task-view .single-task-view__title{line-height:1.25;margin-bottom:0.6em}.single-task-view .single-task-view__subtitle{margin-bottom:1.5em}@media only screen and (max-width: 767px){.single-task-view .container{padding-top:15px}}.horizon-1-6-1v1-0-0{}.horizon-1-6-1v1-0-0 .page-content-container{font-family:'Raleway', sans-serif !important}.horizon-1-6-1v1-0-0 .btn-primary{background:#5a81fc;color:#fff;font-weight:600;border-radius:500px}.horizon-1-6-1v1-0-0 .btn-primary:hover,.horizon-1-6-1v1-0-0 .btn-primary:active{background:#285bfb}.horizon-1-6-1v1-0-0 .btn-secondary{background:#ff8d4e;color:#fff;font-weight:600;border-radius:500px}.horizon-1-6-1v1-0-0 .btn-secondary:hover,.horizon-1-6-1v1-0-0 .btn-secondary:active{background:#ff6c1b}.horizon-1-6-1v1-0-0 h1{font-weight:200;font-size:30px;margin-bottom:50px;font-weight:600}.horizon-1-6-1v1-0-0 h1.title-center{text-align:center}.horizon-1-6-1v1-0-0 h1.title-center:before{margin:0 auto}.horizon-1-6-1v1-0-0 h1.title-light{color:#e6f8ff}.horizon-1-6-1v1-0-0 p{font-size:16px;line-height:1.8;margin-bottom:1.5rem}.horizon-1-6-1v1-0-0 a{color:#5c84f8}.horizon-1-6-1v1-0-0 .body-light{color:#fff}@media only screen and (max-width: 767px){.horizon-1-6-1v1-0-0 h1{font-size:26px;letter-spacing:0;margin-bottom:25px}}.horizon-1-6-1v1-0-0 .landing-header{color:#fff;padding:233px 0;background-size:cover;background-position:center}.horizon-1-6-1v1-0-0 .landing-header .product__title{font-weight:800;font-size:62px;margin:0 0 0.5em;letter-spacing:0;line-height:1}.horizon-1-6-1v1-0-0 .landing-header .product__subtitle{display:block;margin-bottom:30px}.horizon-1-6-1v1-0-0 .landing-header .btn-primary,.horizon-1-6-1v1-0-0 .landing-header .btn-secondary{font-size:16px;padding:10px 40px;margin-bottom:3px}.horizon-1-6-1v1-0-0 .landing-header .row{display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-moz-box-pack:center;box-pack:center;-webkit-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;-o-justify-content:center;justify-content:center;-ms-flex-pack:center;position:relative}.horizon-1-6-1v1-0-0 .landing-header .btn-intro-video{-webkit-transform:translate(-50%, -50%);-moz-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);-o-transform:translate(-50%, -50%);transform:translate(-50%, -50%);width:100%;position:absolute;top:50%;left:50%;padding:140px 60px;background:rgba(21,70,86,0.3);border:1px solid rgba(255,255,255,0.2)}.horizon-1-6-1v1-0-0 .landing-header .btn-intro-video:focus{outline:none}.horizon-1-6-1v1-0-0 .landing-header .btn-intro-video:before{font-family:thinkific;content:'\66';display:block;font-size:40px}.horizon-1-6-1v1-0-0 .btn-intro-video{color:#fff}.horizon-1-6-1v1-0-0 .btn-intro-video:hover,.horizon-1-6-1v1-0-0 .btn-intro-video:active{color:#5a81fc}@media only screen and (max-width: 991px){.horizon-1-6-1v1-0-0 .landing-header{padding:150px 0}.horizon-1-6-1v1-0-0 .landing-header .product__title{font-size:50px}}@media only screen and (max-width: 767px){.horizon-1-6-1v1-0-0 .landing-header{padding:60px 0 40px}.horizon-1-6-1v1-0-0 .landing-header .product__title{font-size:30px}}.horizon-1-6-1v1-0-0 .intro-video-mobile{padding:15px 0;background:#f2f2f2;text-align:center}.horizon-1-6-1v1-0-0 .intro-video-mobile .btn{background:#ff8d4e;border-radius:500px;color:#fff}.horizon-1-6-1v1-0-0 .venobox{max-height:100%}.horizon-1-6-1v1-0-0 .course-review{padding:80px 0;background:#fff}.horizon-1-6-1v1-0-0 .course-review__wrapper,.horizon-1-6-1v1-0-0 .more-reviews-toggle{display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-lines:multiple;-moz-box-lines:multiple;box-lines:multiple;-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;width:100%;margin:0}.horizon-1-6-1v1-0-0 .course-review__flex-grid-item{display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;width:33%}.horizon-1-6-1v1-0-0 .course-review__container{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:1;-moz-flex:1;-ms-flex:1;flex:1;position:relative;margin:0.5em;background:#fff;text-align:center;padding-top:30px;border:1px solid #e9e9e9}.horizon-1-6-1v1-0-0 .course-review__title{font-size:17px;padding-left:15px;padding-right:15px}.horizon-1-6-1v1-0-0 .course-review__text{font-size:15px;line-height:1.5;padding:15px 25px 125px;margin-bottom:0}.horizon-1-6-1v1-0-0 .course-review__name{text-align:center;background:#f8f8f8;padding:40px 10px;margin:0;font-size:12px;text-transform:uppercase;font-weight:600;position:absolute;bottom:0;width:100%}.horizon-1-6-1v1-0-0 .course-review__button{text-align:center;padding-top:15px}.horizon-1-6-1v1-0-0 .course-review__button .review-button{cursor:pointer;color:#5c84f8}@media only screen and (max-width: 991px){.horizon-1-6-1v1-0-0 .course-review__flex-grid-item{width:50%;margin-bottom:1em}.horizon-1-6-1v1-0-0 .course-review__container{margin-top:0;margin-bottom:1em}.horizon-1-6-1v1-0-0 .course-review__name{padding:20px 10px}.horizon-1-6-1v1-0-0 .course-review__text{padding-bottom:75px}}@media only screen and (max-width: 767px){.horizon-1-6-1v1-0-0 .course-review{padding:2em 0}.horizon-1-6-1v1-0-0 .course-review__flex-grid-item{width:100%;padding:0}.horizon-1-6-1v1-0-0 .course-review__container{margin:0}.horizon-1-6-1v1-0-0 .course-review__title{margin-bottom:0}}.horizon-1-6-1v1-0-0 .course-instructor{padding:60px 0;background-image:none;background-position:bottom left;background-size:cover}.horizon-1-6-1v1-0-0 .instructor__img{display:inline-block;max-height:125px;max-width:125px;border-radius:50%;border:1px solid #eaeaea;margin-bottom:25px}.horizon-1-6-1v1-0-0 .product-overview{padding:60px 0;background:#fff}.horizon-1-6-1v1-0-0 .related-products{padding:60px 0 80px;background:#5c84f8}.horizon-1-6-1v1-0-0 .theme-mountain-multi-product__item{display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-moz-box-align:center;box-align:center;-webkit-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;-ms-flex-align:center;-webkit-box-pack:justify;-moz-box-pack:justify;box-pack:justify;-webkit-justify-content:space-between;-moz-justify-content:space-between;-ms-justify-content:space-between;-o-justify-content:space-between;justify-content:space-between;-ms-flex-pack:justify;background:#fff;padding:20px;margin-bottom:15px}.horizon-1-6-1v1-0-0 .theme-mountain-multi-product__item:last-of-type{margin-bottom:0}.horizon-1-6-1v1-0-0 .theme-mountain-multi-product__section-title{color:#fff}.horizon-1-6-1v1-0-0 .theme-mountain-multi-product__item+.theme-mountain-multi-product__item{margin-top:10px}.horizon-1-6-1v1-0-0 .theme-mountain-multi-product__price{font-size:26px;font-weight:600}.horizon-1-6-1v1-0-0 .theme-mountain-multi-product__title{padding-left:1em;padding-right:1em}.horizon-1-6-1v1-0-0 .theme-mountain-multi-product__cta{padding:8px 30px;background:#ff8d4e;color:#fff}.horizon-1-6-1v1-0-0 .theme-mountain-multi-product__cta:hover,.horizon-1-6-1v1-0-0 .theme-mountain-multi-product__cta:active{background:#ff6c1b}@media only screen and (max-width: 991px){.horizon-1-6-1v1-0-0 .theme-mountain-multi-product__price{margin-bottom:15px}.horizon-1-6-1v1-0-0 .theme-mountain-multi-product__item{display:block;text-align:center;padding:10px}.horizon-1-6-1v1-0-0 .theme-mountain-multi-product__title{margin-bottom:15px;padding-left:0;padding-right:0}}.horizon-1-6-1v1-0-0 .course-promotion .coupon{padding:20px 0;color:#ffffff}.horizon-1-6-1v1-0-0 .course-promotion .coupon.valid-coupon{background:#5c84f8}.horizon-1-6-1v1-0-0 .course-promotion .coupon.invalid-coupon{background:#d50d57}.horizon-1-6-1v1-0-0 .course-benefits{padding:60px 0;background:#104155}.horizon-1-6-1v1-0-0 .course-benefits__item{margin-bottom:30px}.horizon-1-6-1v1-0-0 .course-benefits__item p{margin-bottom:0}@media only screen and (max-width: 767px){.horizon-1-6-1v1-0-0 .course-benefits__item:last-of-type{margin-bottom:0}}.horizon-1-6-1v1-0-0 .course-contents{padding:60px 0;background:#f2f2f2}.horizon-1-6-1v1-0-0 .course-contents-types{display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-moz-box-pack:center;box-pack:center;-webkit-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;-o-justify-content:center;justify-content:center;-ms-flex-pack:center;-webkit-flex-flow:row wrap;-moz-flex-flow:row wrap;flex-flow:row wrap;padding:0;margin:0;list-style:none;text-align:center}.horizon-1-6-1v1-0-0 .course-contents-types i{font-size:55px;margin-bottom:5px;color:#5a81fc}.horizon-1-6-1v1-0-0 .course-contents-types span{display:block}.horizon-1-6-1v1-0-0 .course-contents__inner{background:#fff;padding:25px 25px 42px;border:1px solid #e9e9e9}.horizon-1-6-1v1-0-0 .course-contents-types__item{-webkit-flex-shrink:0;-moz-flex-shrink:0;flex-shrink:0;-ms-flex-negative:0;padding:0 20px;margin-bottom:12px}@media only screen and (max-width: 991px){.horizon-1-6-1v1-0-0 .course-contents-types__item{-webkit-flex-basis:25%;-moz-flex-basis:25%;flex-basis:25%;-ms-flex-preferred-size:25%;padding:0}}@media only screen and (max-width: 480px){.horizon-1-6-1v1-0-0 .course-contents__inner{padding-bottom:25px}.horizon-1-6-1v1-0-0 .course-contents-types__item{-webkit-flex-basis:50%;-moz-flex-basis:50%;flex-basis:50%;-ms-flex-preferred-size:50%;padding:10px 0}}.horizon-1-6-1v1-0-0 .course-curriculum{padding:80px 0}.horizon-1-6-1v1-0-0 .course-curriculum a{color:grey}.horizon-1-6-1v1-0-0 .course-curriculum a:hover{color:#5c84f8}.horizon-1-6-1v1-0-0 .course-curriculum ul{padding-left:2em}.horizon-1-6-1v1-0-0 .course-curriculum li{margin-bottom:1em;list-style-type:disc}.horizon-1-6-1v1-0-0 .course-curriculum .curriculum-chapter-header{border-bottom:1px solid #e7e7e7;padding-bottom:18px;margin-bottom:24px}.horizon-1-6-1v1-0-0 .course-curriculum .chapter-list-item__title{line-height:1.5}.horizon-1-6-1v1-0-0 .course-curriculum .curriculum-chapter+.curriculum-chapter{margin-top:42px}.horizon-1-6-1v1-0-0 .course-curriculum .chapter-header{font-size:18px;font-weight:bold;line-height:1.5}.horizon-1-6-1v1-0-0 .course-curriculum .chapter-list-item+.chapter-list-item{margin-top:18px}.horizon-1-6-1v1-0-0 .course-curriculum .chapter-time{text-align:right;background:#5a81fc;padding:3px 20px;border-radius:200px;display:inline-block;color:#ffffff;font-size:13px;float:right}.horizon-1-6-1v1-0-0 .course-curriculum .label-free{background:#5a81fc}@media only screen and (max-width: 480px){.horizon-1-6-1v1-0-0 .course-curriculum .chapter-header{display:block;margin-bottom:15px}.horizon-1-6-1v1-0-0 .course-curriculum .chapter-time{float:none;text-align:left}}.mountain-1-6-1v1-0-0 .btn-primary{background:#63c6d2;color:#fff;font-weight:600}.mountain-1-6-1v1-0-0 .btn-primary:hover,.mountain-1-6-1v1-0-0 .btn-primary:active{background:#3bb8c7}.mountain-1-6-1v1-0-0 .btn-secondary{background:#56acb6;color:#fff;font-weight:600}.mountain-1-6-1v1-0-0 .btn-secondary:hover,.mountain-1-6-1v1-0-0 .btn-secondary:active{background:#418f98}.mountain-1-6-1v1-0-0 h1{text-transform:uppercase;font-weight:200;font-size:30px;letter-spacing:2px;margin-bottom:50px}.mountain-1-6-1v1-0-0 h1:before{content:'';display:block;width:60px;height:3px;background:#63c6d2;position:relative;top:-20px}.mountain-1-6-1v1-0-0 h1.title-center{text-align:center}.mountain-1-6-1v1-0-0 h1.title-center:before{margin:0 auto}.mountain-1-6-1v1-0-0 h1.title-light{color:#e6f8ff}.mountain-1-6-1v1-0-0 p{font-size:16px;line-height:1.8;margin-bottom:1.5rem}.mountain-1-6-1v1-0-0 a{color:#63c6d2}.mountain-1-6-1v1-0-0 .body-light{color:#fff}@media only screen and (max-width: 767px){.mountain-1-6-1v1-0-0 h1{font-size:26px;letter-spacing:0;margin-bottom:25px}}.mountain-1-6-1v1-0-0 .landing-header{color:#fff;padding:233px 0;background-size:cover;background-position:center}.mountain-1-6-1v1-0-0 .landing-header .product__title{font-weight:800;font-size:62px;margin:0 0 0.5em;letter-spacing:0;line-height:1}.mountain-1-6-1v1-0-0 .landing-header .product__subtitle{display:block;margin-bottom:30px}.mountain-1-6-1v1-0-0 .landing-header .btn-primary,.mountain-1-6-1v1-0-0 .landing-header .btn-secondary{font-size:16px;padding:20px 30px;margin-bottom:3px}.mountain-1-6-1v1-0-0 .landing-header .row{display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-moz-box-pack:center;box-pack:center;-webkit-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;-o-justify-content:center;justify-content:center;-ms-flex-pack:center;position:relative}.mountain-1-6-1v1-0-0 .landing-header .btn-intro-video{-webkit-transform:translate(-50%, -50%);-moz-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);-o-transform:translate(-50%, -50%);transform:translate(-50%, -50%);width:100%;position:absolute;top:50%;left:50%;padding:140px 60px;background:rgba(21,70,86,0.3);border:1px solid rgba(255,255,255,0.2)}.mountain-1-6-1v1-0-0 .landing-header .btn-intro-video:focus{outline:none}.mountain-1-6-1v1-0-0 .landing-header .btn-intro-video:before{font-family:thinkific;content:'\66';display:block;font-size:40px}.mountain-1-6-1v1-0-0 .btn-intro-video{color:#fff}.mountain-1-6-1v1-0-0 .btn-intro-video:hover,.mountain-1-6-1v1-0-0 .btn-intro-video:active{color:#63c6d2}@media only screen and (max-width: 991px){.mountain-1-6-1v1-0-0 .landing-header{padding:120px 0}.mountain-1-6-1v1-0-0 .landing-header .product__title{font-size:50px}}@media only screen and (max-width: 767px){.mountain-1-6-1v1-0-0 .landing-header{padding:60px 0 40px}.mountain-1-6-1v1-0-0 .landing-header .product__title{font-size:30px}}.mountain-1-6-1v1-0-0 .intro-video-mobile{padding:15px 0;background:#1d5870;text-align:center}.mountain-1-6-1v1-0-0 .venobox{max-height:100%}.mountain-1-6-1v1-0-0 .course-review{padding:40px 0;background:#95a7b6}.mountain-1-6-1v1-0-0 .course-review__wrapper,.mountain-1-6-1v1-0-0 .more-reviews-toggle{display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-lines:multiple;-moz-box-lines:multiple;box-lines:multiple;-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;width:100%;margin:0}.mountain-1-6-1v1-0-0 .course-review__flex-grid-item{display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;width:33%}.mountain-1-6-1v1-0-0 .course-review__container{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:1;-moz-flex:1;-ms-flex:1;flex:1;position:relative;margin:0.5em;background:#fff;text-align:center;padding-top:30px}.mountain-1-6-1v1-0-0 .course-review__title{font-size:17px;padding-left:15px;padding-right:15px}.mountain-1-6-1v1-0-0 .course-review__text{font-size:13px;line-height:1.5;padding:15px 25px 125px;margin-bottom:0}.mountain-1-6-1v1-0-0 .course-review__name{text-align:center;background:#f8f8f8;padding:40px 10px;margin:0;font-size:12px;text-transform:uppercase;font-weight:600;position:absolute;bottom:0;width:100%}.mountain-1-6-1v1-0-0 .course-review__button{text-align:center;padding-top:15px}.mountain-1-6-1v1-0-0 .course-review__button .review-button{cursor:pointer;color:#fff}@media only screen and (max-width: 991px){.mountain-1-6-1v1-0-0 .course-review__flex-grid-item{width:50%;margin-bottom:1em}.mountain-1-6-1v1-0-0 .course-review__container{margin-top:0;margin-bottom:1em}.mountain-1-6-1v1-0-0 .course-review__name{padding:20px 10px}.mountain-1-6-1v1-0-0 .course-review__text{padding-bottom:75px}}@media only screen and (max-width: 767px){.mountain-1-6-1v1-0-0 .course-review{padding-bottom:2em}.mountain-1-6-1v1-0-0 .course-review__flex-grid-item{width:100%;padding:0}.mountain-1-6-1v1-0-0 .course-review__container{margin:0}.mountain-1-6-1v1-0-0 .course-review__title{margin-bottom:0}}.mountain-1-6-1v1-0-0 .course-instructor{padding:60px 0;background-image:none;background-position:bottom left;background-size:cover}.mountain-1-6-1v1-0-0 .instructor__img{display:inline-block;max-height:125px;max-width:125px;border-radius:50%;border:1px solid #eaeaea;margin-bottom:25px}@media only screen and (max-width: 767px){.mountain-1-6-1v1-0-0 .instructor__details{margin-bottom:50px}}.mountain-1-6-1v1-0-0 .product-overview{padding:60px 0}.mountain-1-6-1v1-0-0 .related-products{padding:60px 0;background:#1d5870}.mountain-1-6-1v1-0-0 .theme-mountain-multi-product__item{display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-moz-box-align:center;box-align:center;-webkit-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;-ms-flex-align:center;-webkit-box-pack:justify;-moz-box-pack:justify;box-pack:justify;-webkit-justify-content:space-between;-moz-justify-content:space-between;-ms-justify-content:space-between;-o-justify-content:space-between;justify-content:space-between;-ms-flex-pack:justify;background:#fff;padding:20px;margin-bottom:15px}.mountain-1-6-1v1-0-0 .theme-mountain-multi-product__item:last-of-type{margin-bottom:0}.mountain-1-6-1v1-0-0 .theme-mountain-multi-product__item+.theme-mountain-multi-product__item{margin-top:10px}.mountain-1-6-1v1-0-0 .theme-mountain-multi-product__price{font-size:26px;font-weight:100}.mountain-1-6-1v1-0-0 .theme-mountain-multi-product__title{padding-left:1em;padding-right:1em}.mountain-1-6-1v1-0-0 .theme-mountain-multi-product__section-title{text-align:center;color:#fff}@media only screen and (max-width: 991px){.mountain-1-6-1v1-0-0 .theme-mountain-multi-product__item{display:block;text-align:center;padding:10px}.mountain-1-6-1v1-0-0 .theme-mountain-multi-product__title{margin-top:15px;margin-bottom:15px;padding-left:0;padding-right:0}}.mountain-1-6-1v1-0-0 .course-promotion .coupon{padding:20px 0;color:#ffffff}.mountain-1-6-1v1-0-0 .course-promotion .coupon.valid-coupon{background:#1d5870}.mountain-1-6-1v1-0-0 .course-promotion .coupon.invalid-coupon{background:#cf0948}.mountain-1-6-1v1-0-0 .course-benefits{padding:60px 0;background:#104155}.mountain-1-6-1v1-0-0 .course-benefits__item{margin-bottom:30px}.mountain-1-6-1v1-0-0 .course-benefits__item p{margin-bottom:0}@media only screen and (max-width: 767px){.mountain-1-6-1v1-0-0 .course-benefits__item:last-of-type{margin-bottom:0}}.mountain-1-6-1v1-0-0 .course-contents{padding:60px 0;background:#95a7b6}.mountain-1-6-1v1-0-0 .course-contents-types{display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-moz-box-pack:center;box-pack:center;-webkit-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;-o-justify-content:center;justify-content:center;-ms-flex-pack:center;-webkit-flex-flow:row wrap;-moz-flex-flow:row wrap;flex-flow:row wrap;padding:0;margin:0;list-style:none;text-align:center}.mountain-1-6-1v1-0-0 .course-contents-types i{font-size:55px}.mountain-1-6-1v1-0-0 .course-contents-types span{display:block}.mountain-1-6-1v1-0-0 .course-contents__inner{background:#fff;padding:25px 25px 42px}.mountain-1-6-1v1-0-0 .course-contents-types__item{-webkit-flex-shrink:0;-moz-flex-shrink:0;flex-shrink:0;-ms-flex-negative:0;padding:0 20px;margin-bottom:12px}@media only screen and (max-width: 991px){.mountain-1-6-1v1-0-0 .course-contents-types__item{-webkit-flex-basis:25%;-moz-flex-basis:25%;flex-basis:25%;-ms-flex-preferred-size:25%;padding:0}}@media only screen and (max-width: 480px){.mountain-1-6-1v1-0-0 .course-contents__inner{padding-bottom:25px}.mountain-1-6-1v1-0-0 .course-contents-types__item{-webkit-flex-basis:50%;-moz-flex-basis:50%;flex-basis:50%;-ms-flex-preferred-size:50%;padding:10px 0}}.mountain-1-6-1v1-0-0 .course-curriculum{padding:80px 0}.mountain-1-6-1v1-0-0 .course-curriculum a{color:grey}.mountain-1-6-1v1-0-0 .course-curriculum a:hover{color:#1d5870}.mountain-1-6-1v1-0-0 .course-curriculum ul{padding-left:2em}.mountain-1-6-1v1-0-0 .course-curriculum li{margin-bottom:1em;list-style-type:disc}.mountain-1-6-1v1-0-0 .course-curriculum .curriculum-chapter-header{border-bottom:1px solid #e7e7e7;padding-bottom:18px;margin-bottom:24px}.mountain-1-6-1v1-0-0 .course-curriculum .chapter-list-item__title{line-height:1.5}.mountain-1-6-1v1-0-0 .course-curriculum .curriculum-chapter+.curriculum-chapter{margin-top:42px}.mountain-1-6-1v1-0-0 .course-curriculum .chapter-header{font-size:18px;font-weight:bold;line-height:1.5}.mountain-1-6-1v1-0-0 .course-curriculum .chapter-list-item+.chapter-list-item{margin-top:18px}.mountain-1-6-1v1-0-0 .course-curriculum .chapter-time{text-align:right;background:#63c6d2;padding:3px 20px;border-radius:200px;display:inline-block;color:#ffffff;font-size:13px;float:right}.mountain-1-6-1v1-0-0 .course-curriculum .label-free{background:#747474}@media only screen and (max-width: 480px){.mountain-1-6-1v1-0-0 .course-curriculum .chapter-header{display:block;margin-bottom:15px}.mountain-1-6-1v1-0-0 .course-curriculum .chapter-time{float:none;text-align:left}}

/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAiMjAxNjEyMTcwMDMwMzQvKF9fVEVNUExBVEVfXykuY3NzIiwKCSJzb3VyY2VzIjogWwoJCSIyMDE2MTIxNzAwMzAzNC8oX19URU1QTEFURV9fKSIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9fYm91cmJvbi5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL3NldHRpbmdzL19wcmVmaXhlci5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL3NldHRpbmdzL19weC10by1lbS5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL3NldHRpbmdzL19hc3NldC1waXBlbGluZS5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fYXNzaWduLWlucHV0cy5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fY29udGFpbnMuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX2NvbnRhaW5zLWZhbHN5LnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19pcy1sZW5ndGguc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX2lzLWxpZ2h0LnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19pcy1udW1iZXIuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX2lzLXNpemUuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3B4LXRvLWVtLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19weC10by1yZW0uc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3NoYWRlLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19zdHJpcC11bml0cy5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fdGludC5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL191bnBhY2suc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX21vZHVsYXItc2NhbGUuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19jb252ZXJ0LXVuaXRzLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fZGlyZWN0aW9uYWwtdmFsdWVzLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fZm9udC1zb3VyY2UtZGVjbGFyYXRpb24uc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19ncmFkaWVudC1wb3NpdGlvbnMtcGFyc2VyLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fbGluZWFyLWFuZ2xlLXBhcnNlci5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX2xpbmVhci1ncmFkaWVudC1wYXJzZXIuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19saW5lYXItcG9zaXRpb25zLXBhcnNlci5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXIuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19yYWRpYWwtYXJnLXBhcnNlci5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fcmFkaWFsLWdyYWRpZW50LXBhcnNlci5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX3JlbmRlci1ncmFkaWVudHMuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19zaGFwZS1zaXplLXN0cmlwcGVyLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fc3RyLXRvLW51bS5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2FuaW1hdGlvbi5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2FwcGVhcmFuY2Uuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19iYWNrZmFjZS12aXNpYmlsaXR5LnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fYmFja2dyb3VuZC5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2JhY2tncm91bmQtaW1hZ2Uuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19ib3JkZXItaW1hZ2Uuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19jYWxjLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fY29sdW1ucy5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2ZpbHRlci5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2ZsZXgtYm94LnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fZm9udC1mYWNlLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fZm9udC1mZWF0dXJlLXNldHRpbmdzLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9faGlkcGktbWVkaWEtcXVlcnkuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19oeXBoZW5zLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9faW1hZ2UtcmVuZGVyaW5nLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fa2V5ZnJhbWVzLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fbGluZWFyLWdyYWRpZW50LnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fcGVyc3BlY3RpdmUuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19wbGFjZWhvbGRlci5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3JhZGlhbC1ncmFkaWVudC5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3NlbGVjdGlvbi5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3RleHQtZGVjb3JhdGlvbi5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3RyYW5zZm9ybS5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3RyYW5zaXRpb24uc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL191c2VyLXNlbGVjdC5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fYm9yZGVyLWNvbG9yLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19ib3JkZXItcmFkaXVzLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19ib3JkZXItc3R5bGUuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX2JvcmRlci13aWR0aC5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fYnV0dG9ucy5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fY2xlYXJmaXguc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX2VsbGlwc2lzLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19mb250LXN0YWNrcy5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9faGlkZS10ZXh0LnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19tYXJnaW4uc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3BhZGRpbmcuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3Bvc2l0aW9uLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19wcmVmaXhlci5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fcmV0aW5hLWltYWdlLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19zaXplLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL190ZXh0LWlucHV0cy5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fdGltaW5nLWZ1bmN0aW9ucy5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fdHJpYW5nbGUuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3dvcmQtd3JhcC5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL19ib3VyYm9uLWRlcHJlY2F0ZWQtdXBjb21pbmcuc2NzcyIKCV0sCgkic291cmNlc0NvbnRlbnQiOiBbCgkJIkBpbXBvcnQgXCJib3VyYm9uXCI7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBOb3JtYWxpemUgaHR0cHM6Ly9uZWNvbGFzLmdpdGh1Yi5pby9ub3JtYWxpemUuY3NzL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuaHRtbHtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1tcy10ZXh0LXNpemUtYWRqdXN0OjEwMCU7LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OjEwMCV9Ym9keXttYXJnaW46MH1hcnRpY2xlLGFzaWRlLGRldGFpbHMsZmlnY2FwdGlvbixmaWd1cmUsZm9vdGVyLGhlYWRlcixoZ3JvdXAsbWFpbixtZW51LG5hdixzZWN0aW9uLHN1bW1hcnl7ZGlzcGxheTpibG9ja31hdWRpbyxjYW52YXMscHJvZ3Jlc3MsdmlkZW97ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9YXVkaW86bm90KFtjb250cm9sc10pe2Rpc3BsYXk6bm9uZTtoZWlnaHQ6MH1baGlkZGVuXSx0ZW1wbGF0ZXtkaXNwbGF5Om5vbmV9YXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fWE6YWN0aXZlLGE6aG92ZXJ7b3V0bGluZTowfWFiYnJbdGl0bGVde2JvcmRlci1ib3R0b206MXB4IGRvdHRlZH1iLHN0cm9uZ3tmb250LXdlaWdodDo3MDB9ZGZue2ZvbnQtc3R5bGU6aXRhbGljfWgxe2ZvbnQtc2l6ZToyZW07bWFyZ2luOi42N2VtIDB9bWFya3tiYWNrZ3JvdW5kOiNmZjA7Y29sb3I6IzAwMH1zbWFsbHtmb250LXNpemU6ODAlfXN1YixzdXB7Zm9udC1zaXplOjc1JTtsaW5lLWhlaWdodDowO3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfXN1cHt0b3A6LS41ZW19c3Vie2JvdHRvbTotLjI1ZW19aW1ne2JvcmRlcjowfXN2Zzpub3QoOnJvb3Qpe292ZXJmbG93OmhpZGRlbn1maWd1cmV7bWFyZ2luOjFlbSA0MHB4fWhyey1tb3otYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2hlaWdodDowfXByZXtvdmVyZmxvdzphdXRvfWNvZGUsa2JkLHByZSxzYW1we2ZvbnQtZmFtaWx5Om1vbm9zcGFjZSxtb25vc3BhY2U7Zm9udC1zaXplOjFlbX1idXR0b24saW5wdXQsb3B0Z3JvdXAsc2VsZWN0LHRleHRhcmVhe2NvbG9yOmluaGVyaXQ7Zm9udDppbmhlcml0O21hcmdpbjowfWJ1dHRvbntvdmVyZmxvdzp2aXNpYmxlfWJ1dHRvbixzZWxlY3R7dGV4dC10cmFuc2Zvcm06bm9uZX1idXR0b24saHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxpbnB1dFt0eXBlPVwic3VibWl0XCJdey13ZWJraXQtYXBwZWFyYW5jZTpidXR0b247Y3Vyc29yOnBvaW50ZXJ9YnV0dG9uW2Rpc2FibGVkXSxodG1sIGlucHV0W2Rpc2FibGVkXXtjdXJzb3I6ZGVmYXVsdH1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyOjA7cGFkZGluZzowfWlucHV0e2xpbmUtaGVpZ2h0Om5vcm1hbH1pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0saW5wdXRbdHlwZT1cInJhZGlvXCJde2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjB9aW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixpbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9ue2hlaWdodDphdXRvfWlucHV0W3R5cGU9XCJzZWFyY2hcIl17LXdlYmtpdC1hcHBlYXJhbmNlOnRleHRmaWVsZDstbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7LXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94O2JveC1zaXppbmc6Y29udGVudC1ib3h9aW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lfWZpZWxkc2V0e2JvcmRlcjoxcHggc29saWQgc2lsdmVyO21hcmdpbjowIDJweDtwYWRkaW5nOi4zNWVtIC42MjVlbSAuNzVlbX1sZWdlbmR7Ym9yZGVyOjA7cGFkZGluZzowfXRleHRhcmVhe292ZXJmbG93OmF1dG99b3B0Z3JvdXB7Zm9udC13ZWlnaHQ6NzAwfXRhYmxle2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtib3JkZXItc3BhY2luZzowfXRkLHRoe3BhZGRpbmc6MH1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNBU1MgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uY2hhcHRlci10aW1le2Rpc3BsYXk6bm9uZTt9XG5cbi8vIENvbG91cnM6IFNpdGVcbi8vIC0tLS0tLS0tLS0tLS0tLVxuJHByaW1hcnktY29sb3I6ICM5OTI4ZTU7XG4kc2l0ZS1iYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjO1xuXG4vLyBDb2xvdXJzOiBCdXR0b25zXG4vLyAtLS0tLS0tLS0tLS0tLS1cbiRwcmltYXJ5LWJ0bi1jb2xvcjogI2ZmMDBmZjtcbiRzZWNvbmRhcnktYnRuLWNvbG9yOiAjZmYwMGZmO1xuXG4vLyBDb2xvdXJzOiBIZWFkZXJcbi8vIC0tLS0tLS0tLS0tLS0tLVxuJGhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAjMTA3ZGRmO1xuJGhlYWRlci10ZXh0LWNvbG9yOiAjZmFmMmZkO1xuXG4vLyBDb2xvdXJzOiBGb290ZXJcbi8vIC0tLS0tLS0tLS0tLS0tLVxuJGZvb3Rlci1iYWNrZ3JvdW5kLWNvbG9yOiAjOTkyOGU1O1xuXG4vLyBDb2xvdXJzOiBOZXV0cmFsXG4vLyAtLS0tLS0tLS0tLS0tLS1cbiRjb2xvci1uZXV0cmFsOiAjY2RjZGNkO1xuJGNvbG9yLW5ldXRyYWwtbGlnaHQtMTogI2VlZWVlZTtcbiRjb2xvci1uZXV0cmFsLWxpZ2h0LTI6ICNmM2YzZjM7XG4kY29sb3ItbmV1dHJhbC1saWdodC0zOiAjZmVmZWZlO1xuJGNvbG9yLW5ldXRyYWwtZGFyay0xOiAjYjJiMmIyO1xuXG4vLyBDb2xvdXJzOiBUZXh0XG4vLyAtLS0tLS0tLS0tLS0tLS1cbiR0ZXh0LWNvbG9yOiAjNWI1YjViO1xuJHRleHQtY29sb3ItbGlnaHQ6ICNmZmZmZmY7XG4kbGluay1jb2xvcjogJHByaW1hcnktY29sb3I7XG5cbi8vIENvbG91cnM6IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuJHN1Y2Nlc3MtZ3JlZW46ICM1NGM2NzA7XG4kYWxlcnQteWVsbG93OiAjZmZlZDhmO1xuXG5cbi8vIE1lZGlhIFF1ZXJpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuJHNjcmVlbi1zbS1taW46IDQ4MHB4O1xuJHNjcmVlbi1tZC1taW46IDc2OHB4O1xuJHNjcmVlbi1sZy1taW46IDk5MnB4O1xuJHNjcmVlbi14bC1taW46IDEyMDBweDtcbiRzY3JlZW4teHhsLW1pbjogMTYwMHB4O1xuXG4kc2NyZWVuLXhzLW1heDogKCRzY3JlZW4tc20tbWluIC0gMSk7XG4kc2NyZWVuLXNtLW1heDogKCRzY3JlZW4tbWQtbWluIC0gMSk7XG4kc2NyZWVuLW1kLW1heDogKCRzY3JlZW4tbGctbWluIC0gMSk7XG4kc2NyZWVuLWxnLW1heDogKCRzY3JlZW4teGwtbWluIC0gMSk7XG5cbi8vIE1pc2Ncbi8vIC0tLS0tLS0tLS0tLS0tXG4kYm9yZGVyLXJhZGl1czogM3B4O1xuJHNlY3Rpb24tbWF4LXdpZHRoOiAxMjUwcHg7XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1peGluc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gVGhpcyBpcyBhIHNpbXBsZSBtaXhpbiBmb3IgY2FyZCBzdHlsZXMuIENhcmQgc3R5bGVzIGFyZSB1c2VkIG9uIGNvdXJzZVxuLy8gY2FyZHMsIGFuZCBwYXNzd29yZCByZXNldCBib3hlcy4gVGhpcyBpcyBtZWFudCB0byB3b3JrIGZvciBldmVyeXRoaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBjYXJkIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNoYWRvdzogMXB4IDFweCAwICNlMmUyZTI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbn1cblxuXG4vLyBUaGlzIG1ha2VzIHRleHQgY29sb3VyIGNoYW5nZSBpZiB0aGUgYmFja2dyb3VuZCBjb2xvdXIgaXMgdG9vIGxpZ2h0IG9yIGRhcmtcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGZ1bmN0aW9uIGR5bmFtaWMtdGV4dCgkY29sb3IpIHtcbiAgQGlmIChsaWdodG5lc3MoJGNvbG9yKSA+IDg1KSB7XG4gICAgQHJldHVybiAkdGV4dC1jb2xvcjsgLy8gTGlnaHRlciBiYWNrZ3JvdW5kLCByZXR1cm4gZGFyayBjb2xvclxuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuICR0ZXh0LWNvbG9yLWxpZ2h0OyAvLyBEYXJrZXIgYmFja2dyb3VuZCwgcmV0dXJuIGxpZ2h0IGNvbG9yXG4gIH1cbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVGFibGUgb2YgY29udGVudHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIDAuIEJhc2ljc1xuLy8gMS4gVHlwZVxuLy8gMi4gRm9ybXNcbi8vIDMuIEJ1dHRvbnNcbi8vIDQuIExheW91dFxuLy8gNS4gQ291cnNlIENhcmRzXG4vLyA2LiBIZWFkZXJcbi8vIDcuIEZvb3RlclxuLy8gOC4gUmV2aWV3IFN0YXJzXG4vLyA5LiBQYWdpbmF0aW9uXG4vLyAxMC4gU2l0ZSBMYW5kaW5nIFBhZ2Vcbi8vIDExLiBTaGFyZWQgcHJvZHVjdCBsYW5kaW5nIHBhZ2Ugc3R5bGVzXG4vLyAxMi4gSGlnaCBDb252ZXJzaW9uIGxhbmRpbmcgcGFnZVxuLy8gMTMuIEN1cnJpY3VsdW0gbGFuZGluZyBwYWdlXG4vLyAxNC4gQnVuZGxlIGxhbmRpbmcgcGFnZVxuLy8gMTUuIE11bHRpIFByb2R1Y3RzXG4vLyAxNi4gU2lnbiB1cCAvIFNpZ24gaW5cbi8vIDE3LiBNeSBDb3Vyc2VzL0Rhc2hib2FyZFxuLy8gMTguIEFsbCBDb3Vyc2VzL1N0dWRlbnQgRGFzaGJvYXJkXG4vLyAxOS4gQ2hlY2tvdXRcbi8vIDIwLiBDb3Vyc2UgTGFuZGluZyBQYWdlIC0gVmlkZW8gQ2VudHJpY1xuLy8gMjEuIFN0dWRlbnQvQWZmaWxpYXRlIGVkaXQgYWNjb3VudFxuLy8gMjIuIEZvcmdvdCBQYXNzd29yZFxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gMC4gQmFzaWNzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5odG1sLCBib2R5IHtcbiAgYmFja2dyb3VuZDogJHNpdGUtYmFja2dyb3VuZC1jb2xvcjtcbiAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgZm9udC1zaXplOiAxZW07IC8vMTZweFxuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIDEuIFR5cGUgQ29udmVydGVkIHRvIEVNIHVzaW5nIGh0dHA6Ly9weHRvZW0uY29tL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwIHtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMi4xODhlbTsgLy8zNXB4XG59XG5cbmgyIHtcbiAgZm9udC1zaXplOiAxLjg3NWVtOyAvLzMwcHhcbn1cblxuaDMge1xuICBmb250LXNpemU6IDEuNjI1ZW07IC8vMjZweFxufVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMS40MzhlbTsgLy8gMjNweFxufVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVlbTsgLy8xOHB4XG59XG5cbnAge1xuICBmb250LXNpemU6IDFlbTsgLy8xNnB4XG59XG5cbmhyIHtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogMjBweCAwO1xufVxuXG5pLCBlbSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuYiwgc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuYSB7XG4gIGNvbG9yOiAkbGluay1jb2xvcjtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogZGFya2VuKCRsaW5rLWNvbG9yLCAxMiUpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG51bCwgb2wge1xuICBsaSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgfVxufVxuXG4vLyBSZW1vdmVzIGxpc3Qgc3R5bGVcbi51bnN0eWxlIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gMi4gRm9ybXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmlucHV0OmZvY3VzOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6IHRyYW5zcGFyZW50OyB9XG5pbnB1dDpmb2N1czo6LW1vei1wbGFjZWhvbGRlciB7IGNvbG9yOnRyYW5zcGFyZW50OyB9XG5cbi5mb3JtLWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbC1saWdodC0zO1xuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItbmV1dHJhbDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nOiA2cHggMTVweDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgZm9udC1zaXplOiAxZW07IC8vMTZweFxufVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBJIGFtIGZvdW5kIG9ubHkgb24gdGhlIGNvbGxlY3Rpb25zIHBhZ2UuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4xcyBlYXNlKTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnRpemUoJHRleHQtY29sb3IsMC45KTtcblxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICB9XG59XG5cbi5yYWRpbywgLmNoZWNrYm94IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1pbi1oZWlnaHQ6IDIwcHg7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLy8gVXNlZCBvbiB0aGUgU2lnbiBpbi9TaWduIHVwL0NoZWNrb3V0IGZsb3cuIFN0eWxlcyB0aGUgc2VwYXJhdG9yIGJldHdlZW4gdGhlXG4vLyBzb2NpYWwgc2lnbiBpbiBidXR0b25zIGFuZCB0aGUgc2lnbiBpbiB3aXRoIGVtYWlsIGZvcm0uXG4uZm9ybV9fc2VwYXJhdG9yIHtcbiAgbWFyZ2luOiAxNXB4IDA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gMy4gQnV0dG9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGF1dG87XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsMCwwLDApO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbi8vIEJ1dHRvbjogTW9kaWZpZXJzXG4vLyAtLS0tLS0tLS0tLS0tXG4uYnRuLWxhcmdlIHtcbiAgcGFkZGluZzogMTJweDtcbiAgZm9udC1zaXplOiAxLjEyNWVtOyAvLzE4cHhcbn1cblxuLmJ0bi1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLy8gQnV0dG9uOiBDb2xvdXJzXG4vLyAtLS0tLS0tLS0tLS0tXG4uYnRuLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1idG4tY29sb3I7XG4gIGNvbG9yOiBkeW5hbWljLXRleHQoJHByaW1hcnktYnRuLWNvbG9yKTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogZGFya2VuKCRwcmltYXJ5LWJ0bi1jb2xvciwgMTAlKTtcbiAgICBjb2xvcjogZHluYW1pYy10ZXh0KCRwcmltYXJ5LWJ0bi1jb2xvcik7XG4gIH1cbn1cblxuLmJ0bi1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWJ0bi1jb2xvcjtcbiAgY29sb3I6IGR5bmFtaWMtdGV4dCgkc2Vjb25kYXJ5LWJ0bi1jb2xvcik7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IGRhcmtlbigkc2Vjb25kYXJ5LWJ0bi1jb2xvciwgMTAlKTtcbiAgICBjb2xvcjogZHluYW1pYy10ZXh0KCRzZWNvbmRhcnktYnRuLWNvbG9yKTtcbiAgfVxufVxuXG4uYnRuLWRlZmF1bHQge1xuICBiYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbC1kYXJrLTE7XG4gIGNvbG9yOiAjZmZmZmZmO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJGNvbG9yLW5ldXRyYWwtZGFyay0xLCAxMCUpO1xuICB9XG59XG5cbi8vIFRoaXMgaXMgdXNlZCBhcyB0aGUgTGlua2VkaW4gYnV0dG9uIG9uIHRoZSBzaWduIHVwLlxuLy8gLS0tLS0tLS0tLS0tLS0tXG4ubGlua2VkaW4tc2lnbmluIHtcbiAgYmFja2dyb3VuZDogIzQ4NzViNDtcbiAgY29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oIzQ4NzViNCwgMTAlKTtcbiAgICBjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIDQuIExheW91dFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuI3dyYXAge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgLy8gRXF1YWwgdG8gZm9vdGVyIGhlaWdodFxuICBtYXJnaW4tYm90dG9tOiAtMTY2cHg7XG4gIGJhY2tncm91bmQ6IGxpZ2h0ZW4oJHNpdGUtYmFja2dyb3VuZC1jb2xvciwgNSUpO1xufVxuXG4vLyBXcmFwOiBNZWRpYSBRdWVyaWVzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1pbi13aWR0aDogJHNjcmVlbi14eGwtbWluKSB7XG4gICN3cmFwIHtcbiAgICBtYXgtd2lkdGg6ICRzY3JlZW4teHhsLW1pbjtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBkYXJrZW4oJHNpdGUtYmFja2dyb3VuZC1jb2xvciwgNSUpO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtlbigkc2l0ZS1iYWNrZ3JvdW5kLWNvbG9yLCA1JSk7XG4gIH1cbn1cblxuXG4vLyBDb250YWluZXIgb24gdGhlIGNoZWNrb3V0L3BheW1lbnQgZmxvdywgc2lnbiBpbi9zaWduIHVwIGZsb3dcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4jY29udGVudC1wdXNoIHtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG59XG5cbi8vIENvbnRlbnQtcHVzaDogTWVkaWEgUXVlcmllc1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAjY29udGVudC1wdXNoIHtcbiAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAjY29udGVudC1wdXNoIHtcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgfVxufVxuXG5cbi8vIENvbnRhaW5lcnMgZm9yIGludGVyaW9yIGNvbnRlbnQgc2VjdGlvbnMuIE1vc3RseSBzdXJyb3VuZGluZyB0aGUgY291cnNlIGNhcmRzXG4vLyAtLS0tLS0tLS0tLS0tLS1cbi5zaXRlLWxhbmRpbmdfX2NvdXJzZXMsXG4ucHJvZHVjdHMtd3JhcHBlcixcbi5zdHVkZW50LWRhc2hib2FyZC13cmFwcGVyLFxuLmNoZWNrb3V0LWZvcm0sXG4uc3R1ZGVudC1wcm9maWxlIHtcbiAgbWF4LXdpZHRoOiAkc2VjdGlvbi1tYXgtd2lkdGg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAzNXB4IDA7XG59XG5cbi5zaXRlLWxhbmRpbmdfX2NvdXJzZXMge1xuICBwYWRkaW5nLXRvcDogNjBweDtcbn1cblxuLy8gQ29udGFpbmVyczogTW9iaWxlXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgLnNpdGUtbGFuZGluZ19fY291cnNlcyxcbiAgLnByb2R1Y3RzLXdyYXBwZXIsXG4gIC5zdHVkZW50LWRhc2hib2FyZC13cmFwcGVyLFxuICAuY2hlY2tvdXQtZm9ybSxcbiAgLnN0dWRlbnQtcHJvZmlsZSB7XG4gICAgcGFkZGluZzogMjBweCAwO1xuICB9XG59XG5cblxuLy8gQ29sdW1uc1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbi5jb2x1bW4ge1xuICBwYWRkaW5nLWxlZnQ6IDc1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDc1cHg7XG59XG5cbi8vIENvbHVtbnM6IE1vYmlsZVxuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gIC5jb2x1bW4ge1xuICAgIHBhZGRpbmctbGVmdDogMTAwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMTAwcHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIHtcbiAgLmNvbHVtbiB7XG4gICAgcGFkZGluZy1sZWZ0OiA1NXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDU1cHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgLmNvbHVtbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgLmNvbHVtbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIH1cbn1cblxuXG4vLyBNaXNjXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuLnZpc2libGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIDUuIENvdXJzZSBDYXJkc1xuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmNhcmQge1xuICBAaW5jbHVkZSBjYXJkO1xufVxuXG4vLyBDYXJkOiBNb2RpZmllcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmNhcmQtLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jYXJkLS1wYWRkaW5nLTUge1xuICBwYWRkaW5nOiA1cHg7XG59XG5cbi5jYXJkLS1wYWRkaW5nLTE1IHtcbiAgcGFkZGluZzogMTVweDtcbn1cblxuLmNhcmQtLXBhZGRpbmctMjAge1xuICBwYWRkaW5nOiAyMHB4O1xufVxuXG5cbi8vIENhcmQ6IFNwYWNpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmNhcmQtLWJvdHRvbS1tYXJnaW4tMTAge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uY2FyZC0tYm90dG9tLW1hcmdpbi0yMCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cblxuLy8gQ291cnNlIGNhcmQgaW1hZ2Vcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbi5jb3Vyc2UtY2FyZCB7XG4gIGhlaWdodDogNDUxcHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmNvdXJzZS1jYXJkX19pbWcge1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygzcHgpO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uY291cnNlLWNhcmRfX2ltZy1jb250YWluZXIge1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygzcHgpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1heC1oZWlnaHQ6IDIyMHB4O1xufVxuXG5cbi8vIENvdXJzZSBjYXJkIGJvZHlcbi8vIC0tLS0tLS0tLS0tLS0tXG4uY291cnNlLWNhcmRfX2JvZHkge1xuICBwYWRkaW5nOiAyMHB4IDIwcHggMTBweDtcbn1cblxuLmNvdXJzZS1jYXJkX19pbnN0cnVjdG9yLW5hbWUge1xuICBmb250LXNpemU6IDAuODc1ZW07IC8vMTRweFxufVxuXG4uY291cnNlLWNhcmRfX3ByaWNlIHtcbiAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDAuODc1ZW07IC8vMTVweFxuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICAuZnJlZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxufVxuXG4uY291cnNlLWNhcmRfX3RpdGxlIHtcbiAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICBmb250LXNpemU6IDEuMTI1ZW07IC8vMThweFxuXG4gIGEge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgfVxufVxuXG4uY291cnNlLWNhcmRfX2Rlc2NyaXB0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgY29sb3I6IGxpZ2h0ZW4oJHRleHQtY29sb3IsMjUlKTtcbiAgZm9udC1zaXplOiAwLjkzOGVtOyAvLzE1cHhcbn1cblxuXG4vLyBDb3Vyc2UgY2FyZCBidXR0b25zXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4uY291cnNlLWNhcmRfX2N0YSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgcGFkZGluZzogMCAyMHB4O1xuXG4gIC5idG4ge1xuICAgIHBhZGRpbmc6IDhweDtcbiAgfVxuXG4gIGEge1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcblxuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG5cbi5jb3Vyc2UtY2FyZF9fY3RhLXNlY29uZGFyeSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cblxuLy8gUHJvZ3Jlc3MgQ2FyZFxuLy8gLS0tLS0tLS0tLS0tLS0tXG4ucHJvZ3Jlc3MtY2FyZCB7XG4gIGN1cnNvcjogZGVmYXVsdDtcblxuICAuY291cnNlLWNhcmRfX2JvZHkge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICB9XG5cbiAgLmNvdXJzZS1jYXJkX190aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLnByb2dyZXNzLWNhcmQtcHJvZ3Jlc3Mge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICB9XG5cbiAgLnByb2dyZXNzLWNvbXBsZXRpb24ge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBmb250LXNpemU6IDEuODc1ZW07IC8vMzBweFxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5wcm9ncmVzcy1saW5lIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG5cbiAgICAucHJvZ3Jlc3MtbGluZS1wZXJjZW50IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG5cbiAgICAucHJvZ3Jlc3MtbGluZS1iYXIge1xuICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBDYXJkczogTWVkaWEgUXVlcmllc1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbkBtZWRpYSBzY3JlZW5cbmFuZCAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAuY291cnNlLWNhcmRfX2ltZy1jb250YWluZXIge1xuICAgIG1heC1oZWlnaHQ6IDE4NXB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW5cbmFuZCAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbilcbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuXG4gIC5jb3Vyc2UtY2FyZCB7XG4gICAgaGVpZ2h0OiA0ODFweDtcbiAgfVxuXG4gIC5jb3Vyc2UtY2FyZF9faW1nLWNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogMjM1cHg7XG4gIH1cblxuICAuY291cnNlLWNhcmRfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMDYzZW07IC8vMTdweFxuICB9XG59XG5cbkBtZWRpYSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAuY291cnNlLWNhcmQge1xuICAgIG1heC13aWR0aDogMzcwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICB9XG5cbiAgLmNvdXJzZS1jYXJkX19jdGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmNvdXJzZS1jYXJkX19ib2R5IHtcbiAgICAuc3Rhci1yYXRpbmcge1xuICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIDYuIEhlYWRlciBOYXZcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuaGVhZGVyIHtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBiYWNrZ3JvdW5kOiAkaGVhZGVyLWJhY2tncm91bmQtY29sb3I7XG5cbiAgYSB7XG4gICAgY29sb3I6ICRoZWFkZXItdGV4dC1jb2xvcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogZGFya2VuKCRoZWFkZXItdGV4dC1jb2xvciwgMjAlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTmF2YmFyOiBMb2dvXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuLmhlYWRlci1sb2dvX19pbWFnZSB7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtaGVpZ2h0OiAzNXB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG59XG5cbi5oZWFkZXItc2Nob29sLW5hbWUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgZm9udC1zaXplOiAxLjg3NWVtOyAvLzMwcHhcbn1cblxuXG4vLyBOYXZiYXI6IExpbmtzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuLmhlYWRlci1uYXZfX2xpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uaGVhZGVyLW5hdl9faXRlbSB7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTsgLy8xNHB4XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8gTmF2YmFyOiBEcm9wZG93blxuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbi5oZWFkZXItdXNlci1hdmF0YXIge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGhlaWdodDogMjVweDtcbiAgd2lkdGg6IDI1cHg7XG4gIG1hcmdpbjogLTI1cHggNXB4IC0yMXB4O1xufVxuXG4uZHJvcGRvd24ge1xuICBtYXJnaW4tbGVmdDogMTVweDtcbn1cblxuLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuXG4vLyBPdmVycmlkZSB0aGUgZGVmYXVsdCBCb290c3RyYXAgc3R5bGVzXG4uZHJvcGRvd24tbWVudSB7XG4gIHRvcDogMjJweDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICRoZWFkZXItYmFja2dyb3VuZC1jb2xvcjtcbiAgYm9yZGVyOiAwO1xuXG4gICYgPiBsaSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cblxuICAmID4gbGkgPiBhIHtcbiAgICBjb2xvcjogJGhlYWRlci10ZXh0LWNvbG9yO1xuICB9XG5cbiAgJiA+IGxpID4gYTpob3ZlcixcbiAgJiA+IGxpID4gYTphY3RpdmUsXG4gICYgPiBsaSA+IGE6Zm9jdXMge1xuICAgIGNvbG9yOiAkaGVhZGVyLWJhY2tncm91bmQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRlci10ZXh0LWNvbG9yO1xuICB9XG59XG5cbi8vIE5hdmJhcjogTW9iaWxlXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuLmhlYWRlci1uYXZfX21vYmlsZS1idG4ge1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIHBhZGRpbmc6IDZweCAxMHB4O1xuICBjb2xvcjogJGhlYWRlci10ZXh0LWNvbG9yO1xuICBib3JkZXI6IDFweCBzb2xpZCAkaGVhZGVyLXRleHQtY29sb3I7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXItdGV4dC1jb2xvcjtcbiAgfVxufVxuXG5cbi8vIE5hdmJhcjogTWVkaWEgUXVlcmllc1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG5cbiAgaGVhZGVyIC5jb2x1bW4ge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmhlYWRlci1sb2dvX19jb250YWluZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgd2lkdGg6IDFweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG5cbiAgLmhlYWRlci1uYXZfX2NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgLmhlYWRlci1uYXYge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmhlYWRlci1uYXZfX2xpc3Qge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIH1cblxuICAuaGVhZGVyLW5hdl9fbGVmdCxcbiAgLmhlYWRlci1uYXZfX3JpZ2h0IHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC5oZWFkZXItbmF2X19yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cblxuICAuaGVhZGVyLW5hdl9faXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBzdWI7XG4gIH1cblxuICAuaGVhZGVyLW5hdl9faXRlbSArIC5oZWFkZXItbmF2X19pdGVtIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuXG4gIC5oZWFkZXItbmF2IHtcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgfVxuXG4gIC5oZWFkZXItc2Nob29sLW5hbWUge1xuICAgIG1hcmdpbi1yaWdodDogODVweDtcbiAgfVxuXG4gIC5oZWFkZXItbmF2X19jb250YWluZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBNb2JpbGUgbWVudSBhZGRzIG9wZW4gY2xvc2UgY2xhc3Mgd2hlbiB0b2dnbGVkXG4gIC5oZWFkZXItbmF2X19jb250YWluZXIub3BlbntcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5oZWFkZXItbmF2X19pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAwLjkzOGVtOyAvLzE1cHhcbiAgfVxuXG4gIC5oZWFkZXItbmF2X19saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gIH1cblxuICAuaGVhZGVyLWxvZ29fX2NvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmhlYWRlci1uYXZfX21vYmlsZS1idG4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG4gIH1cblxuICAuZHJvcGRvd24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIDcuIEZvb3RlclxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9zbmlwcGV0cy9jc3Mvc3RpY2t5LWZvb3Rlci9cbmZvb3RlciwgI3dyYXA6YWZ0ZXIge1xuICBoZWlnaHQ6IDE2NnB4O1xufVxuXG5mb290ZXIge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6ICRzY3JlZW4teHhsLW1pbjtcbiAgYmFja2dyb3VuZDogJGZvb3Rlci1iYWNrZ3JvdW5kLWNvbG9yO1xuICBwYWRkaW5nOiAzMHB4IDA7XG4gIGNvbG9yOiBkeW5hbWljLXRleHQoJGZvb3Rlci1iYWNrZ3JvdW5kLWNvbG9yKTtcblxuXG4gIGEge1xuICAgIGNvbG9yOiBkeW5hbWljLXRleHQoJGZvb3Rlci1iYWNrZ3JvdW5kLWNvbG9yKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cblxuLmZvb3Rlci1uYXYge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMCAwIDMwcHggMDtcbn1cblxuLmZvb3Rlci1uYXZfX2l0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTsgLy8xNHB4XG59XG5cbi5mb290ZXItbmF2X19pdGVtICsgLmZvb3Rlci1uYXZfX2l0ZW0ge1xuICBtYXJnaW4tbGVmdDogMTVweDtcbn1cblxuLmZvb3Rlci1jb3B5cmlnaHQge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LXNpemU6IDAuNzUwZW07IC8vMTJweFxuICBvcGFjaXR5OiAwLjY7XG59XG5cbi5mb290ZXItcG93ZXJlZC1ieSB7XG4gIGZvbnQtc2l6ZTogMC43NTBlbTsgLy8xMnB4XG59XG5cbi8vIEZvb3RlcjogTWVkaWEgUXVlcmllc1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtaW4td2lkdGg6ICRzY3JlZW4teHhsLW1pbikge1xuICBmb290ZXIge1xuICAgIG1heC13aWR0aDogJHNjcmVlbi14eGwtbWluO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGRhcmtlbigkc2l0ZS1iYWNrZ3JvdW5kLWNvbG9yLCAxMCUpO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtlbigkc2l0ZS1iYWNrZ3JvdW5kLWNvbG9yLCAxMCUpO1xuICB9XG59XG5cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIDguIFJldmlldyBTdGFyc1xuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnN0YXItcmF0aW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiA5MHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjJaWEp6YVc5dVBTSXhMakVpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZUcxc2JuTTZlR3hwYm1zOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6RTVPVGt2ZUd4cGJtc2lJSGc5SWpCd2VDSWdlVDBpTUhCNElpQjNhV1IwYUQwaU1qQndlQ0lnYUdWcFoyaDBQU0l5TUhCNElpQjJhV1YzUW05NFBTSXdJREFnTWpBZ01qQWlJR1Z1WVdKc1pTMWlZV05yWjNKdmRXNWtQU0p1WlhjZ01DQXdJREl3SURJd0lpQjRiV3c2YzNCaFkyVTlJbkJ5WlhObGNuWmxJajQ4Y0c5c2VXZHZiaUJtYVd4c1BTSWpSRVJFUkVSRUlpQndiMmx1ZEhNOUlqRXdMREFnTVRNdU1Ea3NOaTQxT0RNZ01qQXNOeTQyTXprZ01UVXNNVEl1TnpZMElERTJMakU0TERJd0lERXdMREUyTGpVNE15QXpMamd5TERJd0lEVXNNVEl1TnpZMElEQXNOeTQyTXprZ05pNDVNU3cyTGpVNE15QWlMejQ4TDNOMlp6ND1cIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgZm9udC1zaXplOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIGkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiAyMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCMlpYSnphVzl1UFNJeExqRWlJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SWdlRzFzYm5NNmVHeHBibXM5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZlR3hwYm1zaUlIZzlJakJ3ZUNJZ2VUMGlNSEI0SWlCM2FXUjBhRDBpTWpCd2VDSWdhR1ZwWjJoMFBTSXlNSEI0SWlCMmFXVjNRbTk0UFNJd0lEQWdNakFnTWpBaUlHVnVZV0pzWlMxaVlXTnJaM0p2ZFc1a1BTSnVaWGNnTUNBd0lESXdJREl3SWlCNGJXdzZjM0JoWTJVOUluQnlaWE5sY25abElqNDhjRzlzZVdkdmJpQm1hV3hzUFNJalJrWkVSamc0SWlCd2IybHVkSE05SWpFd0xEQWdNVE11TURrc05pNDFPRE1nTWpBc055NDJNemtnTVRVc01USXVOelkwSURFMkxqRTRMREl3SURFd0xERTJMalU0TXlBekxqZ3lMREl3SURVc01USXVOelkwSURBc055NDJNemtnTmk0NU1TdzJMalU0TXlBaUx6NDhMM04yWno0PVwiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIH1cblxuICBpbnB1dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAyMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIGkgfiBpIHtcbiAgICB3aWR0aDogNDAlO1xuICB9XG5cbiAgaSB+IGkgfiBpIHtcbiAgICB3aWR0aDogNjAlO1xuICB9XG5cbiAgaSB+IGkgfiBpIH4gaSB7XG4gICAgd2lkdGg6IDgwJTtcbiAgfVxuXG4gIGkgfiBpIH4gaSB+IGkgfiBpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4uc3Rhci1yYXRpbmdfX2lucHV0IHtcbiAgaW5wdXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6aG92ZXIgKyBpLFxuICAgICY6Y2hlY2tlZCArIGkge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbn1cblxuLnN0YXItcmF0aW5nX19maWxsZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgaSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uc3Rhcl9yYXRpbmdfX3NpbmdsZSB7XG4gIHdpZHRoOiAyNXB4O1xufVxuXG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyA5LiBQYWdpbmF0aW9uXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4ucGFnaW5hdGlvbiA+IC5hY3RpdmUgPiBhLFxuLnBhZ2luYXRpb24gPiAuYWN0aXZlID4gYTpob3Zlcixcbi5wYWdpbmF0aW9uID4gLmFjdGl2ZSA+IGE6Zm9jdXMsXG4ucGFnaW5hdGlvbiA+IC5hY3RpdmUgPiBzcGFuLFxuLnBhZ2luYXRpb24gPiAuYWN0aXZlID4gc3Bhbjpob3Zlcixcbi5wYWdpbmF0aW9uID4gLmFjdGl2ZSA+IHNwYW46Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbmV1dHJhbC1saWdodC0yO1xuICBib3JkZXItY29sb3I6ICRjb2xvci1uZXV0cmFsO1xuICBjb2xvcjogJGxpbmstY29sb3I7XG59XG5cbi5wYWdpbmF0aW9uID4gbGkgPiBhLFxuLnBhZ2luYXRpb24gPiBsaSA+IGE6aG92ZXIsXG4ucGFnaW5hdGlvbiA+IGxpID4gYTpmb2N1cyxcbi5wYWdpbmF0aW9uID4gbGkgPiBzcGFuIHtcbiAgICBjb2xvcjogJGxpbmstY29sb3I7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1uZXV0cmFsO1xufVxuXG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAxMC4gU2l0ZSBMYW5kaW5nIFBhZ2Vcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5zaXRlLWxhbmRpbmdfX2Jhbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiA0MDBweDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgY29sb3I6IGR5bmFtaWMtdGV4dCgkcHJpbWFyeS1jb2xvcik7XG59XG5cbi5zaXRlLWxhbmRpbmdfX2Jhbm5lci1jb250ZW50IHtcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogJHNlY3Rpb24tbWF4LXdpZHRoO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5wcm9kdWN0LWNhcmRzX19jb250YWluZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuXG4gIGFuZCAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG4gICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC13cmFwKHdyYXApO1xuICAgIC8vIHJlbW92ZXMgdGhlIGJlZm9yZSBhbmQgYWZ0ZXIgY2xlYXIgZml4ZXMgZm9yIHRoaXMgcm93LCB0byBmaXggdGhlIGZsZXhib3ggaW4gc2FmYXJpLlxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogbm9ybWFsO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFNpdGUgTGFuZGluZzogTWVkaWEgUXVlcmllc1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuICBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgLnNpdGUtbGFuZGluZ19fYmFubmVyIHtcbiAgICBoZWlnaHQ6IDMwMHB4O1xuICB9XG5cbiAgLnNpdGUtbGFuZGluZ19fYmFubmVyLS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjg3NWVtOyAvLzMwcHhcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgLnNpdGUtbGFuZGluZ19fYmFubmVyLS1zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjI1MGVtOyAvLzIwcHhcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcblxuICAuc2l0ZS1sYW5kaW5nX19iYW5uZXJ7XG4gICAgaGVpZ2h0OiAyNTBweDtcbiAgfVxuXG4gIC5zaXRlLWxhbmRpbmdfX2Jhbm5lci0tdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS42MjVlbTsgLy8yNnB4XG4gIH1cblxuICAuc2l0ZS1sYW5kaW5nX19iYW5uZXItLXN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDAuOTM4ZW07IC8vMTVweFxuICB9XG59XG5cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIDExLiBTaGFyZWQgUHJvZHVjdCBMYW5kaW5nIFN0eWxlc1xuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnByb2R1Y3QtbGFuZGluZyB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMWVtOyAvLzE2cHhcbiAgbGluZS1oZWlnaHQ6IDEuODtcblxuICBzZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcblxuICAgIHA6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgcCBhIHtcbiAgICAgIGNvbG9yOiAkbGluay1jb2xvcjtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFRoaXMgY29udHJvbHMgdGhlIHRpdGxlIHRleHQgb24gZXZlcnkgc2VjdGlvbi5cbiAgLy8gRXg6ICdDb3Vyc2UgT3ZlcnZpZXcnXG4gIC8vIC0tLS0tLS0tLS0tLS0tXG5cbiAgLnNlY3Rpb24tdGl0bGUge1xuICAgIG1hcmdpbjogMCAwIDQycHg7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgZm9udC1zaXplOiAyLjI1MGVtOyAvLzM2cHhcbiAgfVxufVxuXG4vLyBUaGlzIGlzIHRoZSBjb250YWN0IGluZm9ybWF0aW9uIGZvciB0aGUgY291cnNlLlxuLy8gSXQncyBub3QgZm91bmQgaW4gdGhlIGluc3RydWN0b3Igc2VjdGlvbi4gSXQncyBmb3VuZCBpbiB0aGVcbi8vIENvdXJzZSA+IERldGFpbHMgc2VjdGlvbiBhdCB0aGUgYm90dG9tLiBJdCBjYW4gY29udGFpbiB0ZXh0IGFuZCBIVE1MXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuLmNvdXJzZS1jb250YWN0LWluZm8ge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLy8gUHJvZHVjdCBMYW5kaW5nOiBQcm9kdWN0IEJhbm5lciAodGhlIGdpYW50IGltYWdlIHRoYXQgc3BhbnMgYWNyb3NzIHRoZSB0b3Agb2YgdGhlIHBhZ2UpXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuLnByb2R1Y3QtYmFubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcblxuICAudGl0bGUtYmxvY2sge1xuICAgIHdpZHRoOiA3NSU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAucHJvZHVjdF9fdGl0bGUge1xuICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gICAgY29sb3I6IGR5bmFtaWMtdGV4dCgkcHJpbWFyeS1jb2xvcik7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IDIuNDM4ZW07IC8vMzlweFxuICB9XG5cbiAgLnByb2R1Y3RfX3N1YnRpdGxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogZHluYW1pYy10ZXh0KCRwcmltYXJ5LWNvbG9yKTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMWVtOyAvLzE2cHhcbiAgfVxuXG4gIC5wcm9kdWN0X19wcml2YXRlLXRpdGxlIHtcbiAgICBjb2xvcjogZHluYW1pYy10ZXh0KCRwcmltYXJ5LWNvbG9yKTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIGkge1xuICAgICAgZm9udC1zaXplOiAxLjEyNWVtOyAvLzE4cHhcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG59XG5cbi8vIFBvcHMgb3BlbiB0aGUgdmVub2JveCB3aW5kb3dcbi8vIC0tLS0tLS0tLS0tLVxuXG4uYnRuLWludHJvLXZpZGVvIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJHRleHQtY29sb3ItbGlnaHQ7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbiAgZm9udC1zaXplOiAxZW07IC8vMTZweFxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkdGV4dC1jb2xvci1saWdodDtcbiAgICBiYWNrZ3JvdW5kOiAkdGV4dC1jb2xvci1saWdodDtcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgLmJ0bi1pbnRyby12aWRlbyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEycHhcbiAgfVxufVxuXG4vLyBDYWxsIHRvIGFjdGlvbiBibG9ja3MuIFRoZXkgbGlzdCBpbiB0aGUgcGFnZSBoZWFkZXIgYW5kIGluIGEgc2VjdGlvblxuLy8gaW5zaWRlIHRoZSBwYWdlIGJvZHkuXG4vLyAtLS0tLS0tLS0tLS1cblxuLnByb2R1Y3QtbWFpbi1jdGEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgLmJ0biB7XG4gICAgcGFkZGluZzogMTVweCA0MHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxLjI1MGVtOyAvLzIwcHhcbiAgfVxufVxuXG4ucHJvZHVjdC1ib2R5LWJ1dHRvbi1ibG9jayB7XG4gIC5idW5kbGUtY3RhLXRhZ2xpbmUge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgfVxufVxuXG4vLyBQcm9kdWN0IExhbmRpbmc6IFByb2R1Y3QgT3ZlcnZpZXdcbi8vIC0tLS0tLS0tLS0tLVxuXG4ucHJvZHVjdC1vdmVydmlldyB7XG4gIC8vIFRoaXMgY29udHJvbHMgdGhlIHdpZHRoIG9mIHRoZSBpbWFnZXMgcGVvcGxlIHB1dCBpbiB0aGUgcmVkYWN0b3IgYm94XG4gIC8vIG9uIHRoZSBjdXJyaWN1bHVtIGxhbmRpbmcgcGFnZVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5yZWFkbW9yZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnJlYWRtb3JlLXRvZ2dsZSB7XG4gICAgbWFyZ2luLXRvcDogMjZweDtcbiAgfVxufVxuXG4vLyBTaG93cyB1cCB1bmRlciB0aGUgY291cnNlIGRlc2NyaXB0aW9uIGFuZCBpcyBlZGl0YWJsZSBieSB0aGUgdXNlclxuLmNvdXJzZS1jb250YWN0LWluZm8ge1xuICBtYXJnaW46IDA7XG5cbiAgcCB7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG4gIH1cbn1cblxuLy8gUHJvZHVjdCBMYW5kaW5nOiBDb3Vyc2UgUmV2aWV3c1xuLy8gLS0tLS0tLS0tLS0tXG5cbi5jb3Vyc2UtcmV2aWV3X19jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiA0OHB4O1xuXG4gICY6bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5jb3Vyc2UtcmV2aWV3X19uYW1lIHtcbiAgbWFyZ2luLWJvdHRvbTogMThweDtcbn1cblxuLmNvdXJzZS1yZXZpZXdfX3N0YXJzIHtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbn1cblxuLmNvdXJzZS1yZXZpZXdfX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLnJldmlldy1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8gUHJvZHVjdCBMYW5kaW5nOiBDaGFwdGVyL0N1cnJpY3VsdW0gc2VjdGlvblxuLy8gLS0tLS0tLS0tLS0tXG5cbi5jaGFwdGVyLWluZm8ge1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIDVweCA1cHggMDtcbiAgICBwYWRkaW5nOiAycHggMTBweCAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbC1saWdodC0yO1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgfVxuXG4gIGkge1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBmb250LXNpemU6IDEuMTI1ZW07IC8vMThweFxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICBzcGFuIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMC42ODhlbTsgLy8xMXB4XG4gIH1cbn1cblxuLnRvZ2dsZS1jb250ZW50IHtcbiAgcGFkZGluZzogNXB4IDA7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLWxpZ2h0LTI7XG4gIGNvbG9yOiBkYXJrZW4oJGNvbG9yLW5ldXRyYWwtbGlnaHQtMiwgNTAlKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAwLjgxM2VtOyAvLzEzcHhcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cblxuLy8gTGFiZWwgdXNlZCB0byBzaG93IFwiRnJlZVwiIGNvbnRlbnQgb24gdGhlIGxhbmRpbmcgcGFnZXNcbi8vIC0tLS0tLS0tLS0tLVxuXG4ubGFiZWwge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAycHggNXB4O1xuICBtYXJnaW46IDAgNXB4O1xuICBmbG9hdDogbGVmdDtcbiAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gIGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbn1cblxuLmxhYmVsLWZyZWUge1xuICBiYWNrZ3JvdW5kOiAkc3VjY2Vzcy1ncmVlbjtcbiAgZmxvYXQ6IG5vbmU7XG59XG5cbi8vIFByb2R1Y3QgTGFuZGluZzogUHJvbW90aW9uc1xuLy8gVGhpcyBzaG93cyB1cCB3aGVuIHRoZSB1c2VyIGlzIGdpdmVuIGEgY291cG9uIGxpbmtcbi8vIGNvdXJzZS11cmwvP2NvdXBvbj0xMDBcbi8vIC0tLS0tLS0tLS0tLVxuXG4ucHJvZHVjdC1sYW5kaW5nIC5jb3Vyc2UtcHJvbW90aW9uIHtcbiAgcGFkZGluZzogMDtcblxuICAuY291cG9uIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMWVtOyAvLzE2cHhcbiAgfVxuXG4gIC52YWxpZC1jb3Vwb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzdWNjZXNzLWdyZWVuO1xuICAgIGNvbG9yOiBsaWdodGVuKCRzdWNjZXNzLWdyZWVuLCA1MCUpO1xuICB9XG5cbiAgLmludmFsaWQtY291cG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxlcnQteWVsbG93O1xuICAgIGNvbG9yOiBkYXJrZW4oJGFsZXJ0LXllbGxvdywgNTAlKTtcbiAgfVxufVxuXG4vLyBQcm9kdWN0IExhbmRpbmc6IE1lZGlhIFF1ZXJpZXNcbi8vIC0tLS0tLS0tLS0tLVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuXG4gIC5wcm9kdWN0LWxhbmRpbmcge1xuXG4gICAgc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgIH1cblxuICAgIHNlY3Rpb24gcCxcbiAgICBzZWN0aW9uIHVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45MzhlbTsgLy8xNXB4XG4gICAgfVxuXG4gICAgLnByb2R1Y3RfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS43NTBlbSAhaW1wb3J0YW50OyAvLzI4cHhcbiAgICB9XG5cbiAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgICAgZm9udC1zaXplOiAxLjc1MGVtICFpbXBvcnRhbnQ7IC8vMjhweFxuICAgIH1cblxuICAgIC50aXRsZS1ibG9jayB7XG4gICAgICB3aWR0aDogOTAlO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAucHJvZHVjdC1sYW5kaW5nIHtcbiAgICAucHJvZHVjdC1tYWluLWN0YSAuYnRuIHtcbiAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgICBmb250LXNpemU6IDEuMTI1ZW07IC8vMThweFxuICAgIH1cbiAgfVxufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAxMi4gRGVmYXVsdCAvIEhpZ2ggY29udmVyc2lvbiBsYW5kaW5nIHBhZ2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5oaWdoLWNvbnZlcnQtbGFuZGluZyAuYnRuLWludHJvLXZpZGVvIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLmhpZ2gtY29udmVydC1sYW5kaW5nIC5wcm9kdWN0LW1haW4tY3RhIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbn1cblxuLmhpZ2gtY29udmVydC1sYW5kaW5nIC5jb3Vyc2UtaW5zdHJ1Y3RvciB7XG4gIG1hcmdpbi10b3A6IDQ4cHg7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLWxpZ2h0LTI7XG4gIGNvbG9yOiAkdGV4dC1jb2xvcjtcblxuICAvLyBUaGlzIGNvbnRyb2xzIHRoZSB3aWR0aCBvZiB0aGUgaW1hZ2VzIHBlb3BsZSBwdXQgaW4gdGhlIHJlZGFjdG9yIGJveFxuICAvLyBvbiB0aGUgY3VycmljdWx1bSBsYW5kaW5nIHBhZ2VcbiAgLy8gLS0tLS0tLS0tLS0tLS1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuaW5zdHJ1Y3Rvcl9faW1nLXdyYXAge1xuICAgIG1hcmdpbi10b3A6IC0xMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAuaW5zdHJ1Y3Rvcl9faW1nIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBoZWlnaHQ6IDE2MnB4O1xuICAgIHdpZHRoOiAxNjJweDtcbiAgICBib3JkZXI6IDVweCBzb2xpZCAjZmZmZmZmO1xuICB9XG5cbiAgLmluc3RydWN0b3JfX2RldGFpbHMge1xuICAgIG1hcmdpbi1ib3R0b206IDM2cHg7XG4gIH1cblxuICAuaW5zdHJ1Y3Rvcl9fbmFtZSB7XG4gICAgZm9udC1zaXplOiAxLjI1MGVtOyAvLzIwcHhcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5pbnN0cnVjdG9yX190aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi8vIEhpZ2ggQ29udmVyc2lvbiBsYW5kaW5nOiBDb3Vyc2UgQ3VycmljdWx1bVxuLy8gLS0tLS0tLS0tLS0tLS1cblxuLmhpZ2gtY29udmVydC1sYW5kaW5nIC5jb3Vyc2UtY3VycmljdWx1bSB7XG4gIGJhY2tncm91bmQ6IGRhcmtlbigkY29sb3ItbmV1dHJhbC1saWdodC0yLCA1JSk7XG5cbiAgLnNlY3Rpb24tdGl0bGUge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgfVxuXG4gIC8vIFN0eWxlcyBjaGFwdGVyIGJsb2NrIGluIHRoZSBjdXJyaWN1bHVtIGxpc3RcbiAgLmN1cnJpY3VsdW0tY2hhcHRlciB7XG4gICAgbWFyZ2luOiAwIDAgMTBweCAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBDb250YWluZXIgZm9yIHRoZSBjaGFwdGVyIGhlYWRlclxuICAuY3VycmljdWx1bS1jaGFwdGVyLWhlYWRlciB7XG4gICAgcGFkZGluZzogMTBweCAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWltcG9ydGFudDtcblxuICAgIC5jaGFwdGVyLXRpbWUge1xuICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmNoYXB0ZXItaGVhZGVyIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogZHluYW1pYy10ZXh0KCRwcmltYXJ5LWNvbG9yKTtcbiAgfVxuXG4gIC5jaGFwdGVyLWxpc3QtaXRlbV9fbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLWxpZ2h0LTI7XG4gICAgfVxuICB9XG5cbiAgLmNoYXB0ZXItbGlzdC1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogNXB4IDQ1cHggNXB4IDE1cHg7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuXG4gICAgaSB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjI1MGVtOyAvLzIwcHhcbiAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBUaGlzIGlzIHRoZSBidXR0b24gdGhhdCBvcGVuIHVwIHRoZSBjaGFwdGVyIGNvbnRlbnRzIGxpc3RcbiAgLmNoYXB0ZXItdG9nZ2xlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICB9XG5cbiAgLmNvdXJzZS1tYWluLWN0YSB7XG4gICAgcGFkZGluZy10b3A6IDM2cHg7XG4gIH1cbn1cblxuLy8gSGlnaCBDb252ZXJzaW9uIGxhbmRpbmc6IE1lZGlhIFF1ZXJpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuXG4gIC5oaWdoLWNvbnZlcnQtbGFuZGluZyB7XG5cbiAgICAuY291cnNlLWluc3RydWN0b3Ige1xuICAgICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICB9XG5cbiAgICAuaW5zdHJ1Y3Rvcl9faW1nLXdyYXAge1xuICAgICAgbWFyZ2luLXRvcDogLTgwcHg7XG4gICAgfVxuXG4gICAgLmluc3RydWN0b3JfX2ltZyB7XG4gICAgICBoZWlnaHQ6IDEwOHB4O1xuICAgICAgd2lkdGg6IDEwOHB4O1xuICAgIH1cblxuICAgIC5jdXJyaWN1bHVtLWNoYXB0ZXItaGVhZGVyIHtcbiAgICAgIHBhZGRpbmc6IDVweCAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnRvZ2dsZS1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY291cnNlLWN1cnJpY3VsdW0gIC5jaGFwdGVyLXRpbWUge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gMTMuIEN1cnJpY3VsdW0gTGFuZGluZyBwYWdlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uY3VycmljdWx1bS1sYW5kaW5nIHtcbiAgLmNvdXJzZS1hY3Rpb25zIHtcbiAgICBwYWRkaW5nOiAyNXB4IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1uZXV0cmFsO1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLWxpZ2h0LTI7XG4gIH1cblxuICAuc2VjdGlvbi10aXRsZSB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICB9XG5cbiAgLmJ0bi1pbnRyby12aWRlbyB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxuXG4gIC8vIE1ha2VzIHRoZSB0d28gY29sdW1ucyBsb29rIGxpa2UgdGhleSBtYXRjaFxuICAvLyAtLS0tLS0tLS0tLS0tLS1cblxuICAuY291cnNlLWJvZHkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5zaWRlYmFyLWZpbGxlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkY29sb3ItbmV1dHJhbDtcbiAgfVxuXG4gIC8vIEN1cnJpY3VsdW0gTGFuZGluZzogQ291cnNlIEluY2x1ZGVzIExpc3RcbiAgLy8gU2hvd3MgdGhlIGxpdHRsZSAxIHZpZGVvLCAxIHRleHQsIGFuZCBjb3Vyc2UgdGltZSBlbGVtZW50c1xuICAvLyAtLS0tLS0tLS0tLS0tLS1cblxuICAuY291cnNlLWluY2x1ZGVzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuXG4gICAgdWwge1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gICAgICBwYWRkaW5nOiA1cHggNnB4IDNweCA0cHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItbmV1dHJhbDtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTNlbTsgLy8xM3B4XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpIHtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXNpemU6IDEuMTI1ZW07IC8vMThweFxuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC8vIEN1cnJpY3VsdW0gTGFuZGluZzogQ291cnNlIEN1cnJpY3VsdW1cbiAgLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiAgLmNvdXJzZS1jdXJyaWN1bHVtIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB9XG5cbiAgLmN1cnJpY3VsdW0tY2hhcHRlciArIC5jdXJyaWN1bHVtLWNoYXB0ZXIge1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gIH1cblxuICAuY2hhcHRlci10b2dnbGUge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLW5ldXRyYWw7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgfVxuXG4gIC8vIENvbnRhaW5lciBmb3IgdGhlIGNoYXB0ZXIgaGVhZGVyXG4gIC5jdXJyaWN1bHVtLWNoYXB0ZXItaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHggIWltcG9ydGFudDtcblxuICAgIC5jaGFwdGVyLXRpbWUge1xuICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmNoYXB0ZXItaGVhZGVyIHtcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gIC5jaGFwdGVyLWxpc3Qge1xuICAgIHBhZGRpbmc6IDVweCAwO1xuICB9XG5cbiAgLmNoYXB0ZXItbGlzdC1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogNXB4IDQ1cHggNXB4IDE1cHg7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogMC44NzVlbTsgLy8xNHB4XG5cbiAgICBpIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgcmlnaHQ6IDI1cHg7XG4gICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICBmb250LXNpemU6IDEuMjUwZW07IC8vMjBweFxuICAgIH1cbiAgfVxuXG4gIC5jaGFwdGVyLXRpbWUge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuICAgIGZvbnQtc2l6ZTogMC44NzVlbTsgLy8xNHB4XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLy8gQ3VycmljdWx1bSBMYW5kaW5nOiBDb3Vyc2UgRGV0YWlscyBTaWRlYmFyXG4gIC8vIC0tLS0tLS0tLS0tLS0tLVxuXG4gIC5jb3Vyc2UtZGV0YWlscyB7XG4gICAgcGFkZGluZzogMCAwIDQwcHggMThweDtcblxuICAgIC5wcm9kdWN0LW92ZXJ2aWV3LFxuICAgIC5jb3Vyc2UtaW5zdHJ1Y3RvciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0OHB4O1xuICAgIH1cblxuICAgIC8vIFRoaXMgZ2V0cyBHb29nbGUgdG8gZmFsbCBpbnRvIHBsYWNlXG4gICAgLnNvY2lhbC1pY29ucyB7XG4gICAgICBmb250LXNpemU6IDFweDtcblxuICAgICAgLy8gVGhpcyBnZXRzIEZhY2Vib29rIHRvIGZhbGwgaW50byBwbGFjZVxuICAgICAgaWZyYW1lIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXQgYW4gb3B0aW9uYWwgd2lkdGggZm9yIHlvdXIgYnV0dG9uIHdyYXBwZXJzXG4gICAgLnNoYXJlLWJ0biB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogNzVweDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLmxlc3Mge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGhlaWdodDogMjcwcHg7XG4gICAgfVxuICB9XG5cbiAgLmNvdXJzZS1kZXRhaWxzX19zZWN0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0OHB4O1xuICB9XG5cbiAgLmluc3RydWN0b3JfX2RldGFpbHMge1xuICAgIEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG4gICAgQGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxuXG4gIC5pbnN0cnVjdG9yX19pbWcge1xuICAgIHdpZHRoOiA3MHB4O1xuICAgIGhlaWdodDogNzBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLW5ldXRyYWw7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB9XG5cbiAgLy8gQ3VycmljdWx1bSBMYW5kaW5nOiBNdWx0aS1wcm9kdWN0c1xuICAvLyAtLS0tLS0tLS0tLS0tLS1cblxuICAubXVsdGktcHJvZHVjdF9fZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG5cbiAgICAucHJpY2Uge1xuICAgICAgZm9udC1zaXplOiAxZW07IC8vMTZweFxuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IDAuODc1ZW07IC8vMTRweFxuICAgIH1cbiAgfVxuXG4gIC8vIEN1cnJpY3VsdW0gTGFuZGluZzogTWVkaWEgUXVlcmllc1xuICAvLyAtLS0tLS0tLS0tLS0tLS1cblxuICBAbWVkaWEgb25seSBzY3JlZW5cbiAgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gICAgLmNvdXJzZS1ib2R5IHtcbiAgICAgIC5jb3Vyc2UtY3VycmljdWx1bSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvdXJzZS1jdXJyaWN1bHVtIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLmNvdXJzZS1kZXRhaWxzIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLnNpZGViYXItZmlsbGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuXG4gIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgIC5jaGFwdGVyLXRpbWUge1xuICAgICAgZmxvYXQ6IG5vbmU7XG5cbiAgICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuXG4gIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgIC5jb3Vyc2UtaW5jbHVkZXMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICB9XG5cbiAgICAuY291cnNlLWFjdGlvbnMge1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gMTQuIEJ1bmRsZSBMYW5kaW5nIFBhZ2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJ1bmRsZSBjb250ZW50IGlzIHRoZSBsaXN0IG9mIFByb2R1Y3RzIHRoYXQgbWFrZXMgdXAgdGhlIGJ1bmRsZS5cbi8vIFdlIGRpZG4ndCB1c2Ugbm9ybWFsIGNvdXJzZSBjYXJkcyBiZWNhdXNlIHNvbWVvbmUgbWlnaHQgaGF2ZSBtb3JlIHRoYW4gNTArXG4vLyBjb3Vyc2VzIHdoaWNoIG1ha2VzIGZvciBhIHZlcnkgbG9uZyBwYWdlLlxuLy8gLS0tLS0tLS0tLS0tLS1cblxuLmJ1bmRsZS1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWwtbGlnaHQtMjtcblxuICAuc2VjdGlvbi10aXRsZSB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICB9XG59XG5cbi8vIGEgc2luZ2xlIGxpbmUgdGhhdCBzaXRzIHVuZGVyIHRoZSBidXR0b24uIEtpbmQgb2YgYSBsaXR0bGUgZXh0cmEgdXBzZWxsXG4uYnVuZGxlLWN0YS10YWdsaW5lIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgY29sb3I6IGR5bmFtaWMtdGV4dCgkcHJpbWFyeS1jb2xvcik7XG59XG5cbi5idW5kbGUtY29udGVudF9faXRlbSB7XG4gIEBpbmNsdWRlIGNhcmQ7XG4gIHBhZGRpbmc6IDEwcHg7XG5cbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgZGlzcGxheShmbGV4KTtcbiAgICBAaW5jbHVkZSBhbGlnbi1pdGVtcyhjZW50ZXIpO1xuICB9XG59XG5cbi5idW5kbGUtY29udGVudF9faXRlbS1pbWcge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmJ1bmRsZS1jb250ZW50X19pdGVtLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjEyNWVtOyAvLzE4cHhcbn1cblxuLmJ1bmRsZS1jb250ZW50X19pdGVtICsgLmJ1bmRsZS1jb250ZW50X19pdGVtLFxuLmJ1bmRsZS1jb250ZW50X19pdGVtICsgLmJ1bmRsZS1jb3Vyc2UtLWhpZGRlbixcbi5idW5kbGUtY291cnNlLS1oaWRkZW4gKyAuYnVuZGxlLWNvdXJzZS0taGlkZGVuIHtcbiAgbWFyZ2luLXRvcDogMTJweDtcbn1cblxuLmJ1bmRsZS1zZWUtbW9yZS1jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDMycHg7XG59XG5cblxuLy8gQnVuZGxlIExhbmRpbmcgUGFnZTogTWVkaWEgUXVlcmllc1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcblxuICAuYnVuZGxlLWNvbnRlbnRfX2l0ZW0tdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMWVtOyAvLzE2cHg7XG4gIH1cbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gMTUuIE11bHRpIFByb2R1Y3RzXG4vLyBJZiBhbiBhZG1pbiBzZWxscyBtdWx0aXBsZSBwcm9kdWN0cyBvbiBhIHNpbmdsZSBsYW5kaW5nIHBhZ2UgeW91IHdpbGwgZ2V0XG4vLyB0aGlzIHNlY3Rpb25cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLm11bHRpLXByb2R1Y3RzLFxuLmNvdXJzZS1tdWx0aS1wcm9kdWN0cyB7XG5cbiAgLm11bHRpLXByb2R1Y3RfX2l0ZW0ge1xuICAgIEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG4gICAgbWFyZ2luOiAwIDAgNnB4IDA7XG4gIH1cblxuICAubXVsdGktcHJvZHVjdF9fYnV5IHtcbiAgICBAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAubXVsdGktcHJvZHVjdF9fY3RhIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG4gICAgQGluY2x1ZGUgYWxpZ24taXRlbXMgKGNlbnRlcik7XG4gICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50IChjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGZsZXgoMSk7XG4gICAgZm9udC1zaXplOiAxZW07IC8vMTZweFxuICB9XG5cbiAgLm11bHRpLXByb2R1Y3RfX2Rlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nOiAxMHB4IDE4cHg7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWwtbGlnaHQtMjtcblxuICAgIC5wcmljZSB7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTXVsdGkgUHJvZHVjdHM6IE1lZGlhIFF1ZXJpZXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG5cbiAgLm11bHRpLXByb2R1Y3RzLFxuICAuY291cnNlLW11bHRpLXByb2R1Y3RzIHtcblxuICAgIC5tdWx0aS1wcm9kdWN0X19pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICB9XG5cbiAgICAubXVsdGktcHJvZHVjdF9fY3RhIHtcbiAgICAgIHBhZGRpbmc6IDNweDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gMTcuIFNpZ24gdXAgLyBTaWduIGluXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4udXNlci1zaWduLXVwIHtcblxuICAuc2VjdGlvbi10aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cblxuICAuc2lnbl91cF9fb3IsXG4gIC5zaWduX2luX19vciB7XG4gICAgbWFyZ2luOiAxNXB4IGF1dG87XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLmhlbHAtYmxvY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuaGFzLWVycm9yIC5oZWxwLWJsb2NrIHtcbiAgICBmb250LXNpemU6IDAuNzUwZW07IC8vMTJweFxuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLmNoZWNrYm94IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAucmVtZW1iZXItbWUtbGluayB7XG4gICAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gIH1cblxuICAuYnRuLXByaW1hcnkge1xuICAgIGZvbnQtc2l6ZTogMWVtOyAvLzE2cHhcbiAgICBwYWRkaW5nOiA4cHggMDtcbiAgfVxufVxuXG4vLyBMaW5rZWRpbiBidXR0b24gYW5kIGFueSBvdGhlciBzb2NpYWwvbG9naW4gYnV0dG9uc1xuLnVzZXItc2lnbi11cF9fYWx0LWxvZ2lucyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAuYnRuICsgLmJ0biB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIH1cbn1cblxuLnVzZXItc2lnbi11cF9fYm90dG9tIHtcbiAgcGFkZGluZzogMzBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGEge1xuICAgIGZvbnQtc2l6ZTogMC45MzhlbTsgLy8xNXB4XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG4vLyBTaWduIGluL1NpZ24gdXA6IE1lZGlhIFF1ZXJpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG5cbiAgLnVzZXItc2lnbi11cCB7XG4gICAgLnJlbWVtYmVyLW1lLWxpbmssXG4gICAgLmZvcmdvdC1wYXNzd29yZCB7XG4gICAgICBmb250LXNpemU6IDAuODc1ZW07IC8vMTRweFxuICAgIH1cbiAgfVxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG5cbiAgLnVzZXItc2lnbi11cF9fYWx0LWxvZ2lucyB7XG4gICAgLmJ0biArIC5idG4ge1xuICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICAxOC4gQWxsIENvdXJzZXMvU3R1ZGVudCBEYXNoYm9hcmRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5wcm9kdWN0c19fZmlsdGVycyB7XG4gIG1hcmdpbi1ib3R0b206IDM1cHg7XG5cbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBhcHBlYXJhbmNlKG1lbnVsaXN0KTtcbiAgfVxuXG4gIFt0eXBlPVwic2VhcmNoXCJde1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi8vIFN0dWRlbnQgRGFzaGJvYXJkIChlbnJvbGxtZW50cylcbi8vIC0tLS0tLS0tLS0tLS1cblxuLnN0dWRlbnQtZGFzaGJvYXJkX19oZXJvIHtcbiAgcGFkZGluZzogNDBweCAzMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLW5ldXRyYWwtbGlnaHQtMTtcbn1cblxuLnN0dWRlbnQtZGFzaGJvYXJkX190aXRsZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGZvbnQtc2l6ZTogMS44NzVlbTsgLy8zMHB4XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG59XG5cbi8vIEFsbCBDb3Vyc2VzL1N0dWRlbnQgRGFzaGJvYXJkOiBNZWRpYSBRdWVyaWVzXG4vLyAtLS0tLS0tLS0tLS0tXG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG5cbiAgLnByb2R1Y3RzX19maWx0ZXItYm94IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG5cbiAgLnN0dWRlbnQtZGFzaGJvYXJkX19oZXJvIHtcbiAgICBwYWRkaW5nOiAyMHB4IDE1cHg7XG4gIH1cblxuICAuc3R1ZGVudC1kYXNoYm9hcmRfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDEuNjI1ZW07IC8vMjZweFxuICB9XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICAxOS4gQ2hlY2tvdXRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5jaGVja291dC1mb3JtLWNvbnRhaW5lcl9faW5uZXIge1xuICBAaW5jbHVkZSBjYXJkO1xuICBwYWRkaW5nOiAyMHB4O1xufVxuXG4uY2hlY2tvdXQtZm9ybV9fYm9keSB7XG4gIC5zZWN0aW9uLXRpdGxlIHtcbiAgICBtYXJnaW46IDAgMCAyNXB4IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgZm9udC1zaXplOiAxLjI1MGVtOyAvLzIwcHhcbiAgfVxufVxuXG4uY2hlY2tvdXQtZm9ybV9fYm90dG9tIHtcbiAgcGFkZGluZy10b3A6IDI1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBhIHtcbiAgICBjb2xvcjogJGxpbmstY29sb3I7XG4gIH1cbn1cblxuLmNoZWNrb3V0LWZvcm1fX3B1cmNoYXNlIHtcbiAgcGFkZGluZzogMCAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jaGVja291dC1mb3JtX19wdXJjaGFzZS1pbWcge1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIG1heC13aWR0aDogMTgwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLmNoZWNrb3V0LWZvcm1fX3B1cmNoYXNlLWRlc2NyaXB0aW9uIHtcbiAgbWF4LXdpZHRoOiA5MCU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBmb250LXNpemU6IDEuMDYzZW07IC8vMTdweFxufVxuXG4vLyBUaGUgc2VjdXJlIGNoZWNrb3V0IGltYWdlcyBvbiB0aGUgYm90dG9tIGxlZnRcbi5vcmRlci1zZWN1cml0eSB7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uY291cG9uLWZvcm1fX2NvdXBvbi1jb2RlIHtcbiAgW3R5cGU9XCJ0ZXh0XCJde1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi8vIEVuc3VyZSB0aGFua3lvdSBwYWdlIHRyYWNraW5nIHBpeGVsIGlzIG5vdCB2aXNpYmxlXG5pbWdbc3JjKj1cImdvb2dsZWFkc2VydmljZXMuY29tXCJdIHtcbiAgcG9zaXRpb246YWJzb2x1dGU7XG4gIHRvcDogLTJweDtcbiAgbGVmdDogLTJweDtcbn1cblxuLy8gQ2hlY2tvdXQ6IFByb2dyZXNzIGJhclxuLy8gLS0tLS0tLS0tLS0tLVxuXG4jcHJvZ3Jlc3NiYXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAwIGF1dG8gMjVweDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDcwJTtcbiAgY291bnRlci1yZXNldDogc3RlcDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuI3Byb2dyZXNzYmFyIGxpIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBjb2xvcjogJHRleHQtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAwLjY4OGVtOyAvLzExcHhcbiAgd2lkdGg6IDUwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcblxuICAmOmJlZm9yZSB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGNvbnRlbnQ6IGNvdW50ZXIoc3RlcCk7XG4gICAgY291bnRlci1pbmNyZW1lbnQ6IHN0ZXA7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMC44MTNlbTsgLy8xM3B4XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICNkYWRhZGE7XG4gICAgbWFyZ2luOiAwIGF1dG8gNXB4IGF1dG87XG4gICAgei1pbmRleDogMjtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQ6ICNkYWRhZGE7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IGNhbGMoIC01MCUgKyAxMHB4KTtcbiAgICB0b3A6IDlweDtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuXG4gICY6Zmlyc3QtY2hpbGQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IG5vbmU7XG4gIH1cblxuICAmLmFjdGl2ZTpiZWZvcmUsXG4gICYuYWN0aXZlOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgfVxufVxuXG5cbi8vIENoZWNrb3V0OiBDb25maXJtIE9yZGVyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbi8vIExpc3Qgb2YgcHJvZHV0cyBiZWluZyBib3VnaHQgYW5kIHRoZWlyIHRvdGFsIHByaWNlXG4ub3JkZXItcHJvZHVjdF9fbGlzdCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVlbTsgLy8xOHB4XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5vcmRlci1wcm9kdWN0X190b3RhbC1hbW91bnQsXG4ub3JkZXItcHJvZHVjdF9fY291cG9uLW5hbWUge1xuICBwYWRkaW5nLXRvcDogMTJweDtcbn1cblxuLm9yZGVyLXByb2R1Y3RfX2NvdXBvbiB7XG5cbiAgLmNvdXBvbi1jaGVjayB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBmb250LXNpemU6IDFlbTsgLy8xNnB4XG4gIH1cblxuICAuY291cG9uIHtcbiAgICBwYWRkaW5nOiAxMHB4IDAgMjBweDtcbiAgfVxufVxuXG4vLyBDaGVja291dDogUGF5bWVudCBJbmZvXG4vLyAtLS0tLS0tLS0tLS0tXG5cbi5jaGVja291dC1hdXRoLWNvbnRhaW5lciB7XG5cbiAgLmNyZWRpdC1jYXJkIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcblxuICAgIC5idG4ge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG4gIH1cblxuICAuY3JlZGl0LWNhcmRfX2V4cGlyeS1kYXRlIHtcbiAgICAuZXhwaXJhdGlvbi1kYXRlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMXB4O1xuICAgIH1cbiAgfVxuXG4gIC5wYXlwYWwtYnV0dG9uLXJvdyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLnBheXBhbC1idXR0b24tcm93X190ZXh0IHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbWFyZ2luOiA1cHggMDtcbiAgfVxufVxuXG5cbi8vIENoZWNrb3V0OiBUaGFuayB5b3Vcbi8vIC0tLS0tLS0tLS0tLS1cblxuLmNoZWNrb3V0LXRoYW5reW91IC5tdWx0aS1wcm9kdWN0cyB7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xufVxuXG4uY2hlY2tvdXQtdGhhbmt5b3VfX2NvdXJzZSB7XG4gIHBhZGRpbmc6IDVweCAwO1xuXG4gICYgKyAmIHtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gIH1cblxuICAmOm50aC1vZi10eXBlKGV2ZW4pe1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLWxpZ2h0LTI7XG4gIH1cbn1cblxuLmNoZWNrb3V0LXRoYW5reW91X19jb3Vyc2UtbmFtZSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVlbTsgLy8xOHB4XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG59XG5cbi5jaGVja291dC1idW5kbGVfX21vcmVfZW5yb2xsbWVudHNfbGltaXQge1xuICBtYXJnaW46IDEwcHg7XG59XG5cblxuLy8gQ2hlY2tvdXQ6IFRoYW5rIHlvdVxuLy8gLS0tLS0tLS0tLS0tLVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAuY2hlY2tvdXQtdGhhbmt5b3VfX2NvdXJzZS1uYW1lLFxuICAuY2hlY2tvdXQtdGhhbmt5b3VfX2J1dHRvbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLmNoZWNrb3V0LXRoYW5reW91X19jb3Vyc2Uge1xuICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICAmOm50aC1vZi10eXBlKGV2ZW4pe1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBDaGVja291dDogRXJyb3JzXG4vLyAtLS0tLS0tLS0tLS0tXG5cbi5jaGVja291dC1hdXRoLWNvbnRhaW5lciB7XG4gICNsb2NhbC1wYXltZW50LWVycm9ycyxcbiAgI2NvdXBvbi1lcnJvcnMsXG4gIC5wYXltZW50LWVycm9ycyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBjb2xvcjogcmVkO1xuICB9XG5cbiAgLy8gRXJyb3JzIGZvciBiYWQgY3JlZGl0IGNhcmQgbnVtYmVyLCBvciBpbnZhbGlkIGV4cGlyYXRpb25cbiAgI2xvY2FsLXBheW1lbnQtZXJyb3JzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG5cbiAgI2NvdXBvbi1lcnJvcnMge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMC43NTBlbTsgLy8xMnB4XG4gIH1cbn1cblxuLmNoZWNrb3V0LWZvcm0ge1xuICAjZXJyb3JzIHtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVlbTsgLy8xNHB4XG4gICAgYmFja2dyb3VuZDogI2ZmZDRjYztcbiAgICBjb2xvcjogI2U3NTcyNTtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE0NSU7XG4gIH1cblxuICAuYWxlcnQtZXJyb3Ige1xuICAgIGZvbnQtc2l6ZTogMC43NTBlbTsgLy8xMnB4XG4gICAgY29sb3I6ICNlNzU3MjU7XG4gIH1cblxuICAuZXJyb3ItdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgfVxuXG4gIC5hbGVydC1lcnJvciBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxuXG4gIC5hbGVydC1oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmhhcy1lcnJvciAuZm9ybS1jb250cm9sIHtcbiAgICBib3JkZXItY29sb3I6ICNlNzU3MjU7XG4gIH1cbn1cblxuLmNoZWNrb3V0LWZvcm0gI2Vycm9ycyB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cblxuLy8gQ2hlY2tvdXQ6IE1lZGlhIFF1ZXJpZXNcbi8vIC0tLS0tLS0tLS0tLS1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgLmNvdXBvbi1mb3JtX19jb3Vwb24tYnV0dG9uIC5idG4ge1xuICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAuY3JlZGl0LWNhcmRfX2V4cGlyeS1kYXRlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgLmV4cGlyYXRpb24tZGF0ZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICAuY2hlY2tvdXQtZm9ybS1jb250YWluZXIge1xuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgfVxuXG4gICAgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjEyNWVtOyAvLzE4cHhcbiAgICB9XG4gIH1cblxuICAuY2hlY2tvdXQtZm9ybS1jb250YWluZXJfX2lubmVyIHtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICB9XG5cbiAgLmNvdXBvbi1mb3JtX19jb3Vwb24tY29kZSxcbiAgLmNvdXBvbi1mb3JtX19hcHBsaWVkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG5cbiAgLmNvdXBvbi1mb3JtX19jb3Vwb24tYnV0dG9uIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgIC5idG4ge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgIH1cbiAgfVxuXG4gICNwcm9ncmVzc2JhciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgIGxpOmJlZm9yZSB7XG4gICAgICB3aWR0aDogMTBweDtcbiAgICAgIGhlaWdodDogMTBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMHB4O1xuICAgICAgY29udGVudDogXCJcXDAwYTBcIjtcbiAgICB9XG5cbiAgICBsaTphZnRlciB7XG4gICAgICBsZWZ0OiBjYWxjKCAtNTAlICsgNXB4KTtcbiAgICAgIHRvcDogNXB4O1xuICAgIH1cbiAgfVxuXG4gIC5jaGVja291dC1mb3JtX19wdXJjaGFzZS1pbWcge1xuICAgIG1heC13aWR0aDogMTIwcHg7XG4gIH1cblxuICAuY2hlY2tvdXQtZm9ybV9fcHVyY2hhc2UtZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMC44NzVlbTsgLy8xNHB4XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgLm9yZGVyLXByb2R1Y3RfX2xpc3Qge1xuICAgIGZvbnQtc2l6ZTogMC44NzVlbTsgLy8xNHB4XG4gIH1cblxuICAub3JkZXItcHJvZHVjdF9fY291cG9uIC5jb3Vwb24tY2hlY2sge1xuICAgIGZvbnQtc2l6ZTogMC44NzVlbTsgLy8xNHB4XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgMjAuIENvdXJzZSBMYW5kaW5nIFBhZ2UgLSBWaWRlbyBDZW50cmljXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4udmlkZW8tbGFuZGluZyB7XG5cbiAgLnByb2R1Y3QtYmFubmVyIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogMTAwcHggMCAyNDBweDtcbiAgfVxuXG4gIC5wcm9kdWN0X190aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cblxuICAudGl0bGUtYmxvY2sge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIH1cblxuICAuZW1iZWQtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuZW1iZWQtY29udGFpbmVyIGlmcmFtZSxcbiAgLmVtYmVkLWNvbnRhaW5lciBvYmplY3QsXG4gIC5lbWJlZC1jb250YWluZXIgZW1iZWQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuY291cnNlLWRlc2NyaXB0aW9uIHtcbiAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmNvdXJzZS12aWRlbyB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBtYXJnaW46IC0yMDBweCBhdXRvIDYwcHg7XG4gICAgYm94LXNoYWRvdzogNXB4IDVweCAyOXB4IC02cHggcmdiYSgwLDAsMCwwLjM5KTtcbiAgfVxuXG4gIC5jb3Vyc2UtaW5zdHJ1Y3RvciB7XG4gICAgbWFyZ2luLXRvcDogNDhweDtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbC1saWdodC0yO1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcblxuICAgIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmluc3RydWN0b3JfX2ltZy13cmFwIHtcbiAgICBtYXJnaW4tdG9wOiAtMTU0cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLmluc3RydWN0b3JfX2RldGFpbHMge1xuICAgIG1hcmdpbi1ib3R0b206IDM2cHg7XG4gIH1cblxuICAuaW5zdHJ1Y3Rvcl9fbmFtZSB7XG4gICAgZm9udC1zaXplOiAxLjYyNWVtOyAvLzI2cHhcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAuaW5zdHJ1Y3Rvcl9fdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5pbnN0cnVjdG9yX19pbWcge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIGhlaWdodDogMTcwcHg7XG4gICAgd2lkdGg6IDE3MHB4O1xuICAgIGJveC1zaGFkb3c6IDVweCA1cHggMjlweCAtNnB4IHJnYmEoMCwwLDAsMC4yKTtcbiAgfVxuXG4gIC5jdXJyaWN1bHVtLWNoYXB0ZXIgKyAuY3VycmljdWx1bS1jaGFwdGVyIHtcbiAgICBtYXJnaW4tdG9wOiA0NXB4O1xuICB9XG5cbiAgLmNoYXB0ZXItbmFtZSB7XG4gICAgZm9udC1zaXplOiAxLjYyNWVtOyAvLzI2cHhcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cblxuICAuY2hhcHRlci10aW1lIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG5cbiAgLmNoYXB0ZXItbGlzdCB7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkY29sb3ItbmV1dHJhbC1saWdodC0xO1xuICB9XG5cbiAgLmNoYXB0ZXItbGlzdC1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogNHB4IDMwcHggNHB4IDE1cHg7XG5cbiAgICBpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAzcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5jb3Vyc2UtcmVsYXRlZC1wcm9kdWN0cyB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWwtbGlnaHQtMTtcbiAgfVxuXG4gIC5tdWx0aS1wcm9kdWN0X19pdGVtIHtcbiAgICBAaW5jbHVkZSBjYXJkO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAucHJpY2Uge1xuICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gIH1cblxuICAubXVsdGktcHJvZHVjdF9fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbn1cblxuXG4vLyBWaWRlbyBMYW5kaW5nIFBhZ2U6IE1lZGlhIFF1ZXJpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gIC52aWRlby1sYW5kaW5nIHtcblxuICAgIC5wcm9kdWN0LWJhbm5lciB7XG4gICAgICBwYWRkaW5nOiA1MHB4IDAgMjAwcHg7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gIC52aWRlby1sYW5kaW5nIHtcblxuICAgIC5wcm9kdWN0LWJhbm5lciB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDAgMTUwcHg7XG4gICAgfVxuXG4gICAgLmNvdXJzZS12aWRlbyB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWFyZ2luOiAtMTUwcHggYXV0byA0MHB4O1xuICAgIH1cblxuICAgIC5jdXJyaWN1bHVtLWNoYXB0ZXIgKyAuY3VycmljdWx1bS1jaGFwdGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBsaWdodGVuKCR0ZXh0LWNvbG9yLCA1NSUpO1xuICAgIH1cblxuICAgIC5jaGFwdGVyLW5hbWUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBmb250LXNpemU6IDEuMjUwZW07IC8vMjBweFxuICAgIH1cblxuICAgIC5jaGFwdGVyLWxpc3Qge1xuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgfVxuXG4gICAgLmNoYXB0ZXItbGlzdC1pdGVtIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG5cbiAgICAucHJvZHVjdF9fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG5cbiAgICAuaW5zdHJ1Y3Rvcl9faW1nLXdyYXAge1xuICAgICAgbWFyZ2luLXRvcDogLTEwMHB4O1xuICAgIH1cblxuICAgIC5pbnN0cnVjdG9yX19pbWcge1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgaGVpZ2h0OiAxMzBweDtcbiAgICAgIHdpZHRoOiAxMzBweDtcbiAgICAgIGJveC1zaGFkb3c6IDVweCA1cHggMjlweCAtNnB4IHJnYmEoMCwwLDAsMC4yKTtcbiAgICB9XG5cbiAgICAuaW5zdHJ1Y3Rvcl9fZGV0YWlscyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAudmlkZW8tbGFuZGluZyB7XG5cbiAgICAucHJvZHVjdC1iYW5uZXIge1xuICAgICAgcGFkZGluZzogMzBweCAwIDYwcHg7XG4gICAgfVxuXG4gICAgLmNvdXJzZS12aWRlbyB7XG4gICAgICB3aWR0aDogNzAlO1xuICAgICAgbWFyZ2luOiAtNTVweCBhdXRvIDMwcHg7XG4gICAgfVxuICB9XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIDIxLiBTdHVkZW50L0FmZmlsaWF0ZSBlZGl0IGFjY291bnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5zdHVkZW50LXByb2ZpbGUge1xuXG4gIC8vIFVwbG9hZCBzdHVkZW50IGluc3RydWN0b3IgaW1hZ2VcbiAgLmJ0bi11cGxvYWQge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmFjY291bnQtY29udGVudC1wcm9maWxlLWltZyB7XG4gICAgbWFyZ2luOiAyMHB4IDAgNDBweDtcblxuICAgIGltZyB7XG4gICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgIH1cbiAgfVxuXG4gICNmZWVkYmFjay1hcmVhIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gIH1cblxuICAjZXJyb3JfZXhwbGFuYXRpb24ge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmQ0Y2M7XG4gICAgY29sb3I6ICNlNzU3MjU7XG4gICAgcGFkZGluZzogMTJweCAzMHB4O1xuICAgIG1hcmdpbjogMCAwIDMwcHggMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgIGNvbG9yOiAjZTc1NzI1O1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIFN0dWRlbnQgZWRpdCBhY2NvdW50OiBDb250ZW50XG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4uYWNjb3VudC1jb250ZW50LFxuLmFmZmlsaWF0ZS1jb250ZW50IHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIEBpbmNsdWRlIGNhcmQ7XG4gIHBhZGRpbmc6IDIwcHg7XG5cbiAgLmFjY291bnQtY29udGVudC1mb290ZXIsXG4gIC5hZmZpbGlhdGUtY29udGVudC1mb290ZXIge1xuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICB9XG59XG5cbi5hY2NvdW50LWNvbnRlbnRfX2JhY2stbGluayB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuXG4vLyBTdHVkZW50IGVkaXQgYWNjb3VudDogQWNjb3VudCBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4uYWNjb3VudC1tZW51LFxuLmFmZmlsaWF0ZS1tZW51IHtcbiAgQGluY2x1ZGUgY2FyZDtcblxuICAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBwYWRkaW5nOiAxNXB4IDEwcHg7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgYS5saXN0LWdyb3VwLWl0ZW06aG92ZXIsXG4gIGEubGlzdC1ncm91cC1pdGVtOmZvY3VzIHtcbiAgICBjb2xvcjogJGxpbmstY29sb3I7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWwtbGlnaHQtMjtcbiAgfVxuXG4gIGEubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSxcbiAgYS5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmhvdmVyLFxuICBhLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6Zm9jdXMge1xuICAgIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbC1saWdodC0yO1xuICAgIGJvcmRlci1jb2xvcjogbm9uZTtcbiAgfVxuXG4gIC5iYWRnZSB7XG4gICAgYmFja2dyb3VuZDogJGxpbmstY29sb3I7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuICB9XG5cbiAgYS5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlID4gLmJhZGdlLFxuICAubmF2LXBpbGxzID4gLmFjdGl2ZSA+IGEgPiAuYmFkZ2Uge1xuICAgIGJhY2tncm91bmQ6ICRsaW5rLWNvbG9yO1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbiAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIDIyLiBGb3Jnb3QgUGFzc3dvcmRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5yZXNldC1wYXNzd29yZC1jb250YWluZXIge1xuICBAaW5jbHVkZSBjYXJkO1xuICBwYWRkaW5nOiAyMHB4O1xuXG4gIC5yZXNldC1wYXNzd29yZF9fdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICAyMy4gU2luZ2xlIFRhc2sgVmlld1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnNpbmdsZS10YXNrLXZpZXcge1xuICBiYWNrZ3JvdW5kOiAjZjRmNWY3IGltYWdlLXVybChcImRlZmF1bHRzL2JnLXNoYXBlcy1ncmV5LnBuZ1wiKSB0b3AgbGVmdDtcbiAgb3ZlcmZsb3cteTogYXV0bztcblxuICAuY29udGFpbmVyIHtcbiAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgIC50aGlua2lmaWMtbG9nbyB7XG4gICAgICB3aWR0aDogMTUwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5zaW5nbGUtdGFzay12aWV3X19jYXJkIHtcbiAgICBAaW5jbHVkZSBjYXJkO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gIH1cblxuICAuc2luZ2xlLXRhc2stdmlld19fdGl0bGUge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIG1hcmdpbi1ib3R0b206IDAuNmVtO1xuICB9XG5cbiAgLnNpbmdsZS10YXNrLXZpZXdfX3N1YnRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuXG4gIC5zaW5nbGUtdGFzay12aWV3ICB7XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICB9XG4gIH1cbn1cblxuXG5cbiAgICAuaG9yaXpvbi0xLTYtMXYxLTAtMCB7XG4vLyBCYXNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ29sb3JzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGJhc2Utd2hpdGU6ICNmZmZmZmY7XG4kYmFzZV9fYmFja2dyb3VuZDogJGJhc2Utd2hpdGU7XG4kYmFzZV9fY29sb3I6ICM2MzYzNjM7XG5cbiRhY2NlbnQtcHJpbWFyeTogIzVhODFmYzsgXHRcdFx0Ly8gYnJpZ2h0IGJsdWVcbiRhY2NlbnQtc2Vjb25kYXJ5OiAjZmY4ZDRlOyBcdFx0Ly8gcGFsZSBibHVlXG4kYWNjZW50LXRlcnRpYXJ5OiAjNWM4NGY4O1x0XHRcdC8vIGRhcmsgYmx1ZVxuXG4vLyBCdXR0b25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGJ0bi1wcmltYXJ5X19iYWNrZ3JvdW5kOiAkYWNjZW50LXByaW1hcnk7XG4kYnRuLXByaW1hcnlfX2NvbG9yOiAkYmFzZS13aGl0ZTtcbiRidG4tcHJpbWFyeV9fYmFja2dyb3VuZC0taG92ZXI6IGRhcmtlbigkYnRuLXByaW1hcnlfX2JhY2tncm91bmQsIDEwJSk7XG4kYnRuLXByaW1hcnlfX2JhY2tncm91bmQtLWFjdGl2ZTogJGJ0bi1wcmltYXJ5X19iYWNrZ3JvdW5kLS1ob3ZlcjtcblxuJGJ0bi1zZWNvbmRhcnlfX2JhY2tncm91bmQ6ICRhY2NlbnQtc2Vjb25kYXJ5O1xuJGJ0bi1zZWNvbmRhcnlfX2NvbG9yOiAkYmFzZS13aGl0ZTtcbiRidG4tc2Vjb25kYXJ5X19iYWNrZ3JvdW5kLS1ob3ZlcjogZGFya2VuKCRidG4tc2Vjb25kYXJ5X19iYWNrZ3JvdW5kLCAxMCUpO1xuJGJ0bi1zZWNvbmRhcnlfX2JhY2tncm91bmQtLWFjdGl2ZTogJGJ0bi1zZWNvbmRhcnlfX2JhY2tncm91bmQtLWhvdmVyO1xuXG4kYnRuLWJvcmRlci1yYWRpdXM6IDUwMHB4O1xuXG4vLyBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRoZWFkaW5nc19faDEtZGVjb3JhdGlvbi1iYWNrZ3JvdW5kOiAjNjNjNmQyO1xuJGhlYWRpbmdzX19oMS1jb2xvci0tbGlnaHQ6ICNlNmY4ZmY7XG5cbiRsaW5rc19fY29sb3I6ICM1Yzg0Zjg7XG4kdGV4dF9fY29sb3ItLWxpZ2h0OiAkYmFzZS13aGl0ZTtcblxuXG4vLyBTZWN0aW9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEhlYWRlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kaGVhZGVyX19jb2xvcjogJGJhc2Utd2hpdGU7XG5cbi8vIEludHJvIFZpZGVvXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRidG4taW50cm8tdmlkZW9fX2NvbG9yOiAkYmFzZS13aGl0ZTtcbiRidG4taW50cm8tdmlkZW9fX2JhY2tncm91bmQ6IHJnYmEoMjEsNzAsODYsMC4zKTtcbiRidG4taW50cm8tdmlkZW9fX2hvdmVyOiAkYWNjZW50LXByaW1hcnk7XG4kYnRuLWludHJvLXZpZGVvX19hY3RpdmU6ICRidG4taW50cm8tdmlkZW9fX2hvdmVyO1xuJGJ0bi1pbnRyby12aWRlb19fYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjIpO1xuLy8gTW9iaWxlXG4kYnRuLWludHJvLXZpZGVvX19iYWNrZ3JvdW5kLS1tb2JpbGU6ICNmMmYyZjI7XG4kYnRuLWludHJvLXZpZGVvX19idXR0b24tLW1vYmlsZTogJGFjY2VudC1zZWNvbmRhcnk7XG4kYnRuLWludHJvLXZpZGVvX19idXR0b24tY29sb3ItLW1vYmlsZTogJGJhc2Utd2hpdGU7IFxuXG4vLyBSZXZpZXdzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRjb3Vyc2UtcmV2aWV3X19iYWNrZ3JvdW5kOiAkYmFzZS13aGl0ZTtcbiRjb3Vyc2UtcmV2aWV3LWNvbnRhaW5lcl9fYmFja2dyb3VuZDogJGJhc2Utd2hpdGU7XG4kY291cnNlLXJldmlldy1uYW1lX19iYWNrZ3JvdW5kOiAjZjhmOGY4O1xuJGNvdXJzZS1yZXZpZXctYnV0dG9uX19jb2xvcjogJGxpbmtzX19jb2xvcjtcblxuLy8gSW5zdHJ1Y3RvclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kY291cnNlLWluc3RydWN0b3JfX2JhY2tncm91bmQ6IG5vbmU7XG4kY291cnNlLWluc3RydWN0b3JfX2JhY2tncm91bmQtLWJyZWFrcG9pbnQtc21hbGw6ICRiYXNlLXdoaXRlO1xuXG4vLyBQcm9kdWN0IE92ZXJ2aWV3XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRwcm9kdWN0LW92ZXJ2aWV3X19iYWNrZ3JvdW5kOiAkYmFzZS13aGl0ZTtcblxuLy8gUmVsYXRlZCBQcm9kdWN0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kcmVsYXRlZC1wcm9kdWN0c19fYmFja2dyb3VuZDogJGFjY2VudC10ZXJ0aWFyeTtcbiRyZWxhdGVkLXByb2R1Y3RzLXByb2R1Y3QtaXRlbV9fYmFja2dyb3VuZDogJGJhc2Utd2hpdGU7XG4kcmVsYXRlZC1wcm9kdWN0c19fdGl0bGU6ICRiYXNlLXdoaXRlO1xuJHJlbGF0ZWQtcHJvZHVjdHNfX2J1dHRvbi1iYWNrZ3JvdW5kOiAkYWNjZW50LXNlY29uZGFyeTtcbiRyZWxhdGVkLXByb2R1Y3RzX19idXR0b24tY29sb3I6ICRiYXNlLXdoaXRlO1xuJHJlbGF0ZWQtcHJvZHVjdHNfX3NlY3Rpb24tdGl0bGU6ICRiYXNlLXdoaXRlO1xuXG4vLyBDb3Vwb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGNvdXBvbl9fYmFja2dyb3VuZDogJGFjY2VudC10ZXJ0aWFyeTtcbiRjb3Vwb24taW52YWxpZF9fYmFja2dyb3VuZDogI2Q1MGQ1NztcblxuLy8gQ291cnNlIEJlbmVmaXRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRjb3Vyc2UtYmVuZWZpdHNfX2JhY2tncm91bmQ6ICMxMDQxNTU7XG5cbi8vIENvdXJzZSBDb250ZW50c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kY291cnNlLWNvbnRlbnRzX19iYWNrZ3JvdW5kOiAjZjJmMmYyO1xuJGNvdXJzZS1jb250ZW50cy1pbm5lcl9fYmFja2dyb3VuZDogJGJhc2Utd2hpdGU7XG4kY291cnNlLWNvbnRlbnRzX19pY29uLWNvbG9yOiAkYWNjZW50LXByaW1hcnk7XG4kY2hhcHRlci10aW1lX19iYWNrZ3JvdW5kOiAkYWNjZW50LXByaW1hcnk7XG5cbi8vIENvdXJzZSBDdXJyaWN1bHVtXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRjb3Vyc2UtY3VycmljdWx1bS1oZWFkZXJfX2JvcmRlcjogMXB4IHNvbGlkICNlN2U3ZTc7XG4kbGFiZWwtZnJlZV9fYmFja2dyb3VuZDogJGFjY2VudC1wcmltYXJ5O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIDIzLiBNb3VudGFpbiBMYW5kaW5nXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBiYWNrZ3JvdW5kOiAkYmFzZV9fYmFja2dyb3VuZDtcbi8vIGNvbG9yOiAkYmFzZV9fY29sb3I7XG4vLyBsaW5lLWhlaWdodDogMS41O1xuXG5AaW1wb3J0ICdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9UmFsZXdheSc7XG5cbi8qIE1vdW50YWluIFRoZW1lOiBHbG9iYWxcbi0tLS0tLS0tLS0tLSovXG5cbi5wYWdlLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xufVxuXG4vKiBNb3VudGFpbiBUaGVtZTogQnV0dG9uc1xuLS0tLS0tLS0tLS0tKi9cblxuLmJ0bi1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogJGJ0bi1wcmltYXJ5X19iYWNrZ3JvdW5kO1xuICBjb2xvcjogJGJ0bi1wcmltYXJ5X19jb2xvcjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgYm9yZGVyLXJhZGl1czogJGJ0bi1ib3JkZXItcmFkaXVzO1xuIFxuICAgJjpob3ZlciwgXG4gICAmOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogJGJ0bi1wcmltYXJ5X19iYWNrZ3JvdW5kLS1hY3RpdmU7XG4gIH1cbn1cblxuLmJ0bi1zZWNvbmRhcnkge1xuIGJhY2tncm91bmQ6ICRidG4tc2Vjb25kYXJ5X19iYWNrZ3JvdW5kO1xuIGNvbG9yOiAkYnRuLXNlY29uZGFyeV9fY29sb3I7XG4gZm9udC13ZWlnaHQ6IDYwMDtcbiBib3JkZXItcmFkaXVzOiAkYnRuLWJvcmRlci1yYWRpdXM7XG5cbiAgICY6aG92ZXIsIFxuICAgJjphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICRidG4tc2Vjb25kYXJ5X19iYWNrZ3JvdW5kLS1ob3ZlcjtcbiAgfVxufVxuXG5cbi8qIE1vdW50YWluIFRoZW1lOiBUeXBvZ3JhcGh5XG4tLS0tLS0tLS0tLS0qL1xuXG5oMSB7XG4gIGZvbnQtd2VpZ2h0OiAyMDA7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgXG4gICYudGl0bGUtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgXG4gICAgJjpiZWZvcmUge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuICB9XG4gIFxuICAmLnRpdGxlLWxpZ2h0IHtcbiAgICBjb2xvcjogJGhlYWRpbmdzX19oMS1jb2xvci0tbGlnaHQ7XG4gIH1cbn1cblxucCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xufVxuXG5hIHtcbiAgY29sb3I6ICRsaW5rc19fY29sb3I7XG59XG5cbi5ib2R5LWxpZ2h0IHtcbiAgY29sb3I6ICR0ZXh0X19jb2xvci0tbGlnaHQ7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDI2cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgfVxufVxuXG5cbi8qIE1vdW50YWluIFRoZW1lOiBIZWFkZXJcbi0tLS0tLS0tLS0tLSovXG5cbi5sYW5kaW5nLWhlYWRlciB7XG4gIGNvbG9yOiAkaGVhZGVyX19jb2xvcjtcbiAgcGFkZGluZzogMjMzcHggMDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXG4gIC5wcm9kdWN0X190aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBmb250LXNpemU6IDYycHg7XG4gICAgbWFyZ2luOiAwIDAgMC41ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cbiAgXG4gIC5wcm9kdWN0X19zdWJ0aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuICBcbiAgLmJ0bi1wcmltYXJ5LFxuICAuYnRuLXNlY29uZGFyeSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHBhZGRpbmc6IDEwcHggNDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gIH1cbiAgXG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG4gICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIFxuICAuYnRuLWludHJvLXZpZGVvIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKC01MCUsIC01MCUpKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHBhZGRpbmc6IDE0MHB4IDYwcHg7XG4gICAgYmFja2dyb3VuZDogJGJ0bi1pbnRyby12aWRlb19fYmFja2dyb3VuZDtcbiAgICBib3JkZXI6ICRidG4taW50cm8tdmlkZW9fX2JvcmRlcjtcblxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiB0aGlua2lmaWM7XG4gICAgICBjb250ZW50OiAnXFw2Nic7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICB9XG4gIH1cbn1cblxuLmJ0bi1pbnRyby12aWRlbyB7XG4gIGNvbG9yOiAkYnRuLWludHJvLXZpZGVvX19jb2xvcjtcblxuICAmOmhvdmVyLCBcbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkYnRuLWludHJvLXZpZGVvX19ob3ZlcjtcbiAgfVxuXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gIC5sYW5kaW5nLWhlYWRlciB7XG4gICAgcGFkZGluZzogMTUwcHggMDtcbiAgfVxuICAubGFuZGluZy1oZWFkZXIgLnByb2R1Y3RfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDUwcHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgLmxhbmRpbmctaGVhZGVyIHtcbiAgICBwYWRkaW5nOiA2MHB4IDAgNDBweDtcbiAgfVxuICAubGFuZGluZy1oZWFkZXIgLnByb2R1Y3RfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gIH1cbn1cblxuLyogTW91bnRhaW4gVGhlbWU6IEludHJvIFZpZGVvIE1vYmlsZVxuLS0tLS0tLS0tLS0tKi9cblxuLmludHJvLXZpZGVvLW1vYmlsZSB7XG4gIHBhZGRpbmc6IDE1cHggMDtcbiAgYmFja2dyb3VuZDogJGJ0bi1pbnRyby12aWRlb19fYmFja2dyb3VuZC0tbW9iaWxlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgLmJ0biB7XG4gICAgYmFja2dyb3VuZDogJGJ0bi1pbnRyby12aWRlb19fYnV0dG9uLS1tb2JpbGU7XG4gICAgYm9yZGVyLXJhZGl1czogJGJ0bi1ib3JkZXItcmFkaXVzO1xuICAgIGNvbG9yOiAkYnRuLWludHJvLXZpZGVvX19idXR0b24tY29sb3ItLW1vYmlsZTtcbiAgfVxufVxuXG4udmVub2JveCB7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG59XG5cbi8qIE1vdW50YWluIFRoZW1lOiBDb3Vyc2UgUmV2aWV3XG4tLS0tLS0tLS0tLS0qLyAgXG5cbi5jb3Vyc2UtcmV2aWV3IHtcbiAgcGFkZGluZzogODBweCAwO1xuICBiYWNrZ3JvdW5kOiAkY291cnNlLXJldmlld19fYmFja2dyb3VuZDtcbn1cblxuLmNvdXJzZS1yZXZpZXdfX3dyYXBwZXIsXG4ubW9yZS1yZXZpZXdzLXRvZ2dsZSB7XG4gIEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG4gIEBpbmNsdWRlIGZsZXgtd3JhcCh3cmFwKTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgLy8gcGFkZGluZy1ib3R0b206IDFlbTtcbn1cblxuLmNvdXJzZS1yZXZpZXdfX2ZsZXgtZ3JpZC1pdGVtIHtcbiAgQGluY2x1ZGUgZGlzcGxheShmbGV4KTtcbiAgd2lkdGg6IDMzJTtcbiAgLy8gaGVpZ2h0OiAxMDAlO1xuICAvLyBwYWRkaW5nLWJvdHRvbTogMWVtO1xufVxuXG4uY291cnNlLXJldmlld19fY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgZmxleCgxKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAuNWVtO1xuICBiYWNrZ3JvdW5kOiAkY291cnNlLXJldmlldy1jb250YWluZXJfX2JhY2tncm91bmQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlOWU5ZTk7XG59XG5cbi5jb3Vyc2UtcmV2aWV3X190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMTdweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xufVxuXG4uY291cnNlLXJldmlld19fdGV4dCB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgcGFkZGluZzogMTVweCAyNXB4IDEyNXB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY291cnNlLXJldmlld19fbmFtZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogJGNvdXJzZS1yZXZpZXctbmFtZV9fYmFja2dyb3VuZDtcbiAgcGFkZGluZzogNDBweCAxMHB4O1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY291cnNlLXJldmlld19fYnV0dG9uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogMTVweDtcblxuICAucmV2aWV3LWJ1dHRvbiB7XG4gICBjdXJzb3I6IHBvaW50ZXI7XG4gICBjb2xvcjogJGNvdXJzZS1yZXZpZXctYnV0dG9uX19jb2xvcjtcbiB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG5cbi5jb3Vyc2UtcmV2aWV3X19mbGV4LWdyaWQtaXRlbSB7XG4gIHdpZHRoOiA1MCU7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbn1cbi5jb3Vyc2UtcmV2aWV3X19jb250YWluZXIge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbi5jb3Vyc2UtcmV2aWV3X19uYW1lIHtcbiAgcGFkZGluZzogMjBweCAxMHB4O1xufVxuXG4uY291cnNlLXJldmlld19fdGV4dCB7XG4gIHBhZGRpbmctYm90dG9tOiA3NXB4O1xufVxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4uY291cnNlLXJldmlldyB7XG4gIHBhZGRpbmc6IDJlbSAwO1xufVxuLmNvdXJzZS1yZXZpZXdfX2ZsZXgtZ3JpZC1pdGVtIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7ICBcbn1cbi5jb3Vyc2UtcmV2aWV3X19jb250YWluZXIge1xuICAgIC8vIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgXG4gIC5jb3Vyc2UtcmV2aWV3X190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5cbi8qIE1vdW50YWluIFRoZW1lOiBDb3Vyc2UgSW5zdHJ1Y3RvclxuLS0tLS0tLS0tLS0tKi9cblxuLmNvdXJzZS1pbnN0cnVjdG9yIHtcbiAgcGFkZGluZzogNjBweCAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAkY291cnNlLWluc3RydWN0b3JfX2JhY2tncm91bmQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBsZWZ0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG4uaW5zdHJ1Y3Rvcl9faW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtaGVpZ2h0OiAxMjVweDtcbiAgbWF4LXdpZHRoOiAxMjVweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWFlYWVhO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuXG4vKiBNb3VudGFpbiBUaGVtZTogUHJvZHVjdCBPdmVydmlld1xuLS0tLS0tLS0tLS0tKi9cblxuLnByb2R1Y3Qtb3ZlcnZpZXcge1xuICBwYWRkaW5nOiA2MHB4IDA7XG4gIGJhY2tncm91bmQ6ICRwcm9kdWN0LW92ZXJ2aWV3X19iYWNrZ3JvdW5kO1xufVxuXG4vKiBNb3VudGFpbiBUaGVtZTogUmVsYXRlZCBQcm9kdWN0c1xuLS0tLS0tLS0tLS0tKi9cblxuLnJlbGF0ZWQtcHJvZHVjdHMge1xuICBwYWRkaW5nOiA2MHB4IDAgODBweDtcbiAgYmFja2dyb3VuZDogJHJlbGF0ZWQtcHJvZHVjdHNfX2JhY2tncm91bmQ7XG59XG5cbi50aGVtZS1tb3VudGFpbi1tdWx0aS1wcm9kdWN0X19pdGVtIHtcbiAgQGluY2x1ZGUgZGlzcGxheShmbGV4KTtcbiAgLy8gQGluY2x1ZGUganVzdGlmeS1pdGVtcyhzcGFjZS1iZXR3ZWVuKTtcbiAgQGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xuICBiYWNrZ3JvdW5kOiAkcmVsYXRlZC1wcm9kdWN0cy1wcm9kdWN0LWl0ZW1fX2JhY2tncm91bmQ7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIFxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4udGhlbWUtbW91bnRhaW4tbXVsdGktcHJvZHVjdF9fc2VjdGlvbi10aXRsZSB7XG4gIGNvbG9yOiAkcmVsYXRlZC1wcm9kdWN0c19fc2VjdGlvbi10aXRsZTtcbn1cblxuLnRoZW1lLW1vdW50YWluLW11bHRpLXByb2R1Y3RfX2l0ZW0gKyAudGhlbWUtbW91bnRhaW4tbXVsdGktcHJvZHVjdF9faXRlbSB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi50aGVtZS1tb3VudGFpbi1tdWx0aS1wcm9kdWN0X19wcmljZSB7XG4gIGZvbnQtc2l6ZTogMjZweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnRoZW1lLW1vdW50YWluLW11bHRpLXByb2R1Y3RfX2J1eSB7fVxuXG4udGhlbWUtbW91bnRhaW4tbXVsdGktcHJvZHVjdF9fdGl0bGUge1xuICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgcGFkZGluZy1yaWdodDogMWVtO1xufVxuXG4udGhlbWUtbW91bnRhaW4tbXVsdGktcHJvZHVjdF9fY3RhIHtcbiAgcGFkZGluZzogOHB4IDMwcHg7XG4gIGJhY2tncm91bmQ6ICRyZWxhdGVkLXByb2R1Y3RzX19idXR0b24tYmFja2dyb3VuZDtcbiAgY29sb3I6ICRyZWxhdGVkLXByb2R1Y3RzX19idXR0b24tY29sb3I7XG5cbiAgJjpob3ZlciwgXG4gICY6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJHJlbGF0ZWQtcHJvZHVjdHNfX2J1dHRvbi1iYWNrZ3JvdW5kLDEwJSk7XG4gIH1cbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuXG4gIC50aGVtZS1tb3VudGFpbi1tdWx0aS1wcm9kdWN0X19wcmljZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxuXG4gIC50aGVtZS1tb3VudGFpbi1tdWx0aS1wcm9kdWN0X19pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMTBweDtcbiAgfVxuICBcbiAgLnRoZW1lLW1vdW50YWluLW11bHRpLXByb2R1Y3RfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5cblxuLyogQ291cG9uc1xuLS0tLS0tLS0tLS0tKi9cbi5jb3Vyc2UtcHJvbW90aW9uIC5jb3Vwb257XG4gIHBhZGRpbmc6IDIwcHggMDtcbiAgY29sb3I6ICNmZmZmZmY7XG5cbiAgJi52YWxpZC1jb3Vwb24ge1xuICAgIGJhY2tncm91bmQ6ICRjb3Vwb25fX2JhY2tncm91bmQ7XG4gIH1cbiAgXG4gICYuaW52YWxpZC1jb3Vwb24ge1xuICAgIGJhY2tncm91bmQ6ICRjb3Vwb24taW52YWxpZF9fYmFja2dyb3VuZDtcbiAgfVxufVxuXG5cbi8qIE1vdW50YWluIFRoZW1lOiBDb3Vyc2UgQmVuZWZpdHNcbi0tLS0tLS0tLS0tLSovXG5cbi5jb3Vyc2UtYmVuZWZpdHMge1xuICBwYWRkaW5nOiA2MHB4IDA7XG4gIGJhY2tncm91bmQ6ICRjb3Vyc2UtYmVuZWZpdHNfX2JhY2tncm91bmQ7XG59XG5cbi5jb3Vyc2UtYmVuZWZpdHNfX2l0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgLmNvdXJzZS1iZW5lZml0c19faXRlbTpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLnByb2R1Y3Qtb3ZlcnZpZXcge1xuICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtcHJpbWFyeTtcbiAgfVxufVxuXG5cbi8qIE1vdW50YWluIFRoZW1lOiBDb3Vyc2UgQ29udGVudHNcbi0tLS0tLS0tLS0tLSovXG5cbi5jb3Vyc2UtY29udGVudHMge1xuICBwYWRkaW5nOiA2MHB4IDA7XG4gIGJhY2tncm91bmQ6ICRjb3Vyc2UtY29udGVudHNfX2JhY2tncm91bmQ7XG59XG5cbi5jb3Vyc2UtY29udGVudHMtdHlwZXMge1xuICBAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgQGluY2x1ZGUgZmxleC1mbG93KHJvdyB3cmFwKTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgaSB7XG4gICAgZm9udC1zaXplOiA1NXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICBjb2xvcjogJGNvdXJzZS1jb250ZW50c19faWNvbi1jb2xvcjtcbiAgfVxuXG4gIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5jb3Vyc2UtY29udGVudHNfX2lubmVyIHtcbiAgYmFja2dyb3VuZDogJGNvdXJzZS1jb250ZW50cy1pbm5lcl9fYmFja2dyb3VuZDtcbiAgcGFkZGluZzogMjVweCAyNXB4IDQycHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlOWU5ZTk7XG59XG5cbi5jb3Vyc2UtY29udGVudHMtdHlwZXNfX2l0ZW0ge1xuICBAaW5jbHVkZSBmbGV4LXNocmluaygwKTtcbiAgcGFkZGluZzogMCAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gIC5jb3Vyc2UtY29udGVudHMtdHlwZXNfX2l0ZW0ge1xuICAgIEBpbmNsdWRlIGZsZXgtYmFzaXMoMjUlKTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gIC5jb3Vyc2UtY29udGVudHNfX2lubmVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgfVxuXG4gIC5jb3Vyc2UtY29udGVudHMtdHlwZXNfX2l0ZW0ge1xuICAgIEBpbmNsdWRlIGZsZXgtYmFzaXMoNTAlKTtcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gIH1cbn1cblxuLyogTW91bnRhaW4gVGhlbWU6IENvdXJzZSBDdXJyaWN1bHVtXG4tLS0tLS0tLS0tLS0qL1xuXG4uY291cnNlLWN1cnJpY3VsdW0ge1xuICBwYWRkaW5nOiA4MHB4IDA7XG5cbiAgYSB7XG4gICAgY29sb3I6IGdyZXk7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGFjY2VudC10ZXJ0aWFyeTtcbiAgICB9XG4gIH1cbiAgdWwge1xuICAgIHBhZGRpbmctbGVmdDogMmVtO1xuICB9XG4gIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICB9XG4gIC8vIGxpbmUtaGVpZ2h0OiAxZW07XG4gIFxuICAuY3VycmljdWx1bS1jaGFwdGVyLWhlYWRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGNvdXJzZS1jdXJyaWN1bHVtLWhlYWRlcl9fYm9yZGVyO1xuICAgIHBhZGRpbmctYm90dG9tOiAxOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gIH1cbiAgXG4gIC5jaGFwdGVyLWxpc3QtaXRlbV9fdGl0bGUge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIH1cbiAgXG4gIC5jdXJyaWN1bHVtLWNoYXB0ZXIgKyAuY3VycmljdWx1bS1jaGFwdGVyIHtcbiAgICBtYXJnaW4tdG9wOiA0MnB4O1xuICB9XG4gIFxuICAuY2hhcHRlci1oZWFkZXIge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICB9XG4gIFxuICAuY2hhcHRlci1saXN0LWl0ZW0gKyAuY2hhcHRlci1saXN0LWl0ZW0ge1xuICAgIG1hcmdpbi10b3A6IDE4cHg7XG4gIH1cbiAgXG4gIC5jaGFwdGVyLXRpbWUge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRjaGFwdGVyLXRpbWVfX2JhY2tncm91bmQ7XG4gICAgcGFkZGluZzogM3B4IDIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjAwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbiAgXG4gIC5sYWJlbC1mcmVlIHtcbiAgICBiYWNrZ3JvdW5kOiAkbGFiZWwtZnJlZV9fYmFja2dyb3VuZDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAuY291cnNlLWN1cnJpY3VsdW0ge1xuXG4gICAgLmNoYXB0ZXItaGVhZGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG5cbiAgICAuY2hhcHRlci10aW1lIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxufVxuXG4gICAgLm1vdW50YWluLTEtNi0xdjEtMC0wIHtcbi8vIEJhc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb2xvcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kYmFzZS13aGl0ZTogI2ZmZmZmZjtcbiRiYXNlX19iYWNrZ3JvdW5kOiAkYmFzZS13aGl0ZTtcbiRiYXNlX19jb2xvcjogIzYzNjM2MztcblxuJGFjY2VudC1wcmltYXJ5OiAjNjNjNmQyOyBcdFx0XHQvLyBicmlnaHQgYmx1ZVxuJGFjY2VudC1zZWNvbmRhcnk6ICM1NmFjYjY7IFx0XHQvLyBwYWxlIGJsdWVcbiRhY2NlbnQtdGVydGlhcnk6ICMxZDU4NzA7XHRcdFx0Ly8gZGFyayBibHVlXG5cbi8vIEJ1dHRvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kYnRuLXByaW1hcnlfX2JhY2tncm91bmQ6ICRhY2NlbnQtcHJpbWFyeTtcbiRidG4tcHJpbWFyeV9fY29sb3I6ICRiYXNlLXdoaXRlO1xuJGJ0bi1wcmltYXJ5X19iYWNrZ3JvdW5kLS1ob3ZlcjogZGFya2VuKCRidG4tcHJpbWFyeV9fYmFja2dyb3VuZCwgMTAlKTtcbiRidG4tcHJpbWFyeV9fYmFja2dyb3VuZC0tYWN0aXZlOiAkYnRuLXByaW1hcnlfX2JhY2tncm91bmQtLWhvdmVyO1xuXG4kYnRuLXNlY29uZGFyeV9fYmFja2dyb3VuZDogJGFjY2VudC1zZWNvbmRhcnk7XG4kYnRuLXNlY29uZGFyeV9fY29sb3I6ICRiYXNlLXdoaXRlO1xuJGJ0bi1zZWNvbmRhcnlfX2JhY2tncm91bmQtLWhvdmVyOiBkYXJrZW4oJGJ0bi1zZWNvbmRhcnlfX2JhY2tncm91bmQsIDEwJSk7XG4kYnRuLXNlY29uZGFyeV9fYmFja2dyb3VuZC0tYWN0aXZlOiAkYnRuLXNlY29uZGFyeV9fYmFja2dyb3VuZC0taG92ZXI7XG5cbi8vIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGhlYWRpbmdzX19oMS1kZWNvcmF0aW9uLWJhY2tncm91bmQ6ICM2M2M2ZDI7XG4kaGVhZGluZ3NfX2gxLWNvbG9yLS1saWdodDogI2U2ZjhmZjtcblxuJGxpbmtzX19jb2xvcjogIzYzYzZkMjtcbiR0ZXh0X19jb2xvci0tbGlnaHQ6ICRiYXNlLXdoaXRlO1xuXG5cbi8vIFNlY3Rpb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSGVhZGVyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRoZWFkZXJfX2NvbG9yOiAkYmFzZS13aGl0ZTtcblxuLy8gSW50cm8gVmlkZW9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGJ0bi1pbnRyby12aWRlb19fY29sb3I6ICRiYXNlLXdoaXRlO1xuJGJ0bi1pbnRyby12aWRlb19fYmFja2dyb3VuZDogcmdiYSgyMSw3MCw4NiwwLjMpO1xuJGJ0bi1pbnRyby12aWRlb19faG92ZXI6ICRhY2NlbnQtcHJpbWFyeTtcbiRidG4taW50cm8tdmlkZW9fX2FjdGl2ZTogJGJ0bi1pbnRyby12aWRlb19faG92ZXI7XG4kYnRuLWludHJvLXZpZGVvX19ib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMik7XG4vLyBNb2JpbGVcbiRidG4taW50cm8tdmlkZW9fX2JhY2tncm91bmQtLW1vYmlsZTogJGFjY2VudC10ZXJ0aWFyeTtcblxuLy8gUmV2aWV3c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kY291cnNlLXJldmlld19fYmFja2dyb3VuZDogIzk1YTdiNjtcbiRjb3Vyc2UtcmV2aWV3LWNvbnRhaW5lcl9fYmFja2dyb3VuZDogJGJhc2Utd2hpdGU7XG4kY291cnNlLXJldmlldy1uYW1lX19iYWNrZ3JvdW5kOiAjZjhmOGY4O1xuJGNvdXJzZS1yZXZpZXctYnV0dG9uX19jb2xvcjogJGJhc2Utd2hpdGU7XG5cbi8vIEluc3RydWN0b3Jcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGNvdXJzZS1pbnN0cnVjdG9yX19iYWNrZ3JvdW5kOiBub25lO1xuJGNvdXJzZS1pbnN0cnVjdG9yX19iYWNrZ3JvdW5kLS1icmVha3BvaW50LXNtYWxsOiAkYmFzZS13aGl0ZTtcblxuLy8gUHJvZHVjdCBPdmVydmlld1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFJlbGF0ZWQgUHJvZHVjdHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHJlbGF0ZWQtcHJvZHVjdHNfX2JhY2tncm91bmQ6ICRhY2NlbnQtdGVydGlhcnk7XG4kcmVsYXRlZC1wcm9kdWN0cy1wcm9kdWN0LWl0ZW1fX2JhY2tncm91bmQ6ICRiYXNlLXdoaXRlO1xuJHJlbGF0ZWQtcHJvZHVjdHNfX3NlY3Rpb24tdGl0bGU6ICRiYXNlLXdoaXRlO1xuXG4vLyBDb3Vwb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGNvdXBvbl9fYmFja2dyb3VuZDogJGFjY2VudC10ZXJ0aWFyeTtcbiRjb3Vwb24taW52YWxpZF9fYmFja2dyb3VuZDogI2NmMDk0ODtcblxuLy8gQ291cnNlIEJlbmVmaXRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRjb3Vyc2UtYmVuZWZpdHNfX2JhY2tncm91bmQ6ICMxMDQxNTU7XG5cbi8vIENvdXJzZSBDb250ZW50c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kY291cnNlLWNvbnRlbnRzX19iYWNrZ3JvdW5kOiAjOTVhN2I2O1xuJGNvdXJzZS1jb250ZW50cy1pbm5lcl9fYmFja2dyb3VuZDogJGJhc2Utd2hpdGU7XG5cbi8vIENvdXJzZSBDdXJyaWN1bHVtXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRjb3Vyc2UtY3VycmljdWx1bS1oZWFkZXJfX2JvcmRlcjogMXB4IHNvbGlkICNlN2U3ZTc7XG4kY2hhcHRlci10aW1lX19iYWNrZ3JvdW5kOiAkYWNjZW50LXByaW1hcnk7XG5cblxuJGxhYmVsLWZyZWVfX2JhY2tncm91bmQ6ICM3NDc0NzQ7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgMjMuIE1vdW50YWluIExhbmRpbmdcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIGJhY2tncm91bmQ6ICRiYXNlX19iYWNrZ3JvdW5kO1xuLy8gY29sb3I6ICRiYXNlX19jb2xvcjtcbi8vIGxpbmUtaGVpZ2h0OiAxLjU7XG5cbi8qIE1vdW50YWluIFRoZW1lOiBCdXR0b25zXG4tLS0tLS0tLS0tLS0qL1xuXG4uYnRuLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAkYnRuLXByaW1hcnlfX2JhY2tncm91bmQ7XG4gIGNvbG9yOiAkYnRuLXByaW1hcnlfX2NvbG9yO1xuICBmb250LXdlaWdodDogNjAwO1xuIFxuICAgJjpob3ZlciwgXG4gICAmOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogJGJ0bi1wcmltYXJ5X19iYWNrZ3JvdW5kLS1hY3RpdmU7XG4gIH1cbn1cblxuLmJ0bi1zZWNvbmRhcnkge1xuIGJhY2tncm91bmQ6ICRidG4tc2Vjb25kYXJ5X19iYWNrZ3JvdW5kO1xuIGNvbG9yOiAkYnRuLXNlY29uZGFyeV9fY29sb3I7XG4gZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgJjpob3ZlciwgXG4gICAmOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogJGJ0bi1zZWNvbmRhcnlfX2JhY2tncm91bmQtLWhvdmVyO1xuICB9XG59XG5cblxuLyogTW91bnRhaW4gVGhlbWU6IFR5cG9ncmFwaHlcbi0tLS0tLS0tLS0tLSovXG5cbmgxIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgZm9udC1zaXplOiAzMHB4O1xuICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICBcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIGhlaWdodDogM3B4O1xuICAgIGJhY2tncm91bmQ6ICRoZWFkaW5nc19faDEtZGVjb3JhdGlvbi1iYWNrZ3JvdW5kO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0yMHB4O1xuICB9XG4gIFxuICAmLnRpdGxlLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIFxuICAgICY6YmVmb3JlIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgfVxuICBcbiAgJi50aXRsZS1saWdodCB7XG4gICAgY29sb3I6ICRoZWFkaW5nc19faDEtY29sb3ItLWxpZ2h0O1xuICB9XG59XG5cbnAge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbn1cblxuYSB7XG4gIGNvbG9yOiAkbGlua3NfX2NvbG9yO1xufVxuXG4uYm9keS1saWdodCB7XG4gIGNvbG9yOiAkdGV4dF9fY29sb3ItLWxpZ2h0O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICBoMSB7XG4gICAgZm9udC1zaXplOiAyNnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIH1cbn1cblxuXG4vKiBNb3VudGFpbiBUaGVtZTogSGVhZGVyXG4tLS0tLS0tLS0tLS0qL1xuXG4ubGFuZGluZy1oZWFkZXIge1xuICBjb2xvcjogJGhlYWRlcl9fY29sb3I7XG4gIHBhZGRpbmc6IDIzM3B4IDA7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblxuICAucHJvZHVjdF9fdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgZm9udC1zaXplOiA2MnB4O1xuICAgIG1hcmdpbjogMCAwIDAuNWVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG4gIFxuICAucHJvZHVjdF9fc3VidGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cbiAgXG4gIC5idG4tcHJpbWFyeSxcbiAgLmJ0bi1zZWNvbmRhcnkge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBwYWRkaW5nOiAyMHB4IDMwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICB9XG4gIFxuICAucm93IHtcbiAgICBAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICBcbiAgLmJ0bi1pbnRyby12aWRlbyB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBwYWRkaW5nOiAxNDBweCA2MHB4O1xuICAgIGJhY2tncm91bmQ6ICRidG4taW50cm8tdmlkZW9fX2JhY2tncm91bmQ7XG4gICAgYm9yZGVyOiAkYnRuLWludHJvLXZpZGVvX19ib3JkZXI7XG5cblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBmb250LWZhbWlseTogdGhpbmtpZmljO1xuICAgICAgY29udGVudDogJ1xcNjYnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgfVxuICB9XG59XG5cbi5idG4taW50cm8tdmlkZW8ge1xuICBjb2xvcjogJGJ0bi1pbnRyby12aWRlb19fY29sb3I7XG5cbiAgJjpob3ZlciwgXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGJ0bi1pbnRyby12aWRlb19faG92ZXI7XG4gIH1cblxufVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAubGFuZGluZy1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDEyMHB4IDA7XG4gIH1cbiAgLmxhbmRpbmctaGVhZGVyIC5wcm9kdWN0X190aXRsZSB7XG4gICAgZm9udC1zaXplOiA1MHB4O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gIC5sYW5kaW5nLWhlYWRlciB7XG4gICAgcGFkZGluZzogNjBweCAwIDQwcHg7XG4gIH1cbiAgLmxhbmRpbmctaGVhZGVyIC5wcm9kdWN0X190aXRsZSB7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICB9XG59XG5cbi8qIE1vdW50YWluIFRoZW1lOiBJbnRybyBWaWRlbyBNb2JpbGVcbi0tLS0tLS0tLS0tLSovXG5cbi5pbnRyby12aWRlby1tb2JpbGUge1xuICBwYWRkaW5nOiAxNXB4IDA7XG4gIGJhY2tncm91bmQ6ICRidG4taW50cm8tdmlkZW9fX2JhY2tncm91bmQtLW1vYmlsZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4gIC8vIC5idG4taW50cm8tdmlkZW8ge1xuICAvLyAgIGhlaWdodDogMTBlbTtcbiAgLy8gfVxuICAudmVub2JveCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuXG4vKiBNb3VudGFpbiBUaGVtZTogQ291cnNlIFJldmlld1xuLS0tLS0tLS0tLS0tKi8gIFxuXG4uY291cnNlLXJldmlldyB7XG4gIHBhZGRpbmc6IDQwcHggMDtcbiAgYmFja2dyb3VuZDogJGNvdXJzZS1yZXZpZXdfX2JhY2tncm91bmQ7XG59XG5cbi5jb3Vyc2UtcmV2aWV3X193cmFwcGVyLFxuLm1vcmUtcmV2aWV3cy10b2dnbGUge1xuICBAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuICBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIC8vIHBhZGRpbmctYm90dG9tOiAxZW07XG59XG5cbi5jb3Vyc2UtcmV2aWV3X19mbGV4LWdyaWQtaXRlbSB7XG4gIEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG4gIHdpZHRoOiAzMyU7XG4gIC8vIGhlaWdodDogMTAwJTtcbiAgLy8gcGFkZGluZy1ib3R0b206IDFlbTtcbn1cblxuLmNvdXJzZS1yZXZpZXdfX2NvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGZsZXgoMSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwLjVlbTtcbiAgYmFja2dyb3VuZDogJGNvdXJzZS1yZXZpZXctY29udGFpbmVyX19iYWNrZ3JvdW5kO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xuICBcbiAgLy8gJjpsYXN0LW9mLXR5cGUge1xuICAvLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAvLyB9XG59XG5cbi5jb3Vyc2UtcmV2aWV3X190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMTdweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xufVxuXG4uY291cnNlLXJldmlld19fdGV4dCB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgcGFkZGluZzogMTVweCAyNXB4IDEyNXB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY291cnNlLXJldmlld19fbmFtZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogJGNvdXJzZS1yZXZpZXctbmFtZV9fYmFja2dyb3VuZDtcbiAgcGFkZGluZzogNDBweCAxMHB4O1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY291cnNlLXJldmlld19fYnV0dG9uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogMTVweDtcblxuICAucmV2aWV3LWJ1dHRvbiB7XG4gICBjdXJzb3I6IHBvaW50ZXI7XG4gICBjb2xvcjogJGNvdXJzZS1yZXZpZXctYnV0dG9uX19jb2xvcjtcbiB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG5cbi5jb3Vyc2UtcmV2aWV3X19mbGV4LWdyaWQtaXRlbSB7XG4gIHdpZHRoOiA1MCU7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbn1cbi5jb3Vyc2UtcmV2aWV3X19jb250YWluZXIge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbi5jb3Vyc2UtcmV2aWV3X19uYW1lIHtcbiAgcGFkZGluZzogMjBweCAxMHB4O1xufVxuXG4uY291cnNlLXJldmlld19fdGV4dCB7XG4gIHBhZGRpbmctYm90dG9tOiA3NXB4O1xufVxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4uY291cnNlLXJldmlldyB7XG4gIHBhZGRpbmctYm90dG9tOiAyZW07XG59XG4uY291cnNlLXJldmlld19fZmxleC1ncmlkLWl0ZW0ge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbn1cbi5jb3Vyc2UtcmV2aWV3X19jb250YWluZXIge1xuICAgIC8vIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgXG4gIC5jb3Vyc2UtcmV2aWV3X190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5cbi8qIE1vdW50YWluIFRoZW1lOiBDb3Vyc2UgSW5zdHJ1Y3RvclxuLS0tLS0tLS0tLS0tKi9cblxuLmNvdXJzZS1pbnN0cnVjdG9yIHtcbiAgcGFkZGluZzogNjBweCAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAkY291cnNlLWluc3RydWN0b3JfX2JhY2tncm91bmQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBsZWZ0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG4uaW5zdHJ1Y3Rvcl9faW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtaGVpZ2h0OiAxMjVweDtcbiAgbWF4LXdpZHRoOiAxMjVweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWFlYWVhO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAuaW5zdHJ1Y3Rvcl9fZGV0YWlscyB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgfVxufVxuXG4vKiBNb3VudGFpbiBUaGVtZTogUHJvZHVjdCBPdmVydmlld1xuLS0tLS0tLS0tLS0tKi9cblxuLnByb2R1Y3Qtb3ZlcnZpZXcge1xuICBwYWRkaW5nOiA2MHB4IDA7XG59XG5cbi8qIE1vdW50YWluIFRoZW1lOiBSZWxhdGVkIFByb2R1Y3RzXG4tLS0tLS0tLS0tLS0qL1xuXG4ucmVsYXRlZC1wcm9kdWN0cyB7XG4gIHBhZGRpbmc6IDYwcHggMDtcbiAgYmFja2dyb3VuZDogJHJlbGF0ZWQtcHJvZHVjdHNfX2JhY2tncm91bmQ7XG59XG5cbi50aGVtZS1tb3VudGFpbi1tdWx0aS1wcm9kdWN0X19pdGVtIHtcbiAgQGluY2x1ZGUgZGlzcGxheShmbGV4KTtcbiAgLy8gQGluY2x1ZGUganVzdGlmeS1pdGVtcyhzcGFjZS1iZXR3ZWVuKTtcbiAgQGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xuICBiYWNrZ3JvdW5kOiAkcmVsYXRlZC1wcm9kdWN0cy1wcm9kdWN0LWl0ZW1fX2JhY2tncm91bmQ7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIFxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4udGhlbWUtbW91bnRhaW4tbXVsdGktcHJvZHVjdF9faXRlbSArIC50aGVtZS1tb3VudGFpbi1tdWx0aS1wcm9kdWN0X19pdGVtIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLnRoZW1lLW1vdW50YWluLW11bHRpLXByb2R1Y3RfX3ByaWNlIHtcbiAgZm9udC1zaXplOiAyNnB4O1xuICBmb250LXdlaWdodDogMTAwO1xufVxuXG4udGhlbWUtbW91bnRhaW4tbXVsdGktcHJvZHVjdF9fdGl0bGUge1xuICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgcGFkZGluZy1yaWdodDogMWVtO1xufVxuXG4udGhlbWUtbW91bnRhaW4tbXVsdGktcHJvZHVjdF9fc2VjdGlvbi10aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICRyZWxhdGVkLXByb2R1Y3RzX19zZWN0aW9uLXRpdGxlO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuXG4gIC50aGVtZS1tb3VudGFpbi1tdWx0aS1wcm9kdWN0X19pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMTBweDtcbiAgfVxuICBcbiAgLnRoZW1lLW1vdW50YWluLW11bHRpLXByb2R1Y3RfX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cblxuLyogQ291cG9uc1xuLS0tLS0tLS0tLS0tKi9cbi5jb3Vyc2UtcHJvbW90aW9uIC5jb3Vwb257XG4gIHBhZGRpbmc6IDIwcHggMDtcbiAgY29sb3I6ICNmZmZmZmY7XG5cbiAgJi52YWxpZC1jb3Vwb24ge1xuICAgIGJhY2tncm91bmQ6ICRjb3Vwb25fX2JhY2tncm91bmQ7XG4gIH1cbiAgXG4gICYuaW52YWxpZC1jb3Vwb24ge1xuICAgIGJhY2tncm91bmQ6ICRjb3Vwb24taW52YWxpZF9fYmFja2dyb3VuZDtcbiAgfVxufVxuXG5cbi8qIE1vdW50YWluIFRoZW1lOiBDb3Vyc2UgQmVuZWZpdHNcbi0tLS0tLS0tLS0tLSovXG5cbi5jb3Vyc2UtYmVuZWZpdHMge1xuICBwYWRkaW5nOiA2MHB4IDA7XG4gIGJhY2tncm91bmQ6ICRjb3Vyc2UtYmVuZWZpdHNfX2JhY2tncm91bmQ7XG59XG5cbi5jb3Vyc2UtYmVuZWZpdHNfX2l0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgLmNvdXJzZS1iZW5lZml0c19faXRlbTpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLnByb2R1Y3Qtb3ZlcnZpZXcge1xuICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtcHJpbWFyeTtcbiAgfVxufVxuXG5cbi8qIE1vdW50YWluIFRoZW1lOiBDb3Vyc2UgQ29udGVudHNcbi0tLS0tLS0tLS0tLSovXG5cbi5jb3Vyc2UtY29udGVudHMge1xuICBwYWRkaW5nOiA2MHB4IDA7XG4gIGJhY2tncm91bmQ6ICRjb3Vyc2UtY29udGVudHNfX2JhY2tncm91bmQ7XG59XG5cbi5jb3Vyc2UtY29udGVudHMtdHlwZXMge1xuICBAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgQGluY2x1ZGUgZmxleC1mbG93KHJvdyB3cmFwKTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIFxuXG4gIGkge1xuICAgIGZvbnQtc2l6ZTogNTVweDtcbiAgfVxuXG4gIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5jb3Vyc2UtY29udGVudHNfX2lubmVyIHtcbiAgYmFja2dyb3VuZDogJGNvdXJzZS1jb250ZW50cy1pbm5lcl9fYmFja2dyb3VuZDtcbiAgcGFkZGluZzogMjVweCAyNXB4IDQycHg7XG59XG5cbi5jb3Vyc2UtY29udGVudHMtdHlwZXNfX2l0ZW0ge1xuICBAaW5jbHVkZSBmbGV4LXNocmluaygwKTtcbiAgcGFkZGluZzogMCAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gIC5jb3Vyc2UtY29udGVudHMtdHlwZXNfX2l0ZW0ge1xuICAgIEBpbmNsdWRlIGZsZXgtYmFzaXMoMjUlKTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gIC5jb3Vyc2UtY29udGVudHNfX2lubmVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgfVxuXG4gIC5jb3Vyc2UtY29udGVudHMtdHlwZXNfX2l0ZW0ge1xuICAgIEBpbmNsdWRlIGZsZXgtYmFzaXMoNTAlKTtcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gIH1cbn1cblxuLyogTW91bnRhaW4gVGhlbWU6IENvdXJzZSBDdXJyaWN1bHVtXG4tLS0tLS0tLS0tLS0qL1xuXG4uY291cnNlLWN1cnJpY3VsdW0ge1xuICBwYWRkaW5nOiA4MHB4IDA7XG5cbiAgYSB7XG4gICAgY29sb3I6IGdyZXk7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGFjY2VudC10ZXJ0aWFyeTtcbiAgICB9XG4gIH1cbiAgdWwge1xuICAgIHBhZGRpbmctbGVmdDogMmVtO1xuICB9XG4gIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICB9XG4gIC8vIGxpbmUtaGVpZ2h0OiAxZW07XG4gIFxuICAuY3VycmljdWx1bS1jaGFwdGVyLWhlYWRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGNvdXJzZS1jdXJyaWN1bHVtLWhlYWRlcl9fYm9yZGVyO1xuICAgIHBhZGRpbmctYm90dG9tOiAxOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gIH1cbiAgXG4gIC5jaGFwdGVyLWxpc3QtaXRlbV9fdGl0bGUge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIH1cbiAgXG4gIC5jdXJyaWN1bHVtLWNoYXB0ZXIgKyAuY3VycmljdWx1bS1jaGFwdGVyIHtcbiAgICBtYXJnaW4tdG9wOiA0MnB4O1xuICB9XG4gIFxuICAuY2hhcHRlci1oZWFkZXIge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICB9XG4gIFxuICAuY2hhcHRlci1saXN0LWl0ZW0gKyAuY2hhcHRlci1saXN0LWl0ZW0ge1xuICAgIG1hcmdpbi10b3A6IDE4cHg7XG4gIH1cbiAgXG4gIC5jaGFwdGVyLXRpbWUge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRjaGFwdGVyLXRpbWVfX2JhY2tncm91bmQ7XG4gICAgcGFkZGluZzogM3B4IDIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjAwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbiAgXG4gIC5sYWJlbC1mcmVlIHtcbiAgICBiYWNrZ3JvdW5kOiAkbGFiZWwtZnJlZV9fYmFja2dyb3VuZDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAuY291cnNlLWN1cnJpY3VsdW0ge1xuXG4gICAgLmNoYXB0ZXItaGVhZGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG5cbiAgICAuY2hhcHRlci10aW1lIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gIH1cbn1cblxuXG5cbn1cblxuXG4iLAoJCSIvLyBCb3VyYm9uIDQuMi42XG4vLyBodHRwOi8vYm91cmJvbi5pb1xuLy8gQ29weXJpZ2h0IDIwMTEtMjAxNSB0aG91Z2h0Ym90LCBpbmMuXG4vLyBNSVQgTGljZW5zZVxuXG5AaW1wb3J0IFwic2V0dGluZ3MvcHJlZml4ZXJcIjtcbkBpbXBvcnQgXCJzZXR0aW5ncy9weC10by1lbVwiO1xuQGltcG9ydCBcInNldHRpbmdzL2Fzc2V0LXBpcGVsaW5lXCI7XG5cbkBpbXBvcnQgXCJmdW5jdGlvbnMvYXNzaWduLWlucHV0c1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9jb250YWluc1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9jb250YWlucy1mYWxzeVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9pcy1sZW5ndGhcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtbGlnaHRcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtbnVtYmVyXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2lzLXNpemVcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvcHgtdG8tZW1cIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvcHgtdG8tcmVtXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3NoYWRlXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3N0cmlwLXVuaXRzXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3RpbnRcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3VucGFja1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9tb2R1bGFyLXNjYWxlXCI7XG5cbkBpbXBvcnQgXCJoZWxwZXJzL2NvbnZlcnQtdW5pdHNcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2RpcmVjdGlvbmFsLXZhbHVlc1wiO1xuQGltcG9ydCBcImhlbHBlcnMvZm9udC1zb3VyY2UtZGVjbGFyYXRpb25cIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1hbmdsZS1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1ncmFkaWVudC1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yYWRpYWwtYXJnLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3JhZGlhbC1ncmFkaWVudC1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3JlbmRlci1ncmFkaWVudHNcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3NoYXBlLXNpemUtc3RyaXBwZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3N0ci10by1udW1cIjtcblxuQGltcG9ydCBcImNzczMvYW5pbWF0aW9uXCI7XG5AaW1wb3J0IFwiY3NzMy9hcHBlYXJhbmNlXCI7XG5AaW1wb3J0IFwiY3NzMy9iYWNrZmFjZS12aXNpYmlsaXR5XCI7XG5AaW1wb3J0IFwiY3NzMy9iYWNrZ3JvdW5kXCI7XG5AaW1wb3J0IFwiY3NzMy9iYWNrZ3JvdW5kLWltYWdlXCI7XG5AaW1wb3J0IFwiY3NzMy9ib3JkZXItaW1hZ2VcIjtcbkBpbXBvcnQgXCJjc3MzL2NhbGNcIjtcbkBpbXBvcnQgXCJjc3MzL2NvbHVtbnNcIjtcbkBpbXBvcnQgXCJjc3MzL2ZpbHRlclwiO1xuQGltcG9ydCBcImNzczMvZmxleC1ib3hcIjtcbkBpbXBvcnQgXCJjc3MzL2ZvbnQtZmFjZVwiO1xuQGltcG9ydCBcImNzczMvZm9udC1mZWF0dXJlLXNldHRpbmdzXCI7XG5AaW1wb3J0IFwiY3NzMy9oaWRwaS1tZWRpYS1xdWVyeVwiO1xuQGltcG9ydCBcImNzczMvaHlwaGVuc1wiO1xuQGltcG9ydCBcImNzczMvaW1hZ2UtcmVuZGVyaW5nXCI7XG5AaW1wb3J0IFwiY3NzMy9rZXlmcmFtZXNcIjtcbkBpbXBvcnQgXCJjc3MzL2xpbmVhci1ncmFkaWVudFwiO1xuQGltcG9ydCBcImNzczMvcGVyc3BlY3RpdmVcIjtcbkBpbXBvcnQgXCJjc3MzL3BsYWNlaG9sZGVyXCI7XG5AaW1wb3J0IFwiY3NzMy9yYWRpYWwtZ3JhZGllbnRcIjtcbkBpbXBvcnQgXCJjc3MzL3NlbGVjdGlvblwiO1xuQGltcG9ydCBcImNzczMvdGV4dC1kZWNvcmF0aW9uXCI7XG5AaW1wb3J0IFwiY3NzMy90cmFuc2Zvcm1cIjtcbkBpbXBvcnQgXCJjc3MzL3RyYW5zaXRpb25cIjtcbkBpbXBvcnQgXCJjc3MzL3VzZXItc2VsZWN0XCI7XG5cbkBpbXBvcnQgXCJhZGRvbnMvYm9yZGVyLWNvbG9yXCI7XG5AaW1wb3J0IFwiYWRkb25zL2JvcmRlci1yYWRpdXNcIjtcbkBpbXBvcnQgXCJhZGRvbnMvYm9yZGVyLXN0eWxlXCI7XG5AaW1wb3J0IFwiYWRkb25zL2JvcmRlci13aWR0aFwiO1xuQGltcG9ydCBcImFkZG9ucy9idXR0b25zXCI7XG5AaW1wb3J0IFwiYWRkb25zL2NsZWFyZml4XCI7XG5AaW1wb3J0IFwiYWRkb25zL2VsbGlwc2lzXCI7XG5AaW1wb3J0IFwiYWRkb25zL2ZvbnQtc3RhY2tzXCI7XG5AaW1wb3J0IFwiYWRkb25zL2hpZGUtdGV4dFwiO1xuQGltcG9ydCBcImFkZG9ucy9tYXJnaW5cIjtcbkBpbXBvcnQgXCJhZGRvbnMvcGFkZGluZ1wiO1xuQGltcG9ydCBcImFkZG9ucy9wb3NpdGlvblwiO1xuQGltcG9ydCBcImFkZG9ucy9wcmVmaXhlclwiO1xuQGltcG9ydCBcImFkZG9ucy9yZXRpbmEtaW1hZ2VcIjtcbkBpbXBvcnQgXCJhZGRvbnMvc2l6ZVwiO1xuQGltcG9ydCBcImFkZG9ucy90ZXh0LWlucHV0c1wiO1xuQGltcG9ydCBcImFkZG9ucy90aW1pbmctZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiYWRkb25zL3RyaWFuZ2xlXCI7XG5AaW1wb3J0IFwiYWRkb25zL3dvcmQtd3JhcFwiO1xuXG5AaW1wb3J0IFwiYm91cmJvbi1kZXByZWNhdGVkLXVwY29taW5nXCI7XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBHbG9iYWwgdmFyaWFibGVzIHRvIGVuYWJsZSBvciBkaXNhYmxlIHZlbmRvciBwcmVmaXhlc1xuXG4kcHJlZml4LWZvci13ZWJraXQ6ICAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1tb3ppbGxhOiAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1taWNyb3NvZnQ6IHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1vcGVyYTogICAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1zcGVjOiAgICAgIHRydWUgIWRlZmF1bHQ7XG4iLAoJCSIkZW0tYmFzZTogMTZweCAhZGVmYXVsdDtcbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEEgZ2xvYmFsIHNldHRpbmcgdG8gZW5hYmxlIG9yIGRpc2FibGUgdGhlIGAkYXNzZXQtcGlwZWxpbmVgIHZhcmlhYmxlIGZvciBhbGwgZnVuY3Rpb25zIHRoYXQgYWNjZXB0IGl0LlxuLy8vXG4vLy8gQHR5cGUgQm9vbFxuXG4kYXNzZXQtcGlwZWxpbmU6IGZhbHNlICFkZWZhdWx0O1xuIiwKCQkiQGZ1bmN0aW9uIGFzc2lnbi1pbnB1dHMoJGlucHV0cywgJHBzZXVkbzogbnVsbCkge1xuICAkbGlzdDogKCk7XG5cbiAgQGVhY2ggJGlucHV0IGluICRpbnB1dHMge1xuICAgICRpbnB1dDogdW5xdW90ZSgkaW5wdXQpO1xuICAgICRpbnB1dDogaWYoJHBzZXVkbywgJGlucHV0ICsgXCI6XCIgKyAkcHNldWRvLCAkaW5wdXQpO1xuICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRpbnB1dCwgY29tbWEpO1xuICB9XG5cbiAgQHJldHVybiAkbGlzdDtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBpZiBhIGxpc3QgY29udGFpbnMgYSB2YWx1ZShzKS5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdFxuLy8vICAgVGhlIGxpc3QgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHZhbHVlc1xuLy8vICAgQSBzaW5nbGUgdmFsdWUgb3IgbGlzdCBvZiB2YWx1ZXMgdG8gY2hlY2sgZm9yLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBjb250YWlucygkbGlzdCwgJHZhbHVlKVxuLy8vXG4vLy8gQHJldHVybiB7Qm9vbH1cblxuQGZ1bmN0aW9uIGNvbnRhaW5zKCRsaXN0LCAkdmFsdWVzLi4uKSB7XG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgdHlwZS1vZihpbmRleCgkbGlzdCwgJHZhbHVlKSkgIT0gXCJudW1iZXJcIiB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gdHJ1ZTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBpZiBhIGxpc3QgZG9lcyBub3QgY29udGFpbnMgYSB2YWx1ZS5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdFxuLy8vICAgVGhlIGxpc3QgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2x9XG5cbkBmdW5jdGlvbiBjb250YWlucy1mYWxzeSgkbGlzdCkge1xuICBAZWFjaCAkaXRlbSBpbiAkbGlzdCB7XG4gICAgQGlmIG5vdCAkaXRlbSB7XG4gICAgICBAcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBmYWxzZTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBmb3IgYSB2YWxpZCBDU1MgbGVuZ3RoLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR2YWx1ZVxuXG5AZnVuY3Rpb24gaXMtbGVuZ3RoKCR2YWx1ZSkge1xuICBAcmV0dXJuIHR5cGUtb2YoJHZhbHVlKSAhPSBcIm51bGxcIiBhbmQgKHN0ci1zbGljZSgkdmFsdWUgKyBcIlwiLCAxLCA0KSA9PSBcImNhbGNcIlxuICAgICAgIG9yIGluZGV4KGF1dG8gaW5oZXJpdCBpbml0aWFsIDAsICR2YWx1ZSlcbiAgICAgICBvciAodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIgYW5kIG5vdCh1bml0bGVzcygkdmFsdWUpKSkpO1xufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvZ3JhbWF0aWNhbGx5IGRldGVybWluZXMgd2hldGhlciBhIGNvbG9yIGlzIGxpZ2h0IG9yIGRhcmsuXG4vLy9cbi8vLyBAbGluayBodHRwOi8vcm9ib3RzLnRob3VnaHRib3QuY29tL2Nsb3Nlci1sb29rLWNvbG9yLWxpZ2h0bmVzc1xuLy8vXG4vLy8gQHBhcmFtIHtDb2xvciAoSGV4KX0gJGNvbG9yXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIGlzLWxpZ2h0KCRjb2xvcilcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2x9XG5cbkBmdW5jdGlvbiBpcy1saWdodCgkaGV4LWNvbG9yKSB7XG4gICQtbG9jYWwtcmVkOiByZWQocmdiYSgkaGV4LWNvbG9yLCAxKSk7XG4gICQtbG9jYWwtZ3JlZW46IGdyZWVuKHJnYmEoJGhleC1jb2xvciwgMSkpO1xuICAkLWxvY2FsLWJsdWU6IGJsdWUocmdiYSgkaGV4LWNvbG9yLCAxKSk7XG4gICQtbG9jYWwtbGlnaHRuZXNzOiAoJC1sb2NhbC1yZWQgKiAwLjIxMjYgKyAkLWxvY2FsLWdyZWVuICogMC43MTUyICsgJC1sb2NhbC1ibHVlICogMC4wNzIyKSAvIDI1NTtcblxuICBAcmV0dXJuICQtbG9jYWwtbGlnaHRuZXNzID4gMC42O1xufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ2hlY2tzIGZvciBhIHZhbGlkIG51bWJlci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWVcbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnNcblxuQGZ1bmN0aW9uIGlzLW51bWJlcigkdmFsdWUpIHtcbiAgQHJldHVybiBjb250YWlucyhcIjBcIiBcIjFcIiBcIjJcIiBcIjNcIiBcIjRcIiBcIjVcIiBcIjZcIiBcIjdcIiBcIjhcIiBcIjlcIiAwIDEgMiAzIDQgNSA2IDcgOCA5LCAkdmFsdWUpO1xufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ2hlY2tzIGZvciBhIHZhbGlkIENTUyBzaXplLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR2YWx1ZVxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb250YWluc1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gaXMtbGVuZ3RoXG5cbkBmdW5jdGlvbiBpcy1zaXplKCR2YWx1ZSkge1xuICBAcmV0dXJuIGlzLWxlbmd0aCgkdmFsdWUpXG4gICAgICAgICAgb3IgY29udGFpbnMoXCJmaWxsXCIgXCJmaXQtY29udGVudFwiIFwibWluLWNvbnRlbnRcIiBcIm1heC1jb250ZW50XCIsICR2YWx1ZSk7XG59XG4iLAoJCSIvLyBDb252ZXJ0IHBpeGVscyB0byBlbXNcbi8vIGVnLiBmb3IgYSByZWxhdGlvbmFsIHZhbHVlIG9mIDEycHggd3JpdGUgZW0oMTIpIHdoZW4gdGhlIHBhcmVudCBpcyAxNnB4XG4vLyBpZiB0aGUgcGFyZW50IGlzIGFub3RoZXIgdmFsdWUgc2F5IDI0cHggd3JpdGUgZW0oMTIsIDI0KVxuXG5AZnVuY3Rpb24gZW0oJHB4dmFsLCAkYmFzZTogJGVtLWJhc2UpIHtcbiAgQGlmIG5vdCB1bml0bGVzcygkcHh2YWwpIHtcbiAgICAkcHh2YWw6IHN0cmlwLXVuaXRzKCRweHZhbCk7XG4gIH1cbiAgQGlmIG5vdCB1bml0bGVzcygkYmFzZSkge1xuICAgICRiYXNlOiBzdHJpcC11bml0cygkYmFzZSk7XG4gIH1cbiAgQHJldHVybiAoJHB4dmFsIC8gJGJhc2UpICogMWVtO1xufVxuIiwKCQkiLy8gQ29udmVydCBwaXhlbHMgdG8gcmVtc1xuLy8gZWcuIGZvciBhIHJlbGF0aW9uYWwgdmFsdWUgb2YgMTJweCB3cml0ZSByZW0oMTIpXG4vLyBBc3N1bWVzICRlbS1iYXNlIGlzIHRoZSBmb250LXNpemUgb2YgPGh0bWw+XG5cbkBmdW5jdGlvbiByZW0oJHB4dmFsKSB7XG4gIEBpZiBub3QgdW5pdGxlc3MoJHB4dmFsKSB7XG4gICAgJHB4dmFsOiBzdHJpcC11bml0cygkcHh2YWwpO1xuICB9XG5cbiAgJGJhc2U6ICRlbS1iYXNlO1xuICBAaWYgbm90IHVuaXRsZXNzKCRiYXNlKSB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXRzKCRiYXNlKTtcbiAgfVxuICBAcmV0dXJuICgkcHh2YWwgLyAkYmFzZSkgKiAxcmVtO1xufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gTWl4ZXMgYSBjb2xvciB3aXRoIGJsYWNrLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciAoUGVyY2VudGFnZSl9ICRwZXJjZW50XG4vLy8gICBUaGUgYW1vdW50IG9mIGJsYWNrIHRvIGJlIG1peGVkIGluLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHNoYWRlKCNmZmJiNTIsIDYwJSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICM2NjRhMjA7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmV0dXJuIHtDb2xvcn1cblxuQGZ1bmN0aW9uIHNoYWRlKCRjb2xvciwgJHBlcmNlbnQpIHtcbiAgQHJldHVybiBtaXgoIzAwMCwgJGNvbG9yLCAkcGVyY2VudCk7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBTdHJpcHMgdGhlIHVuaXQgZnJvbSBhIG51bWJlci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyIChXaXRoIFVuaXQpfSAkdmFsdWVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgJGRpbWVuc2lvbjogc3RyaXAtdW5pdHMoMTBlbSk7XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAkZGltZW5zaW9uOiAxMDtcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlciAoVW5pdGxlc3MpfVxuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdHMoJHZhbHVlKSB7XG4gIEByZXR1cm4gKCR2YWx1ZSAvICgkdmFsdWUgKiAwICsgMSkpO1xufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gTWl4ZXMgYSBjb2xvciB3aXRoIHdoaXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciAoUGVyY2VudGFnZSl9ICRwZXJjZW50XG4vLy8gICBUaGUgYW1vdW50IG9mIHdoaXRlIHRvIGJlIG1peGVkIGluLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHRpbnQoIzZlY2FhNiwgNDAlKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E4ZGZjOTtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXR1cm4ge0NvbG9yfVxuXG5AZnVuY3Rpb24gdGludCgkY29sb3IsICRwZXJjZW50KSB7XG4gIEByZXR1cm4gbWl4KCNmZmYsICRjb2xvciwgJHBlcmNlbnQpO1xufVxuIiwKCQkiLy8gUmV0dXJuIHZlbmRvci1wcmVmaXhlZCBwcm9wZXJ0eSBuYW1lcyBpZiBhcHByb3ByaWF0ZVxuLy8gRXhhbXBsZTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygodHJhbnNmb3JtLCBjb2xvciwgYmFja2dyb3VuZCksIG1veikgLT4gLW1vei10cmFuc2Zvcm0sIGNvbG9yLCBiYWNrZ3JvdW5kXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AZnVuY3Rpb24gdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcHMsICR2ZW5kb3I6IGZhbHNlKSB7XG4gICRuZXctcHJvcHM6ICgpO1xuXG4gIEBlYWNoICRwcm9wIGluICRwcm9wcyB7XG4gICAgJG5ldy1wcm9wczogYXBwZW5kKCRuZXctcHJvcHMsIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZSgkcHJvcCwgJHZlbmRvciksIGNvbW1hKTtcbiAgfVxuXG4gIEByZXR1cm4gJG5ldy1wcm9wcztcbn1cblxuQGZ1bmN0aW9uIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZSgkcHJvcCwgJHZlbmRvcjogZmFsc2UpIHtcbiAgLy8gcHV0IG90aGVyIHByb3BlcnRpZXMgdGhhdCBuZWVkIHRvIGJlIHByZWZpeGVkIGhlcmUgYXN3ZWxsXG4gIEBpZiAkdmVuZG9yIGFuZCAkcHJvcCA9PSB0cmFuc2Zvcm0ge1xuICAgIEByZXR1cm4gdW5xdW90ZSgnLScrJHZlbmRvcisnLScrJHByb3ApO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICRwcm9wO1xuICB9XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDb252ZXJ0cyBzaG9ydGhhbmQgdG8gdGhlIDQtdmFsdWUgc3ludGF4LlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hvcnRoYW5kXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbWFyZ2luOiB1bnBhY2soMWVtIDJlbSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbjogMWVtIDJlbSAxZW0gMmVtO1xuLy8vICAgfVxuXG5AZnVuY3Rpb24gdW5wYWNrKCRzaG9ydGhhbmQpIHtcbiAgQGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAxIHtcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKTtcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMiB7XG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMik7XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDMge1xuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAyKSBudGgoJHNob3J0aGFuZCwgMykgbnRoKCRzaG9ydGhhbmQsIDIpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuICRzaG9ydGhhbmQ7XG4gIH1cbn1cbiIsCgkJIi8vIFNjYWxpbmcgVmFyaWFibGVzXG4kZ29sZGVuOiAgICAgICAgICAgMS42MTg7XG4kbWlub3Itc2Vjb25kOiAgICAgMS4wNjc7XG4kbWFqb3Itc2Vjb25kOiAgICAgMS4xMjU7XG4kbWlub3ItdGhpcmQ6ICAgICAgMS4yO1xuJG1ham9yLXRoaXJkOiAgICAgIDEuMjU7XG4kcGVyZmVjdC1mb3VydGg6ICAgMS4zMzM7XG4kYXVnbWVudGVkLWZvdXJ0aDogMS40MTQ7XG4kcGVyZmVjdC1maWZ0aDogICAgMS41O1xuJG1pbm9yLXNpeHRoOiAgICAgIDEuNjtcbiRtYWpvci1zaXh0aDogICAgICAxLjY2NztcbiRtaW5vci1zZXZlbnRoOiAgICAxLjc3ODtcbiRtYWpvci1zZXZlbnRoOiAgICAxLjg3NTtcbiRvY3RhdmU6ICAgICAgICAgICAyO1xuJG1ham9yLXRlbnRoOiAgICAgIDIuNTtcbiRtYWpvci1lbGV2ZW50aDogICAyLjY2NztcbiRtYWpvci10d2VsZnRoOiAgICAzO1xuJGRvdWJsZS1vY3RhdmU6ICAgIDQ7XG5cbiRtb2R1bGFyLXNjYWxlLXJhdGlvOiAkcGVyZmVjdC1mb3VydGggIWRlZmF1bHQ7XG4kbW9kdWxhci1zY2FsZS1iYXNlOiBlbSgkZW0tYmFzZSkgIWRlZmF1bHQ7XG5cbkBmdW5jdGlvbiBtb2R1bGFyLXNjYWxlKCRpbmNyZW1lbnQsICR2YWx1ZTogJG1vZHVsYXItc2NhbGUtYmFzZSwgJHJhdGlvOiAkbW9kdWxhci1zY2FsZS1yYXRpbykge1xuICAkdjE6IG50aCgkdmFsdWUsIDEpO1xuICAkdjI6IG50aCgkdmFsdWUsIGxlbmd0aCgkdmFsdWUpKTtcbiAgJHZhbHVlOiAkdjE7XG5cbiAgLy8gc2NhbGUgJHYyIHRvIGp1c3QgYWJvdmUgJHYxXG4gIEB3aGlsZSAkdjIgPiAkdjEge1xuICAgICR2MjogKCR2MiAvICRyYXRpbyk7IC8vIHdpbGwgYmUgb2ZmLWJ5LTFcbiAgfVxuICBAd2hpbGUgJHYyIDwgJHYxIHtcbiAgICAkdjI6ICgkdjIgKiAkcmF0aW8pOyAvLyB3aWxsIGZpeCBvZmYtYnktMVxuICB9XG5cbiAgLy8gY2hlY2sgQUZURVIgc2NhbGluZyAkdjIgdG8gcHJldmVudCBkb3VibGUtY291bnRpbmcgY29ybmVyLWNhc2VcbiAgJGRvdWJsZS1zdHJhbmRlZDogJHYyID4gJHYxO1xuXG4gIEBpZiAkaW5jcmVtZW50ID4gMCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkaW5jcmVtZW50IHtcbiAgICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIGFuZCAoJHYxICogJHJhdGlvKSA+ICR2MiB7XG4gICAgICAgICR2YWx1ZTogJHYyO1xuICAgICAgICAkdjI6ICgkdjIgKiAkcmF0aW8pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR2MTogKCR2MSAqICRyYXRpbyk7XG4gICAgICAgICR2YWx1ZTogJHYxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkaW5jcmVtZW50IDwgMCB7XG4gICAgLy8gYWRqdXN0ICR2MiB0byBqdXN0IGJlbG93ICR2MVxuICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIHtcbiAgICAgICR2MjogKCR2MiAvICRyYXRpbyk7XG4gICAgfVxuXG4gICAgQGZvciAkaSBmcm9tICRpbmNyZW1lbnQgdGhyb3VnaCAtMSB7XG4gICAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCBhbmQgKCR2MSAvICRyYXRpbykgPCAkdjIge1xuICAgICAgICAkdmFsdWU6ICR2MjtcbiAgICAgICAgJHYyOiAoJHYyIC8gJHJhdGlvKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdjE6ICgkdjEgLyAkcmF0aW8pO1xuICAgICAgICAkdmFsdWU6ICR2MTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsCgkJIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEhlbHBlciBmdW5jdGlvbiBmb3Igc3RyLXRvLW51bSBmbi5cbi8vIFNvdXJjZTogaHR0cDovL3Nhc3NtZWlzdGVyLmNvbS9naXN0Lzk2NDc0MDhcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBmdW5jdGlvbiBfY29udmVydC11bml0cygkbnVtYmVyLCAkdW5pdCkge1xuICAkc3RyaW5nczogXCJweFwiLCBcImNtXCIsIFwibW1cIiwgXCIlXCIsIFwiY2hcIiwgXCJwaWNhXCIsIFwiaW5cIiwgXCJlbVwiLCBcInJlbVwiLCBcInB0XCIsIFwicGNcIiwgXCJleFwiLCBcInZ3XCIsIFwidmhcIiwgXCJ2bWluXCIsIFwidm1heFwiLCBcImRlZ1wiLCBcInJhZFwiLCBcImdyYWRcIiwgXCJ0dXJuXCI7XG4gICR1bml0czogICAxcHgsIDFjbSwgMW1tLCAxJSwgMWNoLCAxcGljYSwgMWluLCAxZW0sIDFyZW0sIDFwdCwgMXBjLCAxZXgsIDF2dywgMXZoLCAxdm1pbiwgMXZtYXgsIDFkZWcsIDFyYWQsIDFncmFkLCAxdHVybjtcbiAgJGluZGV4OiBpbmRleCgkc3RyaW5ncywgJHVuaXQpO1xuXG4gIEBpZiBub3QgJGluZGV4IHtcbiAgICBAd2FybiBcIlVua25vd24gdW5pdCBgI3skdW5pdH1gLlwiO1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkbnVtYmVyKSAhPSBcIm51bWJlclwiIHtcbiAgICBAd2FybiBcImAjeyRudW1iZXJ9IGlzIG5vdCBhIG51bWJlcmBcIjtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgQHJldHVybiAkbnVtYmVyICogbnRoKCR1bml0cywgJGluZGV4KTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIERpcmVjdGlvbmFsLXByb3BlcnR5IG1peGlucyBhcmUgc2hvcnRoYW5kcyBmb3Igd3JpdGluZyBwcm9wZXJ0aWVzIGxpa2UgdGhlIGZvbGxvd2luZ1xuLy8vXG4vLy8gQGlnbm9yZSBZb3UgY2FuIGFsc28gdXNlIGBmYWxzZWAgaW5zdGVhZCBvZiBgbnVsbGAuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGRpcmVjdGlvbmFsIHZhbHVlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1zdHlsZShkb3R0ZWQgbnVsbCk7XG4vLy8gICAgIEBpbmNsdWRlIG1hcmdpbihudWxsIDAgMTBweCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDtcbi8vLyAgICAgYm9yZGVyLXRvcC1zdHlsZTogZG90dGVkO1xuLy8vICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuLy8vICAgICBtYXJnaW4tbGVmdDogMDtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb250YWlucy1mYWxzeVxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH1cblxuQGZ1bmN0aW9uIGNvbGxhcHNlLWRpcmVjdGlvbmFscygkdmFscykge1xuICAkb3V0cHV0OiBudWxsO1xuXG4gICRhOiBudGgoJHZhbHMsIDEpO1xuICAkYjogaWYobGVuZ3RoKCR2YWxzKSA8IDIsICRhLCBudGgoJHZhbHMsIDIpKTtcbiAgJGM6IGlmKGxlbmd0aCgkdmFscykgPCAzLCAkYSwgbnRoKCR2YWxzLCAzKSk7XG4gICRkOiBpZihsZW5ndGgoJHZhbHMpIDwgMiwgJGEsIG50aCgkdmFscywgaWYobGVuZ3RoKCR2YWxzKSA8IDQsIDIsIDQpKSk7XG5cbiAgQGlmICRhID09IDAgeyAkYTogMDsgfVxuICBAaWYgJGIgPT0gMCB7ICRiOiAwOyB9XG4gIEBpZiAkYyA9PSAwIHsgJGM6IDA7IH1cbiAgQGlmICRkID09IDAgeyAkZDogMDsgfVxuXG4gIEBpZiAkYSA9PSAkYiBhbmQgJGEgPT0gJGMgYW5kICRhID09ICRkIHsgJG91dHB1dDogJGE7ICAgICAgICAgIH1cbiAgQGVsc2UgaWYgJGEgPT0gJGMgYW5kICRiID09ICRkICAgICAgICAgeyAkb3V0cHV0OiAkYSAkYjsgICAgICAgfVxuICBAZWxzZSBpZiAkYiA9PSAkZCAgICAgICAgICAgICAgICAgICAgICB7ICRvdXRwdXQ6ICRhICRiICRjOyAgICB9XG4gIEBlbHNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgJG91dHB1dDogJGEgJGIgJGMgJGQ7IH1cblxuICBAcmV0dXJuICRvdXRwdXQ7XG59XG5cbi8vLyBPdXRwdXQgZGlyZWN0aW9uYWwgcHJvcGVydGllcywgZm9yIGluc3RhbmNlIGBtYXJnaW5gLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHByZVxuLy8vICAgUHJlZml4IHRvIHVzZVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3VmXG4vLy8gICBTdWZmaXggdG8gdXNlXG4vLy8gQHBhcmFtIHtMaXN0fSAkdmFsc1xuLy8vICAgTGlzdCBvZiB2YWx1ZXNcbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29sbGFwc2UtZGlyZWN0aW9uYWxzXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb250YWlucy1mYWxzeVxuXG5AbWl4aW4gZGlyZWN0aW9uYWwtcHJvcGVydHkoJHByZSwgJHN1ZiwgJHZhbHMpIHtcbiAgLy8gUHJvcGVydHkgTmFtZXNcbiAgJHRvcDogICAgJHByZSArIFwiLXRvcFwiICAgICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcbiAgJGJvdHRvbTogJHByZSArIFwiLWJvdHRvbVwiICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcbiAgJGxlZnQ6ICAgJHByZSArIFwiLWxlZnRcIiAgICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcbiAgJHJpZ2h0OiAgJHByZSArIFwiLXJpZ2h0XCIgICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcbiAgJGFsbDogICAgJHByZSArICAgICAgICAgICAgIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG5cbiAgJHZhbHM6IGNvbGxhcHNlLWRpcmVjdGlvbmFscygkdmFscyk7XG5cbiAgQGlmIGNvbnRhaW5zLWZhbHN5KCR2YWxzKSB7XG4gICAgQGlmIG50aCgkdmFscywgMSkgeyAjeyR0b3B9OiBudGgoJHZhbHMsIDEpOyB9XG5cbiAgICBAaWYgbGVuZ3RoKCR2YWxzKSA9PSAxIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skcmlnaHR9OiBudGgoJHZhbHMsIDEpOyB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JHJpZ2h0fTogbnRoKCR2YWxzLCAyKTsgfVxuICAgIH1cblxuICAgIEBpZiBsZW5ndGgoJHZhbHMpID09IDIge1xuICAgICAgQGlmIG50aCgkdmFscywgMSkgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDEpOyB9XG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgMik7IH1cbiAgICB9IEBlbHNlIGlmIGxlbmd0aCgkdmFscykgPT0gMyB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAzKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMyk7IH1cbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCAyKTsgfVxuICAgIH0gQGVsc2UgaWYgbGVuZ3RoKCR2YWxzKSA9PSA0IHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDMpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAzKTsgfVxuICAgICAgQGlmIG50aCgkdmFscywgNCkgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDQpOyB9XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAjeyRhbGx9OiAkdmFscztcbiAgfVxufVxuIiwKCQkiLy8gVXNlZCBmb3IgY3JlYXRpbmcgdGhlIHNvdXJjZSBzdHJpbmcgZm9yIGZvbnRzIHVzaW5nIEBmb250LWZhY2Vcbi8vIFJlZmVyZW5jZTogaHR0cDovL2dvby5nbC9SdTFiS1BcblxuQGZ1bmN0aW9uIGZvbnQtdXJsLXByZWZpeGVyKCRhc3NldC1waXBlbGluZSkge1xuICBAaWYgJGFzc2V0LXBpcGVsaW5lID09IHRydWUge1xuICAgIEByZXR1cm4gZm9udC11cmw7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gdXJsO1xuICB9XG59XG5cbkBmdW5jdGlvbiBmb250LXNvdXJjZS1kZWNsYXJhdGlvbihcbiAgJGZvbnQtZmFtaWx5LFxuICAkZmlsZS1wYXRoLFxuICAkYXNzZXQtcGlwZWxpbmUsXG4gICRmaWxlLWZvcm1hdHMsXG4gICRmb250LXVybCkge1xuXG4gICRzcmM6ICgpO1xuXG4gICRmb3JtYXRzLW1hcDogKFxuICAgIGVvdDogICBcIiN7JGZpbGUtcGF0aH0uZW90PyNpZWZpeFwiIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxuICAgIHdvZmYyOiBcIiN7JGZpbGUtcGF0aH0ud29mZjJcIiBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICB3b2ZmOiAgXCIjeyRmaWxlLXBhdGh9LndvZmZcIiBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgIHR0ZjogICBcIiN7JGZpbGUtcGF0aH0udHRmXCIgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXG4gICAgc3ZnOiAgIFwiI3skZmlsZS1wYXRofS5zdmcjI3skZm9udC1mYW1pbHl9XCIgZm9ybWF0KFwic3ZnXCIpXG4gICk7XG5cbiAgQGVhY2ggJGtleSwgJHZhbHVlcyBpbiAkZm9ybWF0cy1tYXAge1xuICAgIEBpZiBjb250YWlucygkZmlsZS1mb3JtYXRzLCAka2V5KSB7XG4gICAgICAkZmlsZS1wYXRoOiBudGgoJHZhbHVlcywgMSk7XG4gICAgICAkZm9udC1mb3JtYXQ6IG50aCgkdmFsdWVzLCAyKTtcblxuICAgICAgQGlmICRhc3NldC1waXBlbGluZSA9PSB0cnVlIHtcbiAgICAgICAgJHNyYzogYXBwZW5kKCRzcmMsIGZvbnQtdXJsKCRmaWxlLXBhdGgpICRmb250LWZvcm1hdCwgY29tbWEpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRzcmM6IGFwcGVuZCgkc3JjLCB1cmwoJGZpbGUtcGF0aCkgJGZvbnQtZm9ybWF0LCBjb21tYSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3JjO1xufVxuIiwKCQkiQGZ1bmN0aW9uIF9ncmFkaWVudC1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC10eXBlLCAkZ3JhZGllbnQtcG9zaXRpb25zKSB7XG4gIEBpZiAkZ3JhZGllbnQtcG9zaXRpb25zXG4gIGFuZCAoJGdyYWRpZW50LXR5cGUgPT0gbGluZWFyKVxuICBhbmQgKHR5cGUtb2YoJGdyYWRpZW50LXBvc2l0aW9ucykgIT0gY29sb3IpIHtcbiAgICAkZ3JhZGllbnQtcG9zaXRpb25zOiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvc2l0aW9ucyk7XG4gIH1cbiAgQGVsc2UgaWYgJGdyYWRpZW50LXBvc2l0aW9uc1xuICBhbmQgKCRncmFkaWVudC10eXBlID09IHJhZGlhbClcbiAgYW5kICh0eXBlLW9mKCRncmFkaWVudC1wb3NpdGlvbnMpICE9IGNvbG9yKSB7XG4gICAgJGdyYWRpZW50LXBvc2l0aW9uczogX3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC1wb3NpdGlvbnMpO1xuICB9XG4gIEByZXR1cm4gJGdyYWRpZW50LXBvc2l0aW9ucztcbn1cbiIsCgkJIi8vIFByaXZhdGUgZnVuY3Rpb24gZm9yIGxpbmVhci1ncmFkaWVudC1wYXJzZXJcbkBmdW5jdGlvbiBfbGluZWFyLWFuZ2xlLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgpIHtcbiAgJG9mZnNldDogbnVsbDtcbiAgJHVuaXQtc2hvcnQ6ICBzdHItc2xpY2UoJGZpcnN0LXZhbCwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSAtIDIsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuICAkdW5pdC1sb25nOiAgIHN0ci1zbGljZSgkZmlyc3QtdmFsLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpIC0gMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG5cbiAgQGlmICgkdW5pdC1sb25nID09IFwiZ3JhZFwiKSBvclxuICAgICAgKCR1bml0LWxvbmcgPT0gXCJ0dXJuXCIpIHtcbiAgICAkb2Zmc2V0OiBpZigkdW5pdC1sb25nID09IFwiZ3JhZFwiLCAtMTAwZ3JhZCAqIDMsIC0wLjc1dHVybik7XG4gIH1cblxuICBAZWxzZSBpZiAoJHVuaXQtc2hvcnQgPT0gXCJkZWdcIikgb3JcbiAgICAgICAgICAgKCR1bml0LXNob3J0ID09IFwicmFkXCIpIHtcbiAgICAkb2Zmc2V0OiBpZigkdW5pdC1zaG9ydCA9PSBcImRlZ1wiLCAtOTAgKiAzLCAxLjZyYWQpO1xuICB9XG5cbiAgQGlmICRvZmZzZXQge1xuICAgICRudW06IF9zdHItdG8tbnVtKCRmaXJzdC12YWwpO1xuXG4gICAgQHJldHVybiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICgkb2Zmc2V0IC0gJG51bSkgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxufVxuIiwKCQkiQGZ1bmN0aW9uIF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSkge1xuICAkaW1hZ2U6IHVucXVvdGUoJGltYWdlKTtcbiAgJGdyYWRpZW50czogKCk7XG4gICRzdGFydDogc3RyLWluZGV4KCRpbWFnZSwgXCIoXCIpO1xuICAkZW5kOiBzdHItaW5kZXgoJGltYWdlLCBcIixcIik7XG4gICRmaXJzdC12YWw6IHN0ci1zbGljZSgkaW1hZ2UsICRzdGFydCArIDEsICRlbmQgLSAxKTtcblxuICAkcHJlZml4OiBzdHItc2xpY2UoJGltYWdlLCAxLCAkc3RhcnQpO1xuICAkc3VmZml4OiBzdHItc2xpY2UoJGltYWdlLCAkZW5kLCBzdHItbGVuZ3RoKCRpbWFnZSkpO1xuXG4gICRoYXMtbXVsdGlwbGUtdmFsczogc3RyLWluZGV4KCRmaXJzdC12YWwsIFwiIFwiKTtcbiAgJGhhcy1zaW5nbGUtcG9zaXRpb246IHVucXVvdGUoX3Bvc2l0aW9uLWZsaXBwZXIoJGZpcnN0LXZhbCkgKyBcIlwiKTtcbiAgJGhhcy1hbmdsZTogaXMtbnVtYmVyKHN0ci1zbGljZSgkZmlyc3QtdmFsLCAxLCAxKSk7XG5cbiAgQGlmICRoYXMtbXVsdGlwbGUtdmFscyB7XG4gICAgJGdyYWRpZW50czogX2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4LCAkaGFzLW11bHRpcGxlLXZhbHMpO1xuICB9XG5cbiAgQGVsc2UgaWYgJGhhcy1zaW5nbGUtcG9zaXRpb24gIT0gXCJcIiB7XG4gICAgJHBvczogdW5xdW90ZSgkaGFzLXNpbmdsZS1wb3NpdGlvbiArIFwiXCIpO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRwcmVmaXggKyBcInRvIFwiICsgJHBvcyArICRzdWZmaXhcbiAgICApO1xuICB9XG5cbiAgQGVsc2UgaWYgJGhhcy1hbmdsZSB7XG4gICAgLy8gUm90YXRlIGRlZ3JlZSBmb3Igd2Via2l0XG4gICAgJGdyYWRpZW50czogX2xpbmVhci1hbmdsZS1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4KTtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEByZXR1cm4gJGdyYWRpZW50cztcbn1cbiIsCgkJIkBmdW5jdGlvbiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJHBvcykge1xuICAkdHlwZTogdHlwZS1vZihudGgoJHBvcywgMSkpO1xuICAkc3BlYzogbnVsbDtcbiAgJGRlZ3JlZTogbnVsbDtcbiAgJHNpZGU6IG51bGw7XG4gICRjb3JuZXI6IG51bGw7XG4gICRsZW5ndGg6IGxlbmd0aCgkcG9zKTtcbiAgLy8gUGFyc2UgU2lkZSBhbmQgY29ybmVyIHBvc2l0aW9uc1xuICBAaWYgKCRsZW5ndGggPiAxKSB7XG4gICAgQGlmIG50aCgkcG9zLCAxKSA9PSBcInRvXCIgeyAvLyBOZXdlciBzeW50YXhcbiAgICAgICRzaWRlOiBudGgoJHBvcywgMik7XG5cbiAgICAgIEBpZiAkbGVuZ3RoID09IDIgeyAvLyBlZy4gdG8gdG9wXG4gICAgICAgIC8vIFN3YXAgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG4gICAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKG50aCgkcG9zLCAyKSk7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkbGVuZ3RoID09IDMgeyAvLyBlZy4gdG8gdG9wIGxlZnRcbiAgICAgICAgJGNvcm5lcjogbnRoKCRwb3MsIDMpO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbGVuZ3RoID09IDIgeyAvLyBPbGRlciBzeW50YXggKFwidG9wIGxlZnRcIilcbiAgICAgICRzaWRlOiBfcG9zaXRpb24tZmxpcHBlcihudGgoJHBvcywgMSkpO1xuICAgICAgJGNvcm5lcjogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDIpKTtcbiAgICB9XG5cbiAgICBAaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwibGVmdCB0b3BcIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwidG9wIGxlZnRcIikge1xuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJyaWdodCB0b3BcIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwidG9wIHJpZ2h0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwicmlnaHQgYm90dG9tXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImJvdHRvbSByaWdodFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImxlZnQgYm90dG9tXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImJvdHRvbSBsZWZ0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgJHNwZWM6IHRvICRzaWRlICRjb3JuZXI7XG4gIH1cbiAgQGVsc2UgaWYgJGxlbmd0aCA9PSAxIHtcbiAgICAvLyBTd2FwIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuICAgIEBpZiAkdHlwZSA9PSBzdHJpbmcge1xuICAgICAgJGRlZ3JlZTogJHBvcztcbiAgICAgICRzcGVjOiB0byBfcG9zaXRpb24tZmxpcHBlcigkcG9zKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGRlZ3JlZTogLTI3MCAtICRwb3M7IC8vcm90YXRlIHRoZSBncmFkaWVudCBvcHBvc2l0ZSBmcm9tIHNwZWNcbiAgICAgICRzcGVjOiAkcG9zO1xuICAgIH1cbiAgfVxuICAkZGVncmVlOiB1bnF1b3RlKCRkZWdyZWUgKyBcIixcIik7XG4gICRzcGVjOiAgIHVucXVvdGUoJHNwZWMgKyBcIixcIik7XG4gIEByZXR1cm4gJGRlZ3JlZSAkc3BlYztcbn1cblxuQGZ1bmN0aW9uIF9wb3NpdGlvbi1mbGlwcGVyKCRwb3MpIHtcbiAgQHJldHVybiBpZigkcG9zID09IGxlZnQsIHJpZ2h0LCBudWxsKVxuICAgICAgICAgaWYoJHBvcyA9PSByaWdodCwgbGVmdCwgbnVsbClcbiAgICAgICAgIGlmKCRwb3MgPT0gdG9wLCBib3R0b20sIG51bGwpXG4gICAgICAgICBpZigkcG9zID09IGJvdHRvbSwgdG9wLCBudWxsKTtcbn1cbiIsCgkJIi8vIFByaXZhdGUgZnVuY3Rpb24gZm9yIGxpbmVhci1ncmFkaWVudC1wYXJzZXJcbkBmdW5jdGlvbiBfbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgsICRoYXMtbXVsdGlwbGUtdmFscykge1xuICAkdmFsLTE6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAxLCAkaGFzLW11bHRpcGxlLXZhbHMgLSAxKTtcbiAgJHZhbC0yOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGhhcy1tdWx0aXBsZS12YWxzICsgMSwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG4gICR2YWwtMzogbnVsbDtcbiAgJGhhcy12YWwtMzogc3RyLWluZGV4KCR2YWwtMiwgXCIgXCIpO1xuXG4gIEBpZiAkaGFzLXZhbC0zIHtcbiAgICAkdmFsLTM6IHN0ci1zbGljZSgkdmFsLTIsICRoYXMtdmFsLTMgKyAxLCBzdHItbGVuZ3RoKCR2YWwtMikpO1xuICAgICR2YWwtMjogc3RyLXNsaWNlKCR2YWwtMiwgMSwgJGhhcy12YWwtMyAtIDEpO1xuICB9XG5cbiAgJHBvczogX3Bvc2l0aW9uLWZsaXBwZXIoJHZhbC0xKSBfcG9zaXRpb24tZmxpcHBlcigkdmFsLTIpIF9wb3NpdGlvbi1mbGlwcGVyKCR2YWwtMyk7XG4gICRwb3M6IHVucXVvdGUoJHBvcyArIFwiXCIpO1xuXG4gIC8vIFVzZSBvbGQgc3BlYyBmb3Igd2Via2l0XG4gIEBpZiAkdmFsLTEgPT0gXCJ0b1wiIHtcbiAgICBAcmV0dXJuIChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgJHBvcyArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgLy8gQnJpbmcgdGhlIGNvZGUgdXAgdG8gc3BlY1xuICBAZWxzZSB7XG4gICAgQHJldHVybiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxuICAgICAgc3BlYy1pbWFnZTogJHByZWZpeCArIFwidG8gXCIgKyAkcG9zICsgJHN1ZmZpeFxuICAgICk7XG4gIH1cbn1cbiIsCgkJIkBmdW5jdGlvbiBfcmFkaWFsLWFyZy1wYXJzZXIoJGcxLCAkZzIsICRwb3MsICRzaGFwZS1zaXplKSB7XG4gIEBlYWNoICR2YWx1ZSBpbiAkZzEsICRnMiB7XG4gICAgJGZpcnN0LXZhbDogbnRoKCR2YWx1ZSwgMSk7XG4gICAgJHBvcy10eXBlOiAgdHlwZS1vZigkZmlyc3QtdmFsKTtcbiAgICAkc3BlYy1hdC1pbmRleDogbnVsbDtcblxuICAgIC8vIERldGVybWluZSBpZiBzcGVjIHdhcyBwYXNzZWQgdG8gbWl4aW5cbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09IGxpc3Qge1xuICAgICAgJHNwZWMtYXQtaW5kZXg6IGlmKGluZGV4KCR2YWx1ZSwgYXQpLCBpbmRleCgkdmFsdWUsIGF0KSwgZmFsc2UpO1xuICAgIH1cbiAgICBAaWYgJHNwZWMtYXQtaW5kZXgge1xuICAgICAgQGlmICRzcGVjLWF0LWluZGV4ID4gMSB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggKCRzcGVjLWF0LWluZGV4IC0gMSkge1xuICAgICAgICAgICRzaGFwZS1zaXplOiAkc2hhcGUtc2l6ZSBudGgoJHZhbHVlLCAkaSk7XG4gICAgICAgIH1cbiAgICAgICAgQGZvciAkaSBmcm9tICgkc3BlYy1hdC1pbmRleCArIDEpIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgICAgICRwb3M6ICRwb3MgbnRoKCR2YWx1ZSwgJGkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkc3BlYy1hdC1pbmRleCA9PSAxIHtcbiAgICAgICAgQGZvciAkaSBmcm9tICgkc3BlYy1hdC1pbmRleCArIDEpIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgICAgICRwb3M6ICRwb3MgbnRoKCR2YWx1ZSwgJGkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAkZzE6IG51bGw7XG4gICAgfVxuXG4gICAgLy8gSWYgbm90IHNwZWMgY2FsY3VsYXRlIGNvcnJlY3QgdmFsdWVzXG4gICAgQGVsc2Uge1xuICAgICAgQGlmICgkcG9zLXR5cGUgIT0gY29sb3IpIG9yICgkZmlyc3QtdmFsICE9IFwidHJhbnNwYXJlbnRcIikge1xuICAgICAgICBAaWYgKCRwb3MtdHlwZSA9PSBudW1iZXIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2VudGVyXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwidG9wXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwicmlnaHRcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJib3R0b21cIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJsZWZ0XCIpIHtcblxuICAgICAgICAgICRwb3M6ICR2YWx1ZTtcblxuICAgICAgICAgIEBpZiAkcG9zID09ICRnMSB7XG4gICAgICAgICAgICAkZzE6IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVsc2UgaWZcbiAgICAgICAgICAgKCRmaXJzdC12YWwgPT0gXCJlbGxpcHNlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2lyY2xlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2xvc2VzdC1zaWRlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2xvc2VzdC1jb3JuZXJcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJmYXJ0aGVzdC1zaWRlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiZmFydGhlc3QtY29ybmVyXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY29udGFpblwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNvdmVyXCIpIHtcblxuICAgICAgICAgICRzaGFwZS1zaXplOiAkdmFsdWU7XG5cbiAgICAgICAgICBAaWYgJHZhbHVlID09ICRnMSB7XG4gICAgICAgICAgICAkZzE6IG51bGw7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVsc2UgaWYgJHZhbHVlID09ICRnMiB7XG4gICAgICAgICAgICAkZzI6IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGcxLCAkZzIsICRwb3MsICRzaGFwZS1zaXplO1xufVxuIiwKCQkiQGZ1bmN0aW9uIF9yYWRpYWwtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtcG9zKSB7XG4gICRzaGFwZS1zaXplOiBudGgoJGdyYWRpZW50LXBvcywgMSk7XG4gICRwb3M6ICAgICAgICBudGgoJGdyYWRpZW50LXBvcywgMik7XG4gICRzaGFwZS1zaXplLXNwZWM6IF9zaGFwZS1zaXplLXN0cmlwcGVyKCRzaGFwZS1zaXplKTtcblxuICAkcHJlLXNwZWM6IHVucXVvdGUoaWYoJHBvcywgXCIjeyRwb3N9LCBcIiwgbnVsbCkpXG4gICAgICAgICAgICAgdW5xdW90ZShpZigkc2hhcGUtc2l6ZSwgXCIjeyRzaGFwZS1zaXplfSxcIiwgbnVsbCkpO1xuICAkcG9zLXNwZWM6IGlmKCRwb3MsIFwiYXQgI3skcG9zfVwiLCBudWxsKTtcblxuICAkc3BlYzogXCIjeyRzaGFwZS1zaXplLXNwZWN9ICN7JHBvcy1zcGVjfVwiO1xuXG4gIC8vIEFkZCBjb21tYVxuICBAaWYgKCRzcGVjICE9IFwiICBcIikge1xuICAgICRzcGVjOiBcIiN7JHNwZWN9LFwiO1xuICB9XG5cbiAgQHJldHVybiAkcHJlLXNwZWMgJHNwZWM7XG59XG4iLAoJCSJAZnVuY3Rpb24gX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoJGltYWdlKSB7XG4gICRpbWFnZTogdW5xdW90ZSgkaW1hZ2UpO1xuICAkZ3JhZGllbnRzOiAoKTtcbiAgJHN0YXJ0OiBzdHItaW5kZXgoJGltYWdlLCBcIihcIik7XG4gICRlbmQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiLFwiKTtcbiAgJGZpcnN0LXZhbDogc3RyLXNsaWNlKCRpbWFnZSwgJHN0YXJ0ICsgMSwgJGVuZCAtIDEpO1xuXG4gICRwcmVmaXg6IHN0ci1zbGljZSgkaW1hZ2UsIDEsICRzdGFydCk7XG4gICRzdWZmaXg6IHN0ci1zbGljZSgkaW1hZ2UsICRlbmQsIHN0ci1sZW5ndGgoJGltYWdlKSk7XG5cbiAgJGlzLXNwZWMtc3ludGF4OiBzdHItaW5kZXgoJGZpcnN0LXZhbCwgXCJhdFwiKTtcblxuICBAaWYgJGlzLXNwZWMtc3ludGF4IGFuZCAkaXMtc3BlYy1zeW50YXggPiAxIHtcbiAgICAka2V5d29yZDogc3RyLXNsaWNlKCRmaXJzdC12YWwsIDEsICRpcy1zcGVjLXN5bnRheCAtIDIpO1xuICAgICRwb3M6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAkaXMtc3BlYy1zeW50YXggKyAzLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcbiAgICAkcG9zOiBhcHBlbmQoJHBvcywgJGtleXdvcmQsIGNvbW1hKTtcblxuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgJHBvcyArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgQGVsc2UgaWYgJGlzLXNwZWMtc3ludGF4ID09IDEge1xuICAgICRwb3M6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAkaXMtc3BlYy1zeW50YXggKyAzLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcblxuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgJHBvcyArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgQGVsc2UgaWYgc3RyLWluZGV4KCRpbWFnZSwgXCJjb3ZlclwiKSBvciBzdHItaW5kZXgoJGltYWdlLCBcImNvbnRhaW5cIikge1xuICAgIEB3YXJuIFwiUmFkaWFsLWdyYWRpZW50IG5lZWRzIHRvIGJlIHVwZGF0ZWQgdG8gY29uZm9ybSB0byBsYXRlc3Qgc3BlYy5cIjtcblxuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogbnVsbCxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cblxuICBAcmV0dXJuICRncmFkaWVudHM7XG59XG4iLAoJCSIvLyBVc2VyIGZvciBsaW5lYXIgYW5kIHJhZGlhbCBncmFkaWVudHMgd2l0aGluIGJhY2tncm91bmQtaW1hZ2Ugb3IgYm9yZGVyLWltYWdlIHByb3BlcnRpZXNcblxuQGZ1bmN0aW9uIF9yZW5kZXItZ3JhZGllbnRzKCRncmFkaWVudC1wb3NpdGlvbnMsICRncmFkaWVudHMsICRncmFkaWVudC10eXBlLCAkdmVuZG9yOiBmYWxzZSkge1xuICAkcHJlLXNwZWM6IG51bGw7XG4gICRzcGVjOiBudWxsO1xuICAkdmVuZG9yLWdyYWRpZW50czogbnVsbDtcbiAgQGlmICRncmFkaWVudC10eXBlID09IGxpbmVhciB7XG4gICAgQGlmICRncmFkaWVudC1wb3NpdGlvbnMge1xuICAgICAgJHByZS1zcGVjOiBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMSk7XG4gICAgICAkc3BlYzogICAgIG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAyKTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gcmFkaWFsIHtcbiAgICAkcHJlLXNwZWM6IG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAxKTtcbiAgICAkc3BlYzogICAgIG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAyKTtcbiAgfVxuXG4gIEBpZiAkdmVuZG9yIHtcbiAgICAkdmVuZG9yLWdyYWRpZW50czogLSN7JHZlbmRvcn0tI3skZ3JhZGllbnQtdHlwZX0tZ3JhZGllbnQoI3skcHJlLXNwZWN9ICRncmFkaWVudHMpO1xuICB9XG4gIEBlbHNlIGlmICR2ZW5kb3IgPT0gZmFsc2Uge1xuICAgICR2ZW5kb3ItZ3JhZGllbnRzOiBcIiN7JGdyYWRpZW50LXR5cGV9LWdyYWRpZW50KCN7JHNwZWN9ICN7JGdyYWRpZW50c30pXCI7XG4gICAgJHZlbmRvci1ncmFkaWVudHM6IHVucXVvdGUoJHZlbmRvci1ncmFkaWVudHMpO1xuICB9XG4gIEByZXR1cm4gJHZlbmRvci1ncmFkaWVudHM7XG59XG4iLAoJCSJAZnVuY3Rpb24gX3NoYXBlLXNpemUtc3RyaXBwZXIoJHNoYXBlLXNpemUpIHtcbiAgJHNoYXBlLXNpemUtc3BlYzogbnVsbDtcbiAgQGVhY2ggJHZhbHVlIGluICRzaGFwZS1zaXplIHtcbiAgICBAaWYgKCR2YWx1ZSA9PSBcImNvdmVyXCIpIG9yICgkdmFsdWUgPT0gXCJjb250YWluXCIpIHtcbiAgICAgICR2YWx1ZTogbnVsbDtcbiAgICB9XG4gICAgJHNoYXBlLXNpemUtc3BlYzogXCIjeyRzaGFwZS1zaXplLXNwZWN9ICN7JHZhbHVlfVwiO1xuICB9XG4gIEByZXR1cm4gJHNoYXBlLXNpemUtc3BlYztcbn1cbiIsCgkJIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgbGluZWFyL3JhZGlhbC1ncmFkaWVudC1wYXJzZXJzLlxuLy8gU291cmNlOiBodHRwOi8vc2Fzc21laXN0ZXIuY29tL2dpc3QvOTY0NzQwOFxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQGZ1bmN0aW9uIF9zdHItdG8tbnVtKCRzdHJpbmcpIHtcbiAgLy8gTWF0cmljZXNcbiAgJHN0cmluZ3M6IFwiMFwiIFwiMVwiIFwiMlwiIFwiM1wiIFwiNFwiIFwiNVwiIFwiNlwiIFwiN1wiIFwiOFwiIFwiOVwiO1xuICAkbnVtYmVyczogIDAgICAxICAgMiAgIDMgICA0ICAgNSAgIDYgICA3ICAgOCAgIDk7XG5cbiAgLy8gUmVzdWx0XG4gICRyZXN1bHQ6IDA7XG4gICRkaXZpZGVyOiAwO1xuICAkbWludXM6IGZhbHNlO1xuXG4gIC8vIExvb3BpbmcgdGhyb3VnaCBhbGwgY2hhcmFjdGVyc1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHN0cmluZykge1xuICAgICRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkc3RyaW5nLCAkaSwgJGkpO1xuICAgICRpbmRleDogaW5kZXgoJHN0cmluZ3MsICRjaGFyYWN0ZXIpO1xuXG4gICAgQGlmICRjaGFyYWN0ZXIgPT0gXCItXCIge1xuICAgICAgJG1pbnVzOiB0cnVlO1xuICAgIH1cblxuICAgIEBlbHNlIGlmICRjaGFyYWN0ZXIgPT0gXCIuXCIge1xuICAgICAgJGRpdmlkZXI6IDE7XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgQGlmIG5vdCAkaW5kZXgge1xuICAgICAgICAkcmVzdWx0OiBpZigkbWludXMsICRyZXN1bHQgKiAtMSwgJHJlc3VsdCk7XG4gICAgICAgIEByZXR1cm4gX2NvbnZlcnQtdW5pdHMoJHJlc3VsdCwgc3RyLXNsaWNlKCRzdHJpbmcsICRpKSk7XG4gICAgICB9XG5cbiAgICAgICRudW1iZXI6IG50aCgkbnVtYmVycywgJGluZGV4KTtcblxuICAgICAgQGlmICRkaXZpZGVyID09IDAge1xuICAgICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTA7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgLy8gTW92ZSB0aGUgZGVjaW1hbCBkb3QgdG8gdGhlIGxlZnRcbiAgICAgICAgJGRpdmlkZXI6ICRkaXZpZGVyICogMTA7XG4gICAgICAgICRudW1iZXI6ICRudW1iZXIgLyAkZGl2aWRlcjtcbiAgICAgIH1cblxuICAgICAgJHJlc3VsdDogJHJlc3VsdCArICRudW1iZXI7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gaWYoJG1pbnVzLCAkcmVzdWx0ICogLTEsICRyZXN1bHQpO1xufVxuIiwKCQkiLy8gaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1hbmltYXRpb25zLyN0aGUtYW5pbWF0aW9uLW5hbWUtcHJvcGVydHktXG4vLyBFYWNoIG9mIHRoZXNlIG1peGlucyBzdXBwb3J0IGNvbW1hIHNlcGFyYXRlZCBsaXN0cyBvZiB2YWx1ZXMsIHdoaWNoIGFsbG93cyBkaWZmZXJlbnQgdHJhbnNpdGlvbnMgZm9yIGluZGl2aWR1YWwgcHJvcGVydGllcyB0byBiZSBkZXNjcmliZWQgaW4gYSBzaW5nbGUgc3R5bGUgcnVsZS4gRWFjaCB2YWx1ZSBpbiB0aGUgbGlzdCBjb3JyZXNwb25kcyB0byB0aGUgdmFsdWUgYXQgdGhhdCBzYW1lIHBvc2l0aW9uIGluIHRoZSBvdGhlciBwcm9wZXJ0aWVzLlxuXG5AbWl4aW4gYW5pbWF0aW9uKCRhbmltYXRpb25zLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbiwgJGFuaW1hdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tbmFtZSgkbmFtZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsICRuYW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1kdXJhdGlvbigkdGltZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWR1cmF0aW9uLCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uKCRtb3Rpb25zLi4uKSB7XG4gIC8vIGVhc2UgfCBsaW5lYXIgfCBlYXNlLWluIHwgZWFzZS1vdXQgfCBlYXNlLWluLW91dFxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uLCAkbW90aW9ucywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQoJHZhbHVlcy4uLikge1xuICAvLyBpbmZpbml0ZSB8IDxudW1iZXI+XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsICR2YWx1ZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tZGlyZWN0aW9uKCRkaXJlY3Rpb25zLi4uKSB7XG4gIC8vIG5vcm1hbCB8IGFsdGVybmF0ZVxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZGlyZWN0aW9uLCAkZGlyZWN0aW9ucywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1wbGF5LXN0YXRlKCRzdGF0ZXMuLi4pIHtcbiAgLy8gcnVubmluZyB8IHBhdXNlZFxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tcGxheS1zdGF0ZSwgJHN0YXRlcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1kZWxheSgkdGltZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWRlbGF5LCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tZmlsbC1tb2RlKCRtb2Rlcy4uLikge1xuICAvLyBub25lIHwgZm9yd2FyZHMgfCBiYWNrd2FyZHMgfCBib3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1maWxsLW1vZGUsICRtb2Rlcywgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsCgkJIkBtaXhpbiBhcHBlYXJhbmNlKCR2YWx1ZSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhcHBlYXJhbmNlLCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cbiIsCgkJIkBtaXhpbiBiYWNrZmFjZS12aXNpYmlsaXR5KCR2aXNpYmlsaXR5KSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJhY2tmYWNlLXZpc2liaWxpdHksICR2aXNpYmlsaXR5LCB3ZWJraXQgc3BlYyk7XG59XG4iLAoJCSIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBCYWNrZ3JvdW5kIHByb3BlcnR5IGZvciBhZGRpbmcgbXVsdGlwbGUgYmFja2dyb3VuZHMgdXNpbmcgc2hvcnRoYW5kXG4vLyBub3RhdGlvbi5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cblxuQG1peGluIGJhY2tncm91bmQoJGJhY2tncm91bmRzLi4uKSB7XG4gICR3ZWJraXQtYmFja2dyb3VuZHM6ICgpO1xuICAkc3BlYy1iYWNrZ3JvdW5kczogKCk7XG5cbiAgQGVhY2ggJGJhY2tncm91bmQgaW4gJGJhY2tncm91bmRzIHtcbiAgICAkd2Via2l0LWJhY2tncm91bmQ6ICgpO1xuICAgICRzcGVjLWJhY2tncm91bmQ6ICgpO1xuICAgICRiYWNrZ3JvdW5kLXR5cGU6IHR5cGUtb2YoJGJhY2tncm91bmQpO1xuXG4gICAgQGlmICRiYWNrZ3JvdW5kLXR5cGUgPT0gc3RyaW5nIG9yICRiYWNrZ3JvdW5kLXR5cGUgPT0gbGlzdCB7XG4gICAgICAkYmFja2dyb3VuZC1zdHI6IGlmKCRiYWNrZ3JvdW5kLXR5cGUgPT0gbGlzdCwgbnRoKCRiYWNrZ3JvdW5kLCAxKSwgJGJhY2tncm91bmQpO1xuXG4gICAgICAkdXJsLXN0cjogICAgICAgc3RyLXNsaWNlKCRiYWNrZ3JvdW5kLXN0ciwgMSwgMyk7XG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRiYWNrZ3JvdW5kLXN0ciwgMSwgNik7XG5cbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICAkYmFja2dyb3VuZDtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKFwiI3skYmFja2dyb3VuZH1cIik7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwicmFkaWFsXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcihcIiN7JGJhY2tncm91bmR9XCIpO1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSB7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgJGJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgJGJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJHdlYmtpdC1iYWNrZ3JvdW5kczogYXBwZW5kKCR3ZWJraXQtYmFja2dyb3VuZHMsICR3ZWJraXQtYmFja2dyb3VuZCwgY29tbWEpO1xuICAgICRzcGVjLWJhY2tncm91bmRzOiAgIGFwcGVuZCgkc3BlYy1iYWNrZ3JvdW5kcywgICAkc3BlYy1iYWNrZ3JvdW5kLCAgIGNvbW1hKTtcbiAgfVxuXG4gIGJhY2tncm91bmQ6ICR3ZWJraXQtYmFja2dyb3VuZHM7XG4gIGJhY2tncm91bmQ6ICRzcGVjLWJhY2tncm91bmRzO1xufVxuIiwKCQkiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gQmFja2dyb3VuZC1pbWFnZSBwcm9wZXJ0eSBmb3IgYWRkaW5nIG11bHRpcGxlIGJhY2tncm91bmQgaW1hZ2VzIHdpdGhcbi8vIGdyYWRpZW50cywgb3IgZm9yIHN0cmluZ2luZyBtdWx0aXBsZSBncmFkaWVudHMgdG9nZXRoZXIuXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5cbkBtaXhpbiBiYWNrZ3JvdW5kLWltYWdlKCRpbWFnZXMuLi4pIHtcbiAgJHdlYmtpdC1pbWFnZXM6ICgpO1xuICAkc3BlYy1pbWFnZXM6ICgpO1xuXG4gIEBlYWNoICRpbWFnZSBpbiAkaW1hZ2VzIHtcbiAgICAkd2Via2l0LWltYWdlOiAoKTtcbiAgICAkc3BlYy1pbWFnZTogKCk7XG5cbiAgICBAaWYgKHR5cGUtb2YoJGltYWdlKSA9PSBzdHJpbmcpIHtcbiAgICAgICR1cmwtc3RyOiAgICAgICBzdHItc2xpY2UoJGltYWdlLCAxLCAzKTtcbiAgICAgICRncmFkaWVudC10eXBlOiBzdHItc2xpY2UoJGltYWdlLCAxLCA2KTtcblxuICAgICAgQGlmICR1cmwtc3RyID09IFwidXJsXCIge1xuICAgICAgICAkd2Via2l0LWltYWdlOiAkaW1hZ2U7XG4gICAgICAgICRzcGVjLWltYWdlOiAgICRpbWFnZTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSk7XG4gICAgICAgICR3ZWJraXQtaW1hZ2U6ICBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWltYWdlOiAgICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoJGltYWdlKTtcbiAgICAgICAgJHdlYmtpdC1pbWFnZTogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1pbWFnZTogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuICAgIH1cblxuICAgICR3ZWJraXQtaW1hZ2VzOiBhcHBlbmQoJHdlYmtpdC1pbWFnZXMsICR3ZWJraXQtaW1hZ2UsIGNvbW1hKTtcbiAgICAkc3BlYy1pbWFnZXM6ICAgYXBwZW5kKCRzcGVjLWltYWdlcywgICAkc3BlYy1pbWFnZSwgICBjb21tYSk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWltYWdlOiAkd2Via2l0LWltYWdlcztcbiAgYmFja2dyb3VuZC1pbWFnZTogJHNwZWMtaW1hZ2VzO1xufVxuIiwKCQkiQG1peGluIGJvcmRlci1pbWFnZSgkYm9yZGVycy4uLikge1xuICAkd2Via2l0LWJvcmRlcnM6ICgpO1xuICAkc3BlYy1ib3JkZXJzOiAoKTtcblxuICBAZWFjaCAkYm9yZGVyIGluICRib3JkZXJzIHtcbiAgICAkd2Via2l0LWJvcmRlcjogKCk7XG4gICAgJHNwZWMtYm9yZGVyOiAoKTtcbiAgICAkYm9yZGVyLXR5cGU6IHR5cGUtb2YoJGJvcmRlcik7XG5cbiAgICBAaWYgJGJvcmRlci10eXBlID09IHN0cmluZyBvciBsaXN0IHtcbiAgICAgICRib3JkZXItc3RyOiBpZigkYm9yZGVyLXR5cGUgPT0gbGlzdCwgbnRoKCRib3JkZXIsIDEpLCAkYm9yZGVyKTtcblxuICAgICAgJHVybC1zdHI6ICAgICAgIHN0ci1zbGljZSgkYm9yZGVyLXN0ciwgMSwgMyk7XG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRib3JkZXItc3RyLCAxLCA2KTtcblxuICAgICAgQGlmICR1cmwtc3RyID09IFwidXJsXCIge1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogJGJvcmRlcjtcbiAgICAgICAgJHNwZWMtYm9yZGVyOiAgICRib3JkZXI7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcihcIiN7JGJvcmRlcn1cIik7XG4gICAgICAgICR3ZWJraXQtYm9yZGVyOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWJvcmRlcjogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoXCIjeyRib3JkZXJ9XCIpO1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2Uge1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogJGJvcmRlcjtcbiAgICAgICAgJHNwZWMtYm9yZGVyOiAgICRib3JkZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XG4gICAgICAkc3BlYy1ib3JkZXI6ICAgJGJvcmRlcjtcbiAgICB9XG5cbiAgICAkd2Via2l0LWJvcmRlcnM6IGFwcGVuZCgkd2Via2l0LWJvcmRlcnMsICR3ZWJraXQtYm9yZGVyLCBjb21tYSk7XG4gICAgJHNwZWMtYm9yZGVyczogICBhcHBlbmQoJHNwZWMtYm9yZGVycywgICAkc3BlYy1ib3JkZXIsICAgY29tbWEpO1xuICB9XG5cbiAgLXdlYmtpdC1ib3JkZXItaW1hZ2U6ICR3ZWJraXQtYm9yZGVycztcbiAgICAgICAgICBib3JkZXItaW1hZ2U6ICRzcGVjLWJvcmRlcnM7XG4gICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cblxuLy9FeGFtcGxlczpcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZSh1cmwoXCJpbWFnZS5wbmdcIikpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKHVybChcImltYWdlLnBuZ1wiKSAyMCBzdHJldGNoKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShsaW5lYXItZ3JhZGllbnQoNDVkZWcsIG9yYW5nZSwgeWVsbG93KSk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykgc3RyZXRjaCk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykgMjAgMzAgNDAgNTAgc3RyZXRjaCByb3VuZCk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UocmFkaWFsLWdyYWRpZW50KHRvcCwgY292ZXIsIG9yYW5nZSwgeWVsbG93LCBvcmFuZ2UpKTtcbiIsCgkJIkBtaXhpbiBjYWxjKCRwcm9wZXJ0eSwgJHZhbHVlKSB7XG4gICN7JHByb3BlcnR5fTogLXdlYmtpdC1jYWxjKCN7JHZhbHVlfSk7XG4gICN7JHByb3BlcnR5fTogY2FsYygjeyR2YWx1ZX0pO1xufVxuIiwKCQkiQG1peGluIGNvbHVtbnMoJGFyZzogYXV0bykge1xuICAvLyA8Y29sdW1uLWNvdW50PiB8fCA8Y29sdW1uLXdpZHRoPlxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW5zLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCRpbnQ6IGF1dG8pIHtcbiAgLy8gYXV0byB8fCBpbnRlZ2VyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1jb3VudCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJGxlbmd0aDogbm9ybWFsKSB7XG4gIC8vIG5vcm1hbCB8fCBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLWdhcCwgJGxlbmd0aCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1maWxsKCRhcmc6IGF1dG8pIHtcbiAgLy8gYXV0byB8fCBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLWZpbGwsICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZSgkYXJnKSB7XG4gIC8vIDxib3JkZXItd2lkdGg+IHx8IDxib3JkZXItc3R5bGU+IHx8IDxjb2xvcj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUsICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZS1jb2xvcigkY29sb3IpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtY29sb3IsICRjb2xvciwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlLXN0eWxlKCRzdHlsZTogbm9uZSkge1xuICAvLyBub25lIHwgaGlkZGVuIHwgZGFzaGVkIHwgZG90dGVkIHwgZG91YmxlIHwgZ3Jvb3ZlIHwgaW5zZXQgfCBpbnNldCB8IG91dHNldCB8IHJpZGdlIHwgc29saWRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtc3R5bGUsICRzdHlsZSwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlLXdpZHRoICgkd2lkdGg6IG5vbmUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtd2lkdGgsICR3aWR0aCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1zcGFuKCRhcmc6IG5vbmUpIHtcbiAgLy8gbm9uZSB8fCBhbGxcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXNwYW4sICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4td2lkdGgoJGxlbmd0aDogYXV0bykge1xuICAvLyBhdXRvIHx8IGxlbmd0aFxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4td2lkdGgsICRsZW5ndGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLAoJCSJAbWl4aW4gZmlsdGVyKCRmdW5jdGlvbjogbm9uZSkge1xuICAvLyA8ZmlsdGVyLWZ1bmN0aW9uPiBbPGZpbHRlci1mdW5jdGlvbl0qIHwgbm9uZVxuICBAaW5jbHVkZSBwcmVmaXhlcihmaWx0ZXIsICRmdW5jdGlvbiwgd2Via2l0IHNwZWMpO1xufVxuIiwKCQkiLy8gQ1NTMyBGbGV4aWJsZSBCb3ggTW9kZWwgYW5kIHByb3BlcnR5IGRlZmF1bHRzXG5cbi8vIEN1c3RvbSBzaG9ydGhhbmQgbm90YXRpb24gZm9yIGZsZXhib3hcbkBtaXhpbiBib3goJG9yaWVudDogaW5saW5lLWF4aXMsICRwYWNrOiBzdGFydCwgJGFsaWduOiBzdHJldGNoKSB7XG4gIEBpbmNsdWRlIGRpc3BsYXktYm94O1xuICBAaW5jbHVkZSBib3gtb3JpZW50KCRvcmllbnQpO1xuICBAaW5jbHVkZSBib3gtcGFjaygkcGFjayk7XG4gIEBpbmNsdWRlIGJveC1hbGlnbigkYWxpZ24pO1xufVxuXG5AbWl4aW4gZGlzcGxheS1ib3gge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1vei1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94OyAvLyBJRSAxMFxuICBkaXNwbGF5OiBib3g7XG59XG5cbkBtaXhpbiBib3gtb3JpZW50KCRvcmllbnQ6IGlubGluZS1heGlzKSB7XG4vLyBob3Jpem9udGFsfHZlcnRpY2FsfGlubGluZS1heGlzfGJsb2NrLWF4aXN8aW5oZXJpdFxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JpZW50LCAkb3JpZW50LCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYm94LXBhY2soJHBhY2s6IHN0YXJ0KSB7XG4vLyBzdGFydHxlbmR8Y2VudGVyfGp1c3RpZnlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LXBhY2ssICRwYWNrLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1wYWNrOiAkcGFjazsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1hbGlnbigkYWxpZ246IHN0cmV0Y2gpIHtcbi8vIHN0YXJ0fGVuZHxjZW50ZXJ8YmFzZWxpbmV8c3RyZXRjaFxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtYWxpZ24sICRhbGlnbiwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtYWxpZ246ICRhbGlnbjsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogbm9ybWFsKSB7XG4vLyBub3JtYWx8cmV2ZXJzZXxpbmhlcml0XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1kaXJlY3Rpb24sICRkaXJlY3Rpb24sIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1saW5lcygkbGluZXM6IHNpbmdsZSkge1xuLy8gc2luZ2xlfG11bHRpcGxlXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1saW5lcywgJGxpbmVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYm94LW9yZGluYWwtZ3JvdXAoJGludDogMSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JkaW5hbC1ncm91cCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtb3JkZXI6ICRpbnQ7IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtZmxleCgkdmFsdWU6IDApIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgsICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXg6ICR2YWx1ZTsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1mbGV4LWdyb3VwKCRpbnQ6IDEpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbi8vIENTUzMgRmxleGlibGUgQm94IE1vZGVsIGFuZCBwcm9wZXJ0eSBkZWZhdWx0c1xuLy8gVW5pZmllZCBhdHRyaWJ1dGVzIGZvciAyMDA5LCAyMDExLCBhbmQgMjAxMiBmbGF2b3Vycy5cblxuLy8gMjAwOSAtIGRpc3BsYXkgKGJveCB8IGlubGluZS1ib3gpXG4vLyAyMDExIC0gZGlzcGxheSAoZmxleGJveCB8IGlubGluZS1mbGV4Ym94KVxuLy8gMjAxMiAtIGRpc3BsYXkgKGZsZXggfCBpbmxpbmUtZmxleClcbkBtaXhpbiBkaXNwbGF5KCR2YWx1ZSkge1xuLy8gZmxleCB8IGlubGluZS1mbGV4XG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4XCIge1xuICAgIC8vIDIwMDlcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbW96LWJveDtcbiAgICBkaXNwbGF5OiBib3g7XG5cbiAgICAvLyAyMDEyXG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IC1tb3otZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLy8gMjAxMSAoSUUgMTApXG4gICAgZGlzcGxheTogZmxleDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJpbmxpbmUtZmxleFwiIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtYm94O1xuICAgIGRpc3BsYXk6IGlubGluZS1ib3g7XG5cbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4O1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB9IEBlbHNlIHtcbiAgICBkaXNwbGF5OiAkdmFsdWU7XG4gIH1cbn1cblxuLy8gMjAwOSAtIGJveC1mbGV4IChpbnRlZ2VyKVxuLy8gMjAxMSAtIGZsZXggKGRlY2ltYWwgfCB3aWR0aCBkZWNpbWFsKVxuLy8gMjAxMiAtIGZsZXggKGludGVnZXIgaW50ZWdlciB3aWR0aClcbkBtaXhpbiBmbGV4KCR2YWx1ZSkge1xuXG4gIC8vIEdyYWIgZmxleC1ncm93IGZvciBvbGRlciBicm93c2Vycy5cbiAgJGZsZXgtZ3JvdzogbnRoKCR2YWx1ZSwgMSk7XG5cbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZmxleCwgJGZsZXgtZ3Jvdywgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMCksIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuXG4vLyAyMDA5IC0gYm94LW9yaWVudCAoIGhvcml6b250YWwgfCB2ZXJ0aWNhbCB8IGlubGluZS1heGlzIHwgYmxvY2stYXhpcylcbi8vICAgICAgLSBib3gtZGlyZWN0aW9uIChub3JtYWwgfCByZXZlcnNlKVxuLy8gMjAxMSAtIGZsZXgtZGlyZWN0aW9uIChyb3cgfCByb3ctcmV2ZXJzZSB8IGNvbHVtbiB8IGNvbHVtbi1yZXZlcnNlKVxuLy8gMjAxMiAtIGZsZXgtZGlyZWN0aW9uIChyb3cgfCByb3ctcmV2ZXJzZSB8IGNvbHVtbiB8IGNvbHVtbi1yZXZlcnNlKVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZTogcm93KSB7XG5cbiAgLy8gQWx0IHZhbHVlcy5cbiAgJHZhbHVlLTIwMDk6ICR2YWx1ZTtcbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcbiAgJGRpcmVjdGlvbjogbm9ybWFsO1xuXG4gIEBpZiAkdmFsdWUgPT0gcm93IHtcbiAgICAkdmFsdWUtMjAwOTogaG9yaXpvbnRhbDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJyb3ctcmV2ZXJzZVwiIHtcbiAgICAkdmFsdWUtMjAwOTogaG9yaXpvbnRhbDtcbiAgICAkZGlyZWN0aW9uOiByZXZlcnNlO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBjb2x1bW4ge1xuICAgICR2YWx1ZS0yMDA5OiB2ZXJ0aWNhbDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJjb2x1bW4tcmV2ZXJzZVwiIHtcbiAgICAkdmFsdWUtMjAwOTogdmVydGljYWw7XG4gICAgJGRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgfVxuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yaWVudCwgJHZhbHVlLTIwMDksIHdlYmtpdCBtb3ogc3BlYyk7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1kaXJlY3Rpb24sICRkaXJlY3Rpb24sIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWRpcmVjdGlvbiwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cblxuLy8gMjAwOSAtIGJveC1saW5lcyAoc2luZ2xlIHwgbXVsdGlwbGUpXG4vLyAyMDExIC0gZmxleC13cmFwIChub3dyYXAgfCB3cmFwIHwgd3JhcC1yZXZlcnNlKVxuLy8gMjAxMiAtIGZsZXgtd3JhcCAobm93cmFwIHwgd3JhcCB8IHdyYXAtcmV2ZXJzZSlcbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlOiBub3dyYXApIHtcbiAgLy8gQWx0IHZhbHVlc1xuICAkYWx0LXZhbHVlOiAkdmFsdWU7XG4gIEBpZiAkdmFsdWUgPT0gbm93cmFwIHtcbiAgICAkYWx0LXZhbHVlOiBzaW5nbGU7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IHdyYXAge1xuICAgICRhbHQtdmFsdWU6IG11bHRpcGxlO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcIndyYXAtcmV2ZXJzZVwiIHtcbiAgICAkYWx0LXZhbHVlOiBtdWx0aXBsZTtcbiAgfVxuXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1saW5lcywgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC13cmFwLCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG5cbi8vIDIwMDkgLSBUT0RPOiBwYXJzZSB2YWx1ZXMgaW50byBmbGV4LWRpcmVjdGlvbi9mbGV4LXdyYXBcbi8vIDIwMTEgLSBUT0RPOiBwYXJzZSB2YWx1ZXMgaW50byBmbGV4LWRpcmVjdGlvbi9mbGV4LXdyYXBcbi8vIDIwMTIgLSBmbGV4LWZsb3cgKGZsZXgtZGlyZWN0aW9uIHx8IGZsZXgtd3JhcClcbkBtaXhpbiBmbGV4LWZsb3coJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZmxvdywgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG4vLyAyMDA5IC0gYm94LW9yZGluYWwtZ3JvdXAgKGludGVnZXIpXG4vLyAyMDExIC0gZmxleC1vcmRlciAoaW50ZWdlcilcbi8vIDIwMTIgLSBvcmRlciAoaW50ZWdlcilcbkBtaXhpbiBvcmRlcigkaW50OiAwKSB7XG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yZGluYWwtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihvcmRlciwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtb3JkZXI6ICRpbnQ7XG59XG5cbi8vIDIwMTIgLSBmbGV4LWdyb3cgKG51bWJlcilcbkBtaXhpbiBmbGV4LWdyb3coJG51bWJlcjogMCkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWdyb3csICRudW1iZXIsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LXBvc2l0aXZlOiAkbnVtYmVyO1xufVxuXG4vLyAyMDEyIC0gZmxleC1zaHJpbmsgKG51bWJlcilcbkBtaXhpbiBmbGV4LXNocmluaygkbnVtYmVyOiAxKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtc2hyaW5rLCAkbnVtYmVyLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1uZWdhdGl2ZTogJG51bWJlcjtcbn1cblxuLy8gMjAxMiAtIGZsZXgtYmFzaXMgKG51bWJlcilcbkBtaXhpbiBmbGV4LWJhc2lzKCR3aWR0aDogYXV0bykge1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWJhc2lzLCAkd2lkdGgsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAkd2lkdGg7XG59XG5cbi8vIDIwMDkgLSBib3gtcGFjayAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5KVxuLy8gMjAxMSAtIGZsZXgtcGFjayAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5KVxuLy8gMjAxMiAtIGp1c3RpZnktY29udGVudCAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZClcbkBtaXhpbiBqdXN0aWZ5LWNvbnRlbnQoJHZhbHVlOiBmbGV4LXN0YXJ0KSB7XG5cbiAgLy8gQWx0IHZhbHVlcy5cbiAgJGFsdC12YWx1ZTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkYWx0LXZhbHVlOiBzdGFydDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkYWx0LXZhbHVlOiBlbmQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYmV0d2VlblwiIHtcbiAgICAkYWx0LXZhbHVlOiBqdXN0aWZ5O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWFyb3VuZFwiIHtcbiAgICAkYWx0LXZhbHVlOiBkaXN0cmlidXRlO1xuICB9XG5cbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtcGFjaywgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGp1c3RpZnktY29udGVudCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LXBhY2s6ICRhbHQtdmFsdWU7XG59XG5cbi8vIDIwMDkgLSBib3gtYWxpZ24gKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuLy8gMjAxMSAtIGZsZXgtYWxpZ24gKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuLy8gMjAxMiAtIGFsaWduLWl0ZW1zIChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG5AbWl4aW4gYWxpZ24taXRlbXMoJHZhbHVlOiBzdHJldGNoKSB7XG5cbiAgJGFsdC12YWx1ZTogJHZhbHVlO1xuXG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICRhbHQtdmFsdWU6IHN0YXJ0O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICRhbHQtdmFsdWU6IGVuZDtcbiAgfVxuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWFsaWduLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24taXRlbXMsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1hbGlnbjogJGFsdC12YWx1ZTtcbn1cblxuLy8gMjAxMSAtIGZsZXgtaXRlbS1hbGlnbiAoYXV0byB8IHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuLy8gMjAxMiAtIGFsaWduLXNlbGYgKGF1dG8gfCBmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG5AbWl4aW4gYWxpZ24tc2VsZigkdmFsdWU6IGF1dG8pIHtcblxuICAkdmFsdWUtMjAxMTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkdmFsdWUtMjAxMTogc3RhcnQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IGVuZDtcbiAgfVxuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24tc2VsZiwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1pdGVtLWFsaWduOiAkdmFsdWUtMjAxMTtcbn1cblxuLy8gMjAxMSAtIGZsZXgtbGluZS1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkgfCBkaXN0cmlidXRlIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1jb250ZW50IChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kIHwgc3RyZXRjaClcbkBtaXhpbiBhbGlnbi1jb250ZW50KCR2YWx1ZTogc3RyZXRjaCkge1xuXG4gICR2YWx1ZS0yMDExOiAkdmFsdWU7XG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICR2YWx1ZS0yMDExOiBzdGFydDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkdmFsdWUtMjAxMTogZW5kO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWJldHdlZW5cIiB7XG4gICAgJHZhbHVlLTIwMTE6IGp1c3RpZnk7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYXJvdW5kXCIge1xuICAgICR2YWx1ZS0yMDExOiBkaXN0cmlidXRlO1xuICB9XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1jb250ZW50LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LWxpbmUtcGFjazogJHZhbHVlLTIwMTE7XG59XG4iLAoJCSJAbWl4aW4gZm9udC1mYWNlKFxuICAkZm9udC1mYW1pbHksXG4gICRmaWxlLXBhdGgsXG4gICR3ZWlnaHQ6IG5vcm1hbCxcbiAgJHN0eWxlOiBub3JtYWwsXG4gICRhc3NldC1waXBlbGluZTogJGFzc2V0LXBpcGVsaW5lLFxuICAkZmlsZS1mb3JtYXRzOiBlb3Qgd29mZjIgd29mZiB0dGYgc3ZnKSB7XG5cbiAgJGZvbnQtdXJsLXByZWZpeDogZm9udC11cmwtcHJlZml4ZXIoJGFzc2V0LXBpcGVsaW5lKTtcblxuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcbiAgICBmb250LXdlaWdodDogJHdlaWdodDtcblxuICAgIHNyYzogZm9udC1zb3VyY2UtZGVjbGFyYXRpb24oXG4gICAgICAkZm9udC1mYW1pbHksXG4gICAgICAkZmlsZS1wYXRoLFxuICAgICAgJGFzc2V0LXBpcGVsaW5lLFxuICAgICAgJGZpbGUtZm9ybWF0cyxcbiAgICAgICRmb250LXVybC1wcmVmaXhcbiAgICApO1xuICB9XG59XG4iLAoJCSJAbWl4aW4gZm9udC1mZWF0dXJlLXNldHRpbmdzKCRzZXR0aW5ncy4uLikge1xuICBAaWYgbGVuZ3RoKCRzZXR0aW5ncykgPT0gMCB7ICRzZXR0aW5nczogbm9uZTsgfVxuICBAaW5jbHVkZSBwcmVmaXhlcihmb250LWZlYXR1cmUtc2V0dGluZ3MsICRzZXR0aW5ncywgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cbiIsCgkJIi8vIEhpRFBJIG1peGluLiBEZWZhdWx0IHZhbHVlIHNldCB0byAxLjMgdG8gdGFyZ2V0IEdvb2dsZSBOZXh1cyA3IChodHRwOi8vYmphbmdvLmNvbS9hcnRpY2xlcy9taW4tZGV2aWNlLXBpeGVsLXJhdGlvLylcbkBtaXhpbiBoaWRwaSgkcmF0aW86IDEuMykge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAkcmF0aW8pLFxuICBvbmx5IHNjcmVlbiBhbmQgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICN7JHJhdGlvfS8xKSxcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogcm91bmQoJHJhdGlvICogOTZkcGkpKSxcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogJHJhdGlvICogMWRwcHgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwKCQkiQG1peGluIGh5cGhlbnMoJGh5cGhlbmF0aW9uOiBub25lKSB7XG4gIC8vIG5vbmUgfCBtYW51YWwgfCBhdXRvXG4gIEBpbmNsdWRlIHByZWZpeGVyKGh5cGhlbnMsICRoeXBoZW5hdGlvbiwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cbiIsCgkJIkBtaXhpbiBpbWFnZS1yZW5kZXJpbmcgKCRtb2RlOmF1dG8pIHtcblxuICBAaWYgKCRtb2RlID09IGNyaXNwLWVkZ2VzKSB7XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogbmVhcmVzdC1uZWlnaGJvcjsgLy8gSUU4K1xuICAgIGltYWdlLXJlbmRlcmluZzogLW1vei1jcmlzcC1lZGdlcztcbiAgICBpbWFnZS1yZW5kZXJpbmc6IC1vLWNyaXNwLWVkZ2VzO1xuICAgIGltYWdlLXJlbmRlcmluZzogLXdlYmtpdC1vcHRpbWl6ZS1jb250cmFzdDtcbiAgICBpbWFnZS1yZW5kZXJpbmc6IGNyaXNwLWVkZ2VzO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgIGltYWdlLXJlbmRlcmluZzogJG1vZGU7XG4gIH1cbn1cbiIsCgkJIi8vIEFkZHMga2V5ZnJhbWVzIGJsb2NrcyBmb3Igc3VwcG9ydGVkIHByZWZpeGVzLCByZW1vdmluZyByZWR1bmRhbnQgcHJlZml4ZXMgaW4gdGhlIGJsb2NrJ3MgY29udGVudFxuQG1peGluIGtleWZyYW1lcygkbmFtZSkge1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci13ZWJraXQ6ICAgICRwcmVmaXgtZm9yLXdlYmtpdDtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbW96aWxsYTogICAkcHJlZml4LWZvci1tb3ppbGxhO1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci1taWNyb3NvZnQ6ICRwcmVmaXgtZm9yLW1pY3Jvc29mdDtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itb3BlcmE6ICAgICAkcHJlZml4LWZvci1vcGVyYTtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itc3BlYzogICAgICAkcHJlZml4LWZvci1zcGVjO1xuXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci13ZWJraXQge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKTtcbiAgICAkcHJlZml4LWZvci13ZWJraXQ6IHRydWUgIWdsb2JhbDtcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGlmICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGEge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKTtcbiAgICAkcHJlZml4LWZvci1tb3ppbGxhOiB0cnVlICFnbG9iYWw7XG4gICAgQC1tb3ota2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gICRwcmVmaXgtZm9yLXdlYmtpdDogICAgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0ICAgICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1vemlsbGE6ICAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbW96aWxsYSAgICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1pY3Jvc29mdDogJG9yaWdpbmFsLXByZWZpeC1mb3ItbWljcm9zb2Z0ICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW9wZXJhOiAgICAgJG9yaWdpbmFsLXByZWZpeC1mb3Itb3BlcmEgICAgICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLXNwZWM6ICAgICAgJG9yaWdpbmFsLXByZWZpeC1mb3Itc3BlYyAgICAgICFnbG9iYWw7XG5cbiAgQGlmICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWMge1xuICAgIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLAoJCSJAbWl4aW4gbGluZWFyLWdyYWRpZW50KCRwb3MsICRnMSwgJGcyOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzM6IG51bGwsICRnNDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGc1OiBudWxsLCAkZzY6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnNzogbnVsbCwgJGc4OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzk6IG51bGwsICRnMTA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRmYWxsYmFjazogbnVsbCkge1xuICAvLyBEZXRlY3Qgd2hhdCB0eXBlIG9mIHZhbHVlIGV4aXN0cyBpbiAkcG9zXG4gICRwb3MtdHlwZTogdHlwZS1vZihudGgoJHBvcywgMSkpO1xuICAkcG9zLXNwZWM6IG51bGw7XG4gICRwb3MtZGVncmVlOiBudWxsO1xuXG4gIC8vIElmICRwb3MgaXMgbWlzc2luZyBmcm9tIG1peGluLCByZWFzc2lnbiB2YXJzIGFuZCBhZGQgZGVmYXVsdCBwb3NpdGlvblxuICBAaWYgKCRwb3MtdHlwZSA9PSBjb2xvcikgb3IgKG50aCgkcG9zLCAxKSA9PSBcInRyYW5zcGFyZW50XCIpICB7XG4gICAgJGcxMDogJGc5OyAkZzk6ICRnODsgJGc4OiAkZzc7ICRnNzogJGc2OyAkZzY6ICRnNTtcbiAgICAkZzU6ICRnNDsgJGc0OiAkZzM7ICRnMzogJGcyOyAkZzI6ICRnMTsgJGcxOiAkcG9zO1xuICAgICRwb3M6IG51bGw7XG4gIH1cblxuICBAaWYgJHBvcyB7XG4gICAgJHBvc2l0aW9uczogX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRwb3MpO1xuICAgICRwb3MtZGVncmVlOiBudGgoJHBvc2l0aW9ucywgMSk7XG4gICAgJHBvcy1zcGVjOiAgIG50aCgkcG9zaXRpb25zLCAyKTtcbiAgfVxuXG4gICRmdWxsOiAkZzEsICRnMiwgJGczLCAkZzQsICRnNSwgJGc2LCAkZzcsICRnOCwgJGc5LCAkZzEwO1xuXG4gIC8vIFNldCAkZzEgYXMgdGhlIGRlZmF1bHQgZmFsbGJhY2sgY29sb3JcbiAgJGZhbGxiYWNrLWNvbG9yOiBudGgoJGcxLCAxKTtcblxuICAvLyBJZiAkZmFsbGJhY2sgaXMgYSBjb2xvciB1c2UgdGhhdCBjb2xvciBhcyB0aGUgZmFsbGJhY2sgY29sb3JcbiAgQGlmICh0eXBlLW9mKCRmYWxsYmFjaykgPT0gY29sb3IpIG9yICgkZmFsbGJhY2sgPT0gXCJ0cmFuc3BhcmVudFwiKSB7XG4gICAgJGZhbGxiYWNrLWNvbG9yOiAkZmFsbGJhY2s7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmFsbGJhY2stY29sb3I7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRwb3MtZGVncmVlICRmdWxsKTsgLy8gU2FmYXJpIDUuMSssIENocm9tZVxuICBiYWNrZ3JvdW5kLWltYWdlOiB1bnF1b3RlKFwibGluZWFyLWdyYWRpZW50KCN7JHBvcy1zcGVjfSN7JGZ1bGx9KVwiKTtcbn1cbiIsCgkJIkBtaXhpbiBwZXJzcGVjdGl2ZSgkZGVwdGg6IG5vbmUpIHtcbiAgLy8gbm9uZSB8IDxsZW5ndGg+XG4gIEBpbmNsdWRlIHByZWZpeGVyKHBlcnNwZWN0aXZlLCAkZGVwdGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBwZXJzcGVjdGl2ZS1vcmlnaW4oJHZhbHVlOiA1MCUgNTAlKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHBlcnNwZWN0aXZlLW9yaWdpbiwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwKCQkiQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJHBsYWNlaG9sZGVyczogXCI6LXdlYmtpdC1pbnB1dFwiIFwiOi1tb3pcIiBcIi1tb3pcIiBcIi1tcy1pbnB1dFwiO1xuICBAZWFjaCAkcGxhY2Vob2xkZXIgaW4gJHBsYWNlaG9sZGVycyB7XG4gICAgJjojeyRwbGFjZWhvbGRlcn0tcGxhY2Vob2xkZXIge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLAoJCSIvLyBSZXF1aXJlcyBTYXNzIDMuMStcbkBtaXhpbiByYWRpYWwtZ3JhZGllbnQoJGcxLCAkZzIsXG4gICAgICAgICAgICAgICAgICAgICAgICRnMzogbnVsbCwgJGc0OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzU6IG51bGwsICRnNjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGc3OiBudWxsLCAkZzg6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnOTogbnVsbCwgJGcxMDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJHBvczogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJHNoYXBlLXNpemU6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRmYWxsYmFjazogbnVsbCkge1xuXG4gICRkYXRhOiBfcmFkaWFsLWFyZy1wYXJzZXIoJGcxLCAkZzIsICRwb3MsICRzaGFwZS1zaXplKTtcbiAgJGcxOiAgbnRoKCRkYXRhLCAxKTtcbiAgJGcyOiAgbnRoKCRkYXRhLCAyKTtcbiAgJHBvczogbnRoKCRkYXRhLCAzKTtcbiAgJHNoYXBlLXNpemU6IG50aCgkZGF0YSwgNCk7XG5cbiAgJGZ1bGw6ICRnMSwgJGcyLCAkZzMsICRnNCwgJGc1LCAkZzYsICRnNywgJGc4LCAkZzksICRnMTA7XG5cbiAgLy8gU3RyaXAgZGVwcmVjYXRlZCBjb3Zlci9jb250YWluIGZvciBzcGVjXG4gICRzaGFwZS1zaXplLXNwZWM6IF9zaGFwZS1zaXplLXN0cmlwcGVyKCRzaGFwZS1zaXplKTtcblxuICAvLyBTZXQgJGcxIGFzIHRoZSBkZWZhdWx0IGZhbGxiYWNrIGNvbG9yXG4gICRmaXJzdC1jb2xvcjogbnRoKCRmdWxsLCAxKTtcbiAgJGZhbGxiYWNrLWNvbG9yOiBudGgoJGZpcnN0LWNvbG9yLCAxKTtcblxuICBAaWYgKHR5cGUtb2YoJGZhbGxiYWNrKSA9PSBjb2xvcikgb3IgKCRmYWxsYmFjayA9PSBcInRyYW5zcGFyZW50XCIpIHtcbiAgICAkZmFsbGJhY2stY29sb3I6ICRmYWxsYmFjaztcbiAgfVxuXG4gIC8vIEFkZCBDb21tYXMgYW5kIHNwYWNlc1xuICAkc2hhcGUtc2l6ZTogaWYoJHNoYXBlLXNpemUsIFwiI3skc2hhcGUtc2l6ZX0sIFwiLCBudWxsKTtcbiAgJHBvczogICAgICAgIGlmKCRwb3MsIFwiI3skcG9zfSwgXCIsIG51bGwpO1xuICAkcG9zLXNwZWM6ICAgaWYoJHBvcywgXCJhdCAjeyRwb3N9XCIsIG51bGwpO1xuICAkc2hhcGUtc2l6ZS1zcGVjOiBpZigoJHNoYXBlLXNpemUtc3BlYyAhPSBcIiBcIikgYW5kICgkcG9zID09IG51bGwpLCBcIiN7JHNoYXBlLXNpemUtc3BlY30sIFwiLCBcIiN7JHNoYXBlLXNpemUtc3BlY30gXCIpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICAkZmFsbGJhY2stY29sb3I7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KHVucXVvdGUoI3skcG9zfSN7JHNoYXBlLXNpemV9I3skZnVsbH0pKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdW5xdW90ZShcInJhZGlhbC1ncmFkaWVudCgjeyRzaGFwZS1zaXplLXNwZWN9I3skcG9zLXNwZWN9I3skZnVsbH0pXCIpO1xufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIE91dHB1dHMgdGhlIHNwZWMgYW5kIHByZWZpeGVkIHZlcnNpb25zIG9mIHRoZSBgOjpzZWxlY3Rpb25gIHBzZXVkby1lbGVtZW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7Qm9vbH0gJGN1cnJlbnQtc2VsZWN0b3IgW2ZhbHNlXVxyXG4vLy8gICBJZiBzZXQgdG8gYHRydWVgLCBpdCB0YWtlcyB0aGUgY3VycmVudCBlbGVtZW50IGludG8gY29uc2lkZXJhdGlvbi5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIHNlbGVjdGlvbih0cnVlKSB7XHJcbi8vLyAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYjUyO1xyXG4vLy8gICAgIH1cclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgLmVsZW1lbnQ6Oi1tb3otc2VsZWN0aW9uIHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYjUyO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gICAuZWxlbWVudDo6c2VsZWN0aW9uIHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYjUyO1xyXG4vLy8gICB9XHJcblxyXG5AbWl4aW4gc2VsZWN0aW9uKCRjdXJyZW50LXNlbGVjdG9yOiBmYWxzZSkge1xyXG4gIEBpZiAkY3VycmVudC1zZWxlY3RvciB7XHJcbiAgICAmOjotbW96LXNlbGVjdGlvbiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG5cclxuICAgICY6OnNlbGVjdGlvbiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgOjotbW96LXNlbGVjdGlvbiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG5cclxuICAgIDo6c2VsZWN0aW9uIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsCgkJIkBtaXhpbiB0ZXh0LWRlY29yYXRpb24oJHZhbHVlKSB7XG4vLyA8dGV4dC1kZWNvcmF0aW9uLWxpbmU+IHx8IDx0ZXh0LWRlY29yYXRpb24tc3R5bGU+IHx8IDx0ZXh0LWRlY29yYXRpb24tY29sb3I+XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRleHQtZGVjb3JhdGlvbiwgJHZhbHVlLCBtb3opO1xufVxuXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uLWxpbmUoJGxpbmU6IG5vbmUpIHtcbi8vIG5vbmUgfHwgdW5kZXJsaW5lIHx8IG92ZXJsaW5lIHx8IGxpbmUtdGhyb3VnaFxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24tbGluZSwgJGxpbmUsIG1veik7XG59XG5cbkBtaXhpbiB0ZXh0LWRlY29yYXRpb24tc3R5bGUoJHN0eWxlOiBzb2xpZCkge1xuLy8gc29saWQgfHwgZG91YmxlIHx8IGRvdHRlZCB8fCBkYXNoZWQgfHwgd2F2eVxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24tc3R5bGUsICRzdHlsZSwgbW96IHdlYmtpdCk7XG59XG5cbkBtaXhpbiB0ZXh0LWRlY29yYXRpb24tY29sb3IoJGNvbG9yOiBjdXJyZW50Q29sb3IpIHtcbi8vIGN1cnJlbnRDb2xvciB8fCA8Y29sb3I+XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRleHQtZGVjb3JhdGlvbi1jb2xvciwgJGNvbG9yLCBtb3opO1xufVxuIiwKCQkiQG1peGluIHRyYW5zZm9ybSgkcHJvcGVydHk6IG5vbmUpIHtcbiAgLy8gbm9uZSB8IDx0cmFuc2Zvcm0tZnVuY3Rpb24+XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybSwgJHByb3BlcnR5LCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2Zvcm0tb3JpZ2luKCRheGVzOiA1MCUpIHtcbiAgLy8geC1heGlzIC0gbGVmdCB8IGNlbnRlciB8IHJpZ2h0ICB8IGxlbmd0aCB8ICVcbiAgLy8geS1heGlzIC0gdG9wICB8IGNlbnRlciB8IGJvdHRvbSB8IGxlbmd0aCB8ICVcbiAgLy8gei1heGlzIC0gICAgICAgICAgICAgICAgICAgICAgICAgIGxlbmd0aFxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0tb3JpZ2luLCAkYXhlcywgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNmb3JtLXN0eWxlKCRzdHlsZTogZmxhdCkge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0tc3R5bGUsICRzdHlsZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xufVxuIiwKCQkiLy8gU2hvcnRoYW5kIG1peGluLiBTdXBwb3J0cyBtdWx0aXBsZSBwYXJlbnRoZXNlcy1kZWxpbWluYXRlZCB2YWx1ZXMgZm9yIGVhY2ggdmFyaWFibGUuXG4vLyBFeGFtcGxlOiBAaW5jbHVkZSB0cmFuc2l0aW9uIChhbGwgMnMgZWFzZS1pbi1vdXQpO1xuLy8gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiAob3BhY2l0eSAxcyBlYXNlLWluIDJzLCB3aWR0aCAycyBlYXNlLW91dCk7XG4vLyAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLXByb3BlcnR5ICh0cmFuc2Zvcm0sIG9wYWNpdHkpO1xuXG5AbWl4aW4gdHJhbnNpdGlvbigkcHJvcGVydGllcy4uLikge1xuICAvLyBGaXggZm9yIHZlbmRvci1wcmVmaXggdHJhbnNmb3JtIHByb3BlcnR5XG4gICRuZWVkcy1wcmVmaXhlczogZmFsc2U7XG4gICR3ZWJraXQ6ICgpO1xuICAkbW96OiAoKTtcbiAgJHNwZWM6ICgpO1xuXG4gIC8vIENyZWF0ZSBsaXN0cyBmb3IgdmVuZG9yLXByZWZpeGVkIHRyYW5zZm9ybVxuICBAZWFjaCAkbGlzdCBpbiAkcHJvcGVydGllcyB7XG4gICAgQGlmIG50aCgkbGlzdCwgMSkgPT0gXCJ0cmFuc2Zvcm1cIiB7XG4gICAgICAkbmVlZHMtcHJlZml4ZXM6IHRydWU7XG4gICAgICAkbGlzdDE6IC13ZWJraXQtdHJhbnNmb3JtO1xuICAgICAgJGxpc3QyOiAtbW96LXRyYW5zZm9ybTtcbiAgICAgICRsaXN0MzogKCk7XG5cbiAgICAgIEBlYWNoICR2YXIgaW4gJGxpc3Qge1xuICAgICAgICAkbGlzdDM6IGpvaW4oJGxpc3QzLCAkdmFyKTtcblxuICAgICAgICBAaWYgJHZhciAhPSBcInRyYW5zZm9ybVwiIHtcbiAgICAgICAgICAkbGlzdDE6IGpvaW4oJGxpc3QxLCAkdmFyKTtcbiAgICAgICAgICAkbGlzdDI6IGpvaW4oJGxpc3QyLCAkdmFyKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAkd2Via2l0OiBhcHBlbmQoJHdlYmtpdCwgJGxpc3QxKTtcbiAgICAgICRtb3o6ICAgIGFwcGVuZCgkbW96LCAgICAkbGlzdDIpO1xuICAgICAgJHNwZWM6ICAgYXBwZW5kKCRzcGVjLCAgICRsaXN0Myk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkd2Via2l0OiBhcHBlbmQoJHdlYmtpdCwgJGxpc3QsIGNvbW1hKTtcbiAgICAgICRtb3o6ICAgIGFwcGVuZCgkbW96LCAgICAkbGlzdCwgY29tbWEpO1xuICAgICAgJHNwZWM6ICAgYXBwZW5kKCRzcGVjLCAgICRsaXN0LCBjb21tYSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICRuZWVkcy1wcmVmaXhlcyB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAkd2Via2l0O1xuICAgICAgIC1tb3otdHJhbnNpdGlvbjogJG1vejtcbiAgICAgICAgICAgIHRyYW5zaXRpb246ICRzcGVjO1xuICB9IEBlbHNlIHtcbiAgICBAaWYgbGVuZ3RoKCRwcm9wZXJ0aWVzKSA+PSAxIHtcbiAgICAgIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24sICRwcm9wZXJ0aWVzLCB3ZWJraXQgbW96IHNwZWMpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHByb3BlcnRpZXM6IGFsbCAwLjE1cyBlYXNlLW91dCAwcztcbiAgICAgIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24sICRwcm9wZXJ0aWVzLCB3ZWJraXQgbW96IHNwZWMpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1wcm9wZXJ0eSgkcHJvcGVydGllcy4uLikge1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BlcnRpZXMsIFwid2Via2l0XCIpO1xuICAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BlcnRpZXMsIFwibW96XCIpO1xuICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BlcnRpZXMsIGZhbHNlKTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24tZHVyYXRpb24oJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24tZHVyYXRpb24sICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKCRtb3Rpb25zLi4uKSB7XG4gIC8vIGVhc2UgfCBsaW5lYXIgfCBlYXNlLWluIHwgZWFzZS1vdXQgfCBlYXNlLWluLW91dCB8IGN1YmljLWJlemllcigpXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uLCAkbW90aW9ucywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24tZGVsYXkoJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24tZGVsYXksICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsCgkJIkBtaXhpbiB1c2VyLXNlbGVjdCgkdmFsdWU6IG5vbmUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodXNlci1zZWxlY3QsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYGJvcmRlci1jb2xvcmAgb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLWNvbG9yKCNhNjBiNTUgIzc2Y2Q5YyBudWxsICNlOGFlMWEpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBib3JkZXItbGVmdC1jb2xvcjogI2U4YWUxYTtcbi8vLyAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjNzZjZDljO1xuLy8vICAgICBib3JkZXItdG9wLWNvbG9yOiAjYTYwYjU1O1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge21peGlufSBkaXJlY3Rpb25hbC1wcm9wZXJ0eVxuLy8vXG4vLy8gQG91dHB1dCBgYm9yZGVyLWNvbG9yYFxuXG5AbWl4aW4gYm9yZGVyLWNvbG9yKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KGJvcmRlciwgY29sb3IsICR2YWxzLi4uKTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYGJvcmRlci1yYWRpdXNgIG9uIGJvdGggY29ybmVycyBvbiB0aGUgc2lkZSBvZiBhIGJveC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmFkaWlcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50LW9uZSB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDVweCk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50LXR3byB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygzcHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQtb25lIHtcbi8vLyAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXB4O1xuLy8vICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXB4O1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudC10d28ge1xuLy8vICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7XG4vLy8gICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBvdXRwdXQgYGJvcmRlci1yYWRpdXNgXG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGlpO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpaTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpaTtcbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpaSkge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG59XG5cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpaTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGlpO1xufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgYm9yZGVyLXN0eWxlYCBvbiBzcGVjaWZpYyBzaWRlcyBvZiBhIGJveC4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkdmFsc1xuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItc3R5bGUoZGFzaGVkIG51bGwgc29saWQpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbi8vLyAgICAgYm9yZGVyLXRvcC1zdHlsZTogZGFzaGVkO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge21peGlufSBkaXJlY3Rpb25hbC1wcm9wZXJ0eVxuLy8vXG4vLy8gQG91dHB1dCBgYm9yZGVyLXN0eWxlYFxuXG5AbWl4aW4gYm9yZGVyLXN0eWxlKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KGJvcmRlciwgc3R5bGUsICR2YWxzLi4uKTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYGJvcmRlci13aWR0aGAgb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLXdpZHRoKDFlbSBudWxsIDIwcHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAyMHB4O1xuLy8vICAgICBib3JkZXItdG9wLXdpZHRoOiAxZW07XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7bWl4aW59IGRpcmVjdGlvbmFsLXByb3BlcnR5XG4vLy9cbi8vLyBAb3V0cHV0IGBib3JkZXItd2lkdGhgXG5cbkBtaXhpbiBib3JkZXItd2lkdGgoJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkoYm9yZGVyLCB3aWR0aCwgJHZhbHMuLi4pO1xufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gR2VuZXJhdGVzIHZhcmlhYmxlcyBmb3IgYWxsIGJ1dHRvbnMuIFBsZWFzZSBub3RlIHRoYXQgeW91IG11c3QgdXNlIGludGVycG9sYXRpb24gb24gdGhlIHZhcmlhYmxlOiBgI3skYWxsLWJ1dHRvbnN9YC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgI3skYWxsLWJ1dHRvbnN9IHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgI3skYWxsLWJ1dHRvbnMtZm9jdXN9LFxuLy8vICAgI3skYWxsLWJ1dHRvbnMtaG92ZXJ9IHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBmMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgI3skYWxsLWJ1dHRvbnMtYWN0aXZlfSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGY7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICBidXR0b24sXG4vLy8gICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIGJ1dHRvbjpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJidXR0b25cIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwicmVzZXRcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLFxuLy8vICAgYnV0dG9uOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJyZXNldFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGYwO1xuLy8vICAgfVxuLy8vXG4vLy8gICBidXR0b246YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwicmVzZXRcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTphY3RpdmUge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBmO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUgYXNzaWduLWlucHV0c1xuLy8vXG4vLy8gQHR5cGUgTGlzdFxuLy8vXG4vLy8gQHRvZG8gUmVtb3ZlIGRvdWJsZSBhc3NpZ25lZCB2YXJpYWJsZXMgKExpbmVzIDU54oCTNjIpIGluIHY1LjAuMFxuXG4kYnV0dG9ucy1saXN0OiAnYnV0dG9uJyxcbiAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiYnV0dG9uXCJdJyxcbiAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwicmVzZXRcIl0nLFxuICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJzdWJtaXRcIl0nO1xuXG4kYWxsLWJ1dHRvbnM6ICAgICAgICBhc3NpZ24taW5wdXRzKCRidXR0b25zLWxpc3QpO1xuJGFsbC1idXR0b25zLWFjdGl2ZTogYXNzaWduLWlucHV0cygkYnV0dG9ucy1saXN0LCBhY3RpdmUpO1xuJGFsbC1idXR0b25zLWZvY3VzOiAgYXNzaWduLWlucHV0cygkYnV0dG9ucy1saXN0LCBmb2N1cyk7XG4kYWxsLWJ1dHRvbnMtaG92ZXI6ICBhc3NpZ24taW5wdXRzKCRidXR0b25zLWxpc3QsIGhvdmVyKTtcblxuJGFsbC1idXR0b24taW5wdXRzOiAgICAgICAgJGFsbC1idXR0b25zO1xuJGFsbC1idXR0b24taW5wdXRzLWFjdGl2ZTogJGFsbC1idXR0b25zLWFjdGl2ZTtcbiRhbGwtYnV0dG9uLWlucHV0cy1mb2N1czogICRhbGwtYnV0dG9ucy1mb2N1cztcbiRhbGwtYnV0dG9uLWlucHV0cy1ob3ZlcjogICRhbGwtYnV0dG9ucy1ob3ZlcjtcbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGFuIGVhc3kgd2F5IHRvIGluY2x1ZGUgYSBjbGVhcmZpeCBmb3IgY29udGFpbmluZyBmbG9hdHMuXG4vLy9cbi8vLyBAbGluayBodHRwOi8vY3NzbW9qby5jb20vbGF0ZXN0X25ld19jbGVhcmZpeF9zb19mYXIvXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudDo6YWZ0ZXIge1xuLy8vICAgICBjbGVhcjogYm90aDtcbi8vLyAgICAgY29udGVudDogXCJcIjtcbi8vLyAgICAgZGlzcGxheTogdGFibGU7XG4vLy8gICB9XG5cbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBUcnVuY2F0ZXMgdGV4dCBhbmQgYWRkcyBhbiBlbGxpcHNpcyB0byByZXByZXNlbnQgb3ZlcmZsb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsxMDAlXVxuLy8vICAgTWF4LXdpZHRoIGZvciB0aGUgc3RyaW5nIHRvIHJlc3BlY3QgYmVmb3JlIGJlaW5nIHRydW5jYXRlZFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGVsbGlwc2lzO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4vLy8gICAgIG1heC13aWR0aDogMTAwJTtcbi8vLyAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbi8vLyAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4vLy8gICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4vLy8gICAgIHdvcmQtd3JhcDogbm9ybWFsO1xuLy8vICAgfVxuXG5AbWl4aW4gZWxsaXBzaXMoJHdpZHRoOiAxMDAlKSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEdlb3JnaWEgZm9udCBzdGFjay5cbi8vL1xuLy8vIEB0eXBlIExpc3RcblxuJGdlb3JnaWE6IFwiR2VvcmdpYVwiLCBcIkNhbWJyaWFcIiwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgXCJUaW1lc1wiLCBzZXJpZjtcblxuLy8vIEhlbHZldGljYSBmb250IHN0YWNrLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kaGVsdmV0aWNhOiBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiUm9ib3RvXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcblxuLy8vIEx1Y2lkYSBHcmFuZGUgZm9udCBzdGFjay5cbi8vL1xuLy8vIEB0eXBlIExpc3RcblxuJGx1Y2lkYS1ncmFuZGU6IFwiTHVjaWRhIEdyYW5kZVwiLCBcIlRhaG9tYVwiLCBcIlZlcmRhbmFcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuXG4vLy8gTW9ub3NwYWNlIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiRtb25vc3BhY2U6IFwiQml0c3RyZWFtIFZlcmEgU2FucyBNb25vXCIsIFwiQ29uc29sYXNcIiwgXCJDb3VyaWVyXCIsIG1vbm9zcGFjZTtcblxuLy8vIFZlcmRhbmEgZm9udCBzdGFjay5cbi8vL1xuLy8vIEB0eXBlIExpc3RcblxuJHZlcmRhbmE6IFwiVmVyZGFuYVwiLCBcIkdlbmV2YVwiLCBzYW5zLXNlcmlmO1xuIiwKCQkiLy8vIEhpZGVzIHRoZSB0ZXh0IGluIGFuIGVsZW1lbnQsIGNvbW1vbmx5IHVzZWQgdG8gc2hvdyBhbiBpbWFnZS4gU29tZSBlbGVtZW50cyB3aWxsIG5lZWQgYmxvY2stbGV2ZWwgc3R5bGVzIGFwcGxpZWQuXG4vLy9cbi8vLyBAbGluayBodHRwOi8vemVsZG1hbi5jb20vMjAxMi8wMy8wMS9yZXBsYWNpbmctdGhlLTk5OTlweC1oYWNrLW5ldy1pbWFnZS1yZXBsYWNlbWVudFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGhpZGUtdGV4dDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbi8vLyAgICAgdGV4dC1pbmRlbnQ6IDEwMSU7XG4vLy8gICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4vLy8gICB9XG4vLy9cbi8vLyBAdG9kbyBSZW1vdmUgaGVpZ2h0IGFyZ3VtZW50IGluIHY1LjAuMFxuXG5AbWl4aW4gaGlkZS10ZXh0KCRoZWlnaHQ6IG51bGwpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1pbmRlbnQ6IDEwMSU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGlmICRoZWlnaHQge1xuICAgIEB3YXJuIFwiVGhlIGBoaWRlLXRleHRgIG1peGluIGhhcyBjaGFuZ2VkIGFuZCBubyBsb25nZXIgcmVxdWlyZXMgYSBoZWlnaHQuIFRoZSBoZWlnaHQgYXJndW1lbnQgd2lsbCBubyBsb25nZXIgYmUgYWNjZXB0ZWQgaW4gdjUuMC4wXCI7XG4gIH1cbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYG1hcmdpbmAgb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgbWFyZ2luKG51bGwgMTBweCAzZW0gMjB2aCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbi1ib3R0b206IDNlbTtcbi8vLyAgICAgbWFyZ2luLWxlZnQ6IDIwdmg7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMTBweDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcbi8vL1xuLy8vIEBvdXRwdXQgYG1hcmdpbmBcblxuQG1peGluIG1hcmdpbigkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShtYXJnaW4sIGZhbHNlLCAkdmFscy4uLik7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBwYWRkaW5nYCBvbiBzcGVjaWZpYyBzaWRlcyBvZiBhIGJveC4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkdmFsc1xuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBwYWRkaW5nKDEydmggbnVsbCAxMHB4IDUlKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4vLy8gICAgIHBhZGRpbmctbGVmdDogNSU7XG4vLy8gICAgIHBhZGRpbmctdG9wOiAxMnZoO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge21peGlufSBkaXJlY3Rpb25hbC1wcm9wZXJ0eVxuLy8vXG4vLy8gQG91dHB1dCBgcGFkZGluZ2BcblxuQG1peGluIHBhZGRpbmcoJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkocGFkZGluZywgZmFsc2UsICR2YWxzLi4uKTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciBzZXR0aW5nIGFuIGVsZW1lbnTigJlzIHBvc2l0aW9uLiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge1Bvc2l0aW9ufSAkcG9zaXRpb24gW3JlbGF0aXZlXVxuLy8vICAgQSBDU1MgcG9zaXRpb24gdmFsdWVcbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJGNvb3JkaW5hdGVzIFtudWxsIG51bGwgbnVsbCBudWxsXVxuLy8vICAgTGlzdCBvZiB2YWx1ZXMgdGhhdCBjb3JyZXNwb25kIHRvIHRoZSA0LXZhbHVlIHN5bnRheCBmb3IgdGhlIGVkZ2VzIG9mIGEgYm94XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDEwZW0pO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBsZWZ0OiAxMGVtO1xuLy8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4vLy8gICAgIHRvcDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gaXMtbGVuZ3RoXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSB1bnBhY2tcblxuQG1peGluIHBvc2l0aW9uKCRwb3NpdGlvbjogcmVsYXRpdmUsICRjb29yZGluYXRlczogbnVsbCBudWxsIG51bGwgbnVsbCkge1xuICBAaWYgdHlwZS1vZigkcG9zaXRpb24pID09IGxpc3Qge1xuICAgICRjb29yZGluYXRlczogJHBvc2l0aW9uO1xuICAgICRwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAkY29vcmRpbmF0ZXM6IHVucGFjaygkY29vcmRpbmF0ZXMpO1xuXG4gICRvZmZzZXRzOiAoXG4gICAgdG9wOiAgICBudGgoJGNvb3JkaW5hdGVzLCAxKSxcbiAgICByaWdodDogIG50aCgkY29vcmRpbmF0ZXMsIDIpLFxuICAgIGJvdHRvbTogbnRoKCRjb29yZGluYXRlcywgMyksXG4gICAgbGVmdDogICBudGgoJGNvb3JkaW5hdGVzLCA0KVxuICApO1xuXG4gIHBvc2l0aW9uOiAkcG9zaXRpb247XG5cbiAgQGVhY2ggJG9mZnNldCwgJHZhbHVlIGluICRvZmZzZXRzIHtcbiAgICBAaWYgaXMtbGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgI3skb2Zmc2V0fTogJHZhbHVlO1xuICAgIH1cbiAgfVxufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQSBtaXhpbiBmb3IgZ2VuZXJhdGluZyB2ZW5kb3IgcHJlZml4ZXMgb24gbm9uLXN0YW5kYXJkaXplZCBwcm9wZXJ0aWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcm9wZXJ0eVxuLy8vICAgUHJvcGVydHkgdG8gcHJlZml4XG4vLy9cbi8vLyBAcGFyYW0geyp9ICR2YWx1ZVxuLy8vICAgVmFsdWUgdG8gdXNlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRwcmVmaXhlc1xuLy8vICAgUHJlZml4ZXMgdG8gZGVmaW5lXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcHJlZml4ZXIoYm9yZGVyLXJhZGl1cywgMTBweCwgd2Via2l0IG1zIHNwZWMpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLy8gICAgIC1tb3otYm9yZGVyLXJhZGl1czogMTBweDtcbi8vLyAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itd2Via2l0XG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1tb3ppbGxhXG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1taWNyb3NvZnRcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLW9wZXJhXG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1zcGVjXG5cbkBtaXhpbiBwcmVmaXhlcigkcHJvcGVydHksICR2YWx1ZSwgJHByZWZpeGVzKSB7XG4gIEBlYWNoICRwcmVmaXggaW4gJHByZWZpeGVzIHtcbiAgICBAaWYgJHByZWZpeCA9PSB3ZWJraXQge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLXdlYmtpdCB7XG4gICAgICAgIC13ZWJraXQtI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkcHJlZml4ID09IG1veiB7XG4gICAgICBAaWYgJHByZWZpeC1mb3ItbW96aWxsYSB7XG4gICAgICAgIC1tb3otI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkcHJlZml4ID09IG1zIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1taWNyb3NvZnQge1xuICAgICAgICAtbXMtI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkcHJlZml4ID09IG8ge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW9wZXJhIHtcbiAgICAgICAgLW8tI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkcHJlZml4ID09IHNwZWMge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLXNwZWMge1xuICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlICB7XG4gICAgICBAd2FybiBcIlVucmVjb2duaXplZCBwcmVmaXg6ICN7JHByZWZpeH1cIjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKSB7XG4gICRwcmVmaXgtZm9yLXdlYmtpdDogICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbW96aWxsYTogICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1taWNyb3NvZnQ6IGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW9wZXJhOiAgICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itc3BlYzogICAgICBmYWxzZSAhZ2xvYmFsO1xufVxuIiwKCQkiQG1peGluIHJldGluYS1pbWFnZSgkZmlsZW5hbWUsICRiYWNrZ3JvdW5kLXNpemUsICRleHRlbnNpb246IHBuZywgJHJldGluYS1maWxlbmFtZTogbnVsbCwgJHJldGluYS1zdWZmaXg6IF8yeCwgJGFzc2V0LXBpcGVsaW5lOiAkYXNzZXQtcGlwZWxpbmUpIHtcbiAgQGlmICRhc3NldC1waXBlbGluZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2UtdXJsKFwiI3skZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gIH0gQGVsc2Uge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICAgICAgIHVybChcIiN7JGZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xuICB9XG5cbiAgQGluY2x1ZGUgaGlkcGkge1xuICAgIEBpZiAkYXNzZXQtcGlwZWxpbmUge1xuICAgICAgQGlmICRyZXRpbmEtZmlsZW5hbWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS11cmwoXCIjeyRyZXRpbmEtZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2UtdXJsKFwiI3skZmlsZW5hbWV9I3skcmV0aW5hLXN1ZmZpeH0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpZiAkcmV0aW5hLWZpbGVuYW1lIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiI3skcmV0aW5hLWZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JGZpbGVuYW1lfSN7JHJldGluYS1zdWZmaXh9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZC1zaXplOiAkYmFja2dyb3VuZC1zaXplO1xuICB9XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBTZXRzIHRoZSBgd2lkdGhgIGFuZCBgaGVpZ2h0YCBvZiB0aGUgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHNpemVcbi8vLyAgIEEgbGlzdCBvZiBhdCBtb3N0IDIgc2l6ZSB2YWx1ZXMuXG4vLy9cbi8vLyAgIElmIHRoZXJlIGlzIG9ubHkgYSBzaW5nbGUgdmFsdWUgaW4gYCRzaXplYCBpdCBpcyB1c2VkIGZvciBib3RoIHdpZHRoIGFuZCBoZWlnaHQuIEFsbCB1bml0cyBhcmUgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZmlyc3QtZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHNpemUoMmVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLnNlY29uZC1lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgc2l6ZShhdXRvIDEwZW0pO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmZpcnN0LWVsZW1lbnQge1xuLy8vICAgICB3aWR0aDogMmVtO1xuLy8vICAgICBoZWlnaHQ6IDJlbTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLnNlY29uZC1lbGVtZW50IHtcbi8vLyAgICAgd2lkdGg6IGF1dG87XG4vLy8gICAgIGhlaWdodDogMTBlbTtcbi8vLyAgIH1cbi8vL1xuLy8vIEB0b2RvIFJlZmFjdG9yIGluIDUuMC4wIHRvIHVzZSBhIGNvbW1hLXNlcGFyYXRlZCBhcmd1bWVudFxuXG5AbWl4aW4gc2l6ZSgkdmFsdWUpIHtcbiAgJHdpZHRoOiBudGgoJHZhbHVlLCAxKTtcbiAgJGhlaWdodDogJHdpZHRoO1xuXG4gIEBpZiBsZW5ndGgoJHZhbHVlKSA+IDEge1xuICAgICRoZWlnaHQ6IG50aCgkdmFsdWUsIDIpO1xuICB9XG5cbiAgQGlmIGlzLXNpemUoJGhlaWdodCkge1xuICAgIGhlaWdodDogJGhlaWdodDtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gXCJgI3skaGVpZ2h0fWAgaXMgbm90IGEgdmFsaWQgbGVuZ3RoIGZvciB0aGUgYCRoZWlnaHRgIHBhcmFtZXRlciBpbiB0aGUgYHNpemVgIG1peGluLlwiO1xuICB9XG5cbiAgQGlmIGlzLXNpemUoJHdpZHRoKSB7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gXCJgI3skd2lkdGh9YCBpcyBub3QgYSB2YWxpZCBsZW5ndGggZm9yIHRoZSBgJHdpZHRoYCBwYXJhbWV0ZXIgaW4gdGhlIGBzaXplYCBtaXhpbi5cIjtcbiAgfVxufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gR2VuZXJhdGVzIHZhcmlhYmxlcyBmb3IgYWxsIHRleHQtYmFzZWQgaW5wdXRzLiBQbGVhc2Ugbm90ZSB0aGF0IHlvdSBtdXN0IHVzZSBpbnRlcnBvbGF0aW9uIG9uIHRoZSB2YXJpYWJsZTogYCN7JGFsbC10ZXh0LWlucHV0c31gLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAjeyRhbGwtdGV4dC1pbnB1dHN9IHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgI2YwMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzLWZvY3VzfSxcbi8vLyAgICN7JGFsbC10ZXh0LWlucHV0cy1ob3Zlcn0ge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMGYwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAjeyRhbGwtdGV4dC1pbnB1dHMtYWN0aXZlfSB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMGY7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICBpbnB1dFt0eXBlPVwiY29sb3JcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJtb250aFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInRlbFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInRpbWVcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwidXJsXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cIndlZWtcIl0sXG4vLy8gICB0ZXh0YXJlYSB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIGlucHV0W3R5cGU9XCJjb2xvclwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRlXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwidGVsXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwidGltZVwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJ1cmxcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwid2Vla1wiXTpmb2N1cyxcbi8vLyAgIHRleHRhcmVhOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGVcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwiZW1haWxcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwibW9udGhcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZWxcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwidGV4dFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cInVybFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOmhvdmVyLFxuLy8vICAgdGV4dGFyZWE6aG92ZXIge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMGYwO1xuLy8vICAgfVxuLy8vXG4vLy8gICBpbnB1dFt0eXBlPVwiY29sb3JcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGVcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwiZW1haWxcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInRlbFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwidGV4dFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwidGltZVwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwidXJsXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOmFjdGl2ZSxcbi8vLyAgIHRleHRhcmVhOmFjdGl2ZSB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMGY7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSBhc3NpZ24taW5wdXRzXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiR0ZXh0LWlucHV0cy1saXN0OiAnaW5wdXRbdHlwZT1cImNvbG9yXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImRhdGVcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZW1haWxcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwibW9udGhcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwibnVtYmVyXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInNlYXJjaFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ0ZWxcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGV4dFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ0aW1lXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInVybFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ3ZWVrXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXQ6bm90KFt0eXBlXSknLFxuICAgICAgICAgICAgICAgICAgICd0ZXh0YXJlYSc7XG5cbiRhbGwtdGV4dC1pbnB1dHM6ICAgICAgICBhc3NpZ24taW5wdXRzKCR0ZXh0LWlucHV0cy1saXN0KTtcbiRhbGwtdGV4dC1pbnB1dHMtYWN0aXZlOiBhc3NpZ24taW5wdXRzKCR0ZXh0LWlucHV0cy1saXN0LCBhY3RpdmUpO1xuJGFsbC10ZXh0LWlucHV0cy1mb2N1czogIGFzc2lnbi1pbnB1dHMoJHRleHQtaW5wdXRzLWxpc3QsIGZvY3VzKTtcbiRhbGwtdGV4dC1pbnB1dHMtaG92ZXI6ICBhc3NpZ24taW5wdXRzKCR0ZXh0LWlucHV0cy1saXN0LCBob3Zlcik7XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDU1MgY3ViaWMtYmV6aWVyIHRpbWluZyBmdW5jdGlvbnMuIFRpbWluZyBmdW5jdGlvbnMgY291cnRlc3kgb2YganF1ZXJ5LmVhc2llIChnaXRodWIuY29tL2phdWtpYS9lYXNpZSlcbi8vL1xuLy8vIFRpbWluZyBmdW5jdGlvbnMgYXJlIHRoZSBzYW1lIGFzIGRlbW9lZCBoZXJlOiBodHRwOi8vanF1ZXJ5dWkuY29tL3Jlc291cmNlcy9kZW1vcy9lZmZlY3QvZWFzaW5nLmh0bWxcbi8vL1xuLy8vIEB0eXBlIGN1YmljLWJlemllclxuXG4kZWFzZS1pbi1xdWFkOiAgICAgIGN1YmljLWJlemllcigwLjU1MCwgIDAuMDg1LCAwLjY4MCwgMC41MzApO1xuJGVhc2UtaW4tY3ViaWM6ICAgICBjdWJpYy1iZXppZXIoMC41NTAsICAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiRlYXNlLWluLXF1YXJ0OiAgICAgY3ViaWMtYmV6aWVyKDAuODk1LCAgMC4wMzAsIDAuNjg1LCAwLjIyMCk7XG4kZWFzZS1pbi1xdWludDogICAgIGN1YmljLWJlemllcigwLjc1NSwgIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuJGVhc2UtaW4tc2luZTogICAgICBjdWJpYy1iZXppZXIoMC40NzAsICAwLjAwMCwgMC43NDUsIDAuNzE1KTtcbiRlYXNlLWluLWV4cG86ICAgICAgY3ViaWMtYmV6aWVyKDAuOTUwLCAgMC4wNTAsIDAuNzk1LCAwLjAzNSk7XG4kZWFzZS1pbi1jaXJjOiAgICAgIGN1YmljLWJlemllcigwLjYwMCwgIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xuJGVhc2UtaW4tYmFjazogICAgICBjdWJpYy1iZXppZXIoMC42MDAsIC0wLjI4MCwgMC43MzUsIDAuMDQ1KTtcblxuJGVhc2Utb3V0LXF1YWQ6ICAgICBjdWJpYy1iZXppZXIoMC4yNTAsICAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcbiRlYXNlLW91dC1jdWJpYzogICAgY3ViaWMtYmV6aWVyKDAuMjE1LCAgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4kZWFzZS1vdXQtcXVhcnQ6ICAgIGN1YmljLWJlemllcigwLjE2NSwgIDAuODQwLCAwLjQ0MCwgMS4wMDApO1xuJGVhc2Utb3V0LXF1aW50OiAgICBjdWJpYy1iZXppZXIoMC4yMzAsICAxLjAwMCwgMC4zMjAsIDEuMDAwKTtcbiRlYXNlLW91dC1zaW5lOiAgICAgY3ViaWMtYmV6aWVyKDAuMzkwLCAgMC41NzUsIDAuNTY1LCAxLjAwMCk7XG4kZWFzZS1vdXQtZXhwbzogICAgIGN1YmljLWJlemllcigwLjE5MCwgIDEuMDAwLCAwLjIyMCwgMS4wMDApO1xuJGVhc2Utb3V0LWNpcmM6ICAgICBjdWJpYy1iZXppZXIoMC4wNzUsICAwLjgyMCwgMC4xNjUsIDEuMDAwKTtcbiRlYXNlLW91dC1iYWNrOiAgICAgY3ViaWMtYmV6aWVyKDAuMTc1LCAgMC44ODUsIDAuMzIwLCAxLjI3NSk7XG5cbiRlYXNlLWluLW91dC1xdWFkOiAgY3ViaWMtYmV6aWVyKDAuNDU1LCAgMC4wMzAsIDAuNTE1LCAwLjk1NSk7XG4kZWFzZS1pbi1vdXQtY3ViaWM6IGN1YmljLWJlemllcigwLjY0NSwgIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LXF1YXJ0OiBjdWJpYy1iZXppZXIoMC43NzAsICAwLjAwMCwgMC4xNzUsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1xdWludDogY3ViaWMtYmV6aWVyKDAuODYwLCAgMC4wMDAsIDAuMDcwLCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtc2luZTogIGN1YmljLWJlemllcigwLjQ0NSwgIDAuMDUwLCAwLjU1MCwgMC45NTApO1xuJGVhc2UtaW4tb3V0LWV4cG86ICBjdWJpYy1iZXppZXIoMS4wMDAsICAwLjAwMCwgMC4wMDAsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1jaXJjOiAgY3ViaWMtYmV6aWVyKDAuNzg1LCAgMC4xMzUsIDAuMTUwLCAwLjg2MCk7XG4kZWFzZS1pbi1vdXQtYmFjazogIGN1YmljLWJlemllcigwLjY4MCwgLTAuNTUwLCAwLjI2NSwgMS41NTApO1xuIiwKCQkiQG1peGluIHRyaWFuZ2xlKCRzaXplLCAkY29sb3IsICRkaXJlY3Rpb24pIHtcbiAgJHdpZHRoOiBudGgoJHNpemUsIDEpO1xuICAkaGVpZ2h0OiBudGgoJHNpemUsIGxlbmd0aCgkc2l6ZSkpO1xuICAkZm9yZWdyb3VuZC1jb2xvcjogbnRoKCRjb2xvciwgMSk7XG4gICRiYWNrZ3JvdW5kLWNvbG9yOiBpZihsZW5ndGgoJGNvbG9yKSA9PSAyLCBudGgoJGNvbG9yLCAyKSwgdHJhbnNwYXJlbnQpO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuXG4gIEBpZiAoJGRpcmVjdGlvbiA9PSB1cCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bikgb3IgKCRkaXJlY3Rpb24gPT0gcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICAkd2lkdGg6ICR3aWR0aCAvIDI7XG4gICAgJGhlaWdodDogaWYobGVuZ3RoKCRzaXplKSA+IDEsICRoZWlnaHQsICRoZWlnaHQvMik7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItbGVmdDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gdXAtcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IHVwLWxlZnQpIHtcbiAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAtcmlnaHQge1xuICAgICAgYm9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHVwLWxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGRvd24tcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGRvd24tbGVmdCkge1xuICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXVwKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtZG93bikge1xuICAgIGJvcmRlci1jb2xvcjogJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXJpZ2h0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtbGVmdCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xuICB9XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhbiBlYXN5IHdheSB0byBjaGFuZ2UgdGhlIGB3b3JkLXdyYXBgIHByb3BlcnR5LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR3cmFwIFticmVhay13b3JkXVxuLy8vICAgVmFsdWUgZm9yIHRoZSBgd29yZC1icmVha2AgcHJvcGVydHkuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC53cmFwcGVyIHtcbi8vLyAgICAgQGluY2x1ZGUgd29yZC13cmFwKGJyZWFrLXdvcmQpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLndyYXBwZXIge1xuLy8vICAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuLy8vICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4vLy8gICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbi8vLyAgIH1cblxuQG1peGluIHdvcmQtd3JhcCgkd3JhcDogYnJlYWstd29yZCkge1xuICBvdmVyZmxvdy13cmFwOiAkd3JhcDtcbiAgd29yZC13cmFwOiAkd3JhcDtcblxuICBAaWYgJHdyYXAgPT0gYnJlYWstd29yZCB7XG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICB9IEBlbHNlIHtcbiAgICB3b3JkLWJyZWFrOiAkd3JhcDtcbiAgfVxufVxuIiwKCQkiLy8gVGhlIGZvbGxvd2luZyBmZWF0dXJlcyBoYXZlIGJlZW4gZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IE1BSk9SIHZlcnNpb24gcmVsZWFzZVxuXG5AbWl4aW4gaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIEB3YXJuIFwiVGhlIGlubGluZS1ibG9jayBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XG59XG5cbkBtaXhpbiBidXR0b24gKCRzdHlsZTogc2ltcGxlLCAkYmFzZS1jb2xvcjogIzQyOTRmMCwgJHRleHQtc2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBzdHJpbmcgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IGNvbG9yIHtcbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IHN0cmluZyBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gbnVtYmVyIHtcbiAgICAkcGFkZGluZzogJHRleHQtc2l6ZTtcbiAgICAkdGV4dC1zaXplOiAkYmFzZS1jb2xvcjtcbiAgICAkYmFzZS1jb2xvcjogIzQyOTRmMDtcblxuICAgIEBpZiAkcGFkZGluZyA9PSBpbmhlcml0IHtcbiAgICAgICRwYWRkaW5nOiA3cHggMThweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IGNvbG9yIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBjb2xvciB7XG4gICAgJGJhc2UtY29sb3I6ICRzdHlsZTtcbiAgICAkc3R5bGU6IHNpbXBsZTtcbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IGNvbG9yIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBudW1iZXIge1xuICAgICRwYWRkaW5nOiAkdGV4dC1zaXplO1xuICAgICR0ZXh0LXNpemU6ICRiYXNlLWNvbG9yO1xuICAgICRiYXNlLWNvbG9yOiAkc3R5bGU7XG4gICAgJHN0eWxlOiBzaW1wbGU7XG5cbiAgICBAaWYgJHBhZGRpbmcgPT0gaW5oZXJpdCB7XG4gICAgICAkcGFkZGluZzogN3B4IDE4cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBudW1iZXIge1xuICAgICRwYWRkaW5nOiAkYmFzZS1jb2xvcjtcbiAgICAkdGV4dC1zaXplOiAkc3R5bGU7XG4gICAgJGJhc2UtY29sb3I6ICM0Mjk0ZjA7XG4gICAgJHN0eWxlOiBzaW1wbGU7XG5cbiAgICBAaWYgJHBhZGRpbmcgPT0gIzQyOTRmMCB7XG4gICAgICAkcGFkZGluZzogN3B4IDE4cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBvcGFjaXR5OiAwLjU7XG4gIH1cblxuICBAd2FybiBcIlRoZSBidXR0b24gbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG4vLyBTZWxlY3RvciBTdHlsZSBCdXR0b25cbkBtaXhpbiBidXR0b25zdHlsZSgkdHlwZSwgJGItY29sb3IsICR0LXNpemUsICRwYWQpIHtcbiAgLy8gR3JheXNjYWxlIGJ1dHRvblxuICBAaWYgJHR5cGUgPT0gc2ltcGxlIGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcbiAgICBAaW5jbHVkZSBzaW1wbGUoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGlmICR0eXBlID09IHNoaW55IGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcbiAgICBAaW5jbHVkZSBzaGlueSgkYi1jb2xvciwgdHJ1ZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAaWYgJHR5cGUgPT0gcGlsbCBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgcGlsbCgkYi1jb2xvciwgdHJ1ZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAaWYgJHR5cGUgPT0gZmxhdCBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgZmxhdCgkYi1jb2xvciwgdHJ1ZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICAvLyBDb2xvcmVkIGJ1dHRvblxuICBAaWYgJHR5cGUgPT0gc2ltcGxlIHtcbiAgICBAaW5jbHVkZSBzaW1wbGUoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBlbHNlIGlmICR0eXBlID09IHNoaW55IHtcbiAgICBAaW5jbHVkZSBzaGlueSgkYi1jb2xvciwgZmFsc2UsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGVsc2UgaWYgJHR5cGUgPT0gcGlsbCB7XG4gICAgQGluY2x1ZGUgcGlsbCgkYi1jb2xvciwgZmFsc2UsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGVsc2UgaWYgJHR5cGUgPT0gZmxhdCB7XG4gICAgQGluY2x1ZGUgZmxhdCgkYi1jb2xvciwgZmFsc2UsICR0LXNpemUsICRwYWQpO1xuICB9XG59XG5cbi8vIFNpbXBsZSBCdXR0b25cbkBtaXhpbiBzaW1wbGUoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlLCAkdGV4dHNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xuICAkYm9yZGVyOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDklLCAgJGxpZ2h0bmVzczogLTE0JSk7XG4gICRpbnNldC1zaGFkb3c6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtOCUsICAkbGlnaHRuZXNzOiAgMTUlKTtcbiAgJHN0b3AtZ3JhZGllbnQ6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICA5JSwgICRsaWdodG5lc3M6IC0xMSUpO1xuICAkdGV4dC1zaGFkb3c6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDE1JSwgJGxpZ2h0bmVzczogLTE4JSk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgICAkdGV4dC1zaGFkb3c6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDEwJSwgJGxpZ2h0bmVzczogNCUpO1xuICB9XG5cbiAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgJGJvcmRlcjogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyKTtcbiAgICAkaW5zZXQtc2hhZG93OiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3cpO1xuICAgICRzdG9wLWdyYWRpZW50OiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQpO1xuICAgICR0ZXh0LXNoYWRvdzogICBncmF5c2NhbGUoJHRleHQtc2hhZG93KTtcbiAgfVxuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3c7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAkdGV4dHNpemU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLCAkc3RvcC1ncmFkaWVudCk7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiAwIDFweCAwICR0ZXh0LXNoYWRvdztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTQlLCAkbGlnaHRuZXNzOiAtNSUpO1xuICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtNyUsICRsaWdodG5lc3M6ICA1JSk7XG4gICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICA4JSwgJGxpZ2h0bmVzczogLTE0JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBncmF5c2NhbGUoJGJhc2UtY29sb3ItaG92ZXIpO1xuICAgICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWhvdmVyKTtcbiAgICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3ItaG92ZXIsICRzdG9wLWdyYWRpZW50LWhvdmVyKTtcblxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93LWhvdmVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogOSUsICRsaWdodG5lc3M6IC0xNCUpO1xuICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiA3JSwgJGxpZ2h0bmVzczogLTE3JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRib3JkZXItYWN0aXZlOiAgICAgICBncmF5c2NhbGUoJGJvcmRlci1hY3RpdmUpO1xuICAgICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1hY3RpdmU7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDhweCA0cHggJGluc2V0LXNoYWRvdy1hY3RpdmUsIGluc2V0IDAgMCA4cHggNHB4ICRpbnNldC1zaGFkb3ctYWN0aXZlO1xuICB9XG59XG5cbi8vIFNoaW55IEJ1dHRvblxuQG1peGluIHNoaW55KCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcbiAgJGJvcmRlcjogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTExNywgJGdyZWVuOiAtMTExLCAkYmx1ZTogLTgxKTtcbiAgJGJvcmRlci1ib3R0b206IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTEyNiwgJGdyZWVuOiAtMTI3LCAkYmx1ZTogLTEyMik7XG4gICRmb3VydGgtc3RvcDogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC03OSwgICRncmVlbjogLTcwLCAgJGJsdWU6IC00Nik7XG4gICRpbnNldC1zaGFkb3c6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6ICAzNywgICRncmVlbjogIDI5LCAgJGJsdWU6ICAxMik7XG4gICRzZWNvbmQtc3RvcDogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC01NiwgICRncmVlbjogLTUwLCAgJGJsdWU6IC0zMyk7XG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xNDAsICRncmVlbjogLTE0MSwgJGJsdWU6IC0xMTQpO1xuICAkdGhpcmQtc3RvcDogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtODYsICAkZ3JlZW46IC03NSwgICRibHVlOiAtNDgpO1xuXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcbiAgfVxuXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICRib3JkZXI6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlcik7XG4gICAgJGJvcmRlci1ib3R0b206IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XG4gICAgJGZvdXJ0aC1zdG9wOiAgIGdyYXlzY2FsZSgkZm91cnRoLXN0b3ApO1xuICAgICRpbnNldC1zaGFkb3c6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdyk7XG4gICAgJHNlY29uZC1zdG9wOiAgIGdyYXlzY2FsZSgkc2Vjb25kLXN0b3ApO1xuICAgICR0ZXh0LXNoYWRvdzogICBncmF5c2NhbGUoJHRleHQtc2hhZG93KTtcbiAgICAkdGhpcmQtc3RvcDogICAgZ3JheXNjYWxlKCR0aGlyZC1zdG9wKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCh0b3AsICRiYXNlLWNvbG9yIDAlLCAkc2Vjb25kLXN0b3AgNTAlLCAkdGhpcmQtc3RvcCA1MCUsICRmb3VydGgtc3RvcCAxMDAlKTtcblxuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1ib3R0b207XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3c7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAkdGV4dHNpemU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdztcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkZmlyc3Qtc3RvcC1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTEzLCAkZ3JlZW46IC0xNSwgJGJsdWU6IC0xOCk7XG4gICAgJHNlY29uZC1zdG9wLWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC02NiwgJGdyZWVuOiAtNjIsICRibHVlOiAtNTEpO1xuICAgICR0aGlyZC1zdG9wLWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtOTMsICRncmVlbjogLTg1LCAkYmx1ZTogLTY2KTtcbiAgICAkZm91cnRoLXN0b3AtaG92ZXI6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTg2LCAkZ3JlZW46IC04MCwgJGJsdWU6IC02Myk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRmaXJzdC1zdG9wLWhvdmVyOiAgZ3JheXNjYWxlKCRmaXJzdC1zdG9wLWhvdmVyKTtcbiAgICAgICRzZWNvbmQtc3RvcC1ob3ZlcjogZ3JheXNjYWxlKCRzZWNvbmQtc3RvcC1ob3Zlcik7XG4gICAgICAkdGhpcmQtc3RvcC1ob3ZlcjogIGdyYXlzY2FsZSgkdGhpcmQtc3RvcC1ob3Zlcik7XG4gICAgICAkZm91cnRoLXN0b3AtaG92ZXI6IGdyYXlzY2FsZSgkZm91cnRoLXN0b3AtaG92ZXIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCh0b3AsICRmaXJzdC1zdG9wLWhvdmVyICAwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2Vjb25kLXN0b3AtaG92ZXIgNTAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlyZC1zdG9wLWhvdmVyICA1MCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZvdXJ0aC1zdG9wLWhvdmVyIDEwMCUpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTExLCAkZ3JlZW46IC0xMTYsICRibHVlOiAtMTIyKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDIwcHggMCAkaW5zZXQtc2hhZG93LWFjdGl2ZTtcbiAgfVxufVxuXG4vLyBQaWxsIEJ1dHRvblxuQG1peGluIHBpbGwoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlLCAkdGV4dHNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xuICAkYm9yZGVyLWJvdHRvbTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246IC0xMSUsICRsaWdodG5lc3M6IC0yNiUpO1xuICAkYm9yZGVyLXNpZGVzOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNCwgJHNhdHVyYXRpb246IC0yMSUsICRsaWdodG5lc3M6IC0yMSUpO1xuICAkYm9yZGVyLXRvcDogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAtMSwgJHNhdHVyYXRpb246IC0zMCUsICRsaWdodG5lc3M6IC0xNSUpO1xuICAkaW5zZXQtc2hhZG93OiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAtMSwgJHNhdHVyYXRpb246IC0xJSwgICRsaWdodG5lc3M6ICA3JSk7XG4gICRzdG9wLWdyYWRpZW50OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogIDE0JSwgJGxpZ2h0bmVzczogLTEwJSk7XG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA1LCAkc2F0dXJhdGlvbjogLTE5JSwgJGxpZ2h0bmVzczogLTE1JSk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgICAkdGV4dC1zaGFkb3c6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDEwJSwgJGxpZ2h0bmVzczogNCUpO1xuICB9XG5cbiAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgJGJvcmRlci1ib3R0b206IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XG4gICAgJGJvcmRlci1zaWRlczogIGdyYXlzY2FsZSgkYm9yZGVyLXNpZGVzKTtcbiAgICAkYm9yZGVyLXRvcDogICAgZ3JheXNjYWxlKCRib3JkZXItdG9wKTtcbiAgICAkaW5zZXQtc2hhZG93OiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3cpO1xuICAgICRzdG9wLWdyYWRpZW50OiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQpO1xuICAgICR0ZXh0LXNoYWRvdzogICBncmF5c2NhbGUoJHRleHQtc2hhZG93KTtcbiAgfVxuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItdG9wO1xuICBib3JkZXItY29sb3I6ICRib3JkZXItdG9wICRib3JkZXItc2lkZXMgJGJvcmRlci1ib3R0b207XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93O1xuICBjb2xvcjogJGNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvciwgJHN0b3AtZ3JhZGllbnQpO1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGxpZ2h0bmVzczogLTQuNSUpO1xuICAgICRib3JkZXItYm90dG9tOiAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogIDEzLjUlLCAkbGlnaHRuZXNzOiAtMzIlKTtcbiAgICAkYm9yZGVyLXNpZGVzOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNCwgJHNhdHVyYXRpb246IC0yJSwgICAgJGxpZ2h0bmVzczogLTI3JSk7XG4gICAgJGJvcmRlci10b3A6ICAgICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMTclLCAgICRsaWdodG5lc3M6IC0yMSUpO1xuICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICAgICAgICAgICAkc2F0dXJhdGlvbjogLTElLCAgICAkbGlnaHRuZXNzOiAgMyUpO1xuICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogLTQlLCAgICAkbGlnaHRuZXNzOiAtMTUuNSUpO1xuICAgICR0ZXh0LXNoYWRvdy1ob3ZlcjogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA1LCAkc2F0dXJhdGlvbjogLTUlLCAgICAkbGlnaHRuZXNzOiAtMjIlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XG4gICAgICAkYm9yZGVyLWJvdHRvbTogICAgICAgZ3JheXNjYWxlKCRib3JkZXItYm90dG9tKTtcbiAgICAgICRib3JkZXItc2lkZXM6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlci1zaWRlcyk7XG4gICAgICAkYm9yZGVyLXRvcDogICAgICAgICAgZ3JheXNjYWxlKCRib3JkZXItdG9wKTtcbiAgICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1ob3Zlcik7XG4gICAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50LWhvdmVyKTtcbiAgICAgICR0ZXh0LXNoYWRvdy1ob3ZlcjogICBncmF5c2NhbGUoJHRleHQtc2hhZG93LWhvdmVyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLWhvdmVyLCAkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG5cbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItdG9wO1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci10b3AgJGJvcmRlci1zaWRlcyAkYm9yZGVyLWJvdHRvbTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdy1ob3ZlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC1zaGFkb3c6IDAgLTFweCAxcHggJHRleHQtc2hhZG93LWhvdmVyO1xuICB9XG5cbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuICAgICRhY3RpdmUtY29sb3I6ICAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA0LCAgJHNhdHVyYXRpb246IC0xMiUsICAkbGlnaHRuZXNzOiAtMTAlKTtcbiAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogNiwgICRzYXR1cmF0aW9uOiAtMi41JSwgJGxpZ2h0bmVzczogLTMwJSk7XG4gICAgJGJvcmRlci1ib3R0b20tYWN0aXZlOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDExLCAkc2F0dXJhdGlvbjogIDYlLCAgICRsaWdodG5lc3M6IC0zMSUpO1xuICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA5LCAgJHNhdHVyYXRpb246ICAyJSwgICAkbGlnaHRuZXNzOiAtMjEuNSUpO1xuICAgICR0ZXh0LXNoYWRvdy1hY3RpdmU6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA1LCAgJHNhdHVyYXRpb246IC0xMiUsICAkbGlnaHRuZXNzOiAtMjEuNSUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYWN0aXZlLWNvbG9yOiAgICAgICAgIGdyYXlzY2FsZSgkYWN0aXZlLWNvbG9yKTtcbiAgICAgICRib3JkZXItYWN0aXZlOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXItYWN0aXZlKTtcbiAgICAgICRib3JkZXItYm90dG9tLWFjdGl2ZTogZ3JheXNjYWxlKCRib3JkZXItYm90dG9tLWFjdGl2ZSk7XG4gICAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWFjdGl2ZSk7XG4gICAgICAkdGV4dC1zaGFkb3ctYWN0aXZlOiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3ctYWN0aXZlKTtcbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kOiAkYWN0aXZlLWNvbG9yO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItYWN0aXZlO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWJvdHRvbS1hY3RpdmU7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDZweCAzcHggJGluc2V0LXNoYWRvdy1hY3RpdmU7XG4gICAgdGV4dC1zaGFkb3c6IDAgLTFweCAxcHggJHRleHQtc2hhZG93LWFjdGl2ZTtcbiAgfVxufVxuXG4vLyBGbGF0IEJ1dHRvblxuQG1peGluIGZsYXQoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlLCAkdGV4dHNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xuXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3JkZXI6IDA7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAkdGV4dHNpemU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCl7XG4gICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDQlLCAkbGlnaHRuZXNzOiA1JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRiYXNlLWNvbG9yLWhvdmVyOiBncmF5c2NhbGUoJGJhc2UtY29sb3ItaG92ZXIpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yLWhvdmVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYmFzZS1jb2xvci1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC00JSwgJGxpZ2h0bmVzczogLTUlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItYWN0aXZlOiBncmF5c2NhbGUoJGJhc2UtY29sb3ItYWN0aXZlKTtcbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1jb2xvci1hY3RpdmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbi8vIEZsZXhpYmxlIGdyaWRcbkBmdW5jdGlvbiBmbGV4LWdyaWQoJGNvbHVtbnMsICRjb250YWluZXItY29sdW1uczogJGZnLW1heC1jb2x1bW5zKSB7XG4gICR3aWR0aDogJGNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xuICAkY29udGFpbmVyLXdpZHRoOiAkY29udGFpbmVyLWNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb250YWluZXItY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgQHJldHVybiBwZXJjZW50YWdlKCR3aWR0aCAvICRjb250YWluZXItd2lkdGgpO1xuXG4gIEB3YXJuIFwiVGhlIGZsZXgtZ3JpZCBmdW5jdGlvbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XG59XG5cbi8vIEZsZXhpYmxlIGd1dHRlclxuQGZ1bmN0aW9uIGZsZXgtZ3V0dGVyKCRjb250YWluZXItY29sdW1uczogJGZnLW1heC1jb2x1bW5zLCAkZ3V0dGVyOiAkZmctZ3V0dGVyKSB7XG4gICRjb250YWluZXItd2lkdGg6ICRjb250YWluZXItY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbnRhaW5lci1jb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJGd1dHRlciAvICRjb250YWluZXItd2lkdGgpO1xuXG4gIEB3YXJuIFwiVGhlIGZsZXgtZ3V0dGVyIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuQGZ1bmN0aW9uIGdyaWQtd2lkdGgoJG4pIHtcbiAgQHJldHVybiAkbiAqICRndy1jb2x1bW4gKyAoJG4gLSAxKSAqICRndy1ndXR0ZXI7XG5cbiAgQHdhcm4gXCJUaGUgZ3JpZC13aWR0aCBmdW5jdGlvbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XG59XG5cbkBmdW5jdGlvbiBnb2xkZW4tcmF0aW8oJHZhbHVlLCAkaW5jcmVtZW50KSB7XG4gIEByZXR1cm4gbW9kdWxhci1zY2FsZSgkaW5jcmVtZW50LCAkdmFsdWUsICRyYXRpbzogJGdvbGRlbik7XG5cbiAgQHdhcm4gXCJUaGUgZ29sZGVuLXJhdGlvIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2UuIFBsZWFzZSB1c2UgdGhlIG1vZHVsYXItc2NhbGUgZnVuY3Rpb24sIGluc3RlYWQuXCI7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRib3gpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LXNpemluZywgJGJveCwgd2Via2l0IG1veiBzcGVjKTtcblxuICBAd2FybiBcIlRoZSBib3gtc2l6aW5nIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2UuIFRoaXMgcHJvcGVydHkgY2FuIG5vdyBiZSB1c2VkIHVuLXByZWZpeGVkLlwiO1xufVxuIgoJXSwKCSJtYXBwaW5ncyI6ICJBQWlnR0EsT0FBTyxDQUFQLCtDQUFPLENBMy9GUCxJQUFJLEFBQUEsQ0FBQyxXQUFXLENBQUMsVUFBVyxDQUFDLG9CQUFvQixDQUFDLElBQUssQ0FBQyx3QkFBd0IsQ0FBQyxJQUFLLENBQUUsQUFBRCxJQUFJLEFBQUEsQ0FBQyxNQUFNLENBQUMsQ0FBRSxDQUFFLEFBQUQsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxBQUFBLENBQUMsT0FBTyxDQUFDLEtBQU0sQ0FBRSxBQUFELEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQUFBQSxDQUFDLE9BQU8sQ0FBQyxZQUFhLENBQUMsY0FBYyxDQUFDLFFBQVMsQ0FBRSxBQUFELEtBQUssQUFBQSxJQUFLLEVBQUEsQUFBQSxRQUFDLEFBQUEsRUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFLLENBQUMsTUFBTSxDQUFDLENBQUUsQ0FBRSxDQUFELEFBQUEsTUFBQyxBQUFBLEVBQVEsUUFBUSxBQUFBLENBQUMsT0FBTyxDQUFDLElBQUssQ0FBRSxBQUFELENBQUMsQUFBQSxDQUFDLGdCQUFnQixDQUFDLFdBQVksQ0FBRSxBQUFELENBQUMsQUFBQSxPQUFPLENBQUMsQ0FBQyxBQUFBLE1BQU0sQUFBQSxDQUFDLE9BQU8sQ0FBQyxDQUFFLENBQUUsQUFBRCxJQUFJLENBQUEsQUFBQSxLQUFDLEFBQUEsQ0FBTSxDQUFDLGFBQWEsQ0FBQyxVQUFXLENBQUUsQUFBRCxDQUFDLENBQUMsTUFBTSxBQUFBLENBQUMsV0FBVyxDQUFDLEdBQUksQ0FBRSxBQUFELEdBQUcsQUFBQSxDQUFDLFVBQVUsQ0FBQyxNQUFPLENBQUUsQUFBRCxFQUFFLEFBQUEsQ0FBQyxTQUFTLENBQUMsR0FBSSxDQUFDLE1BQU0sQ0FBQyxPQUFRLENBQUUsQUFBRCxJQUFJLEFBQUEsQ0FBQyxVQUFVLENBQUMsSUFBSyxDQUFDLEtBQUssQ0FBQyxJQUFLLENBQUUsQUFBRCxLQUFLLEFBQUEsQ0FBQyxTQUFTLENBQUMsR0FBSSxDQUFFLEFBQUQsR0FBRyxDQUFDLEdBQUcsQUFBQSxDQUFDLFNBQVMsQ0FBQyxHQUFJLENBQUMsV0FBVyxDQUFDLENBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUyxDQUFDLGNBQWMsQ0FBQyxRQUFTLENBQUUsQUFBRCxHQUFHLEFBQUEsQ0FBQyxHQUFHLENBQUMsS0FBTSxDQUFFLEFBQUQsR0FBRyxBQUFBLENBQUMsTUFBTSxDQUFDLE1BQU8sQ0FBRSxBQUFELEdBQUcsQUFBQSxDQUFDLE1BQU0sQ0FBQyxDQUFFLENBQUUsQUFBRCxHQUFHLEFBQUEsSUFBSyxDQUFBLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFPLENBQUUsQUFBRCxNQUFNLEFBQUEsQ0FBQyxNQUFNLENBQUMsUUFBUyxDQUFFLEFBQUQsRUFBRSxBQUFBLENBQUMsZUFBZSxDQUFDLFdBQVksQ0FBQyxVQUFVLENBQUMsV0FBWSxDQUFDLE1BQU0sQ0FBQyxDQUFFLENBQUUsQUFBRCxHQUFHLEFBQUEsQ0FBQyxRQUFRLENBQUMsSUFBSyxDQUFFLEFBQUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxBQUFBLENBQUMsV0FBVyxDQUFDLG1CQUFvQixDQUFDLFNBQVMsQ0FBQyxHQUFJLENBQUUsQUFBRCxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxBQUFBLENBQUMsS0FBSyxDQUFDLE9BQVEsQ0FBQyxJQUFJLENBQUMsT0FBUSxDQUFDLE1BQU0sQ0FBQyxDQUFFLENBQUUsQUFBRCxNQUFNLEFBQUEsQ0FBQyxRQUFRLENBQUMsT0FBUSxDQUFFLEFBQUQsTUFBTSxDQUFDLE1BQU0sQUFBQSxDQUFDLGNBQWMsQ0FBQyxJQUFLLENB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QXdsQnpCLGtCQUFrQixDQVloQixFQUFFLEFBQUMsQ0FDRCxhQUFhLENBQUUsR0FBSSxDQUNuQixlQUFlLENBQUUsSUFBSyxDQUN2QixBQXZtQkMscUJBQXFCLENBd2xCekIsa0JBQWtCLENBa0JoQiwwQkFBMEIsQUFBQyxDQUN6QixhQUFhLENBcGhCa0IsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBcWhCaEQsY0FBYyxDQUFFLElBQUssQ0FDckIsYUFBYSxDQUFFLElBQUssQ0FDckIsQUE5bUJDLHFCQUFxQixDQXdsQnpCLGtCQUFrQixDQXdCaEIseUJBQXlCLEFBQUMsQ0FDeEIsV0FBVyxDQUFFLEdBQUksQ0FDbEIsQUFsbkJDLHFCQUFxQixDQXdsQnpCLGtCQUFrQixDQTRCaEIsbUJBQW1CLENBQUcsbUJBQW1CLEFBQUMsQ0FDeEMsVUFBVSxDQUFFLElBQUssQ0FDbEIsQUF0bkJDLHFCQUFxQixDQXdsQnpCLGtCQUFrQixDQWdDaEIsZUFBZSxBQUFDLENBQ2QsU0FBUyxDQUFFLElBQUssQ0FDaEIsV0FBVyxDQUFFLElBQUssQ0FDbEIsV0FBVyxDQUFFLEdBQUksQ0FDbEIsQUE1bkJDLHFCQUFxQixDQXdsQnpCLGtCQUFrQixDQXNDaEIsa0JBQWtCLENBQUcsa0JBQWtCLEFBQUMsQ0FDdEMsVUFBVSxDQUFFLElBQUssQ0FDbEIsQUFob0JDLHFCQUFxQixDQXdsQnpCLGtCQUFrQixDQTBDaEIsYUFBYSxBQUFDLENBQ1osVUFBVSxDQUFFLEtBQU0sQ0FDbEIsVUFBVSxDQTNuQkcsT0FBTyxDQTRuQnBCLE9BQU8sQ0FBRSxRQUFTLENBQ2xCLGFBQWEsQ0FBRSxLQUFNLENBQ3JCLE9BQU8sQ0FBRSxZQUFhLENBQ3RCLEtBQUssQ0FBRSxPQUFRLENBQ2YsU0FBUyxDQUFFLElBQUssQ0FDaEIsS0FBSyxDQUFFLEtBQU0sQ0FDZCxBQTNvQkMscUJBQXFCLENBd2xCekIsa0JBQWtCLENBcURoQixXQUFXLEFBQUMsQ0FDVixVQUFVLENBbmpCVyxPQUFPLENBb2pCN0IsQUFHSCxNQUFNLE1BQUQsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLLEVBbHBCN0IscUJBQXFCLENBb3BCdkIsa0JBQWtCLENBRWhCLGVBQWUsQUFBQyxDQUNkLE9BQU8sQ0FBRSxLQUFNLENBQ2YsYUFBYSxDQUFFLElBQUssQ0FDckIsQUF6cEJELHFCQUFxQixDQW9wQnZCLGtCQUFrQixDQU9oQixhQUFhLEFBQUMsQ0FDWixLQUFLLENBQUUsSUFBSyxDQUNaLFVBQVUsQ0FBRSxJQUFLLENBQ2xCIiwKCSJuYW1lcyI6IFtdCn0= */