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}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:#3f4e85}a:hover{color:#2b365b;text-decoration:none}ul li,ol li{line-height:1.5}.unstyle{list-style:none;padding:0}img{max-width:100%}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:#f27935;color:#fff}.btn-primary:hover,.btn-primary:focus,.btn-primary:active{background:#e55c0f;color:#fff}.btn-secondary{background:#d9d9d9;color:#5b5b5b}.btn-secondary:hover,.btn-secondary:focus,.btn-secondary:active{background:silver;color:#5b5b5b}.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:468px;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:#3f4e85;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:#3f4e85}.progress-card .progress-line .progress-line-bar{height:3px;background:#cdcdcd}@media screen and (min-width: 992px){.course-card__img-container{max-height:202px}}@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:#3d4051}header a{color:#faf2fd}header a:hover,header a:active,header a:focus{color:#d89aef}.header-logo__image{width:auto;max-height:35px;max-width:initial;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:#3d4051;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:#3d4051;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:#3d4051;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:#e7e7e7;padding:30px 0;color:#5b5b5b}footer a{color:#5b5b5b}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:#3f4e85}.pagination>li>a,.pagination>li>a:hover,.pagination>li>a:focus,.pagination>li>span{color:#3f4e85;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:#3f4e85}.product-landing section p a:hover{text-decoration:underline}.product-landing .section-title{margin:0 0 42px;color:#3f4e85;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:#3f4e85}@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:#3f4e85;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:#3f4e85;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:#3f4e85 !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:#3f4e85;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:#3f4e85;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:#3f4e85;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:#3f4e85}.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:#3f4e85}.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:#3f4e85;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:#3f4e85;background:#f3f3f3;border-color:none}.account-menu .badge,.affiliate-menu .badge{background:#3f4e85;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:#3f4e85;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}}@media print{a[href]:after{content:none !important}.col-print-12{width:100% !important}}.mountain-1-6-3v1-1-2 a{cursor:pointer}.mountain-1-6-3v1-1-2 .btn-primary{background:#63c6d2;color:#fff;font-weight:600}.mountain-1-6-3v1-1-2 .btn-primary:hover,.mountain-1-6-3v1-1-2 .btn-primary:active{background:#3bb8c7}.mountain-1-6-3v1-1-2 .btn-secondary{background:#56acb6;color:#fff;font-weight:600}.mountain-1-6-3v1-1-2 .btn-secondary:hover,.mountain-1-6-3v1-1-2 .btn-secondary:active{background:#418f98}.mountain-1-6-3v1-1-2 h1{margin-bottom:50px;font-size:30px;font-weight:600}.mountain-1-6-3v1-1-2 h1.title-center{text-align:center}.mountain-1-6-3v1-1-2 h1.title-center:before{margin:0 auto}.mountain-1-6-3v1-1-2 h1.title-light{color:#e6f8ff}.mountain-1-6-3v1-1-2 p{margin-bottom:1.5rem;font-size:16px;line-height:1.8}.mountain-1-6-3v1-1-2 a{color:#63c6d2}.mountain-1-6-3v1-1-2 .body-light{color:#fff}@media only screen and (max-width: 767px){.mountain-1-6-3v1-1-2 h1{margin-bottom:25px;font-size:26px;letter-spacing:0}}.mountain-1-6-3v1-1-2 .landing-header{padding:233px 0;background-position:center;background-size:cover;color:#fff}.mountain-1-6-3v1-1-2 .landing-header .product__title{margin:0 0 0.5em;font-size:62px;font-weight:800;letter-spacing:0;line-height:1}.mountain-1-6-3v1-1-2 .landing-header .product__subtitle{display:block;margin-bottom:30px;line-height:1.5}.mountain-1-6-3v1-1-2 .landing-header .btn-primary,.mountain-1-6-3v1-1-2 .landing-header .btn-secondary{margin-bottom:3px;padding:10px 40px;font-size:16px}.mountain-1-6-3v1-1-2 .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-3v1-1-2 .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%);position:absolute;top:50%;left:50%;width:100%;padding:140px 60px;border:1px solid rgba(255,255,255,0.2);background:#63c6d2}.mountain-1-6-3v1-1-2 .landing-header .btn-intro-video:focus{outline:none}.mountain-1-6-3v1-1-2 .landing-header .btn-intro-video:before{display:block;font-family:thinkific;font-size:40px;content:'\66'}.mountain-1-6-3v1-1-2 .btn-intro-video{color:#fff}.mountain-1-6-3v1-1-2 .btn-intro-video:hover,.mountain-1-6-3v1-1-2 .btn-intro-video:active{color:#8bd4dd}@media only screen and (max-width: 991px){.mountain-1-6-3v1-1-2 .landing-header{padding:150px 0}.mountain-1-6-3v1-1-2 .landing-header .product__title{font-size:50px}}@media only screen and (max-width: 767px){.mountain-1-6-3v1-1-2 .landing-header{padding:60px 0 40px}.mountain-1-6-3v1-1-2 .landing-header .product__title{font-size:30px}}.mountain-1-6-3v1-1-2 .intro-video-mobile{padding:15px 0;background:#fafafa;text-align:center}.mountain-1-6-3v1-1-2 .intro-video-mobile .btn{border-radius:0;background:#56acb6;color:#fff}.mountain-1-6-3v1-1-2 .venobox{max-height:100%}.mountain-1-6-3v1-1-2 .course-review{padding:80px 0;background:#95a7b6}.mountain-1-6-3v1-1-2 .course-review__wrapper,.mountain-1-6-3v1-1-2 .more-reviews-toggle{width:100%;margin:0}.mountain-1-6-3v1-1-2 .course-review__flex-grid-item{display:block;margin-bottom:15px}.mountain-1-6-3v1-1-2 .course-review__container{position:relative;padding-top:25px;background:#fff;overflow:auto}.mountain-1-6-3v1-1-2 .course-review__container>*{padding:0 25px}.mountain-1-6-3v1-1-2 .course-review__container>.review--partial,.mountain-1-6-3v1-1-2 .course-review__container>.review--complete{margin-bottom:10px}.mountain-1-6-3v1-1-2 .course-review__title{margin-top:10px;font-size:18px}.mountain-1-6-3v1-1-2 .course-review__text{margin-bottom:10px;font-size:15px;line-height:1.5}.mountain-1-6-3v1-1-2 .course-review__name{bottom:0;width:100%;margin-bottom:0;padding:0 25px 10px;font-weight:600}.mountain-1-6-3v1-1-2 .review__show-more,.mountain-1-6-3v1-1-2 .review__show-less{margin:5px 0;padding:5px 0;border:none;background:transparent;color:#63c6d2;font-family:inherit;font-size:15px}.mountain-1-6-3v1-1-2 .review__show-more:hover,.mountain-1-6-3v1-1-2 .review__show-more:active,.mountain-1-6-3v1-1-2 .review__show-less:hover,.mountain-1-6-3v1-1-2 .review__show-less:active{background:transparent;color:#63c6d2;text-decoration:underline}.mountain-1-6-3v1-1-2 .course-review__button{padding-top:20px;text-align:center}.mountain-1-6-3v1-1-2 .course-review__button .review-button{margin-top:0;padding:1em;border-radius:0;color:#fff;background:#63c6d2;cursor:pointer}.mountain-1-6-3v1-1-2 .course-review__button .review-button:hover,.mountain-1-6-3v1-1-2 .course-review__button .review-button:active{color:#fff;background:#3bb8c7}@media only screen and (max-width: 991px){.mountain-1-6-3v1-1-2 .course-review__flex-grid-item{margin-bottom:1em}.mountain-1-6-3v1-1-2 .course-review__container{margin-top:0;margin-bottom:1em}}@media only screen and (max-width: 767px){.mountain-1-6-3v1-1-2 .course-review{padding:1.5em 0 2em}.mountain-1-6-3v1-1-2 .course-review__text{font-size:14px}.mountain-1-6-3v1-1-2 .course-review__title{font-size:16px}.mountain-1-6-3v1-1-2 .review__show-more,.mountain-1-6-3v1-1-2 .review__show-less{font-size:14px}}.mountain-1-6-3v1-1-2 .course-instructor{padding:60px 0;background:none;background-position:bottom left;background-size:cover}.mountain-1-6-3v1-1-2 .instructor__details{overflow:auto}.mountain-1-6-3v1-1-2 .instructor__img{display:inline-block;max-width:125px;max-height:125px;margin-bottom:25px;border:1px solid #eaeaea;border-radius:50%}.mountain-1-6-3v1-1-2 .product-overview{padding:60px 0;background:#fff}.mountain-1-6-3v1-1-2 .related-products{padding:60px 0 80px;background:#1d5870}.mountain-1-6-3v1-1-2 .related-products h1:before{background:#63c6d2}.mountain-1-6-3v1-1-2 .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;margin-bottom:15px;padding:20px;background:#fff}.mountain-1-6-3v1-1-2 .theme-mountain-multi-product__item:last-of-type{margin-bottom:0}.mountain-1-6-3v1-1-2 .theme-mountain-multi-product__section-title{color:#fff}.mountain-1-6-3v1-1-2 .theme-mountain-multi-product__item+.theme-mountain-multi-product__item{margin-top:10px}.mountain-1-6-3v1-1-2 .theme-mountain-multi-product__price{font-size:26px;font-weight:600}.mountain-1-6-3v1-1-2 .theme-mountain-multi-product__title{padding-right:1em;padding-left:1em}.mountain-1-6-3v1-1-2 .theme-mountain-multi-product__cta{padding:8px 30px;background:#63c6d2;color:#fff;border-radius:0}.mountain-1-6-3v1-1-2 .theme-mountain-multi-product__cta:hover,.mountain-1-6-3v1-1-2 .theme-mountain-multi-product__cta:active{background:#8bd4dd;color:#fff}@media only screen and (max-width: 991px){.mountain-1-6-3v1-1-2 .theme-mountain-multi-product__price{margin-bottom:15px}.mountain-1-6-3v1-1-2 .theme-mountain-multi-product__item{display:block;padding:10px;text-align:center}.mountain-1-6-3v1-1-2 .theme-mountain-multi-product__title{margin-bottom:15px;padding-right:0;padding-left:0}}.mountain-1-6-3v1-1-2 .course-promotion .coupon{padding:20px 0;color:#ffffff}.mountain-1-6-3v1-1-2 .course-promotion .coupon.valid-coupon{background:#54c670}.mountain-1-6-3v1-1-2 .course-promotion .coupon.invalid-coupon{background:#ffed8f;color:dimgrey}.mountain-1-6-3v1-1-2 .course-benefits{padding:60px 0;background:#104155}.mountain-1-6-3v1-1-2 .course-benefits__item{margin-bottom:30px}.mountain-1-6-3v1-1-2 .course-benefits__item p{margin-bottom:0}@media only screen and (max-width: 767px){.mountain-1-6-3v1-1-2 .course-benefits__item:last-of-type{margin-bottom:0}}.mountain-1-6-3v1-1-2 .course-contents{padding:60px 0;background:#95a7b6}.mountain-1-6-3v1-1-2 .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;list-style:none;text-align:center}.mountain-1-6-3v1-1-2 .course-contents__inner{padding:25px 25px 42px;border:1px solid #e9e9e9;background:#fff}.mountain-1-6-3v1-1-2 .course-contents-types__item{-webkit-flex-shrink:0;-moz-flex-shrink:0;flex-shrink:0;-ms-flex-negative:0;margin-bottom:15px;padding:0 20px}.mountain-1-6-3v1-1-2 .course-contents-types__item i{display:inline-block;margin-bottom:10px;color:grey;font-size:55px}.mountain-1-6-3v1-1-2 .course-contents-types__item span{display:block}@media only screen and (max-width: 991px){.mountain-1-6-3v1-1-2 .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-3v1-1-2 .course-contents__inner{padding-bottom:25px}.mountain-1-6-3v1-1-2 .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-3v1-1-2 .course-curriculum{padding:80px 0;background:#fff;color:grey}.mountain-1-6-3v1-1-2 .course-curriculum a{color:inherit}.mountain-1-6-3v1-1-2 .course-curriculum a:hover{color:#1d5870}.mountain-1-6-3v1-1-2 .course-curriculum ul{padding-left:2em}.mountain-1-6-3v1-1-2 .course-curriculum li{margin-bottom:1em;list-style-type:disc}.mountain-1-6-3v1-1-2 .course-curriculum .curriculum-chapter-header{padding-bottom:18px;margin-bottom:24px;color:grey;border-bottom:1px solid #e7e7e7}.mountain-1-6-3v1-1-2 .course-curriculum .chapter-list-item__title{line-height:1.5}.mountain-1-6-3v1-1-2 .course-curriculum .curriculum-chapter+.curriculum-chapter{margin-top:42px}.mountain-1-6-3v1-1-2 .course-curriculum .chapter-header{font-size:18px;font-weight:bold;line-height:1.5}.mountain-1-6-3v1-1-2 .course-curriculum .chapter-list-item+.chapter-list-item{margin-top:18px}.mountain-1-6-3v1-1-2 .course-curriculum .chapter-time{display:inline-block;padding:3px 20px;float:right;border-radius:200px;background:#1d5870;color:#fff;font-size:1.1rem;text-align:right}.mountain-1-6-3v1-1-2 .course-curriculum .label-free{padding:5px;background:#1d5870;font-size:0.9em}@media only screen and (max-width: 480px){.mountain-1-6-3v1-1-2 .course-curriculum .chapter-header{display:block;margin-bottom:15px}.mountain-1-6-3v1-1-2 .course-curriculum .chapter-time{float:none;text-align:left}}.mountain-1-6-3v1-1-2 .page-content-container{font-family:'Open Sans', sans-serif !important}.mountain-1-6-3v1-1-2 h1{font-weight:100;text-transform:uppercase}.mountain-1-6-3v1-1-2 h1:before{display:block;position:relative;top:-20px;width:60px;height:3px;background:#63c6d2;content:''}.mountain-1-6-3v1-1-2 .theme-mountain-multi-product__section-title{text-align:center}.mountain-1-6-3v1-1-2 .theme-mountain-multi-product__price{font-weight:100}.mountain-1-6-3v1-1-2 .theme-mountain-multi-product__section-title::before{margin:0 auto}

/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAiMjAxNzA1MTIxNDQxNDcvKF9fVEVNUExBVEVfXykuY3NzIiwKCSJzb3VyY2VzIjogWwoJCSIyMDE3MDUxMjE0NDE0Ny8oX19URU1QTEFURV9fKSIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9fYm91cmJvbi5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL3NldHRpbmdzL19wcmVmaXhlci5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL3NldHRpbmdzL19weC10by1lbS5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL3NldHRpbmdzL19hc3NldC1waXBlbGluZS5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fYXNzaWduLWlucHV0cy5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fY29udGFpbnMuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX2NvbnRhaW5zLWZhbHN5LnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19pcy1sZW5ndGguc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX2lzLWxpZ2h0LnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19pcy1udW1iZXIuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX2lzLXNpemUuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3B4LXRvLWVtLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19weC10by1yZW0uc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3NoYWRlLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19zdHJpcC11bml0cy5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fdGludC5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL191bnBhY2suc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX21vZHVsYXItc2NhbGUuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19jb252ZXJ0LXVuaXRzLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fZGlyZWN0aW9uYWwtdmFsdWVzLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fZm9udC1zb3VyY2UtZGVjbGFyYXRpb24uc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19ncmFkaWVudC1wb3NpdGlvbnMtcGFyc2VyLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fbGluZWFyLWFuZ2xlLXBhcnNlci5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX2xpbmVhci1ncmFkaWVudC1wYXJzZXIuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19saW5lYXItcG9zaXRpb25zLXBhcnNlci5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXIuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19yYWRpYWwtYXJnLXBhcnNlci5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fcmFkaWFsLWdyYWRpZW50LXBhcnNlci5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX3JlbmRlci1ncmFkaWVudHMuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19zaGFwZS1zaXplLXN0cmlwcGVyLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fc3RyLXRvLW51bS5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2FuaW1hdGlvbi5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2FwcGVhcmFuY2Uuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19iYWNrZmFjZS12aXNpYmlsaXR5LnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fYmFja2dyb3VuZC5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2JhY2tncm91bmQtaW1hZ2Uuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19ib3JkZXItaW1hZ2Uuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19jYWxjLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fY29sdW1ucy5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2ZpbHRlci5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2ZsZXgtYm94LnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fZm9udC1mYWNlLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fZm9udC1mZWF0dXJlLXNldHRpbmdzLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9faGlkcGktbWVkaWEtcXVlcnkuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19oeXBoZW5zLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9faW1hZ2UtcmVuZGVyaW5nLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fa2V5ZnJhbWVzLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fbGluZWFyLWdyYWRpZW50LnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fcGVyc3BlY3RpdmUuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19wbGFjZWhvbGRlci5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3JhZGlhbC1ncmFkaWVudC5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3NlbGVjdGlvbi5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3RleHQtZGVjb3JhdGlvbi5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3RyYW5zZm9ybS5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3RyYW5zaXRpb24uc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL191c2VyLXNlbGVjdC5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fYm9yZGVyLWNvbG9yLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19ib3JkZXItcmFkaXVzLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19ib3JkZXItc3R5bGUuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX2JvcmRlci13aWR0aC5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fYnV0dG9ucy5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fY2xlYXJmaXguc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX2VsbGlwc2lzLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19mb250LXN0YWNrcy5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9faGlkZS10ZXh0LnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19tYXJnaW4uc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3BhZGRpbmcuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3Bvc2l0aW9uLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19wcmVmaXhlci5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fcmV0aW5hLWltYWdlLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19zaXplLnNjc3MiLAoJCSIuLi9zaGFyZWQvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL190ZXh0LWlucHV0cy5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fdGltaW5nLWZ1bmN0aW9ucy5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fdHJpYW5nbGUuc2NzcyIsCgkJIi4uL3NoYXJlZC9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3dvcmQtd3JhcC5zY3NzIiwKCQkiLi4vc2hhcmVkL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL19ib3VyYm9uLWRlcHJlY2F0ZWQtdXBjb21pbmcuc2NzcyIKCV0sCgkic291cmNlc0NvbnRlbnQiOiBbCgkJIkBpbXBvcnQgXCJib3VyYm9uXCI7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBOb3JtYWxpemUgaHR0cHM6Ly9uZWNvbGFzLmdpdGh1Yi5pby9ub3JtYWxpemUuY3NzL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuaHRtbHtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1tcy10ZXh0LXNpemUtYWRqdXN0OjEwMCU7LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OjEwMCV9Ym9keXttYXJnaW46MH1hcnRpY2xlLGFzaWRlLGRldGFpbHMsZmlnY2FwdGlvbixmaWd1cmUsZm9vdGVyLGhlYWRlcixoZ3JvdXAsbWFpbixtZW51LG5hdixzZWN0aW9uLHN1bW1hcnl7ZGlzcGxheTpibG9ja31hdWRpbyxjYW52YXMscHJvZ3Jlc3MsdmlkZW97ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9YXVkaW86bm90KFtjb250cm9sc10pe2Rpc3BsYXk6bm9uZTtoZWlnaHQ6MH1baGlkZGVuXSx0ZW1wbGF0ZXtkaXNwbGF5Om5vbmV9YXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fWE6YWN0aXZlLGE6aG92ZXJ7b3V0bGluZTowfWFiYnJbdGl0bGVde2JvcmRlci1ib3R0b206MXB4IGRvdHRlZH1iLHN0cm9uZ3tmb250LXdlaWdodDo3MDB9ZGZue2ZvbnQtc3R5bGU6aXRhbGljfWgxe2ZvbnQtc2l6ZToyZW07bWFyZ2luOi42N2VtIDB9bWFya3tiYWNrZ3JvdW5kOiNmZjA7Y29sb3I6IzAwMH1zbWFsbHtmb250LXNpemU6ODAlfXN1YixzdXB7Zm9udC1zaXplOjc1JTtsaW5lLWhlaWdodDowO3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfXN1cHt0b3A6LS41ZW19c3Vie2JvdHRvbTotLjI1ZW19aW1ne2JvcmRlcjowfXN2Zzpub3QoOnJvb3Qpe292ZXJmbG93OmhpZGRlbn1maWd1cmV7bWFyZ2luOjFlbSA0MHB4fWhyey1tb3otYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2hlaWdodDowfXByZXtvdmVyZmxvdzphdXRvfWNvZGUsa2JkLHByZSxzYW1we2ZvbnQtZmFtaWx5Om1vbm9zcGFjZSxtb25vc3BhY2U7Zm9udC1zaXplOjFlbX1idXR0b24saW5wdXQsb3B0Z3JvdXAsc2VsZWN0LHRleHRhcmVhe2NvbG9yOmluaGVyaXQ7Zm9udDppbmhlcml0O21hcmdpbjowfWJ1dHRvbntvdmVyZmxvdzp2aXNpYmxlfWJ1dHRvbixzZWxlY3R7dGV4dC10cmFuc2Zvcm06bm9uZX1idXR0b24saHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxpbnB1dFt0eXBlPVwic3VibWl0XCJdey13ZWJraXQtYXBwZWFyYW5jZTpidXR0b247Y3Vyc29yOnBvaW50ZXJ9YnV0dG9uW2Rpc2FibGVkXSxodG1sIGlucHV0W2Rpc2FibGVkXXtjdXJzb3I6ZGVmYXVsdH1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyOjA7cGFkZGluZzowfWlucHV0e2xpbmUtaGVpZ2h0Om5vcm1hbH1pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0saW5wdXRbdHlwZT1cInJhZGlvXCJde2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjB9aW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixpbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9ue2hlaWdodDphdXRvfWlucHV0W3R5cGU9XCJzZWFyY2hcIl17LXdlYmtpdC1hcHBlYXJhbmNlOnRleHRmaWVsZDstbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7LXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94O2JveC1zaXppbmc6Y29udGVudC1ib3h9aW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lfWZpZWxkc2V0e2JvcmRlcjoxcHggc29saWQgc2lsdmVyO21hcmdpbjowIDJweDtwYWRkaW5nOi4zNWVtIC42MjVlbSAuNzVlbX1sZWdlbmR7Ym9yZGVyOjA7cGFkZGluZzowfXRleHRhcmVhe292ZXJmbG93OmF1dG99b3B0Z3JvdXB7Zm9udC13ZWlnaHQ6NzAwfXRhYmxle2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtib3JkZXItc3BhY2luZzowfXRkLHRoe3BhZGRpbmc6MH1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNBU1MgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBDb2xvdXJzOiBTaXRlXG4vLyAtLS0tLS0tLS0tLS0tLS1cbiRwcmltYXJ5LWNvbG9yOiAjM2Y0ZTg1O1xuJHNpdGUtYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYztcblxuLy8gQ29sb3VyczogQnV0dG9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tXG4kcHJpbWFyeS1idG4tY29sb3I6ICNmMjc5MzU7XG4kc2Vjb25kYXJ5LWJ0bi1jb2xvcjogI2Q5ZDlkOTtcblxuLy8gQ29sb3VyczogSGVhZGVyXG4vLyAtLS0tLS0tLS0tLS0tLS1cbiRoZWFkZXItYmFja2dyb3VuZC1jb2xvcjogIzNkNDA1MTtcbiRoZWFkZXItdGV4dC1jb2xvcjogI2ZhZjJmZDtcblxuLy8gQ29sb3VyczogRm9vdGVyXG4vLyAtLS0tLS0tLS0tLS0tLS1cbiRmb290ZXItYmFja2dyb3VuZC1jb2xvcjogI2U3ZTdlNztcblxuLy8gQ29sb3VyczogTmV1dHJhbFxuLy8gLS0tLS0tLS0tLS0tLS0tXG4kY29sb3ItbmV1dHJhbDogI2NkY2RjZDtcbiRjb2xvci1uZXV0cmFsLWxpZ2h0LTE6ICNlZWVlZWU7XG4kY29sb3ItbmV1dHJhbC1saWdodC0yOiAjZjNmM2YzO1xuJGNvbG9yLW5ldXRyYWwtbGlnaHQtMzogI2ZlZmVmZTtcbiRjb2xvci1uZXV0cmFsLWRhcmstMTogI2IyYjJiMjtcblxuLy8gQ29sb3VyczogVGV4dFxuLy8gLS0tLS0tLS0tLS0tLS0tXG4kdGV4dC1jb2xvcjogIzViNWI1YjtcbiR0ZXh0LWNvbG9yLWxpZ2h0OiAjZmZmZmZmO1xuJGxpbmstY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG4vLyBDb2xvdXJzOiBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cbiRzdWNjZXNzLWdyZWVuOiAjNTRjNjcwO1xuJGFsZXJ0LXllbGxvdzogI2ZmZWQ4ZjtcblxuXG4vLyBNZWRpYSBRdWVyaWVzXG4vLyAtLS0tLS0tLS0tLS0tLS1cbiRzY3JlZW4tc20tbWluOiA0ODBweDtcbiRzY3JlZW4tbWQtbWluOiA3NjhweDtcbiRzY3JlZW4tbGctbWluOiA5OTJweDtcbiRzY3JlZW4teGwtbWluOiAxMjAwcHg7XG4kc2NyZWVuLXh4bC1taW46IDE2MDBweDtcblxuJHNjcmVlbi14cy1tYXg6ICgkc2NyZWVuLXNtLW1pbiAtIDEpO1xuJHNjcmVlbi1zbS1tYXg6ICgkc2NyZWVuLW1kLW1pbiAtIDEpO1xuJHNjcmVlbi1tZC1tYXg6ICgkc2NyZWVuLWxnLW1pbiAtIDEpO1xuJHNjcmVlbi1sZy1tYXg6ICgkc2NyZWVuLXhsLW1pbiAtIDEpO1xuXG4vLyBNaXNjXG4vLyAtLS0tLS0tLS0tLS0tLVxuJGJvcmRlci1yYWRpdXM6IDNweDtcbiRzZWN0aW9uLW1heC13aWR0aDogMTI1MHB4O1xuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNaXhpbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIFRoaXMgaXMgYSBzaW1wbGUgbWl4aW4gZm9yIGNhcmQgc3R5bGVzLiBDYXJkIHN0eWxlcyBhcmUgdXNlZCBvbiBjb3Vyc2Vcbi8vIGNhcmRzLCBhbmQgcGFzc3dvcmQgcmVzZXQgYm94ZXMuIFRoaXMgaXMgbWVhbnQgdG8gd29yayBmb3IgZXZlcnl0aGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gY2FyZCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDFweCAxcHggMCAjZTJlMmUyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG59XG5cblxuLy8gVGhpcyBtYWtlcyB0ZXh0IGNvbG91ciBjaGFuZ2UgaWYgdGhlIGJhY2tncm91bmQgY29sb3VyIGlzIHRvbyBsaWdodCBvciBkYXJrXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBmdW5jdGlvbiBkeW5hbWljLXRleHQoJGNvbG9yKSB7XG4gIEBpZiAobGlnaHRuZXNzKCRjb2xvcikgPiA4NSkge1xuICAgIEByZXR1cm4gJHRleHQtY29sb3I7IC8vIExpZ2h0ZXIgYmFja2dyb3VuZCwgcmV0dXJuIGRhcmsgY29sb3JcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAkdGV4dC1jb2xvci1saWdodDsgLy8gRGFya2VyIGJhY2tncm91bmQsIHJldHVybiBsaWdodCBjb2xvclxuICB9XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRhYmxlIG9mIGNvbnRlbnRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyAwLiBCYXNpY3Ncbi8vIDEuIFR5cGVcbi8vIDIuIEZvcm1zXG4vLyAzLiBCdXR0b25zXG4vLyA0LiBMYXlvdXRcbi8vIDUuIENvdXJzZSBDYXJkc1xuLy8gNi4gSGVhZGVyXG4vLyA3LiBGb290ZXJcbi8vIDguIFJldmlldyBTdGFyc1xuLy8gOS4gUGFnaW5hdGlvblxuLy8gMTAuIFNpdGUgTGFuZGluZyBQYWdlXG4vLyAxMS4gU2hhcmVkIHByb2R1Y3QgbGFuZGluZyBwYWdlIHN0eWxlc1xuLy8gMTIuIEhpZ2ggQ29udmVyc2lvbiBsYW5kaW5nIHBhZ2Vcbi8vIDEzLiBDdXJyaWN1bHVtIGxhbmRpbmcgcGFnZVxuLy8gMTQuIEJ1bmRsZSBsYW5kaW5nIHBhZ2Vcbi8vIDE1LiBNdWx0aSBQcm9kdWN0c1xuLy8gMTYuIFNpZ24gdXAgLyBTaWduIGluXG4vLyAxNy4gTXkgQ291cnNlcy9EYXNoYm9hcmRcbi8vIDE4LiBBbGwgQ291cnNlcy9TdHVkZW50IERhc2hib2FyZFxuLy8gMTkuIENoZWNrb3V0XG4vLyAyMC4gQ291cnNlIExhbmRpbmcgUGFnZSAtIFZpZGVvIENlbnRyaWNcbi8vIDIxLiBTdHVkZW50L0FmZmlsaWF0ZSBlZGl0IGFjY291bnRcbi8vIDIyLiBGb3Jnb3QgUGFzc3dvcmRcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIDAuIEJhc2ljc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuaHRtbCwgYm9keSB7XG4gIGJhY2tncm91bmQ6ICRzaXRlLWJhY2tncm91bmQtY29sb3I7XG4gIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gIGZvbnQtc2l6ZTogMWVtOyAvLzE2cHhcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAxLiBUeXBlIENvbnZlcnRlZCB0byBFTSB1c2luZyBodHRwOi8vcHh0b2VtLmNvbS9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuaDEge1xuICBmb250LXNpemU6IDIuMTg4ZW07IC8vMzVweFxufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMS44NzVlbTsgLy8zMHB4XG59XG5cbmgzIHtcbiAgZm9udC1zaXplOiAxLjYyNWVtOyAvLzI2cHhcbn1cblxuaDQge1xuICBmb250LXNpemU6IDEuNDM4ZW07IC8vIDIzcHhcbn1cblxuaDUge1xuICBmb250LXNpemU6IDEuMTI1ZW07IC8vMThweFxufVxuXG5wIHtcbiAgZm9udC1zaXplOiAxZW07IC8vMTZweFxufVxuXG5ociB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWw7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IDIwcHggMDtcbn1cblxuaSwgZW0ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbmIsIHN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbmEge1xuICBjb2xvcjogJGxpbmstY29sb3I7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IGRhcmtlbigkbGluay1jb2xvciwgMTIlKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxudWwsIG9sIHtcbiAgbGkge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIH1cbn1cblxuLy8gUmVtb3ZlcyBsaXN0IHN0eWxlXG4udW5zdHlsZSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8vIGZvciBzYW5pdHlcbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gMi4gRm9ybXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmlucHV0OmZvY3VzOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6IHRyYW5zcGFyZW50OyB9XG5pbnB1dDpmb2N1czo6LW1vei1wbGFjZWhvbGRlciB7IGNvbG9yOnRyYW5zcGFyZW50OyB9XG5cbi5mb3JtLWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbC1saWdodC0zO1xuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItbmV1dHJhbDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nOiA2cHggMTVweDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgZm9udC1zaXplOiAxZW07IC8vMTZweFxufVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBJIGFtIGZvdW5kIG9ubHkgb24gdGhlIGNvbGxlY3Rpb25zIHBhZ2UuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4xcyBlYXNlKTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnRpemUoJHRleHQtY29sb3IsMC45KTtcblxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICB9XG59XG5cbi5yYWRpbywgLmNoZWNrYm94IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1pbi1oZWlnaHQ6IDIwcHg7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLy8gVXNlZCBvbiB0aGUgU2lnbiBpbi9TaWduIHVwL0NoZWNrb3V0IGZsb3cuIFN0eWxlcyB0aGUgc2VwYXJhdG9yIGJldHdlZW4gdGhlXG4vLyBzb2NpYWwgc2lnbiBpbiBidXR0b25zIGFuZCB0aGUgc2lnbiBpbiB3aXRoIGVtYWlsIGZvcm0uXG4uZm9ybV9fc2VwYXJhdG9yIHtcbiAgbWFyZ2luOiAxNXB4IDA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gMy4gQnV0dG9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGF1dG87XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsMCwwLDApO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbi8vIEJ1dHRvbjogTW9kaWZpZXJzXG4vLyAtLS0tLS0tLS0tLS0tXG4uYnRuLWxhcmdlIHtcbiAgcGFkZGluZzogMTJweDtcbiAgZm9udC1zaXplOiAxLjEyNWVtOyAvLzE4cHhcbn1cblxuLmJ0bi1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLy8gQnV0dG9uOiBDb2xvdXJzXG4vLyAtLS0tLS0tLS0tLS0tXG4uYnRuLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1idG4tY29sb3I7XG4gIGNvbG9yOiBkeW5hbWljLXRleHQoJHByaW1hcnktYnRuLWNvbG9yKTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogZGFya2VuKCRwcmltYXJ5LWJ0bi1jb2xvciwgMTAlKTtcbiAgICBjb2xvcjogZHluYW1pYy10ZXh0KCRwcmltYXJ5LWJ0bi1jb2xvcik7XG4gIH1cbn1cblxuLmJ0bi1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWJ0bi1jb2xvcjtcbiAgY29sb3I6IGR5bmFtaWMtdGV4dCgkc2Vjb25kYXJ5LWJ0bi1jb2xvcik7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IGRhcmtlbigkc2Vjb25kYXJ5LWJ0bi1jb2xvciwgMTAlKTtcbiAgICBjb2xvcjogZHluYW1pYy10ZXh0KCRzZWNvbmRhcnktYnRuLWNvbG9yKTtcbiAgfVxufVxuXG4uYnRuLWRlZmF1bHQge1xuICBiYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbC1kYXJrLTE7XG4gIGNvbG9yOiAjZmZmZmZmO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJGNvbG9yLW5ldXRyYWwtZGFyay0xLCAxMCUpO1xuICB9XG59XG5cbi8vIFRoaXMgaXMgdXNlZCBhcyB0aGUgTGlua2VkaW4gYnV0dG9uIG9uIHRoZSBzaWduIHVwLlxuLy8gLS0tLS0tLS0tLS0tLS0tXG4ubGlua2VkaW4tc2lnbmluIHtcbiAgYmFja2dyb3VuZDogIzQ4NzViNDtcbiAgY29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oIzQ4NzViNCwgMTAlKTtcbiAgICBjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIDQuIExheW91dFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuI3dyYXAge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgLy8gRXF1YWwgdG8gZm9vdGVyIGhlaWdodFxuICBtYXJnaW4tYm90dG9tOiAtMTY2cHg7XG4gIGJhY2tncm91bmQ6IGxpZ2h0ZW4oJHNpdGUtYmFja2dyb3VuZC1jb2xvciwgNSUpO1xufVxuXG4vLyBXcmFwOiBNZWRpYSBRdWVyaWVzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1pbi13aWR0aDogJHNjcmVlbi14eGwtbWluKSB7XG4gICN3cmFwIHtcbiAgICBtYXgtd2lkdGg6ICRzY3JlZW4teHhsLW1pbjtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBkYXJrZW4oJHNpdGUtYmFja2dyb3VuZC1jb2xvciwgNSUpO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtlbigkc2l0ZS1iYWNrZ3JvdW5kLWNvbG9yLCA1JSk7XG4gIH1cbn1cblxuXG4vLyBDb250YWluZXIgb24gdGhlIGNoZWNrb3V0L3BheW1lbnQgZmxvdywgc2lnbiBpbi9zaWduIHVwIGZsb3dcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4jY29udGVudC1wdXNoIHtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG59XG5cbi8vIENvbnRlbnQtcHVzaDogTWVkaWEgUXVlcmllc1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAjY29udGVudC1wdXNoIHtcbiAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAjY29udGVudC1wdXNoIHtcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgfVxufVxuXG5cbi8vIENvbnRhaW5lcnMgZm9yIGludGVyaW9yIGNvbnRlbnQgc2VjdGlvbnMuIE1vc3RseSBzdXJyb3VuZGluZyB0aGUgY291cnNlIGNhcmRzXG4vLyAtLS0tLS0tLS0tLS0tLS1cbi5zaXRlLWxhbmRpbmdfX2NvdXJzZXMsXG4ucHJvZHVjdHMtd3JhcHBlcixcbi5zdHVkZW50LWRhc2hib2FyZC13cmFwcGVyLFxuLmNoZWNrb3V0LWZvcm0sXG4uc3R1ZGVudC1wcm9maWxlIHtcbiAgbWF4LXdpZHRoOiAkc2VjdGlvbi1tYXgtd2lkdGg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAzNXB4IDA7XG59XG5cbi5zaXRlLWxhbmRpbmdfX2NvdXJzZXMge1xuICBwYWRkaW5nLXRvcDogNjBweDtcbn1cblxuLy8gQ29udGFpbmVyczogTW9iaWxlXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgLnNpdGUtbGFuZGluZ19fY291cnNlcyxcbiAgLnByb2R1Y3RzLXdyYXBwZXIsXG4gIC5zdHVkZW50LWRhc2hib2FyZC13cmFwcGVyLFxuICAuY2hlY2tvdXQtZm9ybSxcbiAgLnN0dWRlbnQtcHJvZmlsZSB7XG4gICAgcGFkZGluZzogMjBweCAwO1xuICB9XG59XG5cblxuLy8gQ29sdW1uc1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbi5jb2x1bW4ge1xuICBwYWRkaW5nLWxlZnQ6IDc1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDc1cHg7XG59XG5cbi8vIENvbHVtbnM6IE1vYmlsZVxuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gIC5jb2x1bW4ge1xuICAgIHBhZGRpbmctbGVmdDogMTAwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMTAwcHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIHtcbiAgLmNvbHVtbiB7XG4gICAgcGFkZGluZy1sZWZ0OiA1NXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDU1cHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgLmNvbHVtbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgLmNvbHVtbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIH1cbn1cblxuXG4vLyBNaXNjXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuLnZpc2libGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIDUuIENvdXJzZSBDYXJkc1xuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmNhcmQge1xuICBAaW5jbHVkZSBjYXJkO1xufVxuXG4vLyBDYXJkOiBNb2RpZmllcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmNhcmQtLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jYXJkLS1wYWRkaW5nLTUge1xuICBwYWRkaW5nOiA1cHg7XG59XG5cbi5jYXJkLS1wYWRkaW5nLTE1IHtcbiAgcGFkZGluZzogMTVweDtcbn1cblxuLmNhcmQtLXBhZGRpbmctMjAge1xuICBwYWRkaW5nOiAyMHB4O1xufVxuXG5cbi8vIENhcmQ6IFNwYWNpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmNhcmQtLWJvdHRvbS1tYXJnaW4tMTAge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uY2FyZC0tYm90dG9tLW1hcmdpbi0yMCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cblxuLy8gQ291cnNlIGNhcmQgaW1hZ2Vcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbi5jb3Vyc2UtY2FyZCB7XG4gIGhlaWdodDogNDY4cHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmNvdXJzZS1jYXJkX19pbWcge1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygzcHgpO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uY291cnNlLWNhcmRfX2ltZy1jb250YWluZXIge1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygzcHgpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1heC1oZWlnaHQ6IDIyMHB4O1xufVxuXG5cbi8vIENvdXJzZSBjYXJkIGJvZHlcbi8vIC0tLS0tLS0tLS0tLS0tXG4uY291cnNlLWNhcmRfX2JvZHkge1xuICBwYWRkaW5nOiAyMHB4IDIwcHggMTBweDtcbn1cblxuLmNvdXJzZS1jYXJkX19pbnN0cnVjdG9yLW5hbWUge1xuICBmb250LXNpemU6IDAuODc1ZW07IC8vMTRweFxufVxuXG4uY291cnNlLWNhcmRfX3ByaWNlIHtcbiAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDAuODc1ZW07IC8vMTVweFxuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICAuZnJlZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxufVxuXG4uY291cnNlLWNhcmRfX3RpdGxlIHtcbiAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICBmb250LXNpemU6IDEuMTI1ZW07IC8vMThweFxuXG4gIGEge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgfVxufVxuXG4uY291cnNlLWNhcmRfX2Rlc2NyaXB0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgY29sb3I6IGxpZ2h0ZW4oJHRleHQtY29sb3IsMjUlKTtcbiAgZm9udC1zaXplOiAwLjkzOGVtOyAvLzE1cHhcbn1cblxuXG4vLyBDb3Vyc2UgY2FyZCBidXR0b25zXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4uY291cnNlLWNhcmRfX2N0YSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgcGFkZGluZzogMCAyMHB4O1xuXG4gIC5idG4ge1xuICAgIHBhZGRpbmc6IDhweDtcbiAgfVxuXG4gIGEge1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcblxuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG5cbi5jb3Vyc2UtY2FyZF9fY3RhLXNlY29uZGFyeSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cblxuLy8gUHJvZ3Jlc3MgQ2FyZFxuLy8gLS0tLS0tLS0tLS0tLS0tXG4ucHJvZ3Jlc3MtY2FyZCB7XG4gIGN1cnNvcjogZGVmYXVsdDtcblxuICAuY291cnNlLWNhcmRfX2JvZHkge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICB9XG5cbiAgLmNvdXJzZS1jYXJkX190aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLnByb2dyZXNzLWNhcmQtcHJvZ3Jlc3Mge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICB9XG5cbiAgLnByb2dyZXNzLWNvbXBsZXRpb24ge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBmb250LXNpemU6IDEuODc1ZW07IC8vMzBweFxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5wcm9ncmVzcy1saW5lIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG5cbiAgICAucHJvZ3Jlc3MtbGluZS1wZXJjZW50IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG5cbiAgICAucHJvZ3Jlc3MtbGluZS1iYXIge1xuICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBDYXJkczogTWVkaWEgUXVlcmllc1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbkBtZWRpYSBzY3JlZW5cbmFuZCAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAuY291cnNlLWNhcmRfX2ltZy1jb250YWluZXIge1xuICAgIG1heC1oZWlnaHQ6IDIwMnB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW5cbmFuZCAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbilcbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuXG4gIC5jb3Vyc2UtY2FyZCB7XG4gICAgaGVpZ2h0OiA0ODFweDtcbiAgfVxuXG4gIC5jb3Vyc2UtY2FyZF9faW1nLWNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogMjM1cHg7XG4gIH1cblxuICAuY291cnNlLWNhcmRfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMDYzZW07IC8vMTdweFxuICB9XG59XG5cbkBtZWRpYSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAuY291cnNlLWNhcmQge1xuICAgIG1heC13aWR0aDogMzcwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICB9XG5cbiAgLmNvdXJzZS1jYXJkX19jdGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmNvdXJzZS1jYXJkX19ib2R5IHtcbiAgICAuc3Rhci1yYXRpbmcge1xuICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIDYuIEhlYWRlciBOYXZcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuaGVhZGVyIHtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBiYWNrZ3JvdW5kOiAkaGVhZGVyLWJhY2tncm91bmQtY29sb3I7XG5cbiAgYSB7XG4gICAgY29sb3I6ICRoZWFkZXItdGV4dC1jb2xvcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogZGFya2VuKCRoZWFkZXItdGV4dC1jb2xvciwgMjAlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTmF2YmFyOiBMb2dvXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuLmhlYWRlci1sb2dvX19pbWFnZSB7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtaGVpZ2h0OiAzNXB4O1xuICBtYXgtd2lkdGg6IGluaXRpYWw7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbn1cblxuLmhlYWRlci1zY2hvb2wtbmFtZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBmb250LXNpemU6IDEuODc1ZW07IC8vMzBweFxufVxuXG5cbi8vIE5hdmJhcjogTGlua3Ncbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4uaGVhZGVyLW5hdl9fbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5oZWFkZXItbmF2X19pdGVtIHtcbiAgZm9udC1zaXplOiAwLjg3NWVtOyAvLzE0cHhcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLyBOYXZiYXI6IERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuLmhlYWRlci11c2VyLWF2YXRhciB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgaGVpZ2h0OiAyNXB4O1xuICB3aWR0aDogMjVweDtcbiAgbWFyZ2luOiAtMjVweCA1cHggLTIxcHg7XG59XG5cbi5kcm9wZG93biB7XG4gIG1hcmdpbi1sZWZ0OiAxNXB4O1xufVxuXG4uZHJvcGRvd24tdG9nZ2xlIHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59XG5cbi8vIE92ZXJyaWRlIHRoZSBkZWZhdWx0IEJvb3RzdHJhcCBzdHlsZXNcbi5kcm9wZG93bi1tZW51IHtcbiAgdG9wOiAyMnB4O1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogJGhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yO1xuICBib3JkZXI6IDA7XG5cbiAgJiA+IGxpIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuXG4gICYgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAkaGVhZGVyLXRleHQtY29sb3I7XG4gIH1cblxuICAmID4gbGkgPiBhOmhvdmVyLFxuICAmID4gbGkgPiBhOmFjdGl2ZSxcbiAgJiA+IGxpID4gYTpmb2N1cyB7XG4gICAgY29sb3I6ICRoZWFkZXItYmFja2dyb3VuZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGVyLXRleHQtY29sb3I7XG4gIH1cbn1cblxuLy8gTmF2YmFyOiBNb2JpbGVcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4uaGVhZGVyLW5hdl9fbW9iaWxlLWJ0biB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgcGFkZGluZzogNnB4IDEwcHg7XG4gIGNvbG9yOiAkaGVhZGVyLXRleHQtY29sb3I7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRoZWFkZXItdGV4dC1jb2xvcjtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG5cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkaGVhZGVyLWJhY2tncm91bmQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRlci10ZXh0LWNvbG9yO1xuICB9XG59XG5cblxuLy8gTmF2YmFyOiBNZWRpYSBRdWVyaWVzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcblxuICBoZWFkZXIgLmNvbHVtbiB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuaGVhZGVyLWxvZ29fX2NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB3aWR0aDogMXB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cblxuICAuaGVhZGVyLW5hdl9fY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICAuaGVhZGVyLW5hdiB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuaGVhZGVyLW5hdl9fbGlzdCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgfVxuXG4gIC5oZWFkZXItbmF2X19sZWZ0LFxuICAuaGVhZGVyLW5hdl9fcmlnaHQge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLmhlYWRlci1uYXZfX3JpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuXG4gIC5oZWFkZXItbmF2X19pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHN1YjtcbiAgfVxuXG4gIC5oZWFkZXItbmF2X19pdGVtICsgLmhlYWRlci1uYXZfX2l0ZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG5cbiAgLmhlYWRlci1uYXYge1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICB9XG5cbiAgLmhlYWRlci1zY2hvb2wtbmFtZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA4NXB4O1xuICB9XG5cbiAgLmhlYWRlci1uYXZfX2NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIE1vYmlsZSBtZW51IGFkZHMgb3BlbiBjbG9zZSBjbGFzcyB3aGVuIHRvZ2dsZWRcbiAgLmhlYWRlci1uYXZfX2NvbnRhaW5lci5vcGVue1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLmhlYWRlci1uYXZfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDAuOTM4ZW07IC8vMTVweFxuICB9XG5cbiAgLmhlYWRlci1uYXZfX2xpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgfVxuXG4gIC5oZWFkZXItbG9nb19fY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuaGVhZGVyLW5hdl9fbW9iaWxlLWJ0biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgfVxuXG4gIC5kcm9wZG93biB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gNy4gRm9vdGVyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBodHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL2Nzcy9zdGlja3ktZm9vdGVyL1xuZm9vdGVyLCAjd3JhcDphZnRlciB7XG4gIGhlaWdodDogMTY2cHg7XG59XG5cbmZvb3RlciB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogJHNjcmVlbi14eGwtbWluO1xuICBiYWNrZ3JvdW5kOiAkZm9vdGVyLWJhY2tncm91bmQtY29sb3I7XG4gIHBhZGRpbmc6IDMwcHggMDtcbiAgY29sb3I6IGR5bmFtaWMtdGV4dCgkZm9vdGVyLWJhY2tncm91bmQtY29sb3IpO1xuXG5cbiAgYSB7XG4gICAgY29sb3I6IGR5bmFtaWMtdGV4dCgkZm9vdGVyLWJhY2tncm91bmQtY29sb3IpO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG4uZm9vdGVyLW5hdiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwIDAgMzBweCAwO1xufVxuXG4uZm9vdGVyLW5hdl9faXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAwLjg3NWVtOyAvLzE0cHhcbn1cblxuLmZvb3Rlci1uYXZfX2l0ZW0gKyAuZm9vdGVyLW5hdl9faXRlbSB7XG4gIG1hcmdpbi1sZWZ0OiAxNXB4O1xufVxuXG4uZm9vdGVyLWNvcHlyaWdodCB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGZvbnQtc2l6ZTogMC43NTBlbTsgLy8xMnB4XG4gIG9wYWNpdHk6IDAuNjtcbn1cblxuLmZvb3Rlci1wb3dlcmVkLWJ5IHtcbiAgZm9udC1zaXplOiAwLjc1MGVtOyAvLzEycHhcbn1cblxuLy8gRm9vdGVyOiBNZWRpYSBRdWVyaWVzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1pbi13aWR0aDogJHNjcmVlbi14eGwtbWluKSB7XG4gIGZvb3RlciB7XG4gICAgbWF4LXdpZHRoOiAkc2NyZWVuLXh4bC1taW47XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZGFya2VuKCRzaXRlLWJhY2tncm91bmQtY29sb3IsIDEwJSk7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZGFya2VuKCRzaXRlLWJhY2tncm91bmQtY29sb3IsIDEwJSk7XG4gIH1cbn1cblxuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gOC4gUmV2aWV3IFN0YXJzXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uc3Rhci1yYXRpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDkwcHg7XG4gIGhlaWdodDogMThweDtcbiAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCMlpYSnphVzl1UFNJeExqRWlJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SWdlRzFzYm5NNmVHeHBibXM5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZlR3hwYm1zaUlIZzlJakJ3ZUNJZ2VUMGlNSEI0SWlCM2FXUjBhRDBpTWpCd2VDSWdhR1ZwWjJoMFBTSXlNSEI0SWlCMmFXVjNRbTk0UFNJd0lEQWdNakFnTWpBaUlHVnVZV0pzWlMxaVlXTnJaM0p2ZFc1a1BTSnVaWGNnTUNBd0lESXdJREl3SWlCNGJXdzZjM0JoWTJVOUluQnlaWE5sY25abElqNDhjRzlzZVdkdmJpQm1hV3hzUFNJalJFUkVSRVJFSWlCd2IybHVkSE05SWpFd0xEQWdNVE11TURrc05pNDFPRE1nTWpBc055NDJNemtnTVRVc01USXVOelkwSURFMkxqRTRMREl3SURFd0xERTJMalU0TXlBekxqZ3lMREl3SURVc01USXVOelkwSURBc055NDJNemtnTmk0NU1TdzJMalU0TXlBaUx6NDhMM04yWno0PVwiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBmb250LXNpemU6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgaSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgd2lkdGg6IDIwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3BhY2l0eTogMDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIyWlhKemFXOXVQU0l4TGpFaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2VHMXNibk02ZUd4cGJtczlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1RrdmVHeHBibXNpSUhnOUlqQndlQ0lnZVQwaU1IQjRJaUIzYVdSMGFEMGlNakJ3ZUNJZ2FHVnBaMmgwUFNJeU1IQjRJaUIyYVdWM1FtOTRQU0l3SURBZ01qQWdNakFpSUdWdVlXSnNaUzFpWVdOclozSnZkVzVrUFNKdVpYY2dNQ0F3SURJd0lESXdJaUI0Yld3NmMzQmhZMlU5SW5CeVpYTmxjblpsSWo0OGNHOXNlV2R2YmlCbWFXeHNQU0lqUmtaRVJqZzRJaUJ3YjJsdWRITTlJakV3TERBZ01UTXVNRGtzTmk0MU9ETWdNakFzTnk0Mk16a2dNVFVzTVRJdU56WTBJREUyTGpFNExESXdJREV3TERFMkxqVTRNeUF6TGpneUxESXdJRFVzTVRJdU56WTBJREFzTnk0Mk16a2dOaTQ1TVN3MkxqVTRNeUFpTHo0OEwzTjJaejQ9XCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDIwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgaSB+IGkge1xuICAgIHdpZHRoOiA0MCU7XG4gIH1cblxuICBpIH4gaSB+IGkge1xuICAgIHdpZHRoOiA2MCU7XG4gIH1cblxuICBpIH4gaSB+IGkgfiBpIHtcbiAgICB3aWR0aDogODAlO1xuICB9XG5cbiAgaSB+IGkgfiBpIH4gaSB+IGkge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5zdGFyLXJhdGluZ19faW5wdXQge1xuICBpbnB1dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjpob3ZlciArIGksXG4gICAgJjpjaGVja2VkICsgaSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxufVxuXG4uc3Rhci1yYXRpbmdfX2ZpbGxlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBpIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5zdGFyX3JhdGluZ19fc2luZ2xlIHtcbiAgd2lkdGg6IDI1cHg7XG59XG5cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIDkuIFBhZ2luYXRpb25cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5wYWdpbmF0aW9uID4gLmFjdGl2ZSA+IGEsXG4ucGFnaW5hdGlvbiA+IC5hY3RpdmUgPiBhOmhvdmVyLFxuLnBhZ2luYXRpb24gPiAuYWN0aXZlID4gYTpmb2N1cyxcbi5wYWdpbmF0aW9uID4gLmFjdGl2ZSA+IHNwYW4sXG4ucGFnaW5hdGlvbiA+IC5hY3RpdmUgPiBzcGFuOmhvdmVyLFxuLnBhZ2luYXRpb24gPiAuYWN0aXZlID4gc3Bhbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1uZXV0cmFsLWxpZ2h0LTI7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yLW5ldXRyYWw7XG4gIGNvbG9yOiAkbGluay1jb2xvcjtcbn1cblxuLnBhZ2luYXRpb24gPiBsaSA+IGEsXG4ucGFnaW5hdGlvbiA+IGxpID4gYTpob3Zlcixcbi5wYWdpbmF0aW9uID4gbGkgPiBhOmZvY3VzLFxuLnBhZ2luYXRpb24gPiBsaSA+IHNwYW4ge1xuICAgIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLW5ldXRyYWw7XG59XG5cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIDEwLiBTaXRlIExhbmRpbmcgUGFnZVxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnNpdGUtbGFuZGluZ19fYmFubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDQwMHB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBjb2xvcjogZHluYW1pYy10ZXh0KCRwcmltYXJ5LWNvbG9yKTtcbn1cblxuLnNpdGUtbGFuZGluZ19fYmFubmVyLWNvbnRlbnQge1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKC01MCUsIC01MCUpKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAkc2VjdGlvbi1tYXgtd2lkdGg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnByb2R1Y3QtY2FyZHNfX2NvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBAbWVkaWEgb25seSBzY3JlZW5cbiAgYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgQGluY2x1ZGUgZGlzcGxheShmbGV4KTtcbiAgICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7XG4gICAgLy8gcmVtb3ZlcyB0aGUgYmVmb3JlIGFuZCBhZnRlciBjbGVhciBmaXhlcyBmb3IgdGhpcyByb3csIHRvIGZpeCB0aGUgZmxleGJveCBpbiBzYWZhcmkuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBub3JtYWw7XG4gICAgfVxuICB9XG59XG5cblxuLy8gU2l0ZSBMYW5kaW5nOiBNZWRpYSBRdWVyaWVzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG4gIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAuc2l0ZS1sYW5kaW5nX19iYW5uZXIge1xuICAgIGhlaWdodDogMzAwcHg7XG4gIH1cblxuICAuc2l0ZS1sYW5kaW5nX19iYW5uZXItLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuODc1ZW07IC8vMzBweFxuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICAuc2l0ZS1sYW5kaW5nX19iYW5uZXItLXN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMjUwZW07IC8vMjBweFxuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuXG4gIC5zaXRlLWxhbmRpbmdfX2Jhbm5lcntcbiAgICBoZWlnaHQ6IDI1MHB4O1xuICB9XG5cbiAgLnNpdGUtbGFuZGluZ19fYmFubmVyLS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjYyNWVtOyAvLzI2cHhcbiAgfVxuXG4gIC5zaXRlLWxhbmRpbmdfX2Jhbm5lci0tc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMC45MzhlbTsgLy8xNXB4XG4gIH1cbn1cblxuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gMTEuIFNoYXJlZCBQcm9kdWN0IExhbmRpbmcgU3R5bGVzXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4ucHJvZHVjdC1sYW5kaW5nIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgZm9udC1zaXplOiAxZW07IC8vMTZweFxuICBsaW5lLWhlaWdodDogMS44O1xuXG4gIHNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuXG4gICAgcDpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBwIGEge1xuICAgICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVGhpcyBjb250cm9scyB0aGUgdGl0bGUgdGV4dCBvbiBldmVyeSBzZWN0aW9uLlxuICAvLyBFeDogJ0NvdXJzZSBPdmVydmlldydcbiAgLy8gLS0tLS0tLS0tLS0tLS1cblxuICAuc2VjdGlvbi10aXRsZSB7XG4gICAgbWFyZ2luOiAwIDAgNDJweDtcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICBmb250LXNpemU6IDIuMjUwZW07IC8vMzZweFxuICB9XG59XG5cbi8vIFRoaXMgaXMgdGhlIGNvbnRhY3QgaW5mb3JtYXRpb24gZm9yIHRoZSBjb3Vyc2UuXG4vLyBJdCdzIG5vdCBmb3VuZCBpbiB0aGUgaW5zdHJ1Y3RvciBzZWN0aW9uLiBJdCdzIGZvdW5kIGluIHRoZVxuLy8gQ291cnNlID4gRGV0YWlscyBzZWN0aW9uIGF0IHRoZSBib3R0b20uIEl0IGNhbiBjb250YWluIHRleHQgYW5kIEhUTUxcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4uY291cnNlLWNvbnRhY3QtaW5mbyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vLyBQcm9kdWN0IExhbmRpbmc6IFByb2R1Y3QgQmFubmVyICh0aGUgZ2lhbnQgaW1hZ2UgdGhhdCBzcGFucyBhY3Jvc3MgdGhlIHRvcCBvZiB0aGUgcGFnZSlcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4ucHJvZHVjdC1iYW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC50aXRsZS1ibG9jayB7XG4gICAgd2lkdGg6IDc1JTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5wcm9kdWN0X190aXRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICBjb2xvcjogZHluYW1pYy10ZXh0KCRwcmltYXJ5LWNvbG9yKTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc2l6ZTogMi40MzhlbTsgLy8zOXB4XG4gIH1cblxuICAucHJvZHVjdF9fc3VidGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiBkeW5hbWljLXRleHQoJHByaW1hcnktY29sb3IpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxZW07IC8vMTZweFxuICB9XG5cbiAgLnByb2R1Y3RfX3ByaXZhdGUtdGl0bGUge1xuICAgIGNvbG9yOiBkeW5hbWljLXRleHQoJHByaW1hcnktY29sb3IpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgaSB7XG4gICAgICBmb250LXNpemU6IDEuMTI1ZW07IC8vMThweFxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUG9wcyBvcGVuIHRoZSB2ZW5vYm94IHdpbmRvd1xuLy8gLS0tLS0tLS0tLS0tXG5cbi5idG4taW50cm8tdmlkZW8ge1xuICBib3JkZXI6IDFweCBzb2xpZCAkdGV4dC1jb2xvci1saWdodDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuICBmb250LXNpemU6IDFlbTsgLy8xNnB4XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR0ZXh0LWNvbG9yLWxpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAuYnRuLWludHJvLXZpZGVvIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gICAgcGFkZGluZy1yaWdodDogMTJweFxuICB9XG59XG5cbi8vIENhbGwgdG8gYWN0aW9uIGJsb2Nrcy4gVGhleSBsaXN0IGluIHRoZSBwYWdlIGhlYWRlciBhbmQgaW4gYSBzZWN0aW9uXG4vLyBpbnNpZGUgdGhlIHBhZ2UgYm9keS5cbi8vIC0tLS0tLS0tLS0tLVxuXG4ucHJvZHVjdC1tYWluLWN0YSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAuYnRuIHtcbiAgICBwYWRkaW5nOiAxNXB4IDQwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDEuMjUwZW07IC8vMjBweFxuICB9XG59XG5cbi5wcm9kdWN0LWJvZHktYnV0dG9uLWJsb2NrIHtcbiAgLmJ1bmRsZS1jdGEtdGFnbGluZSB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICB9XG59XG5cbi8vIFByb2R1Y3QgTGFuZGluZzogUHJvZHVjdCBPdmVydmlld1xuLy8gLS0tLS0tLS0tLS0tXG5cbi5wcm9kdWN0LW92ZXJ2aWV3IHtcbiAgLy8gVGhpcyBjb250cm9scyB0aGUgd2lkdGggb2YgdGhlIGltYWdlcyBwZW9wbGUgcHV0IGluIHRoZSByZWRhY3RvciBib3hcbiAgLy8gb24gdGhlIGN1cnJpY3VsdW0gbGFuZGluZyBwYWdlXG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLnJlYWRtb3JlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAucmVhZG1vcmUtdG9nZ2xlIHtcbiAgICBtYXJnaW4tdG9wOiAyNnB4O1xuICB9XG59XG5cbi8vIFNob3dzIHVwIHVuZGVyIHRoZSBjb3Vyc2UgZGVzY3JpcHRpb24gYW5kIGlzIGVkaXRhYmxlIGJ5IHRoZSB1c2VyXG4uY291cnNlLWNvbnRhY3QtaW5mbyB7XG4gIG1hcmdpbjogMDtcblxuICBwIHtcbiAgICBtYXJnaW46IDEwcHggMDtcbiAgfVxufVxuXG4vLyBQcm9kdWN0IExhbmRpbmc6IENvdXJzZSBSZXZpZXdzXG4vLyAtLS0tLS0tLS0tLS1cblxuLmNvdXJzZS1yZXZpZXdfX2NvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206IDQ4cHg7XG5cbiAgJjpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLmNvdXJzZS1yZXZpZXdfX25hbWUge1xuICBtYXJnaW4tYm90dG9tOiAxOHB4O1xufVxuXG4uY291cnNlLXJldmlld19fc3RhcnMge1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xufVxuXG4uY291cnNlLXJldmlld19fdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4ucmV2aWV3LWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLyBQcm9kdWN0IExhbmRpbmc6IENoYXB0ZXIvQ3VycmljdWx1bSBzZWN0aW9uXG4vLyAtLS0tLS0tLS0tLS1cblxuLmNoYXB0ZXItaW5mbyB7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgNXB4IDVweCAwO1xuICAgIHBhZGRpbmc6IDJweCAxMHB4IDA7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLWxpZ2h0LTI7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICB9XG5cbiAgaSB7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVlbTsgLy8xOHB4XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIHNwYW4ge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAwLjY4OGVtOyAvLzExcHhcbiAgfVxufVxuXG4udG9nZ2xlLWNvbnRlbnQge1xuICBwYWRkaW5nOiA1cHggMDtcbiAgYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWwtbGlnaHQtMjtcbiAgY29sb3I6IGRhcmtlbigkY29sb3ItbmV1dHJhbC1saWdodC0yLCA1MCUpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDAuODEzZW07IC8vMTNweFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuXG4vLyBMYWJlbCB1c2VkIHRvIHNob3cgXCJGcmVlXCIgY29udGVudCBvbiB0aGUgbGFuZGluZyBwYWdlc1xuLy8gLS0tLS0tLS0tLS0tXG5cbi5sYWJlbCB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDJweCA1cHg7XG4gIG1hcmdpbjogMCA1cHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgY29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xufVxuXG4ubGFiZWwtZnJlZSB7XG4gIGJhY2tncm91bmQ6ICRzdWNjZXNzLWdyZWVuO1xuICBmbG9hdDogbm9uZTtcbn1cblxuLy8gUHJvZHVjdCBMYW5kaW5nOiBQcm9tb3Rpb25zXG4vLyBUaGlzIHNob3dzIHVwIHdoZW4gdGhlIHVzZXIgaXMgZ2l2ZW4gYSBjb3Vwb24gbGlua1xuLy8gY291cnNlLXVybC8/Y291cG9uPTEwMFxuLy8gLS0tLS0tLS0tLS0tXG5cbi5wcm9kdWN0LWxhbmRpbmcgLmNvdXJzZS1wcm9tb3Rpb24ge1xuICBwYWRkaW5nOiAwO1xuXG4gIC5jb3Vwb24ge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgZm9udC1zaXplOiAxZW07IC8vMTZweFxuICB9XG5cbiAgLnZhbGlkLWNvdXBvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN1Y2Nlc3MtZ3JlZW47XG4gICAgY29sb3I6IGxpZ2h0ZW4oJHN1Y2Nlc3MtZ3JlZW4sIDUwJSk7XG4gIH1cblxuICAuaW52YWxpZC1jb3Vwb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGVydC15ZWxsb3c7XG4gICAgY29sb3I6IGRhcmtlbigkYWxlcnQteWVsbG93LCA1MCUpO1xuICB9XG59XG5cbi8vIFByb2R1Y3QgTGFuZGluZzogTWVkaWEgUXVlcmllc1xuLy8gLS0tLS0tLS0tLS0tXG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG5cbiAgLnByb2R1Y3QtbGFuZGluZyB7XG5cbiAgICBzZWN0aW9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gICAgfVxuXG4gICAgc2VjdGlvbiBwLFxuICAgIHNlY3Rpb24gdWwge1xuICAgICAgZm9udC1zaXplOiAwLjkzOGVtOyAvLzE1cHhcbiAgICB9XG5cbiAgICAucHJvZHVjdF9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjc1MGVtICFpbXBvcnRhbnQ7IC8vMjhweFxuICAgIH1cblxuICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICBmb250LXNpemU6IDEuNzUwZW0gIWltcG9ydGFudDsgLy8yOHB4XG4gICAgfVxuXG4gICAgLnRpdGxlLWJsb2NrIHtcbiAgICAgIHdpZHRoOiA5MCU7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gIC5wcm9kdWN0LWxhbmRpbmcge1xuICAgIC5wcm9kdWN0LW1haW4tY3RhIC5idG4ge1xuICAgICAgcGFkZGluZzogMTJweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTsgLy8xOHB4XG4gICAgfVxuICB9XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIDEyLiBEZWZhdWx0IC8gSGlnaCBjb252ZXJzaW9uIGxhbmRpbmcgcGFnZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmhpZ2gtY29udmVydC1sYW5kaW5nIC5idG4taW50cm8tdmlkZW8ge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uaGlnaC1jb252ZXJ0LWxhbmRpbmcgLnByb2R1Y3QtbWFpbi1jdGEge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xufVxuXG4uaGlnaC1jb252ZXJ0LWxhbmRpbmcgLmNvdXJzZS1pbnN0cnVjdG9yIHtcbiAgbWFyZ2luLXRvcDogNDhweDtcbiAgYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWwtbGlnaHQtMjtcbiAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuXG4gIC8vIFRoaXMgY29udHJvbHMgdGhlIHdpZHRoIG9mIHRoZSBpbWFnZXMgcGVvcGxlIHB1dCBpbiB0aGUgcmVkYWN0b3IgYm94XG4gIC8vIG9uIHRoZSBjdXJyaWN1bHVtIGxhbmRpbmcgcGFnZVxuICAvLyAtLS0tLS0tLS0tLS0tLVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5pbnN0cnVjdG9yX19pbWctd3JhcCB7XG4gICAgbWFyZ2luLXRvcDogLTEyMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5pbnN0cnVjdG9yX19pbWcge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGhlaWdodDogMTYycHg7XG4gICAgd2lkdGg6IDE2MnB4O1xuICAgIGJvcmRlcjogNXB4IHNvbGlkICNmZmZmZmY7XG4gIH1cblxuICAuaW5zdHJ1Y3Rvcl9fZGV0YWlscyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzZweDtcbiAgfVxuXG4gIC5pbnN0cnVjdG9yX19uYW1lIHtcbiAgICBmb250LXNpemU6IDEuMjUwZW07IC8vMjBweFxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLmluc3RydWN0b3JfX3RpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLy8gSGlnaCBDb252ZXJzaW9uIGxhbmRpbmc6IENvdXJzZSBDdXJyaWN1bHVtXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4uaGlnaC1jb252ZXJ0LWxhbmRpbmcgLmNvdXJzZS1jdXJyaWN1bHVtIHtcbiAgYmFja2dyb3VuZDogZGFya2VuKCRjb2xvci1uZXV0cmFsLWxpZ2h0LTIsIDUlKTtcblxuICAuc2VjdGlvbi10aXRsZSB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICB9XG5cbiAgLy8gU3R5bGVzIGNoYXB0ZXIgYmxvY2sgaW4gdGhlIGN1cnJpY3VsdW0gbGlzdFxuICAuY3VycmljdWx1bS1jaGFwdGVyIHtcbiAgICBtYXJnaW46IDAgMCAxMHB4IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIENvbnRhaW5lciBmb3IgdGhlIGNoYXB0ZXIgaGVhZGVyXG4gIC5jdXJyaWN1bHVtLWNoYXB0ZXItaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhaW1wb3J0YW50O1xuXG4gICAgLmNoYXB0ZXItdGltZSB7XG4gICAgICBjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuY2hhcHRlci1oZWFkZXIge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiBkeW5hbWljLXRleHQoJHByaW1hcnktY29sb3IpO1xuICB9XG5cbiAgLmNoYXB0ZXItbGlzdC1pdGVtX19saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWwtbGlnaHQtMjtcbiAgICB9XG4gIH1cblxuICAuY2hhcHRlci1saXN0LWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiA1cHggNDVweCA1cHggMTVweDtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG5cbiAgICBpIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgcmlnaHQ6IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuMjUwZW07IC8vMjBweFxuICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoaXMgaXMgdGhlIGJ1dHRvbiB0aGF0IG9wZW4gdXAgdGhlIGNoYXB0ZXIgY29udGVudHMgbGlzdFxuICAuY2hhcHRlci10b2dnbGUge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIH1cblxuICAuY291cnNlLW1haW4tY3RhIHtcbiAgICBwYWRkaW5nLXRvcDogMzZweDtcbiAgfVxufVxuXG4vLyBIaWdoIENvbnZlcnNpb24gbGFuZGluZzogTWVkaWEgUXVlcmllc1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG5cbiAgLmhpZ2gtY29udmVydC1sYW5kaW5nIHtcblxuICAgIC5jb3Vyc2UtaW5zdHJ1Y3RvciB7XG4gICAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgIH1cblxuICAgIC5pbnN0cnVjdG9yX19pbWctd3JhcCB7XG4gICAgICBtYXJnaW4tdG9wOiAtODBweDtcbiAgICB9XG5cbiAgICAuaW5zdHJ1Y3Rvcl9faW1nIHtcbiAgICAgIGhlaWdodDogMTA4cHg7XG4gICAgICB3aWR0aDogMTA4cHg7XG4gICAgfVxuXG4gICAgLmN1cnJpY3VsdW0tY2hhcHRlci1oZWFkZXIge1xuICAgICAgcGFkZGluZzogNXB4IDE1cHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudG9nZ2xlLWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jb3Vyc2UtY3VycmljdWx1bSAgLmNoYXB0ZXItdGltZSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAxMy4gQ3VycmljdWx1bSBMYW5kaW5nIHBhZ2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5jdXJyaWN1bHVtLWxhbmRpbmcge1xuICAuY291cnNlLWFjdGlvbnMge1xuICAgIHBhZGRpbmc6IDI1cHggMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLW5ldXRyYWw7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWwtbGlnaHQtMjtcbiAgfVxuXG4gIC5zZWN0aW9uLXRpdGxlIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gIH1cblxuICAuYnRuLWludHJvLXZpZGVvIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICB9XG5cbiAgLy8gTWFrZXMgdGhlIHR3byBjb2x1bW5zIGxvb2sgbGlrZSB0aGV5IG1hdGNoXG4gIC8vIC0tLS0tLS0tLS0tLS0tLVxuXG4gIC5jb3Vyc2UtYm9keSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnNpZGViYXItZmlsbGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRjb2xvci1uZXV0cmFsO1xuICB9XG5cbiAgLy8gQ3VycmljdWx1bSBMYW5kaW5nOiBDb3Vyc2UgSW5jbHVkZXMgTGlzdFxuICAvLyBTaG93cyB0aGUgbGl0dGxlIDEgdmlkZW8sIDEgdGV4dCwgYW5kIGNvdXJzZSB0aW1lIGVsZW1lbnRzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLVxuXG4gIC5jb3Vyc2UtaW5jbHVkZXMge1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG5cbiAgICB1bCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgICAgIHBhZGRpbmc6IDVweCA2cHggM3B4IDRweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1uZXV0cmFsO1xuICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgICAgZm9udC1zaXplOiAwLjgxM2VtOyAvLzEzcHhcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIGkge1xuICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTsgLy8xOHB4XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLy8gQ3VycmljdWx1bSBMYW5kaW5nOiBDb3Vyc2UgQ3VycmljdWx1bVxuICAvLyAtLS0tLS0tLS0tLS0tLS1cblxuICAuY291cnNlLWN1cnJpY3VsdW0ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIH1cblxuICAuY3VycmljdWx1bS1jaGFwdGVyICsgLmN1cnJpY3VsdW0tY2hhcHRlciB7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbiAgfVxuXG4gIC5jaGFwdGVyLXRvZ2dsZSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItbmV1dHJhbDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICB9XG5cbiAgLy8gQ29udGFpbmVyIGZvciB0aGUgY2hhcHRlciBoZWFkZXJcbiAgLmN1cnJpY3VsdW0tY2hhcHRlci1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDEwcHggMTVweCAhaW1wb3J0YW50O1xuXG4gICAgLmNoYXB0ZXItdGltZSB7XG4gICAgICBjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuY2hhcHRlci1oZWFkZXIge1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgLmNoYXB0ZXItbGlzdCB7XG4gICAgcGFkZGluZzogNXB4IDA7XG4gIH1cblxuICAuY2hhcHRlci1saXN0LWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiA1cHggNDVweCA1cHggMTVweDtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgZm9udC1zaXplOiAwLjg3NWVtOyAvLzE0cHhcblxuICAgIGkge1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogMjVweDtcbiAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNTBlbTsgLy8yMHB4XG4gICAgfVxuICB9XG5cbiAgLmNoYXB0ZXItdGltZSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG4gICAgZm9udC1zaXplOiAwLjg3NWVtOyAvLzE0cHhcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAvLyBDdXJyaWN1bHVtIExhbmRpbmc6IENvdXJzZSBEZXRhaWxzIFNpZGViYXJcbiAgLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiAgLmNvdXJzZS1kZXRhaWxzIHtcbiAgICBwYWRkaW5nOiAwIDAgNDBweCAxOHB4O1xuXG4gICAgLnByb2R1Y3Qtb3ZlcnZpZXcsXG4gICAgLmNvdXJzZS1pbnN0cnVjdG9yIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQ4cHg7XG4gICAgfVxuXG4gICAgLy8gVGhpcyBnZXRzIEdvb2dsZSB0byBmYWxsIGludG8gcGxhY2VcbiAgICAuc29jaWFsLWljb25zIHtcbiAgICAgIGZvbnQtc2l6ZTogMXB4O1xuXG4gICAgICAvLyBUaGlzIGdldHMgRmFjZWJvb2sgdG8gZmFsbCBpbnRvIHBsYWNlXG4gICAgICBpZnJhbWUge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldCBhbiBvcHRpb25hbCB3aWR0aCBmb3IgeW91ciBidXR0b24gd3JhcHBlcnNcbiAgICAuc2hhcmUtYnRuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiA3NXB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAubGVzcyB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgaGVpZ2h0OiAyNzBweDtcbiAgICB9XG4gIH1cblxuICAuY291cnNlLWRldGFpbHNfX3NlY3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDQ4cHg7XG4gIH1cblxuICAuaW5zdHJ1Y3Rvcl9fZGV0YWlscyB7XG4gICAgQGluY2x1ZGUgZGlzcGxheShmbGV4KTtcbiAgICBAaW5jbHVkZSBhbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG5cbiAgLmluc3RydWN0b3JfX2ltZyB7XG4gICAgd2lkdGg6IDcwcHg7XG4gICAgaGVpZ2h0OiA3MHB4O1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItbmV1dHJhbDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIH1cblxuICAvLyBDdXJyaWN1bHVtIExhbmRpbmc6IE11bHRpLXByb2R1Y3RzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLVxuXG4gIC5tdWx0aS1wcm9kdWN0X19kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgIC5wcmljZSB7XG4gICAgICBmb250LXNpemU6IDFlbTsgLy8xNnB4XG4gICAgfVxuXG4gICAgLnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVlbTsgLy8xNHB4XG4gICAgfVxuICB9XG5cbiAgLy8gQ3VycmljdWx1bSBMYW5kaW5nOiBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLVxuXG4gIEBtZWRpYSBvbmx5IHNjcmVlblxuICBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIHtcbiAgICAuY291cnNlLWJvZHkge1xuICAgICAgLmNvdXJzZS1jdXJyaWN1bHVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY291cnNlLWN1cnJpY3VsdW0ge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbiAgICAuY291cnNlLWRldGFpbHMge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuc2lkZWJhci1maWxsZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgb25seSBzY3JlZW5cbiAgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gICAgLmNoYXB0ZXItdGltZSB7XG4gICAgICBmbG9hdDogbm9uZTtcblxuICAgICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgb25seSBzY3JlZW5cbiAgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgLmNvdXJzZS1pbmNsdWRlcyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgIH1cblxuICAgIC5jb3Vyc2UtYWN0aW9ucyB7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAxNC4gQnVuZGxlIExhbmRpbmcgUGFnZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQnVuZGxlIGNvbnRlbnQgaXMgdGhlIGxpc3Qgb2YgUHJvZHVjdHMgdGhhdCBtYWtlcyB1cCB0aGUgYnVuZGxlLlxuLy8gV2UgZGlkbid0IHVzZSBub3JtYWwgY291cnNlIGNhcmRzIGJlY2F1c2Ugc29tZW9uZSBtaWdodCBoYXZlIG1vcmUgdGhhbiA1MCtcbi8vIGNvdXJzZXMgd2hpY2ggbWFrZXMgZm9yIGEgdmVyeSBsb25nIHBhZ2UuXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4uYnVuZGxlLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbC1saWdodC0yO1xuXG4gIC5zZWN0aW9uLXRpdGxlIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gIH1cbn1cblxuLy8gYSBzaW5nbGUgbGluZSB0aGF0IHNpdHMgdW5kZXIgdGhlIGJ1dHRvbi4gS2luZCBvZiBhIGxpdHRsZSBleHRyYSB1cHNlbGxcbi5idW5kbGUtY3RhLXRhZ2xpbmUge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBjb2xvcjogZHluYW1pYy10ZXh0KCRwcmltYXJ5LWNvbG9yKTtcbn1cblxuLmJ1bmRsZS1jb250ZW50X19pdGVtIHtcbiAgQGluY2x1ZGUgY2FyZDtcbiAgcGFkZGluZzogMTBweDtcblxuICAucm93IHtcbiAgICBAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuICAgIEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG4gIH1cbn1cblxuLmJ1bmRsZS1jb250ZW50X19pdGVtLWltZyB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYnVuZGxlLWNvbnRlbnRfX2l0ZW0tdGl0bGUge1xuICBmb250LXNpemU6IDEuMTI1ZW07IC8vMThweFxufVxuXG4uYnVuZGxlLWNvbnRlbnRfX2l0ZW0gKyAuYnVuZGxlLWNvbnRlbnRfX2l0ZW0sXG4uYnVuZGxlLWNvbnRlbnRfX2l0ZW0gKyAuYnVuZGxlLWNvdXJzZS0taGlkZGVuLFxuLmJ1bmRsZS1jb3Vyc2UtLWhpZGRlbiArIC5idW5kbGUtY291cnNlLS1oaWRkZW4ge1xuICBtYXJnaW4tdG9wOiAxMnB4O1xufVxuXG4uYnVuZGxlLXNlZS1tb3JlLWNvbnRlbnQge1xuICBwYWRkaW5nLXRvcDogMzJweDtcbn1cblxuXG4vLyBCdW5kbGUgTGFuZGluZyBQYWdlOiBNZWRpYSBRdWVyaWVzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuXG4gIC5idW5kbGUtY29udGVudF9faXRlbS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxZW07IC8vMTZweDtcbiAgfVxufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAxNS4gTXVsdGkgUHJvZHVjdHNcbi8vIElmIGFuIGFkbWluIHNlbGxzIG11bHRpcGxlIHByb2R1Y3RzIG9uIGEgc2luZ2xlIGxhbmRpbmcgcGFnZSB5b3Ugd2lsbCBnZXRcbi8vIHRoaXMgc2VjdGlvblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4ubXVsdGktcHJvZHVjdHMsXG4uY291cnNlLW11bHRpLXByb2R1Y3RzIHtcblxuICAubXVsdGktcHJvZHVjdF9faXRlbSB7XG4gICAgQGluY2x1ZGUgZGlzcGxheShmbGV4KTtcbiAgICBtYXJnaW46IDAgMCA2cHggMDtcbiAgfVxuXG4gIC5tdWx0aS1wcm9kdWN0X19idXkge1xuICAgIEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC5tdWx0aS1wcm9kdWN0X19jdGEge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgQGluY2x1ZGUgZGlzcGxheShmbGV4KTtcbiAgICBAaW5jbHVkZSBhbGlnbi1pdGVtcyAoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQgKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICBmb250LXNpemU6IDFlbTsgLy8xNnB4XG4gIH1cblxuICAubXVsdGktcHJvZHVjdF9fZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmc6IDEwcHggMThweDtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbC1saWdodC0yO1xuXG4gICAgLnByaWNlIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNdWx0aSBQcm9kdWN0czogTWVkaWEgUXVlcmllc1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcblxuICAubXVsdGktcHJvZHVjdHMsXG4gIC5jb3Vyc2UtbXVsdGktcHJvZHVjdHMge1xuXG4gICAgLm11bHRpLXByb2R1Y3RfX2l0ZW0ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgIH1cblxuICAgIC5tdWx0aS1wcm9kdWN0X19jdGEge1xuICAgICAgcGFkZGluZzogM3B4O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAxNy4gU2lnbiB1cCAvIFNpZ24gaW5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi51c2VyLXNpZ24tdXAge1xuXG4gIC5zZWN0aW9uLXRpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuXG4gIC5zaWduX3VwX19vcixcbiAgLnNpZ25faW5fX29yIHtcbiAgICBtYXJnaW46IDE1cHggYXV0bztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAuaGVscC1ibG9jayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5oYXMtZXJyb3IgLmhlbHAtYmxvY2sge1xuICAgIGZvbnQtc2l6ZTogMC43NTBlbTsgLy8xMnB4XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuY2hlY2tib3gge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5yZW1lbWJlci1tZS1saW5rIHtcbiAgICBsaW5lLWhlaWdodDogMjFweDtcbiAgfVxuXG4gIC5idG4tcHJpbWFyeSB7XG4gICAgZm9udC1zaXplOiAxZW07IC8vMTZweFxuICAgIHBhZGRpbmc6IDhweCAwO1xuICB9XG59XG5cbi8vIExpbmtlZGluIGJ1dHRvbiBhbmQgYW55IG90aGVyIHNvY2lhbC9sb2dpbiBidXR0b25zXG4udXNlci1zaWduLXVwX19hbHQtbG9naW5zIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIC5idG4gKyAuYnRuIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgfVxufVxuXG4udXNlci1zaWduLXVwX19ib3R0b20ge1xuICBwYWRkaW5nOiAzMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgYSB7XG4gICAgZm9udC1zaXplOiAwLjkzOGVtOyAvLzE1cHhcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIFNpZ24gaW4vU2lnbiB1cDogTWVkaWEgUXVlcmllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcblxuICAudXNlci1zaWduLXVwIHtcbiAgICAucmVtZW1iZXItbWUtbGluayxcbiAgICAuZm9yZ290LXBhc3N3b3JkIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVlbTsgLy8xNHB4XG4gICAgfVxuICB9XG59XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcblxuICAudXNlci1zaWduLXVwX19hbHQtbG9naW5zIHtcbiAgICAuYnRuICsgLmJ0biB7XG4gICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIDE4LiBBbGwgQ291cnNlcy9TdHVkZW50IERhc2hib2FyZFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnByb2R1Y3RzX19maWx0ZXJzIHtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDtcblxuICBzZWxlY3Qge1xuICAgIEBpbmNsdWRlIGFwcGVhcmFuY2UobWVudWxpc3QpO1xuICB9XG5cbiAgW3R5cGU9XCJzZWFyY2hcIl17XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLy8gU3R1ZGVudCBEYXNoYm9hcmQgKGVucm9sbG1lbnRzKVxuLy8gLS0tLS0tLS0tLS0tLVxuXG4uc3R1ZGVudC1kYXNoYm9hcmRfX2hlcm8ge1xuICBwYWRkaW5nOiA0MHB4IDMwcHg7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItbmV1dHJhbC1saWdodC0xO1xufVxuXG4uc3R1ZGVudC1kYXNoYm9hcmRfX3RpdGxlIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgZm9udC1zaXplOiAxLjg3NWVtOyAvLzMwcHhcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbn1cblxuLy8gQWxsIENvdXJzZXMvU3R1ZGVudCBEYXNoYm9hcmQ6IE1lZGlhIFF1ZXJpZXNcbi8vIC0tLS0tLS0tLS0tLS1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcblxuICAucHJvZHVjdHNfX2ZpbHRlci1ib3gge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cblxuICAuc3R1ZGVudC1kYXNoYm9hcmRfX2hlcm8ge1xuICAgIHBhZGRpbmc6IDIwcHggMTVweDtcbiAgfVxuXG4gIC5zdHVkZW50LWRhc2hib2FyZF9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS42MjVlbTsgLy8yNnB4XG4gIH1cbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIDE5LiBDaGVja291dFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmNoZWNrb3V0LWZvcm0tY29udGFpbmVyX19pbm5lciB7XG4gIEBpbmNsdWRlIGNhcmQ7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG5cbi5jaGVja291dC1mb3JtX19ib2R5IHtcbiAgLnNlY3Rpb24tdGl0bGUge1xuICAgIG1hcmdpbjogMCAwIDI1cHggMDtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICBmb250LXNpemU6IDEuMjUwZW07IC8vMjBweFxuICB9XG59XG5cbi5jaGVja291dC1mb3JtX19ib3R0b20ge1xuICBwYWRkaW5nLXRvcDogMjVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGEge1xuICAgIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgfVxufVxuXG4uY2hlY2tvdXQtZm9ybV9fcHVyY2hhc2Uge1xuICBwYWRkaW5nOiAwIDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNoZWNrb3V0LWZvcm1fX3B1cmNoYXNlLWltZyB7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgbWF4LXdpZHRoOiAxODBweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4uY2hlY2tvdXQtZm9ybV9fcHVyY2hhc2UtZGVzY3JpcHRpb24ge1xuICBtYXgtd2lkdGg6IDkwJTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGZvbnQtc2l6ZTogMS4wNjNlbTsgLy8xN3B4XG59XG5cbi8vIFRoZSBzZWN1cmUgY2hlY2tvdXQgaW1hZ2VzIG9uIHRoZSBib3R0b20gbGVmdFxuLm9yZGVyLXNlY3VyaXR5IHtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5jb3Vwb24tZm9ybV9fY291cG9uLWNvZGUge1xuICBbdHlwZT1cInRleHRcIl17XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLy8gRW5zdXJlIHRoYW5reW91IHBhZ2UgdHJhY2tpbmcgcGl4ZWwgaXMgbm90IHZpc2libGVcbmltZ1tzcmMqPVwiZ29vZ2xlYWRzZXJ2aWNlcy5jb21cIl0ge1xuICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgdG9wOiAtMnB4O1xuICBsZWZ0OiAtMnB4O1xufVxuXG4vLyBDaGVja291dDogUHJvZ3Jlc3MgYmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiNwcm9ncmVzc2JhciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46IDAgYXV0byAyNXB4O1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogNzAlO1xuICBjb3VudGVyLXJlc2V0OiBzdGVwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4jcHJvZ3Jlc3NiYXIgbGkge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDAuNjg4ZW07IC8vMTFweFxuICB3aWR0aDogNTAlO1xuICBmbG9hdDogbGVmdDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuXG4gICY6YmVmb3JlIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgY29udGVudDogY291bnRlcihzdGVwKTtcbiAgICBjb3VudGVyLWluY3JlbWVudDogc3RlcDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjgxM2VtOyAvLzEzcHhcbiAgICBjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG4gICAgYmFja2dyb3VuZDogI2RhZGFkYTtcbiAgICBtYXJnaW46IDAgYXV0byA1cHggYXV0bztcbiAgICB6LWluZGV4OiAyO1xuICB9XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZDogI2RhZGFkYTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogY2FsYyggLTUwJSArIDEwcHgpO1xuICAgIHRvcDogOXB4O1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZDphZnRlciB7XG4gICAgY29udGVudDogbm9uZTtcbiAgfVxuXG4gICYuYWN0aXZlOmJlZm9yZSxcbiAgJi5hY3RpdmU6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICB9XG59XG5cblxuLy8gQ2hlY2tvdXQ6IENvbmZpcm0gT3JkZXJcbi8vIC0tLS0tLS0tLS0tLS1cblxuLy8gTGlzdCBvZiBwcm9kdXRzIGJlaW5nIGJvdWdodCBhbmQgdGhlaXIgdG90YWwgcHJpY2Vcbi5vcmRlci1wcm9kdWN0X19saXN0IHtcbiAgZm9udC1zaXplOiAxLjEyNWVtOyAvLzE4cHhcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLm9yZGVyLXByb2R1Y3RfX3RvdGFsLWFtb3VudCxcbi5vcmRlci1wcm9kdWN0X19jb3Vwb24tbmFtZSB7XG4gIHBhZGRpbmctdG9wOiAxMnB4O1xufVxuXG4ub3JkZXItcHJvZHVjdF9fY291cG9uIHtcblxuICAuY291cG9uLWNoZWNrIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZvbnQtc2l6ZTogMWVtOyAvLzE2cHhcbiAgfVxuXG4gIC5jb3Vwb24ge1xuICAgIHBhZGRpbmc6IDEwcHggMCAyMHB4O1xuICB9XG59XG5cbi8vIENoZWNrb3V0OiBQYXltZW50IEluZm9cbi8vIC0tLS0tLS0tLS0tLS1cblxuLmNoZWNrb3V0LWF1dGgtY29udGFpbmVyIHtcblxuICAuY3JlZGl0LWNhcmQge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuXG4gICAgLmJ0biB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5jcmVkaXQtY2FyZF9fZXhwaXJ5LWRhdGUge1xuICAgIC5leHBpcmF0aW9uLWRhdGUge1xuICAgICAgcGFkZGluZy10b3A6IDExcHg7XG4gICAgfVxuICB9XG5cbiAgLnBheXBhbC1idXR0b24tcm93IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAucGF5cGFsLWJ1dHRvbi1yb3dfX3RleHQge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBtYXJnaW46IDVweCAwO1xuICB9XG59XG5cblxuLy8gQ2hlY2tvdXQ6IFRoYW5rIHlvdVxuLy8gLS0tLS0tLS0tLS0tLVxuXG4uY2hlY2tvdXQtdGhhbmt5b3UgLm11bHRpLXByb2R1Y3RzIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG59XG5cbi5jaGVja291dC10aGFua3lvdV9fY291cnNlIHtcbiAgcGFkZGluZzogNXB4IDA7XG5cbiAgJiArICYge1xuICAgIG1hcmdpbi10b3A6IDhweDtcbiAgfVxuXG4gICY6bnRoLW9mLXR5cGUoZXZlbil7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWwtbGlnaHQtMjtcbiAgfVxufVxuXG4uY2hlY2tvdXQtdGhhbmt5b3VfX2NvdXJzZS1uYW1lIHtcbiAgZm9udC1zaXplOiAxLjEyNWVtOyAvLzE4cHhcbiAgbGluZS1oZWlnaHQ6IDEuODtcbn1cblxuLmNoZWNrb3V0LWJ1bmRsZV9fbW9yZV9lbnJvbGxtZW50c19saW1pdCB7XG4gIG1hcmdpbjogMTBweDtcbn1cblxuXG4vLyBDaGVja291dDogVGhhbmsgeW91XG4vLyAtLS0tLS0tLS0tLS0tXG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gIC5jaGVja291dC10aGFua3lvdV9fY291cnNlLW5hbWUsXG4gIC5jaGVja291dC10aGFua3lvdV9fYnV0dG9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAuY2hlY2tvdXQtdGhhbmt5b3VfX2NvdXJzZSB7XG4gICAgcGFkZGluZzogMTBweDtcblxuICAgICY6bnRoLW9mLXR5cGUoZXZlbil7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIENoZWNrb3V0OiBFcnJvcnNcbi8vIC0tLS0tLS0tLS0tLS1cblxuLmNoZWNrb3V0LWF1dGgtY29udGFpbmVyIHtcbiAgI2xvY2FsLXBheW1lbnQtZXJyb3JzLFxuICAjY291cG9uLWVycm9ycyxcbiAgLnBheW1lbnQtZXJyb3JzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGNvbG9yOiByZWQ7XG4gIH1cblxuICAvLyBFcnJvcnMgZm9yIGJhZCBjcmVkaXQgY2FyZCBudW1iZXIsIG9yIGludmFsaWQgZXhwaXJhdGlvblxuICAjbG9jYWwtcGF5bWVudC1lcnJvcnMge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cblxuICAjY291cG9uLWVycm9ycyB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgZm9udC1zaXplOiAwLjc1MGVtOyAvLzEycHhcbiAgfVxufVxuXG4uY2hlY2tvdXQtZm9ybSB7XG4gICNlcnJvcnMge1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zaXplOiAwLjg3NWVtOyAvLzE0cHhcbiAgICBiYWNrZ3JvdW5kOiAjZmZkNGNjO1xuICAgIGNvbG9yOiAjZTc1NzI1O1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBsaW5lLWhlaWdodDogMTQ1JTtcbiAgfVxuXG4gIC5hbGVydC1lcnJvciB7XG4gICAgZm9udC1zaXplOiAwLjc1MGVtOyAvLzEycHhcbiAgICBjb2xvcjogI2U3NTcyNTtcbiAgfVxuXG4gIC5lcnJvci10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICB9XG5cbiAgLmFsZXJ0LWVycm9yIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG5cbiAgLmFsZXJ0LWhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuaGFzLWVycm9yIC5mb3JtLWNvbnRyb2wge1xuICAgIGJvcmRlci1jb2xvcjogI2U3NTcyNTtcbiAgfVxufVxuXG4uY2hlY2tvdXQtZm9ybSAjZXJyb3JzIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuXG4vLyBDaGVja291dDogTWVkaWEgUXVlcmllc1xuLy8gLS0tLS0tLS0tLS0tLVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAuY291cG9uLWZvcm1fX2NvdXBvbi1idXR0b24gLmJ0biB7XG4gICAgcGFkZGluZzogMTBweCAxNXB4O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gIC5jcmVkaXQtY2FyZF9fZXhwaXJ5LWRhdGUge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAuZXhwaXJhdGlvbi1kYXRlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5jaGVja291dC1mb3JtLWNvbnRhaW5lciB7XG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICB9XG5cbiAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuMTI1ZW07IC8vMThweFxuICAgIH1cbiAgfVxuXG4gIC5jaGVja291dC1mb3JtLWNvbnRhaW5lcl9faW5uZXIge1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gIH1cblxuICAuY291cG9uLWZvcm1fX2NvdXBvbi1jb2RlLFxuICAuY291cG9uLWZvcm1fX2FwcGxpZWQge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cblxuICAuY291cG9uLWZvcm1fX2NvdXBvbi1idXR0b24ge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgLmJ0biB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgfVxuICB9XG5cbiAgI3Byb2dyZXNzYmFyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuXG4gICAgbGk6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEwcHg7XG4gICAgICBjb250ZW50OiBcIlxcMDBhMFwiO1xuICAgIH1cblxuICAgIGxpOmFmdGVyIHtcbiAgICAgIGxlZnQ6IGNhbGMoIC01MCUgKyA1cHgpO1xuICAgICAgdG9wOiA1cHg7XG4gICAgfVxuICB9XG5cbiAgLmNoZWNrb3V0LWZvcm1fX3B1cmNoYXNlLWltZyB7XG4gICAgbWF4LXdpZHRoOiAxMjBweDtcbiAgfVxuXG4gIC5jaGVja291dC1mb3JtX19wdXJjaGFzZS1kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiAwLjg3NWVtOyAvLzE0cHhcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAub3JkZXItcHJvZHVjdF9fbGlzdCB7XG4gICAgZm9udC1zaXplOiAwLjg3NWVtOyAvLzE0cHhcbiAgfVxuXG4gIC5vcmRlci1wcm9kdWN0X19jb3Vwb24gLmNvdXBvbi1jaGVjayB7XG4gICAgZm9udC1zaXplOiAwLjg3NWVtOyAvLzE0cHhcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICAyMC4gQ291cnNlIExhbmRpbmcgUGFnZSAtIFZpZGVvIENlbnRyaWNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi52aWRlby1sYW5kaW5nIHtcblxuICAucHJvZHVjdC1iYW5uZXIge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiAxMDBweCAwIDI0MHB4O1xuICB9XG5cbiAgLnByb2R1Y3RfX3RpdGxlIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIC50aXRsZS1ibG9jayB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxuXG4gIC5lbWJlZC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICAgIGhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5lbWJlZC1jb250YWluZXIgaWZyYW1lLFxuICAuZW1iZWQtY29udGFpbmVyIG9iamVjdCxcbiAgLmVtYmVkLWNvbnRhaW5lciBlbWJlZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5jb3Vyc2UtZGVzY3JpcHRpb24ge1xuICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuY291cnNlLXZpZGVvIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIG1hcmdpbjogLTIwMHB4IGF1dG8gNjBweDtcbiAgICBib3gtc2hhZG93OiA1cHggNXB4IDI5cHggLTZweCByZ2JhKDAsMCwwLDAuMzkpO1xuICB9XG5cbiAgLmNvdXJzZS1pbnN0cnVjdG9yIHtcbiAgICBtYXJnaW4tdG9wOiA0OHB4O1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLWxpZ2h0LTI7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuXG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaW5zdHJ1Y3Rvcl9faW1nLXdyYXAge1xuICAgIG1hcmdpbi10b3A6IC0xNTRweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAuaW5zdHJ1Y3Rvcl9fZGV0YWlscyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzZweDtcbiAgfVxuXG4gIC5pbnN0cnVjdG9yX19uYW1lIHtcbiAgICBmb250LXNpemU6IDEuNjI1ZW07IC8vMjZweFxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5pbnN0cnVjdG9yX190aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLmluc3RydWN0b3JfX2ltZyB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgaGVpZ2h0OiAxNzBweDtcbiAgICB3aWR0aDogMTcwcHg7XG4gICAgYm94LXNoYWRvdzogNXB4IDVweCAyOXB4IC02cHggcmdiYSgwLDAsMCwwLjIpO1xuICB9XG5cbiAgLmN1cnJpY3VsdW0tY2hhcHRlciArIC5jdXJyaWN1bHVtLWNoYXB0ZXIge1xuICAgIG1hcmdpbi10b3A6IDQ1cHg7XG4gIH1cblxuICAuY2hhcHRlci1uYW1lIHtcbiAgICBmb250LXNpemU6IDEuNjI1ZW07IC8vMjZweFxuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuXG4gIC5jaGFwdGVyLXRpbWUge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cblxuICAuY2hhcHRlci1saXN0IHtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRjb2xvci1uZXV0cmFsLWxpZ2h0LTE7XG4gIH1cblxuICAuY2hhcHRlci1saXN0LWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiA0cHggMzBweCA0cHggMTVweDtcblxuICAgIGkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLmNvdXJzZS1yZWxhdGVkLXByb2R1Y3RzIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbC1saWdodC0xO1xuICB9XG5cbiAgLm11bHRpLXByb2R1Y3RfX2l0ZW0ge1xuICAgIEBpbmNsdWRlIGNhcmQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC5wcmljZSB7XG4gICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgfVxuXG4gIC5tdWx0aS1wcm9kdWN0X19kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxufVxuXG5cbi8vIFZpZGVvIExhbmRpbmcgUGFnZTogTWVkaWEgUXVlcmllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIHtcbiAgLnZpZGVvLWxhbmRpbmcge1xuXG4gICAgLnByb2R1Y3QtYmFubmVyIHtcbiAgICAgIHBhZGRpbmc6IDUwcHggMCAyMDBweDtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgLnZpZGVvLWxhbmRpbmcge1xuXG4gICAgLnByb2R1Y3QtYmFubmVyIHtcbiAgICAgIHBhZGRpbmc6IDMwcHggMCAxNTBweDtcbiAgICB9XG5cbiAgICAuY291cnNlLXZpZGVvIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXJnaW46IC0xNTBweCBhdXRvIDQwcHg7XG4gICAgfVxuXG4gICAgLmN1cnJpY3VsdW0tY2hhcHRlciArIC5jdXJyaWN1bHVtLWNoYXB0ZXIge1xuICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGxpZ2h0ZW4oJHRleHQtY29sb3IsIDU1JSk7XG4gICAgfVxuXG4gICAgLmNoYXB0ZXItbmFtZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNTBlbTsgLy8yMHB4XG4gICAgfVxuXG4gICAgLmNoYXB0ZXItbGlzdCB7XG4gICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICB9XG5cbiAgICAuY2hhcHRlci1saXN0LWl0ZW0ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5wcm9kdWN0X190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgIC5pbnN0cnVjdG9yX19pbWctd3JhcCB7XG4gICAgICBtYXJnaW4tdG9wOiAtMTAwcHg7XG4gICAgfVxuXG4gICAgLmluc3RydWN0b3JfX2ltZyB7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBoZWlnaHQ6IDEzMHB4O1xuICAgICAgd2lkdGg6IDEzMHB4O1xuICAgICAgYm94LXNoYWRvdzogNXB4IDVweCAyOXB4IC02cHggcmdiYSgwLDAsMCwwLjIpO1xuICAgIH1cblxuICAgIC5pbnN0cnVjdG9yX19kZXRhaWxzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gIC52aWRlby1sYW5kaW5nIHtcblxuICAgIC5wcm9kdWN0LWJhbm5lciB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDAgNjBweDtcbiAgICB9XG5cbiAgICAuY291cnNlLXZpZGVvIHtcbiAgICAgIHdpZHRoOiA3MCU7XG4gICAgICBtYXJnaW46IC01NXB4IGF1dG8gMzBweDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gMjEuIFN0dWRlbnQvQWZmaWxpYXRlIGVkaXQgYWNjb3VudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnN0dWRlbnQtcHJvZmlsZSB7XG5cbiAgLy8gVXBsb2FkIHN0dWRlbnQgaW5zdHJ1Y3RvciBpbWFnZVxuICAuYnRuLXVwbG9hZCB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuYWNjb3VudC1jb250ZW50LXByb2ZpbGUtaW1nIHtcbiAgICBtYXJnaW46IDIwcHggMCA0MHB4O1xuXG4gICAgaW1nIHtcbiAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgfVxuICB9XG5cbiAgI2ZlZWRiYWNrLWFyZWEge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgfVxuXG4gICNlcnJvcl9leHBsYW5hdGlvbiB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZDRjYztcbiAgICBjb2xvcjogI2U3NTcyNTtcbiAgICBwYWRkaW5nOiAxMnB4IDMwcHg7XG4gICAgbWFyZ2luOiAwIDAgMzBweCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgY29sb3I6ICNlNzU3MjU7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gU3R1ZGVudCBlZGl0IGFjY291bnQ6IENvbnRlbnRcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbi5hY2NvdW50LWNvbnRlbnQsXG4uYWZmaWxpYXRlLWNvbnRlbnQge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgQGluY2x1ZGUgY2FyZDtcbiAgcGFkZGluZzogMjBweDtcblxuICAuYWNjb3VudC1jb250ZW50LWZvb3RlcixcbiAgLmFmZmlsaWF0ZS1jb250ZW50LWZvb3RlciB7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7XG4gIH1cbn1cblxuLmFjY291bnQtY29udGVudF9fYmFjay1saW5rIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5cbi8vIFN0dWRlbnQgZWRpdCBhY2NvdW50OiBBY2NvdW50IE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbi5hY2NvdW50LW1lbnUsXG4uYWZmaWxpYXRlLW1lbnUge1xuICBAaW5jbHVkZSBjYXJkO1xuXG4gIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICBhLmxpc3QtZ3JvdXAtaXRlbTpob3ZlcixcbiAgYS5saXN0LWdyb3VwLWl0ZW06Zm9jdXMge1xuICAgIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbC1saWdodC0yO1xuICB9XG5cbiAgYS5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlLFxuICBhLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6aG92ZXIsXG4gIGEubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpmb2N1cyB7XG4gICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLWxpZ2h0LTI7XG4gICAgYm9yZGVyLWNvbG9yOiBub25lO1xuICB9XG5cbiAgLmJhZGdlIHtcbiAgICBiYWNrZ3JvdW5kOiAkbGluay1jb2xvcjtcbiAgICBjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG4gIH1cblxuICBhLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUgPiAuYmFkZ2UsXG4gIC5uYXYtcGlsbHMgPiAuYWN0aXZlID4gYSA+IC5iYWRnZSB7XG4gICAgYmFja2dyb3VuZDogJGxpbmstY29sb3I7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgMjIuIEZvcmdvdCBQYXNzd29yZFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnJlc2V0LXBhc3N3b3JkLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNhcmQ7XG4gIHBhZGRpbmc6IDIwcHg7XG5cbiAgLnJlc2V0LXBhc3N3b3JkX190aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIDIzLiBTaW5nbGUgVGFzayBWaWV3XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uc2luZ2xlLXRhc2stdmlldyB7XG4gIGJhY2tncm91bmQ6ICNmNGY1ZjcgaW1hZ2UtdXJsKFwiZGVmYXVsdHMvYmctc2hhcGVzLWdyZXkucG5nXCIpIHRvcCBsZWZ0O1xuICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gIC5jb250YWluZXIge1xuICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgLnRoaW5raWZpYy1sb2dvIHtcbiAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuICB9XG5cbiAgLnNpbmdsZS10YXNrLXZpZXdfX2NhcmQge1xuICAgIEBpbmNsdWRlIGNhcmQ7XG4gICAgcGFkZGluZzogMjBweDtcbiAgfVxuXG4gIC5zaW5nbGUtdGFzay12aWV3X190aXRsZSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42ZW07XG4gIH1cblxuICAuc2luZ2xlLXRhc2stdmlld19fc3VidGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG5cbiAgLnNpbmdsZS10YXNrLXZpZXcgIHtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQge1xuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuY29sLXByaW50LTEyIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG59XG5cblxuXG4gICAgLm1vdW50YWluLTEtNi0zdjEtMS0yIHtcbiRkYXJrLXRleHQ6ICMwMDAwMDA7XG4kbGlnaHQtdGV4dDogI2ZmZmZmZjtcblxuQGZ1bmN0aW9uIGR5bmFtaWMtdGV4dCgkY29sb3IpIHtcbiAgQGlmIChsaWdodG5lc3MoJGNvbG9yKSA+IDg1KSB7XG4gICAgQHJldHVybiAkZGFyay10ZXh0OyAvLyBMaWdodGVyIGJhY2tncm91bmQsIHJldHVybiBkYXJrIGNvbG9yXG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gJGxpZ2h0LXRleHQ7IC8vIERhcmtlciBiYWNrZ3JvdW5kLCByZXR1cm4gbGlnaHQgY29sb3JcbiAgfVxufVxuJGJyYW5kLWNvbG9yOiAjM2Y0ZTg1ICFkZWZhdWx0O1xuJGJyYW5kLWFjY2VudC1jb2xvcjogZHluYW1pYy10ZXh0KCRicmFuZC1jb2xvcikgIWRlZmF1bHQ7XG5cbiRoZWFkZXItYmFja2dyb3VuZC1jb2xvcjogIzNkNDA1MSAhZGVmYXVsdDtcbiRoZWFkZXItdGV4dC1jb2xvcjogI2ZhZjJmZCAhZGVmYXVsdDtcblxuJGZvb3Rlci1iYWNrZ3JvdW5kLWNvbG9yOiAjZTdlN2U3ICFkZWZhdWx0O1xuJGZvb3Rlci10ZXh0LWNvbG9yOiBkeW5hbWljLXRleHQoJGZvb3Rlci1iYWNrZ3JvdW5kLWNvbG9yKSAhZGVmYXVsdDtcblxuJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICNmMjc5MzUgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktY29sb3I6IGR5bmFtaWMtdGV4dCgkYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZCkgIWRlZmF1bHQ7XG5cbiRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICNkOWQ5ZDkgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1jb2xvcjogZHluYW1pYy10ZXh0KCRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQpICFkZWZhdWx0O1xuXG4vLyBDb3Vwb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHN1Y2Nlc3MtZ3JlZW46ICM1NGM2NzA7XG4kYWxlcnQteWVsbG93OiAjZmZlZDhmO1xuXG4kY291cG9uX19iYWNrZ3JvdW5kOiAkc3VjY2Vzcy1ncmVlbjtcbiRjb3Vwb24taW52YWxpZF9fYmFja2dyb3VuZDogJGFsZXJ0LXllbGxvdztcblxuLy8gQmFzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENvbG9yc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRiYXNlLXdoaXRlOiAjZmZmZmZmO1xuJGJhc2VfX2JhY2tncm91bmQ6ICRiYXNlLXdoaXRlO1xuJGJhc2VfX2NvbG9yOiAjNjM2MzYzO1xuJGdyZXk6ICNmYWZhZmE7XG5cbiRtb3VudGFpbi1hY2NlbnQ6ICM5NWE3YjY7XG4kbW91bnRhaW4tYWNjZW50LWRhcms6ICMxZDU4NzA7XG5cblxuJGJyYW5kLWNvbG9yOiAjNjNjNmQyO1xuJGJyYW5kLWFjY2VudC1jb2xvcjogJGJyYW5kLWNvbG9yO1xuXG4vLyBoZWFkZXIgYW5kIGZvb3RlciB2YXJzIGFyZSBub3Qgb3ZlcndyaXR0ZW5cblxuJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICM2M2M2ZDI7XG4kYnV0dG9uLXByaW1hcnktY29sb3I6IGR5bmFtaWMtdGV4dCgkYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZCk7XG5cbiRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICM1NmFjYjY7XG4kYnV0dG9uLXNlY29uZGFyeS1jb2xvcjogZHluYW1pYy10ZXh0KCRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQpO1xuXG4vLyBCdXR0b25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGJ0bi1wcmltYXJ5X19iYWNrZ3JvdW5kOiAkYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDtcbiRidG4tcHJpbWFyeV9fY29sb3I6ICRidXR0b24tcHJpbWFyeS1jb2xvcjtcbiRidG4tcHJpbWFyeV9fYmFja2dyb3VuZC0taG92ZXI6IGRhcmtlbigkYnRuLXByaW1hcnlfX2JhY2tncm91bmQsIDEwJSk7XG4kYnRuLXByaW1hcnlfX2JhY2tncm91bmQtLWFjdGl2ZTogJGJ0bi1wcmltYXJ5X19iYWNrZ3JvdW5kLS1ob3ZlcjtcblxuJGJ0bi1zZWNvbmRhcnlfX2JhY2tncm91bmQ6ICRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG4kYnRuLXNlY29uZGFyeV9fY29sb3I6ICRidXR0b24tc2Vjb25kYXJ5LWNvbG9yO1xuJGJ0bi1zZWNvbmRhcnlfX2JhY2tncm91bmQtLWhvdmVyOiBkYXJrZW4oJGJ0bi1zZWNvbmRhcnlfX2JhY2tncm91bmQsIDEwJSk7XG4kYnRuLXNlY29uZGFyeV9fYmFja2dyb3VuZC0tYWN0aXZlOiAkYnRuLXNlY29uZGFyeV9fYmFja2dyb3VuZC0taG92ZXI7XG5cbiRidG4tYm9yZGVyLXJhZGl1czogMDtcblxuLy8gVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kaGVhZGluZ3NfX2gxLWRlY29yYXRpb24tYmFja2dyb3VuZDogJGJyYW5kLWNvbG9yO1xuJGhlYWRpbmdzX19oMS1jb2xvci0tbGlnaHQ6ICNlNmY4ZmY7XG5cbiRsaW5rc19fY29sb3I6ICM2M2M2ZDI7XG4kdGV4dF9fY29sb3ItLWxpZ2h0OiAkYmFzZS13aGl0ZTtcblxuXG4vLyBTZWN0aW9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEhlYWRlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kaGVhZGVyX19jb2xvcjogJGJhc2Utd2hpdGU7XG5cbi8vIEludHJvIFZpZGVvXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRidG4taW50cm8tdmlkZW9fX2NvbG9yOiAkYnV0dG9uLXNlY29uZGFyeS1jb2xvcjtcbiRidG4taW50cm8tdmlkZW9fX2JhY2tncm91bmQ6ICRicmFuZC1jb2xvcjtcbiRidG4taW50cm8tdmlkZW9fX2hvdmVyOiBsaWdodGVuKCRidG4taW50cm8tdmlkZW9fX2JhY2tncm91bmQsIDEwJSk7XG4kYnRuLWludHJvLXZpZGVvX19hY3RpdmU6ICRidG4taW50cm8tdmlkZW9fX2hvdmVyO1xuJGJ0bi1pbnRyby12aWRlb19fYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuLy8gTW9iaWxlXG4kYnRuLWludHJvLXZpZGVvX19iYWNrZ3JvdW5kLS1tb2JpbGU6ICRncmV5O1xuJGJ0bi1pbnRyby12aWRlb19fYnV0dG9uLWJhY2tncm91bmQtLW1vYmlsZTogJGJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDtcbiRidG4taW50cm8tdmlkZW9fX2J1dHRvbi1jb2xvci0tbW9iaWxlOiAkYnV0dG9uLXNlY29uZGFyeS1jb2xvcjtcblxuLy8gUmV2aWV3c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kY291cnNlLXJldmlld19fYmFja2dyb3VuZDogJG1vdW50YWluLWFjY2VudDtcbiRjb3Vyc2UtcmV2aWV3LWNvbnRhaW5lcl9fYmFja2dyb3VuZDogJGJhc2Utd2hpdGU7XG4kY291cnNlLXJldmlldy1uYW1lX19iYWNrZ3JvdW5kOiAjZjhmOGY4O1xuJGNvdXJzZS1yZXZpZXctYnV0dG9uX19jb2xvcjogJGxpbmtzX19jb2xvcjtcbiRjb3Vyc2UtcmV2aWV3X19yZWFkLW1vcmUtYmFja2dyb3VuZDogJGJ0bi1wcmltYXJ5X19iYWNrZ3JvdW5kO1xuJGNvdXJzZS1yZXZpZXdfX3JlYWQtbW9yZS1jb2xvcjogJGJ0bi1wcmltYXJ5X19jb2xvcjtcbiRjb3Vyc2UtcmV2aWV3X19yZWFkLW1vcmUtYmFja2dyb3VuZC0taG92ZXI6ICRidG4tcHJpbWFyeV9fYmFja2dyb3VuZC0taG92ZXI7XG4kY291cnNlLXJldmlld19fcmVhZC1tb3JlLWNvbG9yLS1ob3ZlcjogJGJ0bi1wcmltYXJ5X19jb2xvcjtcblxuXG4vLyBJbnN0cnVjdG9yXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRjb3Vyc2UtaW5zdHJ1Y3Rvcl9fYmFja2dyb3VuZDogbm9uZTtcbiRjb3Vyc2UtaW5zdHJ1Y3Rvcl9fYmFja2dyb3VuZC0tYnJlYWtwb2ludC1zbWFsbDogJGJhc2Utd2hpdGU7XG5cbi8vIFByb2R1Y3QgT3ZlcnZpZXdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHByb2R1Y3Qtb3ZlcnZpZXdfX2JhY2tncm91bmQ6ICRiYXNlLXdoaXRlO1xuXG4vLyBSZWxhdGVkIFByb2R1Y3RzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRyZWxhdGVkLXByb2R1Y3RzX19iYWNrZ3JvdW5kOiAkbW91bnRhaW4tYWNjZW50LWRhcms7XG4kcmVsYXRlZC1wcm9kdWN0c19fY29sb3I6ICRicmFuZC1hY2NlbnQtY29sb3I7XG4kcmVsYXRlZC1wcm9kdWN0cy1wcm9kdWN0LWl0ZW1fX2JhY2tncm91bmQ6ICRiYXNlLXdoaXRlO1xuJHJlbGF0ZWQtcHJvZHVjdHNfX3RpdGxlOiAkYmFzZS13aGl0ZTtcbiRyZWxhdGVkLXByb2R1Y3RzX19idXR0b24tYmFja2dyb3VuZDogJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ7XG4kcmVsYXRlZC1wcm9kdWN0c19fYnV0dG9uLWNvbG9yOiAkYnV0dG9uLXByaW1hcnktY29sb3I7XG4kcmVsYXRlZC1wcm9kdWN0c19fc2VjdGlvbi10aXRsZTogJGJhc2Utd2hpdGU7XG5cbi8vIENvdXJzZSBCZW5lZml0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kY291cnNlLWJlbmVmaXRzX19iYWNrZ3JvdW5kOiAjMTA0MTU1O1xuXG4vLyBDb3Vyc2UgQ29udGVudHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGNvdXJzZS1jb250ZW50c19fYmFja2dyb3VuZDogJG1vdW50YWluLWFjY2VudDtcbiRjb3Vyc2UtY29udGVudHMtaW5uZXJfX2JhY2tncm91bmQ6ICRiYXNlLXdoaXRlO1xuJGNvdXJzZS1jb250ZW50c19faWNvbi1jb2xvcjogZ3JleTtcblxuLy8gQ291cnNlIEN1cnJpY3VsdW1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGNvdXJzZS1jdXJyaWN1bHVtX19iYWNrZ3JvdW5kOiAkYmFzZS13aGl0ZTtcbiRjb3Vyc2UtY3VycmljdWx1bV9fY29sb3I6IGdyZXk7XG4kY291cnNlLWN1cnJpY3VsdW1fX2NvbG9yLS1ob3ZlcjogJG1vdW50YWluLWFjY2VudC1kYXJrO1xuJGNvdXJzZS1jdXJyaWN1bHVtLWhlYWRlcl9fYm9yZGVyOiAxcHggc29saWQgI2U3ZTdlNztcbiRjb3Vyc2UtY3VycmljdWx1bS1oZWFkZXJfX2NvbG9yOiBibGFjaztcbiRjb3Vyc2UtY3VycmljdWx1bS1jaGFwdGVyLWhlYWRlcl9fY29sb3I6IGdyZXk7XG4kbGFiZWwtZnJlZV9fYmFja2dyb3VuZDogJG1vdW50YWluLWFjY2VudC1kYXJrO1xuJGNoYXB0ZXItdGltZV9fYmFja2dyb3VuZDogJGxhYmVsLWZyZWVfX2JhY2tncm91bmQ7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgMjMuIE1vdW50YWluIExhbmRpbmdcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIGJhY2tncm91bmQ6ICRiYXNlX19iYWNrZ3JvdW5kO1xuLy8gY29sb3I6ICRiYXNlX19jb2xvcjtcbi8vIGxpbmUtaGVpZ2h0OiAxLjU7XG5cbi8qIE1vdW50YWluIFRoZW1lOiBHbG9iYWxcbi0tLS0tLS0tLS0tLSovXG5cbi8qIE1vdW50YWluIFRoZW1lOiBCdXR0b25zXG4tLS0tLS0tLS0tLS0qL1xuXG5hIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uYnRuLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAkYnRuLXByaW1hcnlfX2JhY2tncm91bmQ7XG4gIGNvbG9yOiAkYnRuLXByaW1hcnlfX2NvbG9yO1xuICBmb250LXdlaWdodDogNjAwO1xuXG4gICY6aG92ZXIsIFxuICAmOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogJGJ0bi1wcmltYXJ5X19iYWNrZ3JvdW5kLS1hY3RpdmU7XG4gIH1cbn1cblxuLmJ0bi1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kOiAkYnRuLXNlY29uZGFyeV9fYmFja2dyb3VuZDtcbiAgY29sb3I6ICRidG4tc2Vjb25kYXJ5X19jb2xvcjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAmOmhvdmVyLCBcbiAgJjphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICRidG4tc2Vjb25kYXJ5X19iYWNrZ3JvdW5kLS1ob3ZlcjtcbiAgfVxufVxuXG4vKiBNb3VudGFpbiBUaGVtZTogVHlwb2dyYXBoeVxuLS0tLS0tLS0tLS0tKi9cblxuaDEge1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICBmb250LXNpemU6IDMwcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgJi50aXRsZS1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgfVxuXG4gICYudGl0bGUtbGlnaHQge1xuICAgIGNvbG9yOiAkaGVhZGluZ3NfX2gxLWNvbG9yLS1saWdodDtcbiAgfVxufVxuXG5wIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG59XG5cbmEge1xuICBjb2xvcjogJGxpbmtzX19jb2xvcjtcbn1cblxuLmJvZHktbGlnaHQge1xuICBjb2xvcjogJHRleHRfX2NvbG9yLS1saWdodDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgaDEge1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgZm9udC1zaXplOiAyNnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICB9XG5cbn1cblxuXG4vKiBNb3VudGFpbiBUaGVtZTogSGVhZGVyXG4tLS0tLS0tLS0tLS0qL1xuXG4ubGFuZGluZy1oZWFkZXIge1xuICBwYWRkaW5nOiAyMzNweCAwO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGNvbG9yOiAkaGVhZGVyX19jb2xvcjtcblxuICAucHJvZHVjdF9fdGl0bGUge1xuICAgIG1hcmdpbjogMCAwIDAuNWVtO1xuICAgIGZvbnQtc2l6ZTogNjJweDtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgLnByb2R1Y3RfX3N1YnRpdGxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIH1cblxuICAuYnRuLXByaW1hcnksXG4gIC5idG4tc2Vjb25kYXJ5IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgcGFkZGluZzogMTBweCA0MHB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxuXG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG4gICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmJ0bi1pbnRyby12aWRlbyB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxNDBweCA2MHB4O1xuICAgIGJvcmRlcjogJGJ0bi1pbnRyby12aWRlb19fYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRidG4taW50cm8tdmlkZW9fX2JhY2tncm91bmQ7XG5cblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtZmFtaWx5OiB0aGlua2lmaWM7XG4gICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICBjb250ZW50OiAnXFw2Nic7XG4gICAgfVxuICB9XG59XG5cbi5idG4taW50cm8tdmlkZW8ge1xuICBjb2xvcjogJGJ0bi1pbnRyby12aWRlb19fY29sb3I7XG5cbiAgJjpob3ZlciwgXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGJ0bi1pbnRyby12aWRlb19faG92ZXI7XG4gIH1cblxufVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAubGFuZGluZy1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDE1MHB4IDA7XG5cbiAgICAucHJvZHVjdF9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiA1MHB4O1xuICAgIH1cbiAgfVxuXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gIC5sYW5kaW5nLWhlYWRlciB7XG4gICAgcGFkZGluZzogNjBweCAwIDQwcHg7XG5cbiAgICAucHJvZHVjdF9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgIH1cbiAgfVxufVxuXG4vKiBNb3VudGFpbiBUaGVtZTogSW50cm8gVmlkZW8gTW9iaWxlXG4tLS0tLS0tLS0tLS0qL1xuXG4uaW50cm8tdmlkZW8tbW9iaWxlIHtcbiAgcGFkZGluZzogMTVweCAwO1xuICBiYWNrZ3JvdW5kOiAkYnRuLWludHJvLXZpZGVvX19iYWNrZ3JvdW5kLS1tb2JpbGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAuYnRuIHtcbiAgICBib3JkZXItcmFkaXVzOiAkYnRuLWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJGJ0bi1pbnRyby12aWRlb19fYnV0dG9uLWJhY2tncm91bmQtLW1vYmlsZTtcbiAgICBjb2xvcjogJGJ0bi1pbnRyby12aWRlb19fYnV0dG9uLWNvbG9yLS1tb2JpbGU7XG4gIH1cbn1cblxuLnZlbm9ib3gge1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xufVxuXG4vKiBNb3VudGFpbiBUaGVtZTogQ291cnNlIFJldmlld1xuLS0tLS0tLS0tLS0tKi8gIFxuXG4uY291cnNlLXJldmlldyB7XG4gIHBhZGRpbmc6IDgwcHggMDtcbiAgYmFja2dyb3VuZDogJGNvdXJzZS1yZXZpZXdfX2JhY2tncm91bmQ7XG59XG5cbi5jb3Vyc2UtcmV2aWV3X193cmFwcGVyLFxuLm1vcmUtcmV2aWV3cy10b2dnbGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xufVxuXG4uY291cnNlLXJldmlld19fZmxleC1ncmlkLWl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLmNvdXJzZS1yZXZpZXdfX2NvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDI1cHg7XG4gIGJhY2tncm91bmQ6ICRjb3Vyc2UtcmV2aWV3LWNvbnRhaW5lcl9fYmFja2dyb3VuZDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIFxuICAmID4gKiB7XG4gICAgcGFkZGluZzogMCAyNXB4O1xuICB9XG5cbiAgJiA+IC5yZXZpZXctLXBhcnRpYWwsIFxuICAmID4gLnJldmlldy0tY29tcGxldGUge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cbn1cblxuXG4uY291cnNlLXJldmlld19fdGl0bGUge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbi5jb3Vyc2UtcmV2aWV3X190ZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4uY291cnNlLXJldmlld19fbmFtZSB7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDAgMjVweCAxMHB4O1xuICAvLyBiYWNrZ3JvdW5kOiAkY291cnNlLXJldmlldy1uYW1lX19iYWNrZ3JvdW5kO1xuICAvLyBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5yZXZpZXdfX3Nob3ctbW9yZSxcbi5yZXZpZXdfX3Nob3ctbGVzcyB7XG4gIG1hcmdpbjogNXB4IDA7XG4gIHBhZGRpbmc6IDVweCAwO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogJGxpbmtzX19jb2xvcjtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTVweDtcblxuICAmOmhvdmVyLCBcbiAgJjphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAkbGlua3NfX2NvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG59XG5cbi5jb3Vyc2UtcmV2aWV3X19idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIC5yZXZpZXctYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmc6IDFlbTtcbiAgICBib3JkZXItcmFkaXVzOiAkYnRuLWJvcmRlci1yYWRpdXM7XG4gICAgY29sb3I6ICRjb3Vyc2UtcmV2aWV3X19yZWFkLW1vcmUtY29sb3I7XG4gICAgYmFja2dyb3VuZDogJGNvdXJzZS1yZXZpZXdfX3JlYWQtbW9yZS1iYWNrZ3JvdW5kO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUge1xuICAgICAgY29sb3I6ICRjb3Vyc2UtcmV2aWV3X19yZWFkLW1vcmUtY29sb3ItLWhvdmVyO1xuICAgICAgYmFja2dyb3VuZDogJGNvdXJzZS1yZXZpZXdfX3JlYWQtbW9yZS1iYWNrZ3JvdW5kLS1ob3ZlcjtcbiAgICB9XG4gfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuXG4gIC5jb3Vyc2UtcmV2aWV3X19mbGV4LWdyaWQtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICB9XG4gIC5jb3Vyc2UtcmV2aWV3X19jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICB9XG59XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgLmNvdXJzZS1yZXZpZXcge1xuICAgIHBhZGRpbmc6IDEuNWVtIDAgMmVtO1xuICB9XG5cbiAgLmNvdXJzZS1yZXZpZXdfX3RleHQge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxuXG4gIC5jb3Vyc2UtcmV2aWV3X190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG5cbiAgLnJldmlld19fc2hvdy1tb3JlLFxuICAucmV2aWV3X19zaG93LWxlc3Mge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxufVxuXG5cbi8qIE1vdW50YWluIFRoZW1lOiBDb3Vyc2UgSW5zdHJ1Y3RvclxuLS0tLS0tLS0tLS0tKi9cblxuLmNvdXJzZS1pbnN0cnVjdG9yIHtcbiAgcGFkZGluZzogNjBweCAwO1xuICBiYWNrZ3JvdW5kOiAkY291cnNlLWluc3RydWN0b3JfX2JhY2tncm91bmQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBsZWZ0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG4uaW5zdHJ1Y3Rvcl9fZGV0YWlscyB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4uaW5zdHJ1Y3Rvcl9faW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEyNXB4O1xuICBtYXgtaGVpZ2h0OiAxMjVweDtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VhZWFlYTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4vKiBNb3VudGFpbiBUaGVtZTogUHJvZHVjdCBPdmVydmlld1xuLS0tLS0tLS0tLS0tKi9cblxuLnByb2R1Y3Qtb3ZlcnZpZXcge1xuICBwYWRkaW5nOiA2MHB4IDA7XG4gIGJhY2tncm91bmQ6ICRwcm9kdWN0LW92ZXJ2aWV3X19iYWNrZ3JvdW5kO1xufVxuXG4vKiBNb3VudGFpbiBUaGVtZTogUmVsYXRlZCBQcm9kdWN0c1xuLS0tLS0tLS0tLS0tKi9cblxuLnJlbGF0ZWQtcHJvZHVjdHMge1xuICBwYWRkaW5nOiA2MHB4IDAgODBweDtcbiAgYmFja2dyb3VuZDogJHJlbGF0ZWQtcHJvZHVjdHNfX2JhY2tncm91bmQ7XG5cbiAgaDEge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRicmFuZC1hY2NlbnQtY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi50aGVtZS1tb3VudGFpbi1tdWx0aS1wcm9kdWN0X19pdGVtIHtcbiAgQGluY2x1ZGUgZGlzcGxheShmbGV4KTtcbiAgQGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICBwYWRkaW5nOiAyMHB4O1xuICBiYWNrZ3JvdW5kOiAkcmVsYXRlZC1wcm9kdWN0cy1wcm9kdWN0LWl0ZW1fX2JhY2tncm91bmQ7XG5cbiAgJjpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLnRoZW1lLW1vdW50YWluLW11bHRpLXByb2R1Y3RfX3NlY3Rpb24tdGl0bGUge1xuICBjb2xvcjogJHJlbGF0ZWQtcHJvZHVjdHNfX3NlY3Rpb24tdGl0bGU7XG59XG5cbi50aGVtZS1tb3VudGFpbi1tdWx0aS1wcm9kdWN0X19pdGVtICsgLnRoZW1lLW1vdW50YWluLW11bHRpLXByb2R1Y3RfX2l0ZW0ge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4udGhlbWUtbW91bnRhaW4tbXVsdGktcHJvZHVjdF9fcHJpY2Uge1xuICBmb250LXNpemU6IDI2cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi50aGVtZS1tb3VudGFpbi1tdWx0aS1wcm9kdWN0X19idXkge31cblxuLnRoZW1lLW1vdW50YWluLW11bHRpLXByb2R1Y3RfX3RpdGxlIHtcbiAgcGFkZGluZy1yaWdodDogMWVtO1xuICBwYWRkaW5nLWxlZnQ6IDFlbTtcbn1cblxuLnRoZW1lLW1vdW50YWluLW11bHRpLXByb2R1Y3RfX2N0YSB7XG4gIHBhZGRpbmc6IDhweCAzMHB4O1xuICBiYWNrZ3JvdW5kOiAkcmVsYXRlZC1wcm9kdWN0c19fYnV0dG9uLWJhY2tncm91bmQ7XG4gIGNvbG9yOiAkcmVsYXRlZC1wcm9kdWN0c19fYnV0dG9uLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAkYnRuLWJvcmRlci1yYWRpdXM7XG5cbiAgJjpob3ZlciwgXG4gICY6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRyZWxhdGVkLXByb2R1Y3RzX19idXR0b24tYmFja2dyb3VuZCwgMTAlKTtcbiAgICBjb2xvcjogJHJlbGF0ZWQtcHJvZHVjdHNfX2J1dHRvbi1jb2xvcjtcbiAgfVxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG5cbiAgLnRoZW1lLW1vdW50YWluLW11bHRpLXByb2R1Y3RfX3ByaWNlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICB9XG5cbiAgLnRoZW1lLW1vdW50YWluLW11bHRpLXByb2R1Y3RfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLnRoZW1lLW1vdW50YWluLW11bHRpLXByb2R1Y3RfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cblxuLyogQ291cG9uc1xuLS0tLS0tLS0tLS0tKi9cbi5jb3Vyc2UtcHJvbW90aW9uIHtcbiAgLmNvdXBvbiB7XG4gICAgcGFkZGluZzogMjBweCAwO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuXG4gICAgJi52YWxpZC1jb3Vwb24ge1xuICAgICAgYmFja2dyb3VuZDogJGNvdXBvbl9fYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAmLmludmFsaWQtY291cG9uIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb3Vwb24taW52YWxpZF9fYmFja2dyb3VuZDtcbiAgICAgIGNvbG9yOiBkaW1ncmV5O1xuICAgIH1cbiAgfVxuXG59XG5cblxuLyogTW91bnRhaW4gVGhlbWU6IENvdXJzZSBCZW5lZml0c1xuLS0tLS0tLS0tLS0tKi9cblxuLmNvdXJzZS1iZW5lZml0cyB7XG4gIHBhZGRpbmc6IDYwcHggMDtcbiAgYmFja2dyb3VuZDogJGNvdXJzZS1iZW5lZml0c19fYmFja2dyb3VuZDtcbn1cblxuLmNvdXJzZS1iZW5lZml0c19faXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAuY291cnNlLWJlbmVmaXRzX19pdGVtIHtcbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8qIE1vdW50YWluIFRoZW1lOiBDb3Vyc2UgQ29udGVudHNcbi0tLS0tLS0tLS0tLSovXG5cbi5jb3Vyc2UtY29udGVudHMge1xuICBwYWRkaW5nOiA2MHB4IDA7XG4gIGJhY2tncm91bmQ6ICRjb3Vyc2UtY29udGVudHNfX2JhY2tncm91bmQ7XG59XG5cbi5jb3Vyc2UtY29udGVudHMtdHlwZXMge1xuICBAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgQGluY2x1ZGUgZmxleC1mbG93KHJvdyB3cmFwKTtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY291cnNlLWNvbnRlbnRzX19pbm5lciB7XG4gIHBhZGRpbmc6IDI1cHggMjVweCA0MnB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTllOWU5O1xuICBiYWNrZ3JvdW5kOiAkY291cnNlLWNvbnRlbnRzLWlubmVyX19iYWNrZ3JvdW5kO1xufVxuXG4uY291cnNlLWNvbnRlbnRzLXR5cGVzX19pdGVtIHtcbiAgQGluY2x1ZGUgZmxleC1zaHJpbmsoMCk7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIHBhZGRpbmc6IDAgMjBweDtcblxuICBpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBjb2xvcjogJGNvdXJzZS1jb250ZW50c19faWNvbi1jb2xvcjtcbiAgICBmb250LXNpemU6IDU1cHg7XG4gIH1cblxuICBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gIC5jb3Vyc2UtY29udGVudHMtdHlwZXNfX2l0ZW0ge1xuICAgIEBpbmNsdWRlIGZsZXgtYmFzaXMoMjUlKTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gIC5jb3Vyc2UtY29udGVudHNfX2lubmVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgfVxuXG4gIC5jb3Vyc2UtY29udGVudHMtdHlwZXNfX2l0ZW0ge1xuICAgIEBpbmNsdWRlIGZsZXgtYmFzaXMoNTAlKTtcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gIH1cbn1cblxuLyogTW91bnRhaW4gVGhlbWU6IENvdXJzZSBDdXJyaWN1bHVtXG4tLS0tLS0tLS0tLS0qL1xuXG4uY291cnNlLWN1cnJpY3VsdW0ge1xuICBwYWRkaW5nOiA4MHB4IDA7XG4gIGJhY2tncm91bmQ6ICRjb3Vyc2UtY3VycmljdWx1bV9fYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb3Vyc2UtY3VycmljdWx1bV9fY29sb3I7XG5cbiAgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkY291cnNlLWN1cnJpY3VsdW1fX2NvbG9yLS1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB1bCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyZW07XG4gIH1cblxuICBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgfVxuXG4gIC5jdXJyaWN1bHVtLWNoYXB0ZXItaGVhZGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMThweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgIGNvbG9yOiAkY291cnNlLWN1cnJpY3VsdW0tY2hhcHRlci1oZWFkZXJfX2NvbG9yO1xuICAgIGJvcmRlci1ib3R0b206ICRjb3Vyc2UtY3VycmljdWx1bS1oZWFkZXJfX2JvcmRlcjtcbiAgfVxuXG4gIC5jaGFwdGVyLWxpc3QtaXRlbV9fdGl0bGUge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIH1cblxuICAuY3VycmljdWx1bS1jaGFwdGVyICsgLmN1cnJpY3VsdW0tY2hhcHRlciB7XG4gICAgbWFyZ2luLXRvcDogNDJweDtcbiAgfVxuXG4gIC5jaGFwdGVyLWhlYWRlciB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIH1cblxuICAuY2hhcHRlci1saXN0LWl0ZW0gKyAuY2hhcHRlci1saXN0LWl0ZW0ge1xuICAgIG1hcmdpbi10b3A6IDE4cHg7XG4gIH1cblxuICAuY2hhcHRlci10aW1lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogM3B4IDIwcHg7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6IDIwMHB4O1xuICAgIGJhY2tncm91bmQ6ICRjaGFwdGVyLXRpbWVfX2JhY2tncm91bmQ7XG4gICAgY29sb3I6IGR5bmFtaWMtdGV4dCgkY2hhcHRlci10aW1lX19iYWNrZ3JvdW5kKTtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuXG4gIC5sYWJlbC1mcmVlIHtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWZyZWVfX2JhY2tncm91bmQ7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAuY291cnNlLWN1cnJpY3VsdW0ge1xuXG4gICAgLmNoYXB0ZXItaGVhZGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG5cbiAgICAuY2hhcHRlci10aW1lIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuLy8gQGltcG9ydCAnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJhbGV3YXknO1xuLnBhZ2UtY29udGVudC1jb250YWluZXIge1xuICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbn1cblxuaDEge1xuICBmb250LXdlaWdodDogMTAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICY6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMjBweDtcbiAgICB3aWR0aDogNjBweDtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBiYWNrZ3JvdW5kOiAkaGVhZGluZ3NfX2gxLWRlY29yYXRpb24tYmFja2dyb3VuZDtcbiAgICBjb250ZW50OiAnJztcbiAgfVxufVxuXG4udGhlbWUtbW91bnRhaW4tbXVsdGktcHJvZHVjdF9fc2VjdGlvbi10aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRoZW1lLW1vdW50YWluLW11bHRpLXByb2R1Y3RfX3ByaWNlIHtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbn1cblxuLnRoZW1lLW1vdW50YWluLW11bHRpLXByb2R1Y3RfX3NlY3Rpb24tdGl0bGU6OmJlZm9yZSB7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG59XG5cblxuIiwKCQkiLy8gQm91cmJvbiA0LjIuNlxuLy8gaHR0cDovL2JvdXJib24uaW9cbi8vIENvcHlyaWdodCAyMDExLTIwMTUgdGhvdWdodGJvdCwgaW5jLlxuLy8gTUlUIExpY2Vuc2VcblxuQGltcG9ydCBcInNldHRpbmdzL3ByZWZpeGVyXCI7XG5AaW1wb3J0IFwic2V0dGluZ3MvcHgtdG8tZW1cIjtcbkBpbXBvcnQgXCJzZXR0aW5ncy9hc3NldC1waXBlbGluZVwiO1xuXG5AaW1wb3J0IFwiZnVuY3Rpb25zL2Fzc2lnbi1pbnB1dHNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvY29udGFpbnNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvY29udGFpbnMtZmFsc3lcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtbGVuZ3RoXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2lzLWxpZ2h0XCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2lzLW51bWJlclwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9pcy1zaXplXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3B4LXRvLWVtXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3B4LXRvLXJlbVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9zaGFkZVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9zdHJpcC11bml0c1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy90aW50XCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3RyYW5zaXRpb24tcHJvcGVydHktbmFtZVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy91bnBhY2tcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvbW9kdWxhci1zY2FsZVwiO1xuXG5AaW1wb3J0IFwiaGVscGVycy9jb252ZXJ0LXVuaXRzXCI7XG5AaW1wb3J0IFwiaGVscGVycy9kaXJlY3Rpb25hbC12YWx1ZXNcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2ZvbnQtc291cmNlLWRlY2xhcmF0aW9uXCI7XG5AaW1wb3J0IFwiaGVscGVycy9ncmFkaWVudC1wb3NpdGlvbnMtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItYW5nbGUtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItZ3JhZGllbnQtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItcG9zaXRpb25zLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmFkaWFsLWFyZy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yZW5kZXItZ3JhZGllbnRzXCI7XG5AaW1wb3J0IFwiaGVscGVycy9zaGFwZS1zaXplLXN0cmlwcGVyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9zdHItdG8tbnVtXCI7XG5cbkBpbXBvcnQgXCJjc3MzL2FuaW1hdGlvblwiO1xuQGltcG9ydCBcImNzczMvYXBwZWFyYW5jZVwiO1xuQGltcG9ydCBcImNzczMvYmFja2ZhY2UtdmlzaWJpbGl0eVwiO1xuQGltcG9ydCBcImNzczMvYmFja2dyb3VuZFwiO1xuQGltcG9ydCBcImNzczMvYmFja2dyb3VuZC1pbWFnZVwiO1xuQGltcG9ydCBcImNzczMvYm9yZGVyLWltYWdlXCI7XG5AaW1wb3J0IFwiY3NzMy9jYWxjXCI7XG5AaW1wb3J0IFwiY3NzMy9jb2x1bW5zXCI7XG5AaW1wb3J0IFwiY3NzMy9maWx0ZXJcIjtcbkBpbXBvcnQgXCJjc3MzL2ZsZXgtYm94XCI7XG5AaW1wb3J0IFwiY3NzMy9mb250LWZhY2VcIjtcbkBpbXBvcnQgXCJjc3MzL2ZvbnQtZmVhdHVyZS1zZXR0aW5nc1wiO1xuQGltcG9ydCBcImNzczMvaGlkcGktbWVkaWEtcXVlcnlcIjtcbkBpbXBvcnQgXCJjc3MzL2h5cGhlbnNcIjtcbkBpbXBvcnQgXCJjc3MzL2ltYWdlLXJlbmRlcmluZ1wiO1xuQGltcG9ydCBcImNzczMva2V5ZnJhbWVzXCI7XG5AaW1wb3J0IFwiY3NzMy9saW5lYXItZ3JhZGllbnRcIjtcbkBpbXBvcnQgXCJjc3MzL3BlcnNwZWN0aXZlXCI7XG5AaW1wb3J0IFwiY3NzMy9wbGFjZWhvbGRlclwiO1xuQGltcG9ydCBcImNzczMvcmFkaWFsLWdyYWRpZW50XCI7XG5AaW1wb3J0IFwiY3NzMy9zZWxlY3Rpb25cIjtcbkBpbXBvcnQgXCJjc3MzL3RleHQtZGVjb3JhdGlvblwiO1xuQGltcG9ydCBcImNzczMvdHJhbnNmb3JtXCI7XG5AaW1wb3J0IFwiY3NzMy90cmFuc2l0aW9uXCI7XG5AaW1wb3J0IFwiY3NzMy91c2VyLXNlbGVjdFwiO1xuXG5AaW1wb3J0IFwiYWRkb25zL2JvcmRlci1jb2xvclwiO1xuQGltcG9ydCBcImFkZG9ucy9ib3JkZXItcmFkaXVzXCI7XG5AaW1wb3J0IFwiYWRkb25zL2JvcmRlci1zdHlsZVwiO1xuQGltcG9ydCBcImFkZG9ucy9ib3JkZXItd2lkdGhcIjtcbkBpbXBvcnQgXCJhZGRvbnMvYnV0dG9uc1wiO1xuQGltcG9ydCBcImFkZG9ucy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcImFkZG9ucy9lbGxpcHNpc1wiO1xuQGltcG9ydCBcImFkZG9ucy9mb250LXN0YWNrc1wiO1xuQGltcG9ydCBcImFkZG9ucy9oaWRlLXRleHRcIjtcbkBpbXBvcnQgXCJhZGRvbnMvbWFyZ2luXCI7XG5AaW1wb3J0IFwiYWRkb25zL3BhZGRpbmdcIjtcbkBpbXBvcnQgXCJhZGRvbnMvcG9zaXRpb25cIjtcbkBpbXBvcnQgXCJhZGRvbnMvcHJlZml4ZXJcIjtcbkBpbXBvcnQgXCJhZGRvbnMvcmV0aW5hLWltYWdlXCI7XG5AaW1wb3J0IFwiYWRkb25zL3NpemVcIjtcbkBpbXBvcnQgXCJhZGRvbnMvdGV4dC1pbnB1dHNcIjtcbkBpbXBvcnQgXCJhZGRvbnMvdGltaW5nLWZ1bmN0aW9uc1wiO1xuQGltcG9ydCBcImFkZG9ucy90cmlhbmdsZVwiO1xuQGltcG9ydCBcImFkZG9ucy93b3JkLXdyYXBcIjtcblxuQGltcG9ydCBcImJvdXJib24tZGVwcmVjYXRlZC11cGNvbWluZ1wiO1xuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gR2xvYmFsIHZhcmlhYmxlcyB0byBlbmFibGUgb3IgZGlzYWJsZSB2ZW5kb3IgcHJlZml4ZXNcblxuJHByZWZpeC1mb3Itd2Via2l0OiAgICB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3ItbW96aWxsYTogICB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3ItbWljcm9zb2Z0OiB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3Itb3BlcmE6ICAgICB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3Itc3BlYzogICAgICB0cnVlICFkZWZhdWx0O1xuIiwKCQkiJGVtLWJhc2U6IDE2cHggIWRlZmF1bHQ7XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBBIGdsb2JhbCBzZXR0aW5nIHRvIGVuYWJsZSBvciBkaXNhYmxlIHRoZSBgJGFzc2V0LXBpcGVsaW5lYCB2YXJpYWJsZSBmb3IgYWxsIGZ1bmN0aW9ucyB0aGF0IGFjY2VwdCBpdC5cbi8vL1xuLy8vIEB0eXBlIEJvb2xcblxuJGFzc2V0LXBpcGVsaW5lOiBmYWxzZSAhZGVmYXVsdDtcbiIsCgkJIkBmdW5jdGlvbiBhc3NpZ24taW5wdXRzKCRpbnB1dHMsICRwc2V1ZG86IG51bGwpIHtcbiAgJGxpc3Q6ICgpO1xuXG4gIEBlYWNoICRpbnB1dCBpbiAkaW5wdXRzIHtcbiAgICAkaW5wdXQ6IHVucXVvdGUoJGlucHV0KTtcbiAgICAkaW5wdXQ6IGlmKCRwc2V1ZG8sICRpbnB1dCArIFwiOlwiICsgJHBzZXVkbywgJGlucHV0KTtcbiAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkaW5wdXQsIGNvbW1hKTtcbiAgfVxuXG4gIEByZXR1cm4gJGxpc3Q7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGVja3MgaWYgYSBsaXN0IGNvbnRhaW5zIGEgdmFsdWUocykuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3Rcbi8vLyAgIFRoZSBsaXN0IHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWx1ZXNcbi8vLyAgIEEgc2luZ2xlIHZhbHVlIG9yIGxpc3Qgb2YgdmFsdWVzIHRvIGNoZWNrIGZvci5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgY29udGFpbnMoJGxpc3QsICR2YWx1ZSlcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2x9XG5cbkBmdW5jdGlvbiBjb250YWlucygkbGlzdCwgJHZhbHVlcy4uLikge1xuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmIHR5cGUtb2YoaW5kZXgoJGxpc3QsICR2YWx1ZSkpICE9IFwibnVtYmVyXCIge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHRydWU7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGVja3MgaWYgYSBsaXN0IGRvZXMgbm90IGNvbnRhaW5zIGEgdmFsdWUuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3Rcbi8vLyAgIFRoZSBsaXN0IHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sfVxuXG5AZnVuY3Rpb24gY29udGFpbnMtZmFsc3koJGxpc3QpIHtcbiAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xuICAgIEBpZiBub3QgJGl0ZW0ge1xuICAgICAgQHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gZmFsc2U7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGVja3MgZm9yIGEgdmFsaWQgQ1NTIGxlbmd0aC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdmFsdWVcblxuQGZ1bmN0aW9uIGlzLWxlbmd0aCgkdmFsdWUpIHtcbiAgQHJldHVybiB0eXBlLW9mKCR2YWx1ZSkgIT0gXCJudWxsXCIgYW5kIChzdHItc2xpY2UoJHZhbHVlICsgXCJcIiwgMSwgNCkgPT0gXCJjYWxjXCJcbiAgICAgICBvciBpbmRleChhdXRvIGluaGVyaXQgaW5pdGlhbCAwLCAkdmFsdWUpXG4gICAgICAgb3IgKHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiIGFuZCBub3QodW5pdGxlc3MoJHZhbHVlKSkpKTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb2dyYW1hdGljYWxseSBkZXRlcm1pbmVzIHdoZXRoZXIgYSBjb2xvciBpcyBsaWdodCBvciBkYXJrLlxuLy8vXG4vLy8gQGxpbmsgaHR0cDovL3JvYm90cy50aG91Z2h0Ym90LmNvbS9jbG9zZXItbG9vay1jb2xvci1saWdodG5lc3Ncbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3IgKEhleCl9ICRjb2xvclxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBpcy1saWdodCgkY29sb3IpXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sfVxuXG5AZnVuY3Rpb24gaXMtbGlnaHQoJGhleC1jb2xvcikge1xuICAkLWxvY2FsLXJlZDogcmVkKHJnYmEoJGhleC1jb2xvciwgMSkpO1xuICAkLWxvY2FsLWdyZWVuOiBncmVlbihyZ2JhKCRoZXgtY29sb3IsIDEpKTtcbiAgJC1sb2NhbC1ibHVlOiBibHVlKHJnYmEoJGhleC1jb2xvciwgMSkpO1xuICAkLWxvY2FsLWxpZ2h0bmVzczogKCQtbG9jYWwtcmVkICogMC4yMTI2ICsgJC1sb2NhbC1ncmVlbiAqIDAuNzE1MiArICQtbG9jYWwtYmx1ZSAqIDAuMDcyMikgLyAyNTU7XG5cbiAgQHJldHVybiAkLWxvY2FsLWxpZ2h0bmVzcyA+IDAuNjtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBmb3IgYSB2YWxpZCBudW1iZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlXG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbnRhaW5zXG5cbkBmdW5jdGlvbiBpcy1udW1iZXIoJHZhbHVlKSB7XG4gIEByZXR1cm4gY29udGFpbnMoXCIwXCIgXCIxXCIgXCIyXCIgXCIzXCIgXCI0XCIgXCI1XCIgXCI2XCIgXCI3XCIgXCI4XCIgXCI5XCIgMCAxIDIgMyA0IDUgNiA3IDggOSwgJHZhbHVlKTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBmb3IgYSB2YWxpZCBDU1Mgc2l6ZS5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdmFsdWVcbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnNcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGlzLWxlbmd0aFxuXG5AZnVuY3Rpb24gaXMtc2l6ZSgkdmFsdWUpIHtcbiAgQHJldHVybiBpcy1sZW5ndGgoJHZhbHVlKVxuICAgICAgICAgIG9yIGNvbnRhaW5zKFwiZmlsbFwiIFwiZml0LWNvbnRlbnRcIiBcIm1pbi1jb250ZW50XCIgXCJtYXgtY29udGVudFwiLCAkdmFsdWUpO1xufVxuIiwKCQkiLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zXG4vLyBlZy4gZm9yIGEgcmVsYXRpb25hbCB2YWx1ZSBvZiAxMnB4IHdyaXRlIGVtKDEyKSB3aGVuIHRoZSBwYXJlbnQgaXMgMTZweFxuLy8gaWYgdGhlIHBhcmVudCBpcyBhbm90aGVyIHZhbHVlIHNheSAyNHB4IHdyaXRlIGVtKDEyLCAyNClcblxuQGZ1bmN0aW9uIGVtKCRweHZhbCwgJGJhc2U6ICRlbS1iYXNlKSB7XG4gIEBpZiBub3QgdW5pdGxlc3MoJHB4dmFsKSB7XG4gICAgJHB4dmFsOiBzdHJpcC11bml0cygkcHh2YWwpO1xuICB9XG4gIEBpZiBub3QgdW5pdGxlc3MoJGJhc2UpIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdHMoJGJhc2UpO1xuICB9XG4gIEByZXR1cm4gKCRweHZhbCAvICRiYXNlKSAqIDFlbTtcbn1cbiIsCgkJIi8vIENvbnZlcnQgcGl4ZWxzIHRvIHJlbXNcbi8vIGVnLiBmb3IgYSByZWxhdGlvbmFsIHZhbHVlIG9mIDEycHggd3JpdGUgcmVtKDEyKVxuLy8gQXNzdW1lcyAkZW0tYmFzZSBpcyB0aGUgZm9udC1zaXplIG9mIDxodG1sPlxuXG5AZnVuY3Rpb24gcmVtKCRweHZhbCkge1xuICBAaWYgbm90IHVuaXRsZXNzKCRweHZhbCkge1xuICAgICRweHZhbDogc3RyaXAtdW5pdHMoJHB4dmFsKTtcbiAgfVxuXG4gICRiYXNlOiAkZW0tYmFzZTtcbiAgQGlmIG5vdCB1bml0bGVzcygkYmFzZSkge1xuICAgICRiYXNlOiBzdHJpcC11bml0cygkYmFzZSk7XG4gIH1cbiAgQHJldHVybiAoJHB4dmFsIC8gJGJhc2UpICogMXJlbTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIE1peGVzIGEgY29sb3Igd2l0aCBibGFjay5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvclxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKFBlcmNlbnRhZ2UpfSAkcGVyY2VudFxuLy8vICAgVGhlIGFtb3VudCBvZiBibGFjayB0byBiZSBtaXhlZCBpbi5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzaGFkZSgjZmZiYjUyLCA2MCUpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY0YTIwO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJldHVybiB7Q29sb3J9XG5cbkBmdW5jdGlvbiBzaGFkZSgkY29sb3IsICRwZXJjZW50KSB7XG4gIEByZXR1cm4gbWl4KCMwMDAsICRjb2xvciwgJHBlcmNlbnQpO1xufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gU3RyaXBzIHRoZSB1bml0IGZyb20gYSBudW1iZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciAoV2l0aCBVbml0KX0gJHZhbHVlXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgICRkaW1lbnNpb246IHN0cmlwLXVuaXRzKDEwZW0pO1xuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgJGRpbWVuc2lvbjogMTA7XG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXIgKFVuaXRsZXNzKX1cblxuQGZ1bmN0aW9uIHN0cmlwLXVuaXRzKCR2YWx1ZSkge1xuICBAcmV0dXJuICgkdmFsdWUgLyAoJHZhbHVlICogMCArIDEpKTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIE1peGVzIGEgY29sb3Igd2l0aCB3aGl0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvclxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKFBlcmNlbnRhZ2UpfSAkcGVyY2VudFxuLy8vICAgVGhlIGFtb3VudCBvZiB3aGl0ZSB0byBiZSBtaXhlZCBpbi5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aW50KCM2ZWNhYTYsIDQwJSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNhOGRmYzk7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmV0dXJuIHtDb2xvcn1cblxuQGZ1bmN0aW9uIHRpbnQoJGNvbG9yLCAkcGVyY2VudCkge1xuICBAcmV0dXJuIG1peCgjZmZmLCAkY29sb3IsICRwZXJjZW50KTtcbn1cbiIsCgkJIi8vIFJldHVybiB2ZW5kb3ItcHJlZml4ZWQgcHJvcGVydHkgbmFtZXMgaWYgYXBwcm9wcmlhdGVcbi8vIEV4YW1wbGU6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoKHRyYW5zZm9ybSwgY29sb3IsIGJhY2tncm91bmQpLCBtb3opIC0+IC1tb3otdHJhbnNmb3JtLCBjb2xvciwgYmFja2dyb3VuZFxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQGZ1bmN0aW9uIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BzLCAkdmVuZG9yOiBmYWxzZSkge1xuICAkbmV3LXByb3BzOiAoKTtcblxuICBAZWFjaCAkcHJvcCBpbiAkcHJvcHMge1xuICAgICRuZXctcHJvcHM6IGFwcGVuZCgkbmV3LXByb3BzLCB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUoJHByb3AsICR2ZW5kb3IpLCBjb21tYSk7XG4gIH1cblxuICBAcmV0dXJuICRuZXctcHJvcHM7XG59XG5cbkBmdW5jdGlvbiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUoJHByb3AsICR2ZW5kb3I6IGZhbHNlKSB7XG4gIC8vIHB1dCBvdGhlciBwcm9wZXJ0aWVzIHRoYXQgbmVlZCB0byBiZSBwcmVmaXhlZCBoZXJlIGFzd2VsbFxuICBAaWYgJHZlbmRvciBhbmQgJHByb3AgPT0gdHJhbnNmb3JtIHtcbiAgICBAcmV0dXJuIHVucXVvdGUoJy0nKyR2ZW5kb3IrJy0nKyRwcm9wKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkcHJvcDtcbiAgfVxufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ29udmVydHMgc2hvcnRoYW5kIHRvIHRoZSA0LXZhbHVlIHN5bnRheC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHNob3J0aGFuZFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbjogdW5wYWNrKDFlbSAyZW0pO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW46IDFlbSAyZW0gMWVtIDJlbTtcbi8vLyAgIH1cblxuQGZ1bmN0aW9uIHVucGFjaygkc2hvcnRoYW5kKSB7XG4gIEBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMSB7XG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSk7XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDIge1xuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAyKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpO1xuICB9IEBlbHNlIGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAzIHtcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMikgbnRoKCRzaG9ydGhhbmQsIDMpIG50aCgkc2hvcnRoYW5kLCAyKTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAkc2hvcnRoYW5kO1xuICB9XG59XG4iLAoJCSIvLyBTY2FsaW5nIFZhcmlhYmxlc1xuJGdvbGRlbjogICAgICAgICAgIDEuNjE4O1xuJG1pbm9yLXNlY29uZDogICAgIDEuMDY3O1xuJG1ham9yLXNlY29uZDogICAgIDEuMTI1O1xuJG1pbm9yLXRoaXJkOiAgICAgIDEuMjtcbiRtYWpvci10aGlyZDogICAgICAxLjI1O1xuJHBlcmZlY3QtZm91cnRoOiAgIDEuMzMzO1xuJGF1Z21lbnRlZC1mb3VydGg6IDEuNDE0O1xuJHBlcmZlY3QtZmlmdGg6ICAgIDEuNTtcbiRtaW5vci1zaXh0aDogICAgICAxLjY7XG4kbWFqb3Itc2l4dGg6ICAgICAgMS42Njc7XG4kbWlub3Itc2V2ZW50aDogICAgMS43Nzg7XG4kbWFqb3Itc2V2ZW50aDogICAgMS44NzU7XG4kb2N0YXZlOiAgICAgICAgICAgMjtcbiRtYWpvci10ZW50aDogICAgICAyLjU7XG4kbWFqb3ItZWxldmVudGg6ICAgMi42Njc7XG4kbWFqb3ItdHdlbGZ0aDogICAgMztcbiRkb3VibGUtb2N0YXZlOiAgICA0O1xuXG4kbW9kdWxhci1zY2FsZS1yYXRpbzogJHBlcmZlY3QtZm91cnRoICFkZWZhdWx0O1xuJG1vZHVsYXItc2NhbGUtYmFzZTogZW0oJGVtLWJhc2UpICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gbW9kdWxhci1zY2FsZSgkaW5jcmVtZW50LCAkdmFsdWU6ICRtb2R1bGFyLXNjYWxlLWJhc2UsICRyYXRpbzogJG1vZHVsYXItc2NhbGUtcmF0aW8pIHtcbiAgJHYxOiBudGgoJHZhbHVlLCAxKTtcbiAgJHYyOiBudGgoJHZhbHVlLCBsZW5ndGgoJHZhbHVlKSk7XG4gICR2YWx1ZTogJHYxO1xuXG4gIC8vIHNjYWxlICR2MiB0byBqdXN0IGFib3ZlICR2MVxuICBAd2hpbGUgJHYyID4gJHYxIHtcbiAgICAkdjI6ICgkdjIgLyAkcmF0aW8pOyAvLyB3aWxsIGJlIG9mZi1ieS0xXG4gIH1cbiAgQHdoaWxlICR2MiA8ICR2MSB7XG4gICAgJHYyOiAoJHYyICogJHJhdGlvKTsgLy8gd2lsbCBmaXggb2ZmLWJ5LTFcbiAgfVxuXG4gIC8vIGNoZWNrIEFGVEVSIHNjYWxpbmcgJHYyIHRvIHByZXZlbnQgZG91YmxlLWNvdW50aW5nIGNvcm5lci1jYXNlXG4gICRkb3VibGUtc3RyYW5kZWQ6ICR2MiA+ICR2MTtcblxuICBAaWYgJGluY3JlbWVudCA+IDAge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGluY3JlbWVudCB7XG4gICAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCBhbmQgKCR2MSAqICRyYXRpbykgPiAkdjIge1xuICAgICAgICAkdmFsdWU6ICR2MjtcbiAgICAgICAgJHYyOiAoJHYyICogJHJhdGlvKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdjE6ICgkdjEgKiAkcmF0aW8pO1xuICAgICAgICAkdmFsdWU6ICR2MTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJGluY3JlbWVudCA8IDAge1xuICAgIC8vIGFkanVzdCAkdjIgdG8ganVzdCBiZWxvdyAkdjFcbiAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCB7XG4gICAgICAkdjI6ICgkdjIgLyAkcmF0aW8pO1xuICAgIH1cblxuICAgIEBmb3IgJGkgZnJvbSAkaW5jcmVtZW50IHRocm91Z2ggLTEge1xuICAgICAgQGlmICRkb3VibGUtc3RyYW5kZWQgYW5kICgkdjEgLyAkcmF0aW8pIDwgJHYyIHtcbiAgICAgICAgJHZhbHVlOiAkdjI7XG4gICAgICAgICR2MjogKCR2MiAvICRyYXRpbyk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHYxOiAoJHYxIC8gJHJhdGlvKTtcbiAgICAgICAgJHZhbHVlOiAkdjE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLAoJCSIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBIZWxwZXIgZnVuY3Rpb24gZm9yIHN0ci10by1udW0gZm4uXG4vLyBTb3VyY2U6IGh0dHA6Ly9zYXNzbWVpc3Rlci5jb20vZ2lzdC85NjQ3NDA4XG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AZnVuY3Rpb24gX2NvbnZlcnQtdW5pdHMoJG51bWJlciwgJHVuaXQpIHtcbiAgJHN0cmluZ3M6IFwicHhcIiwgXCJjbVwiLCBcIm1tXCIsIFwiJVwiLCBcImNoXCIsIFwicGljYVwiLCBcImluXCIsIFwiZW1cIiwgXCJyZW1cIiwgXCJwdFwiLCBcInBjXCIsIFwiZXhcIiwgXCJ2d1wiLCBcInZoXCIsIFwidm1pblwiLCBcInZtYXhcIiwgXCJkZWdcIiwgXCJyYWRcIiwgXCJncmFkXCIsIFwidHVyblwiO1xuICAkdW5pdHM6ICAgMXB4LCAxY20sIDFtbSwgMSUsIDFjaCwgMXBpY2EsIDFpbiwgMWVtLCAxcmVtLCAxcHQsIDFwYywgMWV4LCAxdncsIDF2aCwgMXZtaW4sIDF2bWF4LCAxZGVnLCAxcmFkLCAxZ3JhZCwgMXR1cm47XG4gICRpbmRleDogaW5kZXgoJHN0cmluZ3MsICR1bml0KTtcblxuICBAaWYgbm90ICRpbmRleCB7XG4gICAgQHdhcm4gXCJVbmtub3duIHVuaXQgYCN7JHVuaXR9YC5cIjtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJG51bWJlcikgIT0gXCJudW1iZXJcIiB7XG4gICAgQHdhcm4gXCJgI3skbnVtYmVyfSBpcyBub3QgYSBudW1iZXJgXCI7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIEByZXR1cm4gJG51bWJlciAqIG50aCgkdW5pdHMsICRpbmRleCk7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBEaXJlY3Rpb25hbC1wcm9wZXJ0eSBtaXhpbnMgYXJlIHNob3J0aGFuZHMgZm9yIHdyaXRpbmcgcHJvcGVydGllcyBsaWtlIHRoZSBmb2xsb3dpbmdcbi8vL1xuLy8vIEBpZ25vcmUgWW91IGNhbiBhbHNvIHVzZSBgZmFsc2VgIGluc3RlYWQgb2YgYG51bGxgLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkdmFsc1xuLy8vICAgTGlzdCBvZiBkaXJlY3Rpb25hbCB2YWx1ZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItc3R5bGUoZG90dGVkIG51bGwpO1xuLy8vICAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCAwIDEwcHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBkb3R0ZWQ7XG4vLy8gICAgIGJvcmRlci10b3Atc3R5bGU6IGRvdHRlZDtcbi8vLyAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbi8vLyAgICAgbWFyZ2luLWxlZnQ6IDA7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnMtZmFsc3lcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9XG5cbkBmdW5jdGlvbiBjb2xsYXBzZS1kaXJlY3Rpb25hbHMoJHZhbHMpIHtcbiAgJG91dHB1dDogbnVsbDtcblxuICAkYTogbnRoKCR2YWxzLCAxKTtcbiAgJGI6IGlmKGxlbmd0aCgkdmFscykgPCAyLCAkYSwgbnRoKCR2YWxzLCAyKSk7XG4gICRjOiBpZihsZW5ndGgoJHZhbHMpIDwgMywgJGEsIG50aCgkdmFscywgMykpO1xuICAkZDogaWYobGVuZ3RoKCR2YWxzKSA8IDIsICRhLCBudGgoJHZhbHMsIGlmKGxlbmd0aCgkdmFscykgPCA0LCAyLCA0KSkpO1xuXG4gIEBpZiAkYSA9PSAwIHsgJGE6IDA7IH1cbiAgQGlmICRiID09IDAgeyAkYjogMDsgfVxuICBAaWYgJGMgPT0gMCB7ICRjOiAwOyB9XG4gIEBpZiAkZCA9PSAwIHsgJGQ6IDA7IH1cblxuICBAaWYgJGEgPT0gJGIgYW5kICRhID09ICRjIGFuZCAkYSA9PSAkZCB7ICRvdXRwdXQ6ICRhOyAgICAgICAgICB9XG4gIEBlbHNlIGlmICRhID09ICRjIGFuZCAkYiA9PSAkZCAgICAgICAgIHsgJG91dHB1dDogJGEgJGI7ICAgICAgIH1cbiAgQGVsc2UgaWYgJGIgPT0gJGQgICAgICAgICAgICAgICAgICAgICAgeyAkb3V0cHV0OiAkYSAkYiAkYzsgICAgfVxuICBAZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICRvdXRwdXQ6ICRhICRiICRjICRkOyB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuXG4vLy8gT3V0cHV0IGRpcmVjdGlvbmFsIHByb3BlcnRpZXMsIGZvciBpbnN0YW5jZSBgbWFyZ2luYC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcmVcbi8vLyAgIFByZWZpeCB0byB1c2Vcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN1ZlxuLy8vICAgU3VmZml4IHRvIHVzZVxuLy8vIEBwYXJhbSB7TGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgdmFsdWVzXG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbGxhcHNlLWRpcmVjdGlvbmFsc1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnMtZmFsc3lcblxuQG1peGluIGRpcmVjdGlvbmFsLXByb3BlcnR5KCRwcmUsICRzdWYsICR2YWxzKSB7XG4gIC8vIFByb3BlcnR5IE5hbWVzXG4gICR0b3A6ICAgICRwcmUgKyBcIi10b3BcIiAgICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRib3R0b206ICRwcmUgKyBcIi1ib3R0b21cIiArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRsZWZ0OiAgICRwcmUgKyBcIi1sZWZ0XCIgICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRyaWdodDogICRwcmUgKyBcIi1yaWdodFwiICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRhbGw6ICAgICRwcmUgKyAgICAgICAgICAgICBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuXG4gICR2YWxzOiBjb2xsYXBzZS1kaXJlY3Rpb25hbHMoJHZhbHMpO1xuXG4gIEBpZiBjb250YWlucy1mYWxzeSgkdmFscykge1xuICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skdG9wfTogbnRoKCR2YWxzLCAxKTsgfVxuXG4gICAgQGlmIGxlbmd0aCgkdmFscykgPT0gMSB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JHJpZ2h0fTogbnRoKCR2YWxzLCAxKTsgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRyaWdodH06IG50aCgkdmFscywgMik7IH1cbiAgICB9XG5cbiAgICBAaWYgbGVuZ3RoKCR2YWxzKSA9PSAyIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAxKTsgfVxuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDIpOyB9XG4gICAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHMpID09IDMge1xuICAgICAgQGlmIG50aCgkdmFscywgMykgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDMpOyB9XG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgMik7IH1cbiAgICB9IEBlbHNlIGlmIGxlbmd0aCgkdmFscykgPT0gNCB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAzKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMyk7IH1cbiAgICAgIEBpZiBudGgoJHZhbHMsIDQpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCA0KTsgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgI3skYWxsfTogJHZhbHM7XG4gIH1cbn1cbiIsCgkJIi8vIFVzZWQgZm9yIGNyZWF0aW5nIHRoZSBzb3VyY2Ugc3RyaW5nIGZvciBmb250cyB1c2luZyBAZm9udC1mYWNlXG4vLyBSZWZlcmVuY2U6IGh0dHA6Ly9nb28uZ2wvUnUxYktQXG5cbkBmdW5jdGlvbiBmb250LXVybC1wcmVmaXhlcigkYXNzZXQtcGlwZWxpbmUpIHtcbiAgQGlmICRhc3NldC1waXBlbGluZSA9PSB0cnVlIHtcbiAgICBAcmV0dXJuIGZvbnQtdXJsO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIHVybDtcbiAgfVxufVxuXG5AZnVuY3Rpb24gZm9udC1zb3VyY2UtZGVjbGFyYXRpb24oXG4gICRmb250LWZhbWlseSxcbiAgJGZpbGUtcGF0aCxcbiAgJGFzc2V0LXBpcGVsaW5lLFxuICAkZmlsZS1mb3JtYXRzLFxuICAkZm9udC11cmwpIHtcblxuICAkc3JjOiAoKTtcblxuICAkZm9ybWF0cy1tYXA6IChcbiAgICBlb3Q6ICAgXCIjeyRmaWxlLXBhdGh9LmVvdD8jaWVmaXhcIiBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcbiAgICB3b2ZmMjogXCIjeyRmaWxlLXBhdGh9LndvZmYyXCIgZm9ybWF0KFwid29mZjJcIiksXG4gICAgd29mZjogIFwiI3skZmlsZS1wYXRofS53b2ZmXCIgZm9ybWF0KFwid29mZlwiKSxcbiAgICB0dGY6ICAgXCIjeyRmaWxlLXBhdGh9LnR0ZlwiIGZvcm1hdChcInRydWV0eXBlXCIpLFxuICAgIHN2ZzogICBcIiN7JGZpbGUtcGF0aH0uc3ZnIyN7JGZvbnQtZmFtaWx5fVwiIGZvcm1hdChcInN2Z1wiKVxuICApO1xuXG4gIEBlYWNoICRrZXksICR2YWx1ZXMgaW4gJGZvcm1hdHMtbWFwIHtcbiAgICBAaWYgY29udGFpbnMoJGZpbGUtZm9ybWF0cywgJGtleSkge1xuICAgICAgJGZpbGUtcGF0aDogbnRoKCR2YWx1ZXMsIDEpO1xuICAgICAgJGZvbnQtZm9ybWF0OiBudGgoJHZhbHVlcywgMik7XG5cbiAgICAgIEBpZiAkYXNzZXQtcGlwZWxpbmUgPT0gdHJ1ZSB7XG4gICAgICAgICRzcmM6IGFwcGVuZCgkc3JjLCBmb250LXVybCgkZmlsZS1wYXRoKSAkZm9udC1mb3JtYXQsIGNvbW1hKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkc3JjOiBhcHBlbmQoJHNyYywgdXJsKCRmaWxlLXBhdGgpICRmb250LWZvcm1hdCwgY29tbWEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHNyYztcbn1cbiIsCgkJIkBmdW5jdGlvbiBfZ3JhZGllbnQtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtdHlwZSwgJGdyYWRpZW50LXBvc2l0aW9ucykge1xuICBAaWYgJGdyYWRpZW50LXBvc2l0aW9uc1xuICBhbmQgKCRncmFkaWVudC10eXBlID09IGxpbmVhcilcbiAgYW5kICh0eXBlLW9mKCRncmFkaWVudC1wb3NpdGlvbnMpICE9IGNvbG9yKSB7XG4gICAgJGdyYWRpZW50LXBvc2l0aW9uczogX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC1wb3NpdGlvbnMpO1xuICB9XG4gIEBlbHNlIGlmICRncmFkaWVudC1wb3NpdGlvbnNcbiAgYW5kICgkZ3JhZGllbnQtdHlwZSA9PSByYWRpYWwpXG4gIGFuZCAodHlwZS1vZigkZ3JhZGllbnQtcG9zaXRpb25zKSAhPSBjb2xvcikge1xuICAgICRncmFkaWVudC1wb3NpdGlvbnM6IF9yYWRpYWwtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtcG9zaXRpb25zKTtcbiAgfVxuICBAcmV0dXJuICRncmFkaWVudC1wb3NpdGlvbnM7XG59XG4iLAoJCSIvLyBQcml2YXRlIGZ1bmN0aW9uIGZvciBsaW5lYXItZ3JhZGllbnQtcGFyc2VyXG5AZnVuY3Rpb24gX2xpbmVhci1hbmdsZS1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4KSB7XG4gICRvZmZzZXQ6IG51bGw7XG4gICR1bml0LXNob3J0OiAgc3RyLXNsaWNlKCRmaXJzdC12YWwsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkgLSAyLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcbiAgJHVuaXQtbG9uZzogICBzdHItc2xpY2UoJGZpcnN0LXZhbCwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSAtIDMsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuXG4gIEBpZiAoJHVuaXQtbG9uZyA9PSBcImdyYWRcIikgb3JcbiAgICAgICgkdW5pdC1sb25nID09IFwidHVyblwiKSB7XG4gICAgJG9mZnNldDogaWYoJHVuaXQtbG9uZyA9PSBcImdyYWRcIiwgLTEwMGdyYWQgKiAzLCAtMC43NXR1cm4pO1xuICB9XG5cbiAgQGVsc2UgaWYgKCR1bml0LXNob3J0ID09IFwiZGVnXCIpIG9yXG4gICAgICAgICAgICgkdW5pdC1zaG9ydCA9PSBcInJhZFwiKSB7XG4gICAgJG9mZnNldDogaWYoJHVuaXQtc2hvcnQgPT0gXCJkZWdcIiwgLTkwICogMywgMS42cmFkKTtcbiAgfVxuXG4gIEBpZiAkb2Zmc2V0IHtcbiAgICAkbnVtOiBfc3RyLXRvLW51bSgkZmlyc3QtdmFsKTtcblxuICAgIEByZXR1cm4gKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRwcmVmaXggKyAoJG9mZnNldCAtICRudW0pICsgJHN1ZmZpeCxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cbn1cbiIsCgkJIkBmdW5jdGlvbiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcigkaW1hZ2UpIHtcbiAgJGltYWdlOiB1bnF1b3RlKCRpbWFnZSk7XG4gICRncmFkaWVudHM6ICgpO1xuICAkc3RhcnQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiKFwiKTtcbiAgJGVuZDogc3RyLWluZGV4KCRpbWFnZSwgXCIsXCIpO1xuICAkZmlyc3QtdmFsOiBzdHItc2xpY2UoJGltYWdlLCAkc3RhcnQgKyAxLCAkZW5kIC0gMSk7XG5cbiAgJHByZWZpeDogc3RyLXNsaWNlKCRpbWFnZSwgMSwgJHN0YXJ0KTtcbiAgJHN1ZmZpeDogc3RyLXNsaWNlKCRpbWFnZSwgJGVuZCwgc3RyLWxlbmd0aCgkaW1hZ2UpKTtcblxuICAkaGFzLW11bHRpcGxlLXZhbHM6IHN0ci1pbmRleCgkZmlyc3QtdmFsLCBcIiBcIik7XG4gICRoYXMtc2luZ2xlLXBvc2l0aW9uOiB1bnF1b3RlKF9wb3NpdGlvbi1mbGlwcGVyKCRmaXJzdC12YWwpICsgXCJcIik7XG4gICRoYXMtYW5nbGU6IGlzLW51bWJlcihzdHItc2xpY2UoJGZpcnN0LXZhbCwgMSwgMSkpO1xuXG4gIEBpZiAkaGFzLW11bHRpcGxlLXZhbHMge1xuICAgICRncmFkaWVudHM6IF9saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCwgJGhhcy1tdWx0aXBsZS12YWxzKTtcbiAgfVxuXG4gIEBlbHNlIGlmICRoYXMtc2luZ2xlLXBvc2l0aW9uICE9IFwiXCIge1xuICAgICRwb3M6IHVucXVvdGUoJGhhcy1zaW5nbGUtcG9zaXRpb24gKyBcIlwiKTtcblxuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXG4gICAgICBzcGVjLWltYWdlOiAkcHJlZml4ICsgXCJ0byBcIiArICRwb3MgKyAkc3VmZml4XG4gICAgKTtcbiAgfVxuXG4gIEBlbHNlIGlmICRoYXMtYW5nbGUge1xuICAgIC8vIFJvdGF0ZSBkZWdyZWUgZm9yIHdlYmtpdFxuICAgICRncmFkaWVudHM6IF9saW5lYXItYW5nbGUtcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCk7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cblxuICBAcmV0dXJuICRncmFkaWVudHM7XG59XG4iLAoJCSJAZnVuY3Rpb24gX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRwb3MpIHtcbiAgJHR5cGU6IHR5cGUtb2YobnRoKCRwb3MsIDEpKTtcbiAgJHNwZWM6IG51bGw7XG4gICRkZWdyZWU6IG51bGw7XG4gICRzaWRlOiBudWxsO1xuICAkY29ybmVyOiBudWxsO1xuICAkbGVuZ3RoOiBsZW5ndGgoJHBvcyk7XG4gIC8vIFBhcnNlIFNpZGUgYW5kIGNvcm5lciBwb3NpdGlvbnNcbiAgQGlmICgkbGVuZ3RoID4gMSkge1xuICAgIEBpZiBudGgoJHBvcywgMSkgPT0gXCJ0b1wiIHsgLy8gTmV3ZXIgc3ludGF4XG4gICAgICAkc2lkZTogbnRoKCRwb3MsIDIpO1xuXG4gICAgICBAaWYgJGxlbmd0aCA9PSAyIHsgLy8gZWcuIHRvIHRvcFxuICAgICAgICAvLyBTd2FwIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuICAgICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcihudGgoJHBvcywgMikpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJGxlbmd0aCA9PSAzIHsgLy8gZWcuIHRvIHRvcCBsZWZ0XG4gICAgICAgICRjb3JuZXI6IG50aCgkcG9zLCAzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJGxlbmd0aCA9PSAyIHsgLy8gT2xkZXIgc3ludGF4IChcInRvcCBsZWZ0XCIpXG4gICAgICAkc2lkZTogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDEpKTtcbiAgICAgICRjb3JuZXI6IF9wb3NpdGlvbi1mbGlwcGVyKG50aCgkcG9zLCAyKSk7XG4gICAgfVxuXG4gICAgQGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImxlZnQgdG9wXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInRvcCBsZWZ0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwicmlnaHQgdG9wXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInRvcCByaWdodFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInJpZ2h0IGJvdHRvbVwiKSBvciAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJib3R0b20gcmlnaHRcIikge1xuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJsZWZ0IGJvdHRvbVwiKSBvciAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJib3R0b20gbGVmdFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgICRzcGVjOiB0byAkc2lkZSAkY29ybmVyO1xuICB9XG4gIEBlbHNlIGlmICRsZW5ndGggPT0gMSB7XG4gICAgLy8gU3dhcCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICBAaWYgJHR5cGUgPT0gc3RyaW5nIHtcbiAgICAgICRkZWdyZWU6ICRwb3M7XG4gICAgICAkc3BlYzogdG8gX3Bvc2l0aW9uLWZsaXBwZXIoJHBvcyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRkZWdyZWU6IC0yNzAgLSAkcG9zOyAvL3JvdGF0ZSB0aGUgZ3JhZGllbnQgb3Bwb3NpdGUgZnJvbSBzcGVjXG4gICAgICAkc3BlYzogJHBvcztcbiAgICB9XG4gIH1cbiAgJGRlZ3JlZTogdW5xdW90ZSgkZGVncmVlICsgXCIsXCIpO1xuICAkc3BlYzogICB1bnF1b3RlKCRzcGVjICsgXCIsXCIpO1xuICBAcmV0dXJuICRkZWdyZWUgJHNwZWM7XG59XG5cbkBmdW5jdGlvbiBfcG9zaXRpb24tZmxpcHBlcigkcG9zKSB7XG4gIEByZXR1cm4gaWYoJHBvcyA9PSBsZWZ0LCByaWdodCwgbnVsbClcbiAgICAgICAgIGlmKCRwb3MgPT0gcmlnaHQsIGxlZnQsIG51bGwpXG4gICAgICAgICBpZigkcG9zID09IHRvcCwgYm90dG9tLCBudWxsKVxuICAgICAgICAgaWYoJHBvcyA9PSBib3R0b20sIHRvcCwgbnVsbCk7XG59XG4iLAoJCSIvLyBQcml2YXRlIGZ1bmN0aW9uIGZvciBsaW5lYXItZ3JhZGllbnQtcGFyc2VyXG5AZnVuY3Rpb24gX2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4LCAkaGFzLW11bHRpcGxlLXZhbHMpIHtcbiAgJHZhbC0xOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgMSwgJGhhcy1tdWx0aXBsZS12YWxzIC0gMSk7XG4gICR2YWwtMjogc3RyLXNsaWNlKCRmaXJzdC12YWwsICRoYXMtbXVsdGlwbGUtdmFscyArIDEsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuICAkdmFsLTM6IG51bGw7XG4gICRoYXMtdmFsLTM6IHN0ci1pbmRleCgkdmFsLTIsIFwiIFwiKTtcblxuICBAaWYgJGhhcy12YWwtMyB7XG4gICAgJHZhbC0zOiBzdHItc2xpY2UoJHZhbC0yLCAkaGFzLXZhbC0zICsgMSwgc3RyLWxlbmd0aCgkdmFsLTIpKTtcbiAgICAkdmFsLTI6IHN0ci1zbGljZSgkdmFsLTIsIDEsICRoYXMtdmFsLTMgLSAxKTtcbiAgfVxuXG4gICRwb3M6IF9wb3NpdGlvbi1mbGlwcGVyKCR2YWwtMSkgX3Bvc2l0aW9uLWZsaXBwZXIoJHZhbC0yKSBfcG9zaXRpb24tZmxpcHBlcigkdmFsLTMpO1xuICAkcG9zOiB1bnF1b3RlKCRwb3MgKyBcIlwiKTtcblxuICAvLyBVc2Ugb2xkIHNwZWMgZm9yIHdlYmtpdFxuICBAaWYgJHZhbC0xID09IFwidG9cIiB7XG4gICAgQHJldHVybiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBjb2RlIHVwIHRvIHNwZWNcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRwcmVmaXggKyBcInRvIFwiICsgJHBvcyArICRzdWZmaXhcbiAgICApO1xuICB9XG59XG4iLAoJCSJAZnVuY3Rpb24gX3JhZGlhbC1hcmctcGFyc2VyKCRnMSwgJGcyLCAkcG9zLCAkc2hhcGUtc2l6ZSkge1xuICBAZWFjaCAkdmFsdWUgaW4gJGcxLCAkZzIge1xuICAgICRmaXJzdC12YWw6IG50aCgkdmFsdWUsIDEpO1xuICAgICRwb3MtdHlwZTogIHR5cGUtb2YoJGZpcnN0LXZhbCk7XG4gICAgJHNwZWMtYXQtaW5kZXg6IG51bGw7XG5cbiAgICAvLyBEZXRlcm1pbmUgaWYgc3BlYyB3YXMgcGFzc2VkIHRvIG1peGluXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBsaXN0IHtcbiAgICAgICRzcGVjLWF0LWluZGV4OiBpZihpbmRleCgkdmFsdWUsIGF0KSwgaW5kZXgoJHZhbHVlLCBhdCksIGZhbHNlKTtcbiAgICB9XG4gICAgQGlmICRzcGVjLWF0LWluZGV4IHtcbiAgICAgIEBpZiAkc3BlYy1hdC1pbmRleCA+IDEge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICgkc3BlYy1hdC1pbmRleCAtIDEpIHtcbiAgICAgICAgICAkc2hhcGUtc2l6ZTogJHNoYXBlLXNpemUgbnRoKCR2YWx1ZSwgJGkpO1xuICAgICAgICB9XG4gICAgICAgIEBmb3IgJGkgZnJvbSAoJHNwZWMtYXQtaW5kZXggKyAxKSB0aHJvdWdoIGxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICAgICAkcG9zOiAkcG9zIG50aCgkdmFsdWUsICRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHNwZWMtYXQtaW5kZXggPT0gMSB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAoJHNwZWMtYXQtaW5kZXggKyAxKSB0aHJvdWdoIGxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICAgICAkcG9zOiAkcG9zIG50aCgkdmFsdWUsICRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJGcxOiBudWxsO1xuICAgIH1cblxuICAgIC8vIElmIG5vdCBzcGVjIGNhbGN1bGF0ZSBjb3JyZWN0IHZhbHVlc1xuICAgIEBlbHNlIHtcbiAgICAgIEBpZiAoJHBvcy10eXBlICE9IGNvbG9yKSBvciAoJGZpcnN0LXZhbCAhPSBcInRyYW5zcGFyZW50XCIpIHtcbiAgICAgICAgQGlmICgkcG9zLXR5cGUgPT0gbnVtYmVyKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNlbnRlclwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcInRvcFwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcInJpZ2h0XCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiYm90dG9tXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwibGVmdFwiKSB7XG5cbiAgICAgICAgICAkcG9zOiAkdmFsdWU7XG5cbiAgICAgICAgICBAaWYgJHBvcyA9PSAkZzEge1xuICAgICAgICAgICAgJGcxOiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlbHNlIGlmXG4gICAgICAgICAgICgkZmlyc3QtdmFsID09IFwiZWxsaXBzZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNpcmNsZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNsb3Nlc3Qtc2lkZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNsb3Nlc3QtY29ybmVyXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiZmFydGhlc3Qtc2lkZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImZhcnRoZXN0LWNvcm5lclwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNvbnRhaW5cIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjb3ZlclwiKSB7XG5cbiAgICAgICAgICAkc2hhcGUtc2l6ZTogJHZhbHVlO1xuXG4gICAgICAgICAgQGlmICR2YWx1ZSA9PSAkZzEge1xuICAgICAgICAgICAgJGcxOiBudWxsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlbHNlIGlmICR2YWx1ZSA9PSAkZzIge1xuICAgICAgICAgICAgJGcyOiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAcmV0dXJuICRnMSwgJGcyLCAkcG9zLCAkc2hhcGUtc2l6ZTtcbn1cbiIsCgkJIkBmdW5jdGlvbiBfcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvcykge1xuICAkc2hhcGUtc2l6ZTogbnRoKCRncmFkaWVudC1wb3MsIDEpO1xuICAkcG9zOiAgICAgICAgbnRoKCRncmFkaWVudC1wb3MsIDIpO1xuICAkc2hhcGUtc2l6ZS1zcGVjOiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSk7XG5cbiAgJHByZS1zcGVjOiB1bnF1b3RlKGlmKCRwb3MsIFwiI3skcG9zfSwgXCIsIG51bGwpKVxuICAgICAgICAgICAgIHVucXVvdGUoaWYoJHNoYXBlLXNpemUsIFwiI3skc2hhcGUtc2l6ZX0sXCIsIG51bGwpKTtcbiAgJHBvcy1zcGVjOiBpZigkcG9zLCBcImF0ICN7JHBvc31cIiwgbnVsbCk7XG5cbiAgJHNwZWM6IFwiI3skc2hhcGUtc2l6ZS1zcGVjfSAjeyRwb3Mtc3BlY31cIjtcblxuICAvLyBBZGQgY29tbWFcbiAgQGlmICgkc3BlYyAhPSBcIiAgXCIpIHtcbiAgICAkc3BlYzogXCIjeyRzcGVjfSxcIjtcbiAgfVxuXG4gIEByZXR1cm4gJHByZS1zcGVjICRzcGVjO1xufVxuIiwKCQkiQGZ1bmN0aW9uIF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSkge1xuICAkaW1hZ2U6IHVucXVvdGUoJGltYWdlKTtcbiAgJGdyYWRpZW50czogKCk7XG4gICRzdGFydDogc3RyLWluZGV4KCRpbWFnZSwgXCIoXCIpO1xuICAkZW5kOiBzdHItaW5kZXgoJGltYWdlLCBcIixcIik7XG4gICRmaXJzdC12YWw6IHN0ci1zbGljZSgkaW1hZ2UsICRzdGFydCArIDEsICRlbmQgLSAxKTtcblxuICAkcHJlZml4OiBzdHItc2xpY2UoJGltYWdlLCAxLCAkc3RhcnQpO1xuICAkc3VmZml4OiBzdHItc2xpY2UoJGltYWdlLCAkZW5kLCBzdHItbGVuZ3RoKCRpbWFnZSkpO1xuXG4gICRpcy1zcGVjLXN5bnRheDogc3RyLWluZGV4KCRmaXJzdC12YWwsIFwiYXRcIik7XG5cbiAgQGlmICRpcy1zcGVjLXN5bnRheCBhbmQgJGlzLXNwZWMtc3ludGF4ID4gMSB7XG4gICAgJGtleXdvcmQ6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAxLCAkaXMtc3BlYy1zeW50YXggLSAyKTtcbiAgICAkcG9zOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGlzLXNwZWMtc3ludGF4ICsgMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG4gICAgJHBvczogYXBwZW5kKCRwb3MsICRrZXl3b3JkLCBjb21tYSk7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEBlbHNlIGlmICRpcy1zcGVjLXN5bnRheCA9PSAxIHtcbiAgICAkcG9zOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGlzLXNwZWMtc3ludGF4ICsgMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEBlbHNlIGlmIHN0ci1pbmRleCgkaW1hZ2UsIFwiY292ZXJcIikgb3Igc3RyLWluZGV4KCRpbWFnZSwgXCJjb250YWluXCIpIHtcbiAgICBAd2FybiBcIlJhZGlhbC1ncmFkaWVudCBuZWVkcyB0byBiZSB1cGRhdGVkIHRvIGNvbmZvcm0gdG8gbGF0ZXN0IHNwZWMuXCI7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IG51bGwsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgQHJldHVybiAkZ3JhZGllbnRzO1xufVxuIiwKCQkiLy8gVXNlciBmb3IgbGluZWFyIGFuZCByYWRpYWwgZ3JhZGllbnRzIHdpdGhpbiBiYWNrZ3JvdW5kLWltYWdlIG9yIGJvcmRlci1pbWFnZSBwcm9wZXJ0aWVzXG5cbkBmdW5jdGlvbiBfcmVuZGVyLWdyYWRpZW50cygkZ3JhZGllbnQtcG9zaXRpb25zLCAkZ3JhZGllbnRzLCAkZ3JhZGllbnQtdHlwZSwgJHZlbmRvcjogZmFsc2UpIHtcbiAgJHByZS1zcGVjOiBudWxsO1xuICAkc3BlYzogbnVsbDtcbiAgJHZlbmRvci1ncmFkaWVudHM6IG51bGw7XG4gIEBpZiAkZ3JhZGllbnQtdHlwZSA9PSBsaW5lYXIge1xuICAgIEBpZiAkZ3JhZGllbnQtcG9zaXRpb25zIHtcbiAgICAgICRwcmUtc3BlYzogbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDEpO1xuICAgICAgJHNwZWM6ICAgICBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMik7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IHJhZGlhbCB7XG4gICAgJHByZS1zcGVjOiBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMSk7XG4gICAgJHNwZWM6ICAgICBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMik7XG4gIH1cblxuICBAaWYgJHZlbmRvciB7XG4gICAgJHZlbmRvci1ncmFkaWVudHM6IC0jeyR2ZW5kb3J9LSN7JGdyYWRpZW50LXR5cGV9LWdyYWRpZW50KCN7JHByZS1zcGVjfSAkZ3JhZGllbnRzKTtcbiAgfVxuICBAZWxzZSBpZiAkdmVuZG9yID09IGZhbHNlIHtcbiAgICAkdmVuZG9yLWdyYWRpZW50czogXCIjeyRncmFkaWVudC10eXBlfS1ncmFkaWVudCgjeyRzcGVjfSAjeyRncmFkaWVudHN9KVwiO1xuICAgICR2ZW5kb3ItZ3JhZGllbnRzOiB1bnF1b3RlKCR2ZW5kb3ItZ3JhZGllbnRzKTtcbiAgfVxuICBAcmV0dXJuICR2ZW5kb3ItZ3JhZGllbnRzO1xufVxuIiwKCQkiQGZ1bmN0aW9uIF9zaGFwZS1zaXplLXN0cmlwcGVyKCRzaGFwZS1zaXplKSB7XG4gICRzaGFwZS1zaXplLXNwZWM6IG51bGw7XG4gIEBlYWNoICR2YWx1ZSBpbiAkc2hhcGUtc2l6ZSB7XG4gICAgQGlmICgkdmFsdWUgPT0gXCJjb3ZlclwiKSBvciAoJHZhbHVlID09IFwiY29udGFpblwiKSB7XG4gICAgICAkdmFsdWU6IG51bGw7XG4gICAgfVxuICAgICRzaGFwZS1zaXplLXNwZWM6IFwiI3skc2hhcGUtc2l6ZS1zcGVjfSAjeyR2YWx1ZX1cIjtcbiAgfVxuICBAcmV0dXJuICRzaGFwZS1zaXplLXNwZWM7XG59XG4iLAoJCSIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBIZWxwZXIgZnVuY3Rpb24gZm9yIGxpbmVhci9yYWRpYWwtZ3JhZGllbnQtcGFyc2Vycy5cbi8vIFNvdXJjZTogaHR0cDovL3Nhc3NtZWlzdGVyLmNvbS9naXN0Lzk2NDc0MDhcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBmdW5jdGlvbiBfc3RyLXRvLW51bSgkc3RyaW5nKSB7XG4gIC8vIE1hdHJpY2VzXG4gICRzdHJpbmdzOiBcIjBcIiBcIjFcIiBcIjJcIiBcIjNcIiBcIjRcIiBcIjVcIiBcIjZcIiBcIjdcIiBcIjhcIiBcIjlcIjtcbiAgJG51bWJlcnM6ICAwICAgMSAgIDIgICAzICAgNCAgIDUgICA2ICAgNyAgIDggICA5O1xuXG4gIC8vIFJlc3VsdFxuICAkcmVzdWx0OiAwO1xuICAkZGl2aWRlcjogMDtcbiAgJG1pbnVzOiBmYWxzZTtcblxuICAvLyBMb29waW5nIHRocm91Z2ggYWxsIGNoYXJhY3RlcnNcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCRzdHJpbmcpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHN0cmluZywgJGksICRpKTtcbiAgICAkaW5kZXg6IGluZGV4KCRzdHJpbmdzLCAkY2hhcmFjdGVyKTtcblxuICAgIEBpZiAkY2hhcmFjdGVyID09IFwiLVwiIHtcbiAgICAgICRtaW51czogdHJ1ZTtcbiAgICB9XG5cbiAgICBAZWxzZSBpZiAkY2hhcmFjdGVyID09IFwiLlwiIHtcbiAgICAgICRkaXZpZGVyOiAxO1xuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiBub3QgJGluZGV4IHtcbiAgICAgICAgJHJlc3VsdDogaWYoJG1pbnVzLCAkcmVzdWx0ICogLTEsICRyZXN1bHQpO1xuICAgICAgICBAcmV0dXJuIF9jb252ZXJ0LXVuaXRzKCRyZXN1bHQsIHN0ci1zbGljZSgkc3RyaW5nLCAkaSkpO1xuICAgICAgfVxuXG4gICAgICAkbnVtYmVyOiBudGgoJG51bWJlcnMsICRpbmRleCk7XG5cbiAgICAgIEBpZiAkZGl2aWRlciA9PSAwIHtcbiAgICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSB7XG4gICAgICAgIC8vIE1vdmUgdGhlIGRlY2ltYWwgZG90IHRvIHRoZSBsZWZ0XG4gICAgICAgICRkaXZpZGVyOiAkZGl2aWRlciAqIDEwO1xuICAgICAgICAkbnVtYmVyOiAkbnVtYmVyIC8gJGRpdmlkZXI7XG4gICAgICB9XG5cbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAkbnVtYmVyO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuIGlmKCRtaW51cywgJHJlc3VsdCAqIC0xLCAkcmVzdWx0KTtcbn1cbiIsCgkJIi8vIGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtYW5pbWF0aW9ucy8jdGhlLWFuaW1hdGlvbi1uYW1lLXByb3BlcnR5LVxuLy8gRWFjaCBvZiB0aGVzZSBtaXhpbnMgc3VwcG9ydCBjb21tYSBzZXBhcmF0ZWQgbGlzdHMgb2YgdmFsdWVzLCB3aGljaCBhbGxvd3MgZGlmZmVyZW50IHRyYW5zaXRpb25zIGZvciBpbmRpdmlkdWFsIHByb3BlcnRpZXMgdG8gYmUgZGVzY3JpYmVkIGluIGEgc2luZ2xlIHN0eWxlIHJ1bGUuIEVhY2ggdmFsdWUgaW4gdGhlIGxpc3QgY29ycmVzcG9uZHMgdG8gdGhlIHZhbHVlIGF0IHRoYXQgc2FtZSBwb3NpdGlvbiBpbiB0aGUgb3RoZXIgcHJvcGVydGllcy5cblxuQG1peGluIGFuaW1hdGlvbigkYW5pbWF0aW9ucy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24sICRhbmltYXRpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLW5hbWUoJG5hbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1uYW1lLCAkbmFtZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tZHVyYXRpb24oJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1kdXJhdGlvbiwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbigkbW90aW9ucy4uLikge1xuICAvLyBlYXNlIHwgbGluZWFyIHwgZWFzZS1pbiB8IGVhc2Utb3V0IHwgZWFzZS1pbi1vdXRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbiwgJG1vdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50KCR2YWx1ZXMuLi4pIHtcbiAgLy8gaW5maW5pdGUgfCA8bnVtYmVyPlxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCAkdmFsdWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLWRpcmVjdGlvbigkZGlyZWN0aW9ucy4uLikge1xuICAvLyBub3JtYWwgfCBhbHRlcm5hdGVcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWRpcmVjdGlvbiwgJGRpcmVjdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tcGxheS1zdGF0ZSgkc3RhdGVzLi4uKSB7XG4gIC8vIHJ1bm5pbmcgfCBwYXVzZWRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLXBsYXktc3RhdGUsICRzdGF0ZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tZGVsYXkoJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1kZWxheSwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLWZpbGwtbW9kZSgkbW9kZXMuLi4pIHtcbiAgLy8gbm9uZSB8IGZvcndhcmRzIHwgYmFja3dhcmRzIHwgYm90aFxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZmlsbC1tb2RlLCAkbW9kZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLAoJCSJAbWl4aW4gYXBwZWFyYW5jZSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYXBwZWFyYW5jZSwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG59XG4iLAoJCSJAbWl4aW4gYmFja2ZhY2UtdmlzaWJpbGl0eSgkdmlzaWJpbGl0eSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihiYWNrZmFjZS12aXNpYmlsaXR5LCAkdmlzaWJpbGl0eSwgd2Via2l0IHNwZWMpO1xufVxuIiwKCQkiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gQmFja2dyb3VuZCBwcm9wZXJ0eSBmb3IgYWRkaW5nIG11bHRpcGxlIGJhY2tncm91bmRzIHVzaW5nIHNob3J0aGFuZFxuLy8gbm90YXRpb24uXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5cbkBtaXhpbiBiYWNrZ3JvdW5kKCRiYWNrZ3JvdW5kcy4uLikge1xuICAkd2Via2l0LWJhY2tncm91bmRzOiAoKTtcbiAgJHNwZWMtYmFja2dyb3VuZHM6ICgpO1xuXG4gIEBlYWNoICRiYWNrZ3JvdW5kIGluICRiYWNrZ3JvdW5kcyB7XG4gICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAoKTtcbiAgICAkc3BlYy1iYWNrZ3JvdW5kOiAoKTtcbiAgICAkYmFja2dyb3VuZC10eXBlOiB0eXBlLW9mKCRiYWNrZ3JvdW5kKTtcblxuICAgIEBpZiAkYmFja2dyb3VuZC10eXBlID09IHN0cmluZyBvciAkYmFja2dyb3VuZC10eXBlID09IGxpc3Qge1xuICAgICAgJGJhY2tncm91bmQtc3RyOiBpZigkYmFja2dyb3VuZC10eXBlID09IGxpc3QsIG50aCgkYmFja2dyb3VuZCwgMSksICRiYWNrZ3JvdW5kKTtcblxuICAgICAgJHVybC1zdHI6ICAgICAgIHN0ci1zbGljZSgkYmFja2dyb3VuZC1zdHIsIDEsIDMpO1xuICAgICAgJGdyYWRpZW50LXR5cGU6IHN0ci1zbGljZSgkYmFja2dyb3VuZC1zdHIsIDEsIDYpO1xuXG4gICAgICBAaWYgJHVybC1zdHIgPT0gXCJ1cmxcIiB7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgJGJhY2tncm91bmQ7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcihcIiN7JGJhY2tncm91bmR9XCIpO1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoXCIjeyRiYWNrZ3JvdW5kfVwiKTtcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2Uge1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgICRiYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgICRiYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICR3ZWJraXQtYmFja2dyb3VuZHM6IGFwcGVuZCgkd2Via2l0LWJhY2tncm91bmRzLCAkd2Via2l0LWJhY2tncm91bmQsIGNvbW1hKTtcbiAgICAkc3BlYy1iYWNrZ3JvdW5kczogICBhcHBlbmQoJHNwZWMtYmFja2dyb3VuZHMsICAgJHNwZWMtYmFja2dyb3VuZCwgICBjb21tYSk7XG4gIH1cblxuICBiYWNrZ3JvdW5kOiAkd2Via2l0LWJhY2tncm91bmRzO1xuICBiYWNrZ3JvdW5kOiAkc3BlYy1iYWNrZ3JvdW5kcztcbn1cbiIsCgkJIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEJhY2tncm91bmQtaW1hZ2UgcHJvcGVydHkgZm9yIGFkZGluZyBtdWx0aXBsZSBiYWNrZ3JvdW5kIGltYWdlcyB3aXRoXG4vLyBncmFkaWVudHMsIG9yIGZvciBzdHJpbmdpbmcgbXVsdGlwbGUgZ3JhZGllbnRzIHRvZ2V0aGVyLlxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuXG5AbWl4aW4gYmFja2dyb3VuZC1pbWFnZSgkaW1hZ2VzLi4uKSB7XG4gICR3ZWJraXQtaW1hZ2VzOiAoKTtcbiAgJHNwZWMtaW1hZ2VzOiAoKTtcblxuICBAZWFjaCAkaW1hZ2UgaW4gJGltYWdlcyB7XG4gICAgJHdlYmtpdC1pbWFnZTogKCk7XG4gICAgJHNwZWMtaW1hZ2U6ICgpO1xuXG4gICAgQGlmICh0eXBlLW9mKCRpbWFnZSkgPT0gc3RyaW5nKSB7XG4gICAgICAkdXJsLXN0cjogICAgICAgc3RyLXNsaWNlKCRpbWFnZSwgMSwgMyk7XG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRpbWFnZSwgMSwgNik7XG5cbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcbiAgICAgICAgJHdlYmtpdC1pbWFnZTogJGltYWdlO1xuICAgICAgICAkc3BlYy1pbWFnZTogICAkaW1hZ2U7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcigkaW1hZ2UpO1xuICAgICAgICAkd2Via2l0LWltYWdlOiAgbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1pbWFnZTogICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJyYWRpYWxcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSk7XG4gICAgICAgICR3ZWJraXQtaW1hZ2U6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtaW1hZ2U6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAkd2Via2l0LWltYWdlczogYXBwZW5kKCR3ZWJraXQtaW1hZ2VzLCAkd2Via2l0LWltYWdlLCBjb21tYSk7XG4gICAgJHNwZWMtaW1hZ2VzOiAgIGFwcGVuZCgkc3BlYy1pbWFnZXMsICAgJHNwZWMtaW1hZ2UsICAgY29tbWEpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogJHdlYmtpdC1pbWFnZXM7XG4gIGJhY2tncm91bmQtaW1hZ2U6ICRzcGVjLWltYWdlcztcbn1cbiIsCgkJIkBtaXhpbiBib3JkZXItaW1hZ2UoJGJvcmRlcnMuLi4pIHtcbiAgJHdlYmtpdC1ib3JkZXJzOiAoKTtcbiAgJHNwZWMtYm9yZGVyczogKCk7XG5cbiAgQGVhY2ggJGJvcmRlciBpbiAkYm9yZGVycyB7XG4gICAgJHdlYmtpdC1ib3JkZXI6ICgpO1xuICAgICRzcGVjLWJvcmRlcjogKCk7XG4gICAgJGJvcmRlci10eXBlOiB0eXBlLW9mKCRib3JkZXIpO1xuXG4gICAgQGlmICRib3JkZXItdHlwZSA9PSBzdHJpbmcgb3IgbGlzdCB7XG4gICAgICAkYm9yZGVyLXN0cjogaWYoJGJvcmRlci10eXBlID09IGxpc3QsIG50aCgkYm9yZGVyLCAxKSwgJGJvcmRlcik7XG5cbiAgICAgICR1cmwtc3RyOiAgICAgICBzdHItc2xpY2UoJGJvcmRlci1zdHIsIDEsIDMpO1xuICAgICAgJGdyYWRpZW50LXR5cGU6IHN0ci1zbGljZSgkYm9yZGVyLXN0ciwgMSwgNik7XG5cbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XG4gICAgICAgICRzcGVjLWJvcmRlcjogICAkYm9yZGVyO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcImxpbmVhclwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoXCIjeyRib3JkZXJ9XCIpO1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJyYWRpYWxcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKFwiI3skYm9yZGVyfVwiKTtcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYm9yZGVyOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XG4gICAgICAgICRzcGVjLWJvcmRlcjogICAkYm9yZGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICR3ZWJraXQtYm9yZGVyOiAkYm9yZGVyO1xuICAgICAgJHNwZWMtYm9yZGVyOiAgICRib3JkZXI7XG4gICAgfVxuXG4gICAgJHdlYmtpdC1ib3JkZXJzOiBhcHBlbmQoJHdlYmtpdC1ib3JkZXJzLCAkd2Via2l0LWJvcmRlciwgY29tbWEpO1xuICAgICRzcGVjLWJvcmRlcnM6ICAgYXBwZW5kKCRzcGVjLWJvcmRlcnMsICAgJHNwZWMtYm9yZGVyLCAgIGNvbW1hKTtcbiAgfVxuXG4gIC13ZWJraXQtYm9yZGVyLWltYWdlOiAkd2Via2l0LWJvcmRlcnM7XG4gICAgICAgICAgYm9yZGVyLWltYWdlOiAkc3BlYy1ib3JkZXJzO1xuICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG59XG5cbi8vRXhhbXBsZXM6XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UodXJsKFwiaW1hZ2UucG5nXCIpKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZSh1cmwoXCJpbWFnZS5wbmdcIikgMjAgc3RyZXRjaCk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKGxpbmVhci1ncmFkaWVudCg0NWRlZywgb3JhbmdlLCB5ZWxsb3cpIHN0cmV0Y2gpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKGxpbmVhci1ncmFkaWVudCg0NWRlZywgb3JhbmdlLCB5ZWxsb3cpIDIwIDMwIDQwIDUwIHN0cmV0Y2ggcm91bmQpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKHJhZGlhbC1ncmFkaWVudCh0b3AsIGNvdmVyLCBvcmFuZ2UsIHllbGxvdywgb3JhbmdlKSk7XG4iLAoJCSJAbWl4aW4gY2FsYygkcHJvcGVydHksICR2YWx1ZSkge1xuICAjeyRwcm9wZXJ0eX06IC13ZWJraXQtY2FsYygjeyR2YWx1ZX0pO1xuICAjeyRwcm9wZXJ0eX06IGNhbGMoI3skdmFsdWV9KTtcbn1cbiIsCgkJIkBtaXhpbiBjb2x1bW5zKCRhcmc6IGF1dG8pIHtcbiAgLy8gPGNvbHVtbi1jb3VudD4gfHwgPGNvbHVtbi13aWR0aD5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1ucywgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkaW50OiBhdXRvKSB7XG4gIC8vIGF1dG8gfHwgaW50ZWdlclxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tY291bnQsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCRsZW5ndGg6IG5vcm1hbCkge1xuICAvLyBub3JtYWwgfHwgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1nYXAsICRsZW5ndGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tZmlsbCgkYXJnOiBhdXRvKSB7XG4gIC8vIGF1dG8gfHwgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1maWxsLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXJ1bGUoJGFyZykge1xuICAvLyA8Ym9yZGVyLXdpZHRoPiB8fCA8Ym9yZGVyLXN0eWxlPiB8fCA8Y29sb3I+XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXJ1bGUtY29sb3IoJGNvbG9yKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLWNvbG9yLCAkY29sb3IsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZS1zdHlsZSgkc3R5bGU6IG5vbmUpIHtcbiAgLy8gbm9uZSB8IGhpZGRlbiB8IGRhc2hlZCB8IGRvdHRlZCB8IGRvdWJsZSB8IGdyb292ZSB8IGluc2V0IHwgaW5zZXQgfCBvdXRzZXQgfCByaWRnZSB8IHNvbGlkXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLXN0eWxlLCAkc3R5bGUsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZS13aWR0aCAoJHdpZHRoOiBub25lKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLXdpZHRoLCAkd2lkdGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tc3BhbigkYXJnOiBub25lKSB7XG4gIC8vIG5vbmUgfHwgYWxsXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1zcGFuLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXdpZHRoKCRsZW5ndGg6IGF1dG8pIHtcbiAgLy8gYXV0byB8fCBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXdpZHRoLCAkbGVuZ3RoLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwKCQkiQG1peGluIGZpbHRlcigkZnVuY3Rpb246IG5vbmUpIHtcbiAgLy8gPGZpbHRlci1mdW5jdGlvbj4gWzxmaWx0ZXItZnVuY3Rpb25dKiB8IG5vbmVcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmlsdGVyLCAkZnVuY3Rpb24sIHdlYmtpdCBzcGVjKTtcbn1cbiIsCgkJIi8vIENTUzMgRmxleGlibGUgQm94IE1vZGVsIGFuZCBwcm9wZXJ0eSBkZWZhdWx0c1xuXG4vLyBDdXN0b20gc2hvcnRoYW5kIG5vdGF0aW9uIGZvciBmbGV4Ym94XG5AbWl4aW4gYm94KCRvcmllbnQ6IGlubGluZS1heGlzLCAkcGFjazogc3RhcnQsICRhbGlnbjogc3RyZXRjaCkge1xuICBAaW5jbHVkZSBkaXNwbGF5LWJveDtcbiAgQGluY2x1ZGUgYm94LW9yaWVudCgkb3JpZW50KTtcbiAgQGluY2x1ZGUgYm94LXBhY2soJHBhY2spO1xuICBAaW5jbHVkZSBib3gtYWxpZ24oJGFsaWduKTtcbn1cblxuQG1peGluIGRpc3BsYXktYm94IHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLy8gSUUgMTBcbiAgZGlzcGxheTogYm94O1xufVxuXG5AbWl4aW4gYm94LW9yaWVudCgkb3JpZW50OiBpbmxpbmUtYXhpcykge1xuLy8gaG9yaXpvbnRhbHx2ZXJ0aWNhbHxpbmxpbmUtYXhpc3xibG9jay1heGlzfGluaGVyaXRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yaWVudCwgJG9yaWVudCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGJveC1wYWNrKCRwYWNrOiBzdGFydCkge1xuLy8gc3RhcnR8ZW5kfGNlbnRlcnxqdXN0aWZ5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1wYWNrLCAkcGFjaywgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtcGFjazogJHBhY2s7IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtYWxpZ24oJGFsaWduOiBzdHJldGNoKSB7XG4vLyBzdGFydHxlbmR8Y2VudGVyfGJhc2VsaW5lfHN0cmV0Y2hcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWFsaWduLCAkYWxpZ24sIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LWFsaWduOiAkYWxpZ247IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtZGlyZWN0aW9uKCRkaXJlY3Rpb246IG5vcm1hbCkge1xuLy8gbm9ybWFsfHJldmVyc2V8aW5oZXJpdFxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZGlyZWN0aW9uLCAkZGlyZWN0aW9uLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtbGluZXMoJGxpbmVzOiBzaW5nbGUpIHtcbi8vIHNpbmdsZXxtdWx0aXBsZVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtbGluZXMsICRsaW5lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGJveC1vcmRpbmFsLWdyb3VwKCRpbnQ6IDEpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yZGluYWwtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LW9yZGVyOiAkaW50OyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWZsZXgoJHZhbHVlOiAwKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4OiAkdmFsdWU7IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtZmxleC1ncm91cCgkaW50OiAxKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LWdyb3VwLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG4vLyBDU1MzIEZsZXhpYmxlIEJveCBNb2RlbCBhbmQgcHJvcGVydHkgZGVmYXVsdHNcbi8vIFVuaWZpZWQgYXR0cmlidXRlcyBmb3IgMjAwOSwgMjAxMSwgYW5kIDIwMTIgZmxhdm91cnMuXG5cbi8vIDIwMDkgLSBkaXNwbGF5IChib3ggfCBpbmxpbmUtYm94KVxuLy8gMjAxMSAtIGRpc3BsYXkgKGZsZXhib3ggfCBpbmxpbmUtZmxleGJveClcbi8vIDIwMTIgLSBkaXNwbGF5IChmbGV4IHwgaW5saW5lLWZsZXgpXG5AbWl4aW4gZGlzcGxheSgkdmFsdWUpIHtcbi8vIGZsZXggfCBpbmxpbmUtZmxleFxuICBAaWYgJHZhbHVlID09IFwiZmxleFwiIHtcbiAgICAvLyAyMDA5XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1vei1ib3g7XG4gICAgZGlzcGxheTogYm94O1xuXG4gICAgLy8gMjAxMlxuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiAtbW96LWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7IC8vIDIwMTEgKElFIDEwKVxuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiaW5saW5lLWZsZXhcIiB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLWJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYm94O1xuXG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgfSBAZWxzZSB7XG4gICAgZGlzcGxheTogJHZhbHVlO1xuICB9XG59XG5cbi8vIDIwMDkgLSBib3gtZmxleCAoaW50ZWdlcilcbi8vIDIwMTEgLSBmbGV4IChkZWNpbWFsIHwgd2lkdGggZGVjaW1hbClcbi8vIDIwMTIgLSBmbGV4IChpbnRlZ2VyIGludGVnZXIgd2lkdGgpXG5AbWl4aW4gZmxleCgkdmFsdWUpIHtcblxuICAvLyBHcmFiIGZsZXgtZ3JvdyBmb3Igb2xkZXIgYnJvd3NlcnMuXG4gICRmbGV4LWdyb3c6IG50aCgkdmFsdWUsIDEpO1xuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgsICRmbGV4LWdyb3csIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApLCAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIGJveC1vcmllbnQgKCBob3Jpem9udGFsIHwgdmVydGljYWwgfCBpbmxpbmUtYXhpcyB8IGJsb2NrLWF4aXMpXG4vLyAgICAgIC0gYm94LWRpcmVjdGlvbiAobm9ybWFsIHwgcmV2ZXJzZSlcbi8vIDIwMTEgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcbi8vIDIwMTIgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWU6IHJvdykge1xuXG4gIC8vIEFsdCB2YWx1ZXMuXG4gICR2YWx1ZS0yMDA5OiAkdmFsdWU7XG4gICR2YWx1ZS0yMDExOiAkdmFsdWU7XG4gICRkaXJlY3Rpb246IG5vcm1hbDtcblxuICBAaWYgJHZhbHVlID09IHJvdyB7XG4gICAgJHZhbHVlLTIwMDk6IGhvcml6b250YWw7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwicm93LXJldmVyc2VcIiB7XG4gICAgJHZhbHVlLTIwMDk6IGhvcml6b250YWw7XG4gICAgJGRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gY29sdW1uIHtcbiAgICAkdmFsdWUtMjAwOTogdmVydGljYWw7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiY29sdW1uLXJldmVyc2VcIiB7XG4gICAgJHZhbHVlLTIwMDk6IHZlcnRpY2FsO1xuICAgICRkaXJlY3Rpb246IHJldmVyc2U7XG4gIH1cblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmllbnQsICR2YWx1ZS0yMDA5LCB3ZWJraXQgbW96IHNwZWMpO1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZGlyZWN0aW9uLCAkZGlyZWN0aW9uLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1kaXJlY3Rpb24sICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5cbi8vIDIwMDkgLSBib3gtbGluZXMgKHNpbmdsZSB8IG11bHRpcGxlKVxuLy8gMjAxMSAtIGZsZXgtd3JhcCAobm93cmFwIHwgd3JhcCB8IHdyYXAtcmV2ZXJzZSlcbi8vIDIwMTIgLSBmbGV4LXdyYXAgKG5vd3JhcCB8IHdyYXAgfCB3cmFwLXJldmVyc2UpXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZTogbm93cmFwKSB7XG4gIC8vIEFsdCB2YWx1ZXNcbiAgJGFsdC12YWx1ZTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IG5vd3JhcCB7XG4gICAgJGFsdC12YWx1ZTogc2luZ2xlO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSB3cmFwIHtcbiAgICAkYWx0LXZhbHVlOiBtdWx0aXBsZTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJ3cmFwLXJldmVyc2VcIiB7XG4gICAgJGFsdC12YWx1ZTogbXVsdGlwbGU7XG4gIH1cblxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtbGluZXMsICRhbHQtdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtd3JhcCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuXG4vLyAyMDA5IC0gVE9ETzogcGFyc2UgdmFsdWVzIGludG8gZmxleC1kaXJlY3Rpb24vZmxleC13cmFwXG4vLyAyMDExIC0gVE9ETzogcGFyc2UgdmFsdWVzIGludG8gZmxleC1kaXJlY3Rpb24vZmxleC13cmFwXG4vLyAyMDEyIC0gZmxleC1mbG93IChmbGV4LWRpcmVjdGlvbiB8fCBmbGV4LXdyYXApXG5AbWl4aW4gZmxleC1mbG93KCR2YWx1ZSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWZsb3csICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIGJveC1vcmRpbmFsLWdyb3VwIChpbnRlZ2VyKVxuLy8gMjAxMSAtIGZsZXgtb3JkZXIgKGludGVnZXIpXG4vLyAyMDEyIC0gb3JkZXIgKGludGVnZXIpXG5AbWl4aW4gb3JkZXIoJGludDogMCkge1xuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmRpbmFsLWdyb3VwLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIob3JkZXIsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LW9yZGVyOiAkaW50O1xufVxuXG4vLyAyMDEyIC0gZmxleC1ncm93IChudW1iZXIpXG5AbWl4aW4gZmxleC1ncm93KCRudW1iZXI6IDApIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1ncm93LCAkbnVtYmVyLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1wb3NpdGl2ZTogJG51bWJlcjtcbn1cblxuLy8gMjAxMiAtIGZsZXgtc2hyaW5rIChudW1iZXIpXG5AbWl4aW4gZmxleC1zaHJpbmsoJG51bWJlcjogMSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LXNocmluaywgJG51bWJlciwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtbmVnYXRpdmU6ICRudW1iZXI7XG59XG5cbi8vIDIwMTIgLSBmbGV4LWJhc2lzIChudW1iZXIpXG5AbWl4aW4gZmxleC1iYXNpcygkd2lkdGg6IGF1dG8pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1iYXNpcywgJHdpZHRoLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogJHdpZHRoO1xufVxuXG4vLyAyMDA5IC0gYm94LXBhY2sgKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSlcbi8vIDIwMTEgLSBmbGV4LXBhY2sgKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSlcbi8vIDIwMTIgLSBqdXN0aWZ5LWNvbnRlbnQgKGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IHNwYWNlLWJldHdlZW4gfCBzcGFjZS1hcm91bmQpXG5AbWl4aW4ganVzdGlmeS1jb250ZW50KCR2YWx1ZTogZmxleC1zdGFydCkge1xuXG4gIC8vIEFsdCB2YWx1ZXMuXG4gICRhbHQtdmFsdWU6ICR2YWx1ZTtcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJGFsdC12YWx1ZTogc3RhcnQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJGFsdC12YWx1ZTogZW5kO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWJldHdlZW5cIiB7XG4gICAgJGFsdC12YWx1ZToganVzdGlmeTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1hcm91bmRcIiB7XG4gICAgJGFsdC12YWx1ZTogZGlzdHJpYnV0ZTtcbiAgfVxuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LXBhY2ssICRhbHQtdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihqdXN0aWZ5LWNvbnRlbnQsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1wYWNrOiAkYWx0LXZhbHVlO1xufVxuXG4vLyAyMDA5IC0gYm94LWFsaWduIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTEgLSBmbGV4LWFsaWduIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1pdGVtcyAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuQG1peGluIGFsaWduLWl0ZW1zKCR2YWx1ZTogc3RyZXRjaCkge1xuXG4gICRhbHQtdmFsdWU6ICR2YWx1ZTtcblxuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkYWx0LXZhbHVlOiBzdGFydDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkYWx0LXZhbHVlOiBlbmQ7XG4gIH1cblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1hbGlnbiwgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLWl0ZW1zLCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtYWxpZ246ICRhbHQtdmFsdWU7XG59XG5cbi8vIDIwMTEgLSBmbGV4LWl0ZW0tYWxpZ24gKGF1dG8gfCBzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1zZWxmIChhdXRvIHwgZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuQG1peGluIGFsaWduLXNlbGYoJHZhbHVlOiBhdXRvKSB7XG5cbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IHN0YXJ0O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICR2YWx1ZS0yMDExOiBlbmQ7XG4gIH1cblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLXNlbGYsICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtaXRlbS1hbGlnbjogJHZhbHVlLTIwMTE7XG59XG5cbi8vIDIwMTEgLSBmbGV4LWxpbmUtcGFjayAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5IHwgZGlzdHJpYnV0ZSB8IHN0cmV0Y2gpXG4vLyAyMDEyIC0gYWxpZ24tY29udGVudCAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZCB8IHN0cmV0Y2gpXG5AbWl4aW4gYWxpZ24tY29udGVudCgkdmFsdWU6IHN0cmV0Y2gpIHtcblxuICAkdmFsdWUtMjAxMTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkdmFsdWUtMjAxMTogc3RhcnQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IGVuZDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1iZXR3ZWVuXCIge1xuICAgICR2YWx1ZS0yMDExOiBqdXN0aWZ5O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWFyb3VuZFwiIHtcbiAgICAkdmFsdWUtMjAxMTogZGlzdHJpYnV0ZTtcbiAgfVxuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24tY29udGVudCwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1saW5lLXBhY2s6ICR2YWx1ZS0yMDExO1xufVxuIiwKCQkiQG1peGluIGZvbnQtZmFjZShcbiAgJGZvbnQtZmFtaWx5LFxuICAkZmlsZS1wYXRoLFxuICAkd2VpZ2h0OiBub3JtYWwsXG4gICRzdHlsZTogbm9ybWFsLFxuICAkYXNzZXQtcGlwZWxpbmU6ICRhc3NldC1waXBlbGluZSxcbiAgJGZpbGUtZm9ybWF0czogZW90IHdvZmYyIHdvZmYgdHRmIHN2Zykge1xuXG4gICRmb250LXVybC1wcmVmaXg6IGZvbnQtdXJsLXByZWZpeGVyKCRhc3NldC1waXBlbGluZSk7XG5cbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBzcmM6IGZvbnQtc291cmNlLWRlY2xhcmF0aW9uKFxuICAgICAgJGZvbnQtZmFtaWx5LFxuICAgICAgJGZpbGUtcGF0aCxcbiAgICAgICRhc3NldC1waXBlbGluZSxcbiAgICAgICRmaWxlLWZvcm1hdHMsXG4gICAgICAkZm9udC11cmwtcHJlZml4XG4gICAgKTtcbiAgfVxufVxuIiwKCQkiQG1peGluIGZvbnQtZmVhdHVyZS1zZXR0aW5ncygkc2V0dGluZ3MuLi4pIHtcbiAgQGlmIGxlbmd0aCgkc2V0dGluZ3MpID09IDAgeyAkc2V0dGluZ3M6IG5vbmU7IH1cbiAgQGluY2x1ZGUgcHJlZml4ZXIoZm9udC1mZWF0dXJlLXNldHRpbmdzLCAkc2V0dGluZ3MsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG4iLAoJCSIvLyBIaURQSSBtaXhpbi4gRGVmYXVsdCB2YWx1ZSBzZXQgdG8gMS4zIHRvIHRhcmdldCBHb29nbGUgTmV4dXMgNyAoaHR0cDovL2JqYW5nby5jb20vYXJ0aWNsZXMvbWluLWRldmljZS1waXhlbC1yYXRpby8pXG5AbWl4aW4gaGlkcGkoJHJhdGlvOiAxLjMpIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAkcmF0aW8pLFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcbiAgb25seSBzY3JlZW4gYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAjeyRyYXRpb30vMSksXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IHJvdW5kKCRyYXRpbyAqIDk2ZHBpKSksXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246ICRyYXRpbyAqIDFkcHB4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsCgkJIkBtaXhpbiBoeXBoZW5zKCRoeXBoZW5hdGlvbjogbm9uZSkge1xuICAvLyBub25lIHwgbWFudWFsIHwgYXV0b1xuICBAaW5jbHVkZSBwcmVmaXhlcihoeXBoZW5zLCAkaHlwaGVuYXRpb24sIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG4iLAoJCSJAbWl4aW4gaW1hZ2UtcmVuZGVyaW5nICgkbW9kZTphdXRvKSB7XG5cbiAgQGlmICgkbW9kZSA9PSBjcmlzcC1lZGdlcykge1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IG5lYXJlc3QtbmVpZ2hib3I7IC8vIElFOCtcbiAgICBpbWFnZS1yZW5kZXJpbmc6IC1tb3otY3Jpc3AtZWRnZXM7XG4gICAgaW1hZ2UtcmVuZGVyaW5nOiAtby1jcmlzcC1lZGdlcztcbiAgICBpbWFnZS1yZW5kZXJpbmc6IC13ZWJraXQtb3B0aW1pemUtY29udHJhc3Q7XG4gICAgaW1hZ2UtcmVuZGVyaW5nOiBjcmlzcC1lZGdlcztcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBpbWFnZS1yZW5kZXJpbmc6ICRtb2RlO1xuICB9XG59XG4iLAoJCSIvLyBBZGRzIGtleWZyYW1lcyBibG9ja3MgZm9yIHN1cHBvcnRlZCBwcmVmaXhlcywgcmVtb3ZpbmcgcmVkdW5kYW50IHByZWZpeGVzIGluIHRoZSBibG9jaydzIGNvbnRlbnRcbkBtaXhpbiBrZXlmcmFtZXMoJG5hbWUpIHtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0OiAgICAkcHJlZml4LWZvci13ZWJraXQ7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGE6ICAgJHByZWZpeC1mb3ItbW96aWxsYTtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbWljcm9zb2Z0OiAkcHJlZml4LWZvci1taWNyb3NvZnQ7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW9wZXJhOiAgICAgJHByZWZpeC1mb3Itb3BlcmE7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWM6ICAgICAgJHByZWZpeC1mb3Itc3BlYztcblxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0IHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCk7XG4gICAgJHByZWZpeC1mb3Itd2Via2l0OiB0cnVlICFnbG9iYWw7XG4gICAgQC13ZWJraXQta2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCk7XG4gICAgJHByZWZpeC1mb3ItbW96aWxsYTogdHJ1ZSAhZ2xvYmFsO1xuICAgIEAtbW96LWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICAkcHJlZml4LWZvci13ZWJraXQ6ICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdCAgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1tb3ppbGxhOiAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGEgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1taWNyb3NvZnQ6ICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1pY3Jvc29mdCAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1vcGVyYTogICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLW9wZXJhICAgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1zcGVjOiAgICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWMgICAgICAhZ2xvYmFsO1xuXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjIHtcbiAgICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwKCQkiQG1peGluIGxpbmVhci1ncmFkaWVudCgkcG9zLCAkZzEsICRnMjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGczOiBudWxsLCAkZzQ6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnNTogbnVsbCwgJGc2OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzc6IG51bGwsICRnODogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGc5OiBudWxsLCAkZzEwOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZmFsbGJhY2s6IG51bGwpIHtcbiAgLy8gRGV0ZWN0IHdoYXQgdHlwZSBvZiB2YWx1ZSBleGlzdHMgaW4gJHBvc1xuICAkcG9zLXR5cGU6IHR5cGUtb2YobnRoKCRwb3MsIDEpKTtcbiAgJHBvcy1zcGVjOiBudWxsO1xuICAkcG9zLWRlZ3JlZTogbnVsbDtcblxuICAvLyBJZiAkcG9zIGlzIG1pc3NpbmcgZnJvbSBtaXhpbiwgcmVhc3NpZ24gdmFycyBhbmQgYWRkIGRlZmF1bHQgcG9zaXRpb25cbiAgQGlmICgkcG9zLXR5cGUgPT0gY29sb3IpIG9yIChudGgoJHBvcywgMSkgPT0gXCJ0cmFuc3BhcmVudFwiKSAge1xuICAgICRnMTA6ICRnOTsgJGc5OiAkZzg7ICRnODogJGc3OyAkZzc6ICRnNjsgJGc2OiAkZzU7XG4gICAgJGc1OiAkZzQ7ICRnNDogJGczOyAkZzM6ICRnMjsgJGcyOiAkZzE7ICRnMTogJHBvcztcbiAgICAkcG9zOiBudWxsO1xuICB9XG5cbiAgQGlmICRwb3Mge1xuICAgICRwb3NpdGlvbnM6IF9saW5lYXItcG9zaXRpb25zLXBhcnNlcigkcG9zKTtcbiAgICAkcG9zLWRlZ3JlZTogbnRoKCRwb3NpdGlvbnMsIDEpO1xuICAgICRwb3Mtc3BlYzogICBudGgoJHBvc2l0aW9ucywgMik7XG4gIH1cblxuICAkZnVsbDogJGcxLCAkZzIsICRnMywgJGc0LCAkZzUsICRnNiwgJGc3LCAkZzgsICRnOSwgJGcxMDtcblxuICAvLyBTZXQgJGcxIGFzIHRoZSBkZWZhdWx0IGZhbGxiYWNrIGNvbG9yXG4gICRmYWxsYmFjay1jb2xvcjogbnRoKCRnMSwgMSk7XG5cbiAgLy8gSWYgJGZhbGxiYWNrIGlzIGEgY29sb3IgdXNlIHRoYXQgY29sb3IgYXMgdGhlIGZhbGxiYWNrIGNvbG9yXG4gIEBpZiAodHlwZS1vZigkZmFsbGJhY2spID09IGNvbG9yKSBvciAoJGZhbGxiYWNrID09IFwidHJhbnNwYXJlbnRcIikge1xuICAgICRmYWxsYmFjay1jb2xvcjogJGZhbGxiYWNrO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGZhbGxiYWNrLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkcG9zLWRlZ3JlZSAkZnVsbCk7IC8vIFNhZmFyaSA1LjErLCBDaHJvbWVcbiAgYmFja2dyb3VuZC1pbWFnZTogdW5xdW90ZShcImxpbmVhci1ncmFkaWVudCgjeyRwb3Mtc3BlY30jeyRmdWxsfSlcIik7XG59XG4iLAoJCSJAbWl4aW4gcGVyc3BlY3RpdmUoJGRlcHRoOiBub25lKSB7XG4gIC8vIG5vbmUgfCA8bGVuZ3RoPlxuICBAaW5jbHVkZSBwcmVmaXhlcihwZXJzcGVjdGl2ZSwgJGRlcHRoLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gcGVyc3BlY3RpdmUtb3JpZ2luKCR2YWx1ZTogNTAlIDUwJSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihwZXJzcGVjdGl2ZS1vcmlnaW4sICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsCgkJIkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICRwbGFjZWhvbGRlcnM6IFwiOi13ZWJraXQtaW5wdXRcIiBcIjotbW96XCIgXCItbW96XCIgXCItbXMtaW5wdXRcIjtcbiAgQGVhY2ggJHBsYWNlaG9sZGVyIGluICRwbGFjZWhvbGRlcnMge1xuICAgICY6I3skcGxhY2Vob2xkZXJ9LXBsYWNlaG9sZGVyIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwKCQkiLy8gUmVxdWlyZXMgU2FzcyAzLjErXG5AbWl4aW4gcmFkaWFsLWdyYWRpZW50KCRnMSwgJGcyLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzM6IG51bGwsICRnNDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGc1OiBudWxsLCAkZzY6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnNzogbnVsbCwgJGc4OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzk6IG51bGwsICRnMTA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRwb3M6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRzaGFwZS1zaXplOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZmFsbGJhY2s6IG51bGwpIHtcblxuICAkZGF0YTogX3JhZGlhbC1hcmctcGFyc2VyKCRnMSwgJGcyLCAkcG9zLCAkc2hhcGUtc2l6ZSk7XG4gICRnMTogIG50aCgkZGF0YSwgMSk7XG4gICRnMjogIG50aCgkZGF0YSwgMik7XG4gICRwb3M6IG50aCgkZGF0YSwgMyk7XG4gICRzaGFwZS1zaXplOiBudGgoJGRhdGEsIDQpO1xuXG4gICRmdWxsOiAkZzEsICRnMiwgJGczLCAkZzQsICRnNSwgJGc2LCAkZzcsICRnOCwgJGc5LCAkZzEwO1xuXG4gIC8vIFN0cmlwIGRlcHJlY2F0ZWQgY292ZXIvY29udGFpbiBmb3Igc3BlY1xuICAkc2hhcGUtc2l6ZS1zcGVjOiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSk7XG5cbiAgLy8gU2V0ICRnMSBhcyB0aGUgZGVmYXVsdCBmYWxsYmFjayBjb2xvclxuICAkZmlyc3QtY29sb3I6IG50aCgkZnVsbCwgMSk7XG4gICRmYWxsYmFjay1jb2xvcjogbnRoKCRmaXJzdC1jb2xvciwgMSk7XG5cbiAgQGlmICh0eXBlLW9mKCRmYWxsYmFjaykgPT0gY29sb3IpIG9yICgkZmFsbGJhY2sgPT0gXCJ0cmFuc3BhcmVudFwiKSB7XG4gICAgJGZhbGxiYWNrLWNvbG9yOiAkZmFsbGJhY2s7XG4gIH1cblxuICAvLyBBZGQgQ29tbWFzIGFuZCBzcGFjZXNcbiAgJHNoYXBlLXNpemU6IGlmKCRzaGFwZS1zaXplLCBcIiN7JHNoYXBlLXNpemV9LCBcIiwgbnVsbCk7XG4gICRwb3M6ICAgICAgICBpZigkcG9zLCBcIiN7JHBvc30sIFwiLCBudWxsKTtcbiAgJHBvcy1zcGVjOiAgIGlmKCRwb3MsIFwiYXQgI3skcG9zfVwiLCBudWxsKTtcbiAgJHNoYXBlLXNpemUtc3BlYzogaWYoKCRzaGFwZS1zaXplLXNwZWMgIT0gXCIgXCIpIGFuZCAoJHBvcyA9PSBudWxsKSwgXCIjeyRzaGFwZS1zaXplLXNwZWN9LCBcIiwgXCIjeyRzaGFwZS1zaXplLXNwZWN9IFwiKTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAgJGZhbGxiYWNrLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudCh1bnF1b3RlKCN7JHBvc30jeyRzaGFwZS1zaXplfSN7JGZ1bGx9KSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVucXVvdGUoXCJyYWRpYWwtZ3JhZGllbnQoI3skc2hhcGUtc2l6ZS1zcGVjfSN7JHBvcy1zcGVjfSN7JGZ1bGx9KVwiKTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBPdXRwdXRzIHRoZSBzcGVjIGFuZCBwcmVmaXhlZCB2ZXJzaW9ucyBvZiB0aGUgYDo6c2VsZWN0aW9uYCBwc2V1ZG8tZWxlbWVudC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0Jvb2x9ICRjdXJyZW50LXNlbGVjdG9yIFtmYWxzZV1cclxuLy8vICAgSWYgc2V0IHRvIGB0cnVlYCwgaXQgdGFrZXMgdGhlIGN1cnJlbnQgZWxlbWVudCBpbnRvIGNvbnNpZGVyYXRpb24uXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBzZWxlY3Rpb24odHJ1ZSkge1xyXG4vLy8gICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmI1MjtcclxuLy8vICAgICB9XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50OjotbW96LXNlbGVjdGlvbiB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmI1MjtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgLmVsZW1lbnQ6OnNlbGVjdGlvbiB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmI1MjtcclxuLy8vICAgfVxyXG5cclxuQG1peGluIHNlbGVjdGlvbigkY3VycmVudC1zZWxlY3RvcjogZmFsc2UpIHtcclxuICBAaWYgJGN1cnJlbnQtc2VsZWN0b3Ige1xyXG4gICAgJjo6LW1vei1zZWxlY3Rpb24ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICAmOjpzZWxlY3Rpb24ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIDo6LW1vei1zZWxlY3Rpb24ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICA6OnNlbGVjdGlvbiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLAoJCSJAbWl4aW4gdGV4dC1kZWNvcmF0aW9uKCR2YWx1ZSkge1xuLy8gPHRleHQtZGVjb3JhdGlvbi1saW5lPiB8fCA8dGV4dC1kZWNvcmF0aW9uLXN0eWxlPiB8fCA8dGV4dC1kZWNvcmF0aW9uLWNvbG9yPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24sICR2YWx1ZSwgbW96KTtcbn1cblxuQG1peGluIHRleHQtZGVjb3JhdGlvbi1saW5lKCRsaW5lOiBub25lKSB7XG4vLyBub25lIHx8IHVuZGVybGluZSB8fCBvdmVybGluZSB8fCBsaW5lLXRocm91Z2hcbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLWxpbmUsICRsaW5lLCBtb3opO1xufVxuXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uLXN0eWxlKCRzdHlsZTogc29saWQpIHtcbi8vIHNvbGlkIHx8IGRvdWJsZSB8fCBkb3R0ZWQgfHwgZGFzaGVkIHx8IHdhdnlcbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLXN0eWxlLCAkc3R5bGUsIG1veiB3ZWJraXQpO1xufVxuXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uLWNvbG9yKCRjb2xvcjogY3VycmVudENvbG9yKSB7XG4vLyBjdXJyZW50Q29sb3IgfHwgPGNvbG9yPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24tY29sb3IsICRjb2xvciwgbW96KTtcbn1cbiIsCgkJIkBtaXhpbiB0cmFuc2Zvcm0oJHByb3BlcnR5OiBub25lKSB7XG4gIC8vIG5vbmUgfCA8dHJhbnNmb3JtLWZ1bmN0aW9uPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0sICRwcm9wZXJ0eSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbigkYXhlczogNTAlKSB7XG4gIC8vIHgtYXhpcyAtIGxlZnQgfCBjZW50ZXIgfCByaWdodCAgfCBsZW5ndGggfCAlXG4gIC8vIHktYXhpcyAtIHRvcCAgfCBjZW50ZXIgfCBib3R0b20gfCBsZW5ndGggfCAlXG4gIC8vIHotYXhpcyAtICAgICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLW9yaWdpbiwgJGF4ZXMsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zZm9ybS1zdHlsZSgkc3R5bGU6IGZsYXQpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLXN0eWxlLCAkc3R5bGUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cbiIsCgkJIi8vIFNob3J0aGFuZCBtaXhpbi4gU3VwcG9ydHMgbXVsdGlwbGUgcGFyZW50aGVzZXMtZGVsaW1pbmF0ZWQgdmFsdWVzIGZvciBlYWNoIHZhcmlhYmxlLlxuLy8gRXhhbXBsZTogQGluY2x1ZGUgdHJhbnNpdGlvbiAoYWxsIDJzIGVhc2UtaW4tb3V0KTtcbi8vICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24gKG9wYWNpdHkgMXMgZWFzZS1pbiAycywgd2lkdGggMnMgZWFzZS1vdXQpO1xuLy8gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1wcm9wZXJ0eSAodHJhbnNmb3JtLCBvcGFjaXR5KTtcblxuQG1peGluIHRyYW5zaXRpb24oJHByb3BlcnRpZXMuLi4pIHtcbiAgLy8gRml4IGZvciB2ZW5kb3ItcHJlZml4IHRyYW5zZm9ybSBwcm9wZXJ0eVxuICAkbmVlZHMtcHJlZml4ZXM6IGZhbHNlO1xuICAkd2Via2l0OiAoKTtcbiAgJG1vejogKCk7XG4gICRzcGVjOiAoKTtcblxuICAvLyBDcmVhdGUgbGlzdHMgZm9yIHZlbmRvci1wcmVmaXhlZCB0cmFuc2Zvcm1cbiAgQGVhY2ggJGxpc3QgaW4gJHByb3BlcnRpZXMge1xuICAgIEBpZiBudGgoJGxpc3QsIDEpID09IFwidHJhbnNmb3JtXCIge1xuICAgICAgJG5lZWRzLXByZWZpeGVzOiB0cnVlO1xuICAgICAgJGxpc3QxOiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgICAgICRsaXN0MjogLW1vei10cmFuc2Zvcm07XG4gICAgICAkbGlzdDM6ICgpO1xuXG4gICAgICBAZWFjaCAkdmFyIGluICRsaXN0IHtcbiAgICAgICAgJGxpc3QzOiBqb2luKCRsaXN0MywgJHZhcik7XG5cbiAgICAgICAgQGlmICR2YXIgIT0gXCJ0cmFuc2Zvcm1cIiB7XG4gICAgICAgICAgJGxpc3QxOiBqb2luKCRsaXN0MSwgJHZhcik7XG4gICAgICAgICAgJGxpc3QyOiBqb2luKCRsaXN0MiwgJHZhcik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJHdlYmtpdDogYXBwZW5kKCR3ZWJraXQsICRsaXN0MSk7XG4gICAgICAkbW96OiAgICBhcHBlbmQoJG1veiwgICAgJGxpc3QyKTtcbiAgICAgICRzcGVjOiAgIGFwcGVuZCgkc3BlYywgICAkbGlzdDMpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHdlYmtpdDogYXBwZW5kKCR3ZWJraXQsICRsaXN0LCBjb21tYSk7XG4gICAgICAkbW96OiAgICBhcHBlbmQoJG1veiwgICAgJGxpc3QsIGNvbW1hKTtcbiAgICAgICRzcGVjOiAgIGFwcGVuZCgkc3BlYywgICAkbGlzdCwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbmVlZHMtcHJlZml4ZXMge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogJHdlYmtpdDtcbiAgICAgICAtbW96LXRyYW5zaXRpb246ICRtb3o7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAkc3BlYztcbiAgfSBAZWxzZSB7XG4gICAgQGlmIGxlbmd0aCgkcHJvcGVydGllcykgPj0gMSB7XG4gICAgICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLCAkcHJvcGVydGllcywgd2Via2l0IG1veiBzcGVjKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRwcm9wZXJ0aWVzOiBhbGwgMC4xNXMgZWFzZS1vdXQgMHM7XG4gICAgICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLCAkcHJvcGVydGllcywgd2Via2l0IG1veiBzcGVjKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHRyYW5zaXRpb24tcHJvcGVydHkoJHByb3BlcnRpZXMuLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBcIndlYmtpdFwiKTtcbiAgICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBcIm1velwiKTtcbiAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBmYWxzZSk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLWR1cmF0aW9uKCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLWR1cmF0aW9uLCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkbW90aW9ucy4uLikge1xuICAvLyBlYXNlIHwgbGluZWFyIHwgZWFzZS1pbiB8IGVhc2Utb3V0IHwgZWFzZS1pbi1vdXQgfCBjdWJpYy1iZXppZXIoKVxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiwgJG1vdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLWRlbGF5KCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLWRlbGF5LCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLAoJCSJAbWl4aW4gdXNlci1zZWxlY3QoJHZhbHVlOiBub25lKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHVzZXItc2VsZWN0LCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItY29sb3JgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1jb2xvcigjYTYwYjU1ICM3NmNkOWMgbnVsbCAjZThhZTFhKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNlOGFlMWE7XG4vLy8gICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzc2Y2Q5Yztcbi8vLyAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2E2MGI1NTtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcbi8vL1xuLy8vIEBvdXRwdXQgYGJvcmRlci1jb2xvcmBcblxuQG1peGluIGJvcmRlci1jb2xvcigkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIGNvbG9yLCAkdmFscy4uLik7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItcmFkaXVzYCBvbiBib3RoIGNvcm5lcnMgb24gdGhlIHNpZGUgb2YgYSBib3guXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHJhZGlpXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudC1vbmUge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyg1cHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudC10d28ge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoM3B4KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50LW9uZSB7XG4vLy8gICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDVweDtcbi8vLyAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDVweDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQtdHdvIHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xuLy8vICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG4vLy8gICB9XG4vLy9cbi8vLyBAb3V0cHV0IGBib3JkZXItcmFkaXVzYFxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpaTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpaTtcbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGlpO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpaSkge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpaTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYGJvcmRlci1zdHlsZWAgb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLXN0eWxlKGRhc2hlZCBudWxsIHNvbGlkKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4vLy8gICAgIGJvcmRlci10b3Atc3R5bGU6IGRhc2hlZDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcbi8vL1xuLy8vIEBvdXRwdXQgYGJvcmRlci1zdHlsZWBcblxuQG1peGluIGJvcmRlci1zdHlsZSgkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIHN0eWxlLCAkdmFscy4uLik7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItd2lkdGhgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci13aWR0aCgxZW0gbnVsbCAyMHB4KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMjBweDtcbi8vLyAgICAgYm9yZGVyLXRvcC13aWR0aDogMWVtO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge21peGlufSBkaXJlY3Rpb25hbC1wcm9wZXJ0eVxuLy8vXG4vLy8gQG91dHB1dCBgYm9yZGVyLXdpZHRoYFxuXG5AbWl4aW4gYm9yZGVyLXdpZHRoKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KGJvcmRlciwgd2lkdGgsICR2YWxzLi4uKTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEdlbmVyYXRlcyB2YXJpYWJsZXMgZm9yIGFsbCBidXR0b25zLiBQbGVhc2Ugbm90ZSB0aGF0IHlvdSBtdXN0IHVzZSBpbnRlcnBvbGF0aW9uIG9uIHRoZSB2YXJpYWJsZTogYCN7JGFsbC1idXR0b25zfWAuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgICN7JGFsbC1idXR0b25zfSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgICN7JGFsbC1idXR0b25zLWZvY3VzfSxcbi8vLyAgICN7JGFsbC1idXR0b25zLWhvdmVyfSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMwZjA7XG4vLy8gICB9XG4vLy9cbi8vLyAgICN7JGFsbC1idXR0b25zLWFjdGl2ZX0ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBmO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgYnV0dG9uLFxuLy8vICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJyZXNldFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICBidXR0b246Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cyxcbi8vLyAgIGJ1dHRvbjpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJidXR0b25cIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwicmVzZXRcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyIHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBmMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgYnV0dG9uOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJidXR0b25cIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06YWN0aXZlIHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwZjtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIGFzc2lnbi1pbnB1dHNcbi8vL1xuLy8vIEB0eXBlIExpc3Rcbi8vL1xuLy8vIEB0b2RvIFJlbW92ZSBkb3VibGUgYXNzaWduZWQgdmFyaWFibGVzIChMaW5lcyA1OeKAkzYyKSBpbiB2NS4wLjBcblxuJGJ1dHRvbnMtbGlzdDogJ2J1dHRvbicsXG4gICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImJ1dHRvblwiXScsXG4gICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInJlc2V0XCJdJyxcbiAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwic3VibWl0XCJdJztcblxuJGFsbC1idXR0b25zOiAgICAgICAgYXNzaWduLWlucHV0cygkYnV0dG9ucy1saXN0KTtcbiRhbGwtYnV0dG9ucy1hY3RpdmU6IGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCwgYWN0aXZlKTtcbiRhbGwtYnV0dG9ucy1mb2N1czogIGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCwgZm9jdXMpO1xuJGFsbC1idXR0b25zLWhvdmVyOiAgYXNzaWduLWlucHV0cygkYnV0dG9ucy1saXN0LCBob3Zlcik7XG5cbiRhbGwtYnV0dG9uLWlucHV0czogICAgICAgICRhbGwtYnV0dG9ucztcbiRhbGwtYnV0dG9uLWlucHV0cy1hY3RpdmU6ICRhbGwtYnV0dG9ucy1hY3RpdmU7XG4kYWxsLWJ1dHRvbi1pbnB1dHMtZm9jdXM6ICAkYWxsLWJ1dHRvbnMtZm9jdXM7XG4kYWxsLWJ1dHRvbi1pbnB1dHMtaG92ZXI6ICAkYWxsLWJ1dHRvbnMtaG92ZXI7XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhbiBlYXN5IHdheSB0byBpbmNsdWRlIGEgY2xlYXJmaXggZm9yIGNvbnRhaW5pbmcgZmxvYXRzLlxuLy8vXG4vLy8gQGxpbmsgaHR0cDovL2Nzc21vam8uY29tL2xhdGVzdF9uZXdfY2xlYXJmaXhfc29fZmFyL1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQ6OmFmdGVyIHtcbi8vLyAgICAgY2xlYXI6IGJvdGg7XG4vLy8gICAgIGNvbnRlbnQ6IFwiXCI7XG4vLy8gICAgIGRpc3BsYXk6IHRhYmxlO1xuLy8vICAgfVxuXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gVHJ1bmNhdGVzIHRleHQgYW5kIGFkZHMgYW4gZWxsaXBzaXMgdG8gcmVwcmVzZW50IG92ZXJmbG93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMTAwJV1cbi8vLyAgIE1heC13aWR0aCBmb3IgdGhlIHN0cmluZyB0byByZXNwZWN0IGJlZm9yZSBiZWluZyB0cnVuY2F0ZWRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBlbGxpcHNpcztcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuLy8vICAgICBtYXgtd2lkdGg6IDEwMCU7XG4vLy8gICAgIG92ZXJmbG93OiBoaWRkZW47XG4vLy8gICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuLy8vICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuLy8vICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbi8vLyAgIH1cblxuQG1peGluIGVsbGlwc2lzKCR3aWR0aDogMTAwJSkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogJHdpZHRoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBHZW9yZ2lhIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiRnZW9yZ2lhOiBcIkdlb3JnaWFcIiwgXCJDYW1icmlhXCIsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFwiVGltZXNcIiwgc2VyaWY7XG5cbi8vLyBIZWx2ZXRpY2EgZm9udCBzdGFjay5cbi8vL1xuLy8vIEB0eXBlIExpc3RcblxuJGhlbHZldGljYTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIlJvYm90b1wiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG5cbi8vLyBMdWNpZGEgR3JhbmRlIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiRsdWNpZGEtZ3JhbmRlOiBcIkx1Y2lkYSBHcmFuZGVcIiwgXCJUYWhvbWFcIiwgXCJWZXJkYW5hXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcblxuLy8vIE1vbm9zcGFjZSBmb250IHN0YWNrLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kbW9ub3NwYWNlOiBcIkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ub1wiLCBcIkNvbnNvbGFzXCIsIFwiQ291cmllclwiLCBtb25vc3BhY2U7XG5cbi8vLyBWZXJkYW5hIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiR2ZXJkYW5hOiBcIlZlcmRhbmFcIiwgXCJHZW5ldmFcIiwgc2Fucy1zZXJpZjtcbiIsCgkJIi8vLyBIaWRlcyB0aGUgdGV4dCBpbiBhbiBlbGVtZW50LCBjb21tb25seSB1c2VkIHRvIHNob3cgYW4gaW1hZ2UuIFNvbWUgZWxlbWVudHMgd2lsbCBuZWVkIGJsb2NrLWxldmVsIHN0eWxlcyBhcHBsaWVkLlxuLy8vXG4vLy8gQGxpbmsgaHR0cDovL3plbGRtYW4uY29tLzIwMTIvMDMvMDEvcmVwbGFjaW5nLXRoZS05OTk5cHgtaGFjay1uZXctaW1hZ2UtcmVwbGFjZW1lbnRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBoaWRlLXRleHQ7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG92ZXJmbG93OiBoaWRkZW47XG4vLy8gICAgIHRleHQtaW5kZW50OiAxMDElO1xuLy8vICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuLy8vICAgfVxuLy8vXG4vLy8gQHRvZG8gUmVtb3ZlIGhlaWdodCBhcmd1bWVudCBpbiB2NS4wLjBcblxuQG1peGluIGhpZGUtdGV4dCgkaGVpZ2h0OiBudWxsKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtaW5kZW50OiAxMDElO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpZiAkaGVpZ2h0IHtcbiAgICBAd2FybiBcIlRoZSBgaGlkZS10ZXh0YCBtaXhpbiBoYXMgY2hhbmdlZCBhbmQgbm8gbG9uZ2VyIHJlcXVpcmVzIGEgaGVpZ2h0LiBUaGUgaGVpZ2h0IGFyZ3VtZW50IHdpbGwgbm8gbG9uZ2VyIGJlIGFjY2VwdGVkIGluIHY1LjAuMFwiO1xuICB9XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBtYXJnaW5gIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIG1hcmdpbihudWxsIDEwcHggM2VtIDIwdmgpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW4tYm90dG9tOiAzZW07XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiAyMHZoO1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7bWl4aW59IGRpcmVjdGlvbmFsLXByb3BlcnR5XG4vLy9cbi8vLyBAb3V0cHV0IGBtYXJnaW5gXG5cbkBtaXhpbiBtYXJnaW4oJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkobWFyZ2luLCBmYWxzZSwgJHZhbHMuLi4pO1xufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgcGFkZGluZ2Agb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcGFkZGluZygxMnZoIG51bGwgMTBweCA1JSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuLy8vICAgICBwYWRkaW5nLWxlZnQ6IDUlO1xuLy8vICAgICBwYWRkaW5nLXRvcDogMTJ2aDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcbi8vL1xuLy8vIEBvdXRwdXQgYHBhZGRpbmdgXG5cbkBtaXhpbiBwYWRkaW5nKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KHBhZGRpbmcsIGZhbHNlLCAkdmFscy4uLik7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3Igc2V0dGluZyBhbiBlbGVtZW504oCZcyBwb3NpdGlvbi4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxuLy8vXG4vLy8gQHBhcmFtIHtQb3NpdGlvbn0gJHBvc2l0aW9uIFtyZWxhdGl2ZV1cbi8vLyAgIEEgQ1NTIHBvc2l0aW9uIHZhbHVlXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRjb29yZGluYXRlcyBbbnVsbCBudWxsIG51bGwgbnVsbF1cbi8vLyAgIExpc3Qgb2YgdmFsdWVzIHRoYXQgY29ycmVzcG9uZCB0byB0aGUgNC12YWx1ZSBzeW50YXggZm9yIHRoZSBlZGdlcyBvZiBhIGJveFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAxMGVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbGVmdDogMTBlbTtcbi8vLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8vICAgICB0b3A6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGlzLWxlbmd0aFxuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gdW5wYWNrXG5cbkBtaXhpbiBwb3NpdGlvbigkcG9zaXRpb246IHJlbGF0aXZlLCAkY29vcmRpbmF0ZXM6IG51bGwgbnVsbCBudWxsIG51bGwpIHtcbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSBsaXN0IHtcbiAgICAkY29vcmRpbmF0ZXM6ICRwb3NpdGlvbjtcbiAgICAkcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJGNvb3JkaW5hdGVzOiB1bnBhY2soJGNvb3JkaW5hdGVzKTtcblxuICAkb2Zmc2V0czogKFxuICAgIHRvcDogICAgbnRoKCRjb29yZGluYXRlcywgMSksXG4gICAgcmlnaHQ6ICBudGgoJGNvb3JkaW5hdGVzLCAyKSxcbiAgICBib3R0b206IG50aCgkY29vcmRpbmF0ZXMsIDMpLFxuICAgIGxlZnQ6ICAgbnRoKCRjb29yZGluYXRlcywgNClcbiAgKTtcblxuICBwb3NpdGlvbjogJHBvc2l0aW9uO1xuXG4gIEBlYWNoICRvZmZzZXQsICR2YWx1ZSBpbiAkb2Zmc2V0cyB7XG4gICAgQGlmIGlzLWxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICN7JG9mZnNldH06ICR2YWx1ZTtcbiAgICB9XG4gIH1cbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEEgbWl4aW4gZm9yIGdlbmVyYXRpbmcgdmVuZG9yIHByZWZpeGVzIG9uIG5vbi1zdGFuZGFyZGl6ZWQgcHJvcGVydGllcy5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHlcbi8vLyAgIFByb3BlcnR5IHRvIHByZWZpeFxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWVcbi8vLyAgIFZhbHVlIHRvIHVzZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkcHJlZml4ZXNcbi8vLyAgIFByZWZpeGVzIHRvIGRlZmluZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHByZWZpeGVyKGJvcmRlci1yYWRpdXMsIDEwcHgsIHdlYmtpdCBtcyBzcGVjKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLy8gICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLXdlYmtpdFxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3ItbW96aWxsYVxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3ItbWljcm9zb2Z0XG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1vcGVyYVxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itc3BlY1xuXG5AbWl4aW4gcHJlZml4ZXIoJHByb3BlcnR5LCAkdmFsdWUsICRwcmVmaXhlcykge1xuICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlcyB7XG4gICAgQGlmICRwcmVmaXggPT0gd2Via2l0IHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci13ZWJraXQge1xuICAgICAgICAtd2Via2l0LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBtb3oge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1vemlsbGEge1xuICAgICAgICAtbW96LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBtcyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3ItbWljcm9zb2Z0IHtcbiAgICAgICAgLW1zLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBvIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1vcGVyYSB7XG4gICAgICAgIC1vLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBzcGVjIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1zcGVjIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfSBAZWxzZSAge1xuICAgICAgQHdhcm4gXCJVbnJlY29nbml6ZWQgcHJlZml4OiAjeyRwcmVmaXh9XCI7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCkge1xuICAkcHJlZml4LWZvci13ZWJraXQ6ICAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1vemlsbGE6ICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbWljcm9zb2Z0OiBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1vcGVyYTogICAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLXNwZWM6ICAgICAgZmFsc2UgIWdsb2JhbDtcbn1cbiIsCgkJIkBtaXhpbiByZXRpbmEtaW1hZ2UoJGZpbGVuYW1lLCAkYmFja2dyb3VuZC1zaXplLCAkZXh0ZW5zaW9uOiBwbmcsICRyZXRpbmEtZmlsZW5hbWU6IG51bGwsICRyZXRpbmEtc3VmZml4OiBfMngsICRhc3NldC1waXBlbGluZTogJGFzc2V0LXBpcGVsaW5lKSB7XG4gIEBpZiAkYXNzZXQtcGlwZWxpbmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JGZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xuICB9IEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAgICAgICB1cmwoXCIjeyRmaWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGhpZHBpIHtcbiAgICBAaWYgJGFzc2V0LXBpcGVsaW5lIHtcbiAgICAgIEBpZiAkcmV0aW5hLWZpbGVuYW1lIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2UtdXJsKFwiI3skcmV0aW5hLWZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JGZpbGVuYW1lfSN7JHJldGluYS1zdWZmaXh9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaWYgJHJldGluYS1maWxlbmFtZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JHJldGluYS1maWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRmaWxlbmFtZX0jeyRyZXRpbmEtc3VmZml4fS4jeyRleHRlbnNpb259XCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGJhY2tncm91bmQtc2l6ZTogJGJhY2tncm91bmQtc2l6ZTtcbiAgfVxufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gU2V0cyB0aGUgYHdpZHRoYCBhbmQgYGhlaWdodGAgb2YgdGhlIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaXplXG4vLy8gICBBIGxpc3Qgb2YgYXQgbW9zdCAyIHNpemUgdmFsdWVzLlxuLy8vXG4vLy8gICBJZiB0aGVyZSBpcyBvbmx5IGEgc2luZ2xlIHZhbHVlIGluIGAkc2l6ZWAgaXQgaXMgdXNlZCBmb3IgYm90aCB3aWR0aCBhbmQgaGVpZ2h0LiBBbGwgdW5pdHMgYXJlIHN1cHBvcnRlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmZpcnN0LWVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBzaXplKDJlbSk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5zZWNvbmQtZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHNpemUoYXV0byAxMGVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5maXJzdC1lbGVtZW50IHtcbi8vLyAgICAgd2lkdGg6IDJlbTtcbi8vLyAgICAgaGVpZ2h0OiAyZW07XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5zZWNvbmQtZWxlbWVudCB7XG4vLy8gICAgIHdpZHRoOiBhdXRvO1xuLy8vICAgICBoZWlnaHQ6IDEwZW07XG4vLy8gICB9XG4vLy9cbi8vLyBAdG9kbyBSZWZhY3RvciBpbiA1LjAuMCB0byB1c2UgYSBjb21tYS1zZXBhcmF0ZWQgYXJndW1lbnRcblxuQG1peGluIHNpemUoJHZhbHVlKSB7XG4gICR3aWR0aDogbnRoKCR2YWx1ZSwgMSk7XG4gICRoZWlnaHQ6ICR3aWR0aDtcblxuICBAaWYgbGVuZ3RoKCR2YWx1ZSkgPiAxIHtcbiAgICAkaGVpZ2h0OiBudGgoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBpZiBpcy1zaXplKCRoZWlnaHQpIHtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuIFwiYCN7JGhlaWdodH1gIGlzIG5vdCBhIHZhbGlkIGxlbmd0aCBmb3IgdGhlIGAkaGVpZ2h0YCBwYXJhbWV0ZXIgaW4gdGhlIGBzaXplYCBtaXhpbi5cIjtcbiAgfVxuXG4gIEBpZiBpcy1zaXplKCR3aWR0aCkge1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuIFwiYCN7JHdpZHRofWAgaXMgbm90IGEgdmFsaWQgbGVuZ3RoIGZvciB0aGUgYCR3aWR0aGAgcGFyYW1ldGVyIGluIHRoZSBgc2l6ZWAgbWl4aW4uXCI7XG4gIH1cbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEdlbmVyYXRlcyB2YXJpYWJsZXMgZm9yIGFsbCB0ZXh0LWJhc2VkIGlucHV0cy4gUGxlYXNlIG5vdGUgdGhhdCB5b3UgbXVzdCB1c2UgaW50ZXJwb2xhdGlvbiBvbiB0aGUgdmFyaWFibGU6IGAjeyRhbGwtdGV4dC1pbnB1dHN9YC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzfSB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgICN7JGFsbC10ZXh0LWlucHV0cy1mb2N1c30sXG4vLy8gICAjeyRhbGwtdGV4dC1pbnB1dHMtaG92ZXJ9IHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzBmMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzLWFjdGl2ZX0ge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDBmO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwibW9udGhcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInVybFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ3ZWVrXCJdLFxuLy8vICAgdGV4dGFyZWEge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICBpbnB1dFt0eXBlPVwiY29sb3JcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJtb250aFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInRpbWVcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cIndlZWtcIl06Zm9jdXMsXG4vLy8gICB0ZXh0YXJlYTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJjb2xvclwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRlXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwidGVsXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cInRleHRcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwidGltZVwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJ1cmxcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwid2Vla1wiXTpob3Zlcixcbi8vLyAgIHRleHRhcmVhOmhvdmVyIHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzBmMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRlXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJtb250aFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZWxcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInRleHRcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInRpbWVcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInVybFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwid2Vla1wiXTphY3RpdmUsXG4vLy8gICB0ZXh0YXJlYTphY3RpdmUge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDBmO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUgYXNzaWduLWlucHV0c1xuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kdGV4dC1pbnB1dHMtbGlzdDogJ2lucHV0W3R5cGU9XCJjb2xvclwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJkYXRlXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImVtYWlsXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIm1vbnRoXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIm51bWJlclwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJwYXNzd29yZFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJzZWFyY2hcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGVsXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInRleHRcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGltZVwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ1cmxcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwid2Vla1wiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0Om5vdChbdHlwZV0pJyxcbiAgICAgICAgICAgICAgICAgICAndGV4dGFyZWEnO1xuXG4kYWxsLXRleHQtaW5wdXRzOiAgICAgICAgYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCk7XG4kYWxsLXRleHQtaW5wdXRzLWFjdGl2ZTogYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCwgYWN0aXZlKTtcbiRhbGwtdGV4dC1pbnB1dHMtZm9jdXM6ICBhc3NpZ24taW5wdXRzKCR0ZXh0LWlucHV0cy1saXN0LCBmb2N1cyk7XG4kYWxsLXRleHQtaW5wdXRzLWhvdmVyOiAgYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCwgaG92ZXIpO1xuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ1NTIGN1YmljLWJlemllciB0aW1pbmcgZnVuY3Rpb25zLiBUaW1pbmcgZnVuY3Rpb25zIGNvdXJ0ZXN5IG9mIGpxdWVyeS5lYXNpZSAoZ2l0aHViLmNvbS9qYXVraWEvZWFzaWUpXG4vLy9cbi8vLyBUaW1pbmcgZnVuY3Rpb25zIGFyZSB0aGUgc2FtZSBhcyBkZW1vZWQgaGVyZTogaHR0cDovL2pxdWVyeXVpLmNvbS9yZXNvdXJjZXMvZGVtb3MvZWZmZWN0L2Vhc2luZy5odG1sXG4vLy9cbi8vLyBAdHlwZSBjdWJpYy1iZXppZXJcblxuJGVhc2UtaW4tcXVhZDogICAgICBjdWJpYy1iZXppZXIoMC41NTAsICAwLjA4NSwgMC42ODAsIDAuNTMwKTtcbiRlYXNlLWluLWN1YmljOiAgICAgY3ViaWMtYmV6aWVyKDAuNTUwLCAgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4kZWFzZS1pbi1xdWFydDogICAgIGN1YmljLWJlemllcigwLjg5NSwgIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xuJGVhc2UtaW4tcXVpbnQ6ICAgICBjdWJpYy1iZXppZXIoMC43NTUsICAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiRlYXNlLWluLXNpbmU6ICAgICAgY3ViaWMtYmV6aWVyKDAuNDcwLCAgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XG4kZWFzZS1pbi1leHBvOiAgICAgIGN1YmljLWJlemllcigwLjk1MCwgIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xuJGVhc2UtaW4tY2lyYzogICAgICBjdWJpYy1iZXppZXIoMC42MDAsICAwLjA0MCwgMC45ODAsIDAuMzM1KTtcbiRlYXNlLWluLWJhY2s6ICAgICAgY3ViaWMtYmV6aWVyKDAuNjAwLCAtMC4yODAsIDAuNzM1LCAwLjA0NSk7XG5cbiRlYXNlLW91dC1xdWFkOiAgICAgY3ViaWMtYmV6aWVyKDAuMjUwLCAgMC40NjAsIDAuNDUwLCAwLjk0MCk7XG4kZWFzZS1vdXQtY3ViaWM6ICAgIGN1YmljLWJlemllcigwLjIxNSwgIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuJGVhc2Utb3V0LXF1YXJ0OiAgICBjdWJpYy1iZXppZXIoMC4xNjUsICAwLjg0MCwgMC40NDAsIDEuMDAwKTtcbiRlYXNlLW91dC1xdWludDogICAgY3ViaWMtYmV6aWVyKDAuMjMwLCAgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XG4kZWFzZS1vdXQtc2luZTogICAgIGN1YmljLWJlemllcigwLjM5MCwgIDAuNTc1LCAwLjU2NSwgMS4wMDApO1xuJGVhc2Utb3V0LWV4cG86ICAgICBjdWJpYy1iZXppZXIoMC4xOTAsICAxLjAwMCwgMC4yMjAsIDEuMDAwKTtcbiRlYXNlLW91dC1jaXJjOiAgICAgY3ViaWMtYmV6aWVyKDAuMDc1LCAgMC44MjAsIDAuMTY1LCAxLjAwMCk7XG4kZWFzZS1vdXQtYmFjazogICAgIGN1YmljLWJlemllcigwLjE3NSwgIDAuODg1LCAwLjMyMCwgMS4yNzUpO1xuXG4kZWFzZS1pbi1vdXQtcXVhZDogIGN1YmljLWJlemllcigwLjQ1NSwgIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xuJGVhc2UtaW4tb3V0LWN1YmljOiBjdWJpYy1iZXppZXIoMC42NDUsICAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1xdWFydDogY3ViaWMtYmV6aWVyKDAuNzcwLCAgMC4wMDAsIDAuMTc1LCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtcXVpbnQ6IGN1YmljLWJlemllcigwLjg2MCwgIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LXNpbmU6ICBjdWJpYy1iZXppZXIoMC40NDUsICAwLjA1MCwgMC41NTAsIDAuOTUwKTtcbiRlYXNlLWluLW91dC1leHBvOiAgY3ViaWMtYmV6aWVyKDEuMDAwLCAgMC4wMDAsIDAuMDAwLCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtY2lyYzogIGN1YmljLWJlemllcigwLjc4NSwgIDAuMTM1LCAwLjE1MCwgMC44NjApO1xuJGVhc2UtaW4tb3V0LWJhY2s6ICBjdWJpYy1iZXppZXIoMC42ODAsIC0wLjU1MCwgMC4yNjUsIDEuNTUwKTtcbiIsCgkJIkBtaXhpbiB0cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCAkZGlyZWN0aW9uKSB7XG4gICR3aWR0aDogbnRoKCRzaXplLCAxKTtcbiAgJGhlaWdodDogbnRoKCRzaXplLCBsZW5ndGgoJHNpemUpKTtcbiAgJGZvcmVncm91bmQtY29sb3I6IG50aCgkY29sb3IsIDEpO1xuICAkYmFja2dyb3VuZC1jb2xvcjogaWYobGVuZ3RoKCRjb2xvcikgPT0gMiwgbnRoKCRjb2xvciwgMiksIHRyYW5zcGFyZW50KTtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcblxuICBAaWYgKCRkaXJlY3Rpb24gPT0gdXApIG9yICgkZGlyZWN0aW9uID09IGRvd24pIG9yICgkZGlyZWN0aW9uID09IHJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgJHdpZHRoOiAkd2lkdGggLyAyO1xuICAgICRoZWlnaHQ6IGlmKGxlbmd0aCgkc2l6ZSkgPiAxLCAkaGVpZ2h0LCAkaGVpZ2h0LzIpO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IHVwLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSB1cC1sZWZ0KSB7XG4gICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cC1sZWZ0IHtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQpIHtcbiAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCB7XG4gICAgICBib3JkZXItbGVmdDogICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0IHtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC11cCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LWRvd24pIHtcbiAgICBib3JkZXItY29sb3I6ICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1yaWdodCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LWxlZnQpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcbiAgfVxufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYW4gZWFzeSB3YXkgdG8gY2hhbmdlIHRoZSBgd29yZC13cmFwYCBwcm9wZXJ0eS5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkd3JhcCBbYnJlYWstd29yZF1cbi8vLyAgIFZhbHVlIGZvciB0aGUgYHdvcmQtYnJlYWtgIHByb3BlcnR5LlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAud3JhcHBlciB7XG4vLy8gICAgIEBpbmNsdWRlIHdvcmQtd3JhcChicmVhay13b3JkKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC53cmFwcGVyIHtcbi8vLyAgICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbi8vLyAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuLy8vICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4vLy8gICB9XG5cbkBtaXhpbiB3b3JkLXdyYXAoJHdyYXA6IGJyZWFrLXdvcmQpIHtcbiAgb3ZlcmZsb3ctd3JhcDogJHdyYXA7XG4gIHdvcmQtd3JhcDogJHdyYXA7XG5cbiAgQGlmICR3cmFwID09IGJyZWFrLXdvcmQge1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgfSBAZWxzZSB7XG4gICAgd29yZC1icmVhazogJHdyYXA7XG4gIH1cbn1cbiIsCgkJIi8vIFRoZSBmb2xsb3dpbmcgZmVhdHVyZXMgaGF2ZSBiZWVuIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBNQUpPUiB2ZXJzaW9uIHJlbGVhc2VcblxuQG1peGluIGlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBAd2FybiBcIlRoZSBpbmxpbmUtYmxvY2sgbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG5AbWl4aW4gYnV0dG9uICgkc3R5bGU6IHNpbXBsZSwgJGJhc2UtY29sb3I6ICM0Mjk0ZjAsICR0ZXh0LXNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gc3RyaW5nIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBjb2xvciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBzdHJpbmcgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IG51bWJlciB7XG4gICAgJHBhZGRpbmc6ICR0ZXh0LXNpemU7XG4gICAgJHRleHQtc2l6ZTogJGJhc2UtY29sb3I7XG4gICAgJGJhc2UtY29sb3I6ICM0Mjk0ZjA7XG5cbiAgICBAaWYgJHBhZGRpbmcgPT0gaW5oZXJpdCB7XG4gICAgICAkcGFkZGluZzogN3B4IDE4cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBjb2xvciBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gY29sb3Ige1xuICAgICRiYXNlLWNvbG9yOiAkc3R5bGU7XG4gICAgJHN0eWxlOiBzaW1wbGU7XG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBjb2xvciBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gbnVtYmVyIHtcbiAgICAkcGFkZGluZzogJHRleHQtc2l6ZTtcbiAgICAkdGV4dC1zaXplOiAkYmFzZS1jb2xvcjtcbiAgICAkYmFzZS1jb2xvcjogJHN0eWxlO1xuICAgICRzdHlsZTogc2ltcGxlO1xuXG4gICAgQGlmICRwYWRkaW5nID09IGluaGVyaXQge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gbnVtYmVyIHtcbiAgICAkcGFkZGluZzogJGJhc2UtY29sb3I7XG4gICAgJHRleHQtc2l6ZTogJHN0eWxlO1xuICAgICRiYXNlLWNvbG9yOiAjNDI5NGYwO1xuICAgICRzdHlsZTogc2ltcGxlO1xuXG4gICAgQGlmICRwYWRkaW5nID09ICM0Mjk0ZjAge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgb3BhY2l0eTogMC41O1xuICB9XG5cbiAgQHdhcm4gXCJUaGUgYnV0dG9uIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuLy8gU2VsZWN0b3IgU3R5bGUgQnV0dG9uXG5AbWl4aW4gYnV0dG9uc3R5bGUoJHR5cGUsICRiLWNvbG9yLCAkdC1zaXplLCAkcGFkKSB7XG4gIC8vIEdyYXlzY2FsZSBidXR0b25cbiAgQGlmICR0eXBlID09IHNpbXBsZSBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgc2ltcGxlKCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBpZiAkdHlwZSA9PSBzaGlueSBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgc2hpbnkoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGlmICR0eXBlID09IHBpbGwgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIHBpbGwoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGlmICR0eXBlID09IGZsYXQgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIGZsYXQoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgLy8gQ29sb3JlZCBidXR0b25cbiAgQGlmICR0eXBlID09IHNpbXBsZSB7XG4gICAgQGluY2x1ZGUgc2ltcGxlKCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PSBzaGlueSB7XG4gICAgQGluY2x1ZGUgc2hpbnkoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBlbHNlIGlmICR0eXBlID09IHBpbGwge1xuICAgIEBpbmNsdWRlIHBpbGwoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBlbHNlIGlmICR0eXBlID09IGZsYXQge1xuICAgIEBpbmNsdWRlIGZsYXQoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxufVxuXG4vLyBTaW1wbGUgQnV0dG9uXG5AbWl4aW4gc2ltcGxlKCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcbiAgJGJvcmRlcjogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICA5JSwgICRsaWdodG5lc3M6IC0xNCUpO1xuICAkaW5zZXQtc2hhZG93OiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTglLCAgJGxpZ2h0bmVzczogIDE1JSk7XG4gICRzdG9wLWdyYWRpZW50OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgOSUsICAkbGlnaHRuZXNzOiAtMTElKTtcbiAgJHRleHQtc2hhZG93OiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICAxNSUsICRsaWdodG5lc3M6IC0xOCUpO1xuXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcbiAgfVxuXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICRib3JkZXI6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlcik7XG4gICAgJGluc2V0LXNoYWRvdzogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93KTtcbiAgICAkc3RvcC1ncmFkaWVudDogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50KTtcbiAgICAkdGV4dC1zaGFkb3c6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdyk7XG4gIH1cblxuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93O1xuICBjb2xvcjogJGNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvciwgJHN0b3AtZ3JhZGllbnQpO1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogMCAxcHggMCAkdGV4dC1zaGFkb3c7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC00JSwgJGxpZ2h0bmVzczogLTUlKTtcbiAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTclLCAkbGlnaHRuZXNzOiAgNSUpO1xuICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgOCUsICRsaWdodG5lc3M6IC0xNCUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWhvdmVyKTtcbiAgICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1ob3Zlcik7XG4gICAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50LWhvdmVyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLWhvdmVyLCAkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG5cbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdy1ob3ZlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJvcmRlci1hY3RpdmU6ICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDklLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogNyUsICRsaWdodG5lc3M6IC0xNyUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgZ3JheXNjYWxlKCRib3JkZXItYWN0aXZlKTtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItYWN0aXZlO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA4cHggNHB4ICRpbnNldC1zaGFkb3ctYWN0aXZlLCBpbnNldCAwIDAgOHB4IDRweCAkaW5zZXQtc2hhZG93LWFjdGl2ZTtcbiAgfVxufVxuXG4vLyBTaGlueSBCdXR0b25cbkBtaXhpbiBzaGlueSgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG4gICRib3JkZXI6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMTcsICRncmVlbjogLTExMSwgJGJsdWU6IC04MSk7XG4gICRib3JkZXItYm90dG9tOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMjYsICRncmVlbjogLTEyNywgJGJsdWU6IC0xMjIpO1xuICAkZm91cnRoLXN0b3A6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtNzksICAkZ3JlZW46IC03MCwgICRibHVlOiAtNDYpO1xuICAkaW5zZXQtc2hhZG93OiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAgMzcsICAkZ3JlZW46ICAyOSwgICRibHVlOiAgMTIpO1xuICAkc2Vjb25kLXN0b3A6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtNTYsICAkZ3JlZW46IC01MCwgICRibHVlOiAtMzMpO1xuICAkdGV4dC1zaGFkb3c6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTQwLCAkZ3JlZW46IC0xNDEsICRibHVlOiAtMTE0KTtcbiAgJHRoaXJkLXN0b3A6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTg2LCAgJGdyZWVuOiAtNzUsICAkYmx1ZTogLTQ4KTtcblxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xuICAgICR0ZXh0LXNoYWRvdzogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogMTAlLCAkbGlnaHRuZXNzOiA0JSk7XG4gIH1cblxuICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAkYm9yZGVyOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXIpO1xuICAgICRib3JkZXItYm90dG9tOiBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20pO1xuICAgICRmb3VydGgtc3RvcDogICBncmF5c2NhbGUoJGZvdXJ0aC1zdG9wKTtcbiAgICAkaW5zZXQtc2hhZG93OiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3cpO1xuICAgICRzZWNvbmQtc3RvcDogICBncmF5c2NhbGUoJHNlY29uZC1zdG9wKTtcbiAgICAkdGV4dC1zaGFkb3c6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdyk7XG4gICAgJHRoaXJkLXN0b3A6ICAgIGdyYXlzY2FsZSgkdGhpcmQtc3RvcCk7XG4gIH1cblxuICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQodG9wLCAkYmFzZS1jb2xvciAwJSwgJHNlY29uZC1zdG9wIDUwJSwgJHRoaXJkLXN0b3AgNTAlLCAkZm91cnRoLXN0b3AgMTAwJSk7XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItYm90dG9tO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93O1xuICBjb2xvcjogJGNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3c7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgJGZpcnN0LXN0b3AtaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMywgJGdyZWVuOiAtMTUsICRibHVlOiAtMTgpO1xuICAgICRzZWNvbmQtc3RvcC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtNjYsICRncmVlbjogLTYyLCAkYmx1ZTogLTUxKTtcbiAgICAkdGhpcmQtc3RvcC1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTkzLCAkZ3JlZW46IC04NSwgJGJsdWU6IC02Nik7XG4gICAgJGZvdXJ0aC1zdG9wLWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC04NiwgJGdyZWVuOiAtODAsICRibHVlOiAtNjMpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkZmlyc3Qtc3RvcC1ob3ZlcjogIGdyYXlzY2FsZSgkZmlyc3Qtc3RvcC1ob3Zlcik7XG4gICAgICAkc2Vjb25kLXN0b3AtaG92ZXI6IGdyYXlzY2FsZSgkc2Vjb25kLXN0b3AtaG92ZXIpO1xuICAgICAgJHRoaXJkLXN0b3AtaG92ZXI6ICBncmF5c2NhbGUoJHRoaXJkLXN0b3AtaG92ZXIpO1xuICAgICAgJGZvdXJ0aC1zdG9wLWhvdmVyOiBncmF5c2NhbGUoJGZvdXJ0aC1zdG9wLWhvdmVyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQodG9wLCAkZmlyc3Qtc3RvcC1ob3ZlciAgMCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNlY29uZC1zdG9wLWhvdmVyIDUwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcmQtc3RvcC1ob3ZlciAgNTAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmb3VydGgtc3RvcC1ob3ZlciAxMDAlKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTExMSwgJGdyZWVuOiAtMTE2LCAkYmx1ZTogLTEyMik7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAyMHB4IDAgJGluc2V0LXNoYWRvdy1hY3RpdmU7XG4gIH1cbn1cblxuLy8gUGlsbCBCdXR0b25cbkBtaXhpbiBwaWxsKCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcbiAgJGJvcmRlci1ib3R0b206IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAtMTElLCAkbGlnaHRuZXNzOiAtMjYlKTtcbiAgJGJvcmRlci1zaWRlczogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDQsICRzYXR1cmF0aW9uOiAtMjElLCAkbGlnaHRuZXNzOiAtMjElKTtcbiAgJGJvcmRlci10b3A6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMzAlLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiAgJGluc2V0LXNoYWRvdzogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMSUsICAkbGlnaHRuZXNzOiAgNyUpO1xuICAkc3RvcC1ncmFkaWVudDogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246ICAxNCUsICRsaWdodG5lc3M6IC0xMCUpO1xuICAkdGV4dC1zaGFkb3c6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNSwgJHNhdHVyYXRpb246IC0xOSUsICRsaWdodG5lc3M6IC0xNSUpO1xuXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcbiAgfVxuXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICRib3JkZXItYm90dG9tOiBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20pO1xuICAgICRib3JkZXItc2lkZXM6ICBncmF5c2NhbGUoJGJvcmRlci1zaWRlcyk7XG4gICAgJGJvcmRlci10b3A6ICAgIGdyYXlzY2FsZSgkYm9yZGVyLXRvcCk7XG4gICAgJGluc2V0LXNoYWRvdzogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93KTtcbiAgICAkc3RvcC1ncmFkaWVudDogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50KTtcbiAgICAkdGV4dC1zaGFkb3c6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdyk7XG4gIH1cblxuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLXRvcDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLXRvcCAkYm9yZGVyLXNpZGVzICRib3JkZXItYm90dG9tO1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3IsICRzdG9wLWdyYWRpZW50KTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3c7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRsaWdodG5lc3M6IC00LjUlKTtcbiAgICAkYm9yZGVyLWJvdHRvbTogICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246ICAxMy41JSwgJGxpZ2h0bmVzczogLTMyJSk7XG4gICAgJGJvcmRlci1zaWRlczogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDQsICRzYXR1cmF0aW9uOiAtMiUsICAgICRsaWdodG5lc3M6IC0yNyUpO1xuICAgICRib3JkZXItdG9wOiAgICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IC0xLCAkc2F0dXJhdGlvbjogLTE3JSwgICAkbGlnaHRuZXNzOiAtMjElKTtcbiAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAgICAgICAgICAgJHNhdHVyYXRpb246IC0xJSwgICAgJGxpZ2h0bmVzczogIDMlKTtcbiAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246IC00JSwgICAgJGxpZ2h0bmVzczogLTE1LjUlKTtcbiAgICAkdGV4dC1zaGFkb3ctaG92ZXI6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNSwgJHNhdHVyYXRpb246IC01JSwgICAgJGxpZ2h0bmVzczogLTIyJSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBncmF5c2NhbGUoJGJhc2UtY29sb3ItaG92ZXIpO1xuICAgICAgJGJvcmRlci1ib3R0b206ICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XG4gICAgICAkYm9yZGVyLXNpZGVzOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXItc2lkZXMpO1xuICAgICAgJGJvcmRlci10b3A6ICAgICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLXRvcCk7XG4gICAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctaG92ZXIpO1xuICAgICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG4gICAgICAkdGV4dC1zaGFkb3ctaG92ZXI6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdy1ob3Zlcik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvci1ob3ZlciwgJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xuXG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLXRvcDtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItdG9wICRib3JkZXItc2lkZXMgJGJvcmRlci1ib3R0b207XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3ctaG92ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdy1ob3ZlcjtcbiAgfVxuXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYWN0aXZlLWNvbG9yOiAgICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogNCwgICRzYXR1cmF0aW9uOiAtMTIlLCAgJGxpZ2h0bmVzczogLTEwJSk7XG4gICAgJGJvcmRlci1hY3RpdmU6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDYsICAkc2F0dXJhdGlvbjogLTIuNSUsICRsaWdodG5lc3M6IC0zMCUpO1xuICAgICRib3JkZXItYm90dG9tLWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAxMSwgJHNhdHVyYXRpb246ICA2JSwgICAkbGlnaHRuZXNzOiAtMzElKTtcbiAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogOSwgICRzYXR1cmF0aW9uOiAgMiUsICAgJGxpZ2h0bmVzczogLTIxLjUlKTtcbiAgICAkdGV4dC1zaGFkb3ctYWN0aXZlOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogNSwgICRzYXR1cmF0aW9uOiAtMTIlLCAgJGxpZ2h0bmVzczogLTIxLjUlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGFjdGl2ZS1jb2xvcjogICAgICAgICBncmF5c2NhbGUoJGFjdGl2ZS1jb2xvcik7XG4gICAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWFjdGl2ZSk7XG4gICAgICAkYm9yZGVyLWJvdHRvbS1hY3RpdmU6IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbS1hY3RpdmUpO1xuICAgICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgICAgJHRleHQtc2hhZG93LWFjdGl2ZTogICBncmF5c2NhbGUoJHRleHQtc2hhZG93LWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZDogJGFjdGl2ZS1jb2xvcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWFjdGl2ZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1ib3R0b20tYWN0aXZlO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggM3B4ICRpbnNldC1zaGFkb3ctYWN0aXZlO1xuICAgIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdy1hY3RpdmU7XG4gIH1cbn1cblxuLy8gRmxhdCBCdXR0b25cbkBtaXhpbiBmbGF0KCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcblxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm9yZGVyOiAwO1xuICBjb2xvcjogJGNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpe1xuICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiA0JSwgJGxpZ2h0bmVzczogNSUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYmFzZS1jb2xvci1ob3ZlcjogZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWhvdmVyKTtcbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1jb2xvci1ob3ZlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJhc2UtY29sb3ItYWN0aXZlOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtNCUsICRsaWdodG5lc3M6IC01JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRiYXNlLWNvbG9yLWFjdGl2ZTogZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3ItYWN0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuXG4vLyBGbGV4aWJsZSBncmlkXG5AZnVuY3Rpb24gZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucykge1xuICAkd2lkdGg6ICRjb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gIEByZXR1cm4gcGVyY2VudGFnZSgkd2lkdGggLyAkY29udGFpbmVyLXdpZHRoKTtcblxuICBAd2FybiBcIlRoZSBmbGV4LWdyaWQgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG4vLyBGbGV4aWJsZSBndXR0ZXJcbkBmdW5jdGlvbiBmbGV4LWd1dHRlcigkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucywgJGd1dHRlcjogJGZnLWd1dHRlcikge1xuICAkY29udGFpbmVyLXdpZHRoOiAkY29udGFpbmVyLWNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb250YWluZXItY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgQHJldHVybiBwZXJjZW50YWdlKCRndXR0ZXIgLyAkY29udGFpbmVyLXdpZHRoKTtcblxuICBAd2FybiBcIlRoZSBmbGV4LWd1dHRlciBmdW5jdGlvbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XG59XG5cbkBmdW5jdGlvbiBncmlkLXdpZHRoKCRuKSB7XG4gIEByZXR1cm4gJG4gKiAkZ3ctY29sdW1uICsgKCRuIC0gMSkgKiAkZ3ctZ3V0dGVyO1xuXG4gIEB3YXJuIFwiVGhlIGdyaWQtd2lkdGggZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG5AZnVuY3Rpb24gZ29sZGVuLXJhdGlvKCR2YWx1ZSwgJGluY3JlbWVudCkge1xuICBAcmV0dXJuIG1vZHVsYXItc2NhbGUoJGluY3JlbWVudCwgJHZhbHVlLCAkcmF0aW86ICRnb2xkZW4pO1xuXG4gIEB3YXJuIFwiVGhlIGdvbGRlbi1yYXRpbyBmdW5jdGlvbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlLiBQbGVhc2UgdXNlIHRoZSBtb2R1bGFyLXNjYWxlIGZ1bmN0aW9uLCBpbnN0ZWFkLlwiO1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkYm94KSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1zaXppbmcsICRib3gsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgQHdhcm4gXCJUaGUgYm94LXNpemluZyBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlLiBUaGlzIHByb3BlcnR5IGNhbiBub3cgYmUgdXNlZCB1bi1wcmVmaXhlZC5cIjtcbn1cbiIKCV0sCgkibWFwcGluZ3MiOiAiQUFNQSxJQUFJLEFBQUEsQ0FBQyxXQUFXLENBQUMsVUFBVyxDQUFDLG9CQUFvQixDQUFDLElBQUssQ0FBQyx3QkFBd0IsQ0FBQyxJQUFLLENBQUUsQUFBRCxJQUFJLEFBQUEsQ0FBQyxNQUFNLENBQUMsQ0FBRSxDQUFFLEFBQUQsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxBQUFBLENBQUMsT0FBTyxDQUFDLEtBQU0sQ0FBRSxBQUFELEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQUFBQSxDQUFDLE9BQU8sQ0FBQyxZQUFhLENBQUMsY0FBYyxDQUFDLFFBQVMsQ0FBRSxBQUFELEtBQUssQUFBQSxJQUFLLEVBQUEsQUFBQSxRQUFDLEFBQUEsRUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFLLENBQUMsTUFBTSxDQUFDLENBQUUsQ0FBRSxDQUFELEFBQUEsTUFBQyxBQUFBLEVBQVEsUUFBUSxBQUFBLENBQUMsT0FBTyxDQUFDLElBQUssQ0FBRSxBQUFELENBQUMsQUFBQSxDQUFDLGdCQUFnQixDQUFDLFdBQVksQ0FBRSxBQUFELENBQUMsQUFBQSxPQUFPLENBQUMsQ0FBQyxBQUFBLE1BQU0sQUFBQSxDQUFDLE9BQU8sQ0FBQyxDQUFFLENBQUUsQUFBRCxJQUFJLENBQUEsQUFBQSxLQUFDLEFBQUEsQ0FBTSxDQUFDLGFBQWEsQ0FBQyxVQUFXLENBQUUsQUFBRCxDQUFDLENBQUMsTUFBTSxBQUFBLENBQUMsV0FBVyxDQUFDLEdBQUksQ0FBRSxBQUFELEdBQUcsQUFBQSxDQUFDLFVBQVUsQ0FBQyxNQUFPLENBQUUsQUFBRCxFQUFFLEFBQUEsQ0FBQyxTQUFTLENBQUMsR0FBSSxDQUFDLE1BQU0sQ0FBQyxPQUFRLENBQUUsQUFBRCxJQUFJLEFBQUEsQ0FBQyxVQUFVLENBQUMsSUFBSyxDQUFDLEtBQUssQ0FBQyxJQUFLLENBQUUsQUFBRCxLQUFLLEFBQUEsQ0FBQyxTQUFTLENBQUMsR0FBSSxDQUFFLEFBQUQsR0FBRyxDQUFDLEdBQUcsQUFBQSxDQUFDLFNBQVMsQ0FBQyxHQUFJLENBQUMsV0FBVyxDQUFDLENBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUyxDQUFDLGNBQWMsQ0FBQyxRQUFTLENBQUUsQUFBRCxHQUFHLEFBQUEsQ0FBQyxHQUFHLENBQUMsS0FBTSxDQUFFLEFBQUQsR0FBRyxBQUFBLENBQUMsTUFBTSxDQUFDLE1BQU8sQ0FBRSxBQUFELEdBQUcsQUFBQSxDQUFDLE1BQU0sQ0FBQyxDQUFFLENBQUUsQUFBRCxHQUFHLEFBQUEsSUFBSyxDQUFBLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFPLENBQUUsQUFBRCxNQUFNLEFBQUEsQ0FBQyxNQUFNLENBQUMsUUFBUyxDQUFFLEFBQUQsRUFBRSxBQUFBLENBQUMsZUFBZSxDQUFDLFdBQVksQ0FBQyxVQUFVLENBQUMsV0FBWSxDQUFDLE1BQU0sQ0FBQyxDQUFFLENBQUUsQUFBRCxHQUFHLEFBQUEsQ0FBQyxRQUFRLENBQUMsSUFBSyxDQUFFLEFBQUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxBQUFBLENBQUMsV0FBVyxDQUFDLG1CQUFvQixDQUFDLFNBQVMsQ0FBQyxHQUFJLENBQUUsQUFBRCxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxBQUFBLENBQUMsS0FBSyxDQUFDLE9BQVEsQ0FBQyxJQUFJLENBQUMsT0FBUSxDQUFDLE1BQU0sQ0FBQyxD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 */