@import url(https://fonts.googleapis.com/css2?family=Black+Ops+One&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Black+Ops+One&display=swap);
ul.list-products{width:auto;margin-left:auto;margin-right:auto;height:auto;padding-bottom:10px}li.list-product{float:left;list-style-position:outside;width:24%;margin-right:5px}li.list-product:last-child{padding-bottom:10px}li.list-product a{font-size:11px;font-family:Verdana,Arial,sans-serif;color:blue;text-decoration:underline}@media screen and (max-width: 776px){li.list-product{width:31%;margin-bottom:10px}}@media screen and (max-width: 647px){li.list-product{width:48%}}@media screen and (max-width: 523px){li.list-product{width:100%}}.products{color:var(--ps-color-secondary, #090917);padding-top:100px}body:not(:has(.nav-banner)) .products{padding-top:69px}@media(max-width: 1199.98px){.products{padding-top:25px}body:not(:has(.nav-banner)) .products{padding-top:25px}}@media(max-width: 991.98px){.products{padding-top:50px}}.products.-checkout{padding-top:0rem}.products.-checkout.-var-1 .container-fluid{padding-top:10px}.products.-checkout #content{padding-top:0}.contact .products:after{display:none}.products .container-fluid{background-color:var(--ps-color-neutral, #ffffff);padding-top:250px;padding-bottom:40px;padding-left:5px;padding-right:5px;background:var(--ps-color-neutral, #ffffff);background-size:auto;background-repeat:repeat-x;position:relative}@media(max-width: 1199.98px){.products .container-fluid .container-spacer{padding-top:25px}}.products .product-list-selector .product-cont a .title{color:var(--ps-color-secondary-darker, #000000);font-size:28px}.products #header #nav-desktop #navbarNav .navbar-nav .nav-item .nav-link{font-family:"Black Ops One",cursive;font-size:20px}.products.-var-1 .container-fluid{background-image:none;padding-top:67px}@media(max-width: 991.98px){.products.-var-1,body:not(:has(.nav-banner)) .products.-var-1{padding-top:0}.products.-var-1 .container-fluid,body:not(:has(.nav-banner)) .products.-var-1 .container-fluid{padding-top:var(--ps-hdr-bottom, 117px)}.products.-var-1 #content,body:not(:has(.nav-banner)) .products.-var-1 #content{padding-top:0}.products.-var-1.-checkout .container-fluid,body:not(:has(.nav-banner)) .products.-var-1.-checkout .container-fluid{padding-top:10px}}.products-main-container{clear:both}.products-main-container hr{clear:both}.product-list{position:relative}.product-list-selector .product-img{width:98%;margin:1%;clear:both;display:block}.product-list-selector .product-list{width:100%;display:table}.product-list-selector .out-of-stock{display:none}.product-list-selector .in-stock{display:none}.product-list-selector .out-of-stock-label{display:none;text-transform:uppercase;color:#c70004}.product-list-selector .in-stock-label{display:none;color:#006400;text-transform:uppercase}.product-list-selector .product-col{padding-left:5px;display:table-cell}.product-list-selector .products-cont{width:100%}.product-list-selector .product-cont{width:auto;height:auto;margin-top:13px;background-color:#fff;padding-bottom:0px;display:flex;flex-direction:column;align-content:stretch}.product-list-selector .title-cont{background-color:#efefef;color:#fff;width:100%;height:auto;padding-top:6px;padding-bottom:9px;margin-bottom:5px}.product-list-selector .brand-logo-cont{text-align:center}.product-list-selector .product-cont .right-side-cont{display:flex}.product-list-selector .product-cont .right-side{display:flex;flex-direction:column;align-content:stretch;margin-top:auto}.product-cont .buy-button-row{height:100px;width:100%}.product-cont .buy-button-row .show{display:block !important;visibility:visible}.product-list-selector .product-cont .buy-button-row{height:100px;width:100%}.product-list-selector .product-cont .buy-button-row .show{display:block !important;visibility:visible}.product-list-selector .product-cont .main{padding:10px}.product-list-selector .product-cont .title{font-size:18px;margin:0px;text-decoration:underline}.product-list-selector .product-cont a .title{color:var(--ps-color-primary, #001877);font-size:18px;font-weight:bold}.product-list-selector .product-cont a .title .lighter{font-weight:400}.product-list-selector .product-cont .product-container-inner{display:flex;align-content:stretch;height:auto}.product-list-selector .product-cont .product-container-inner .image-cont{padding:0;float:left;width:20%}.product-list-selector .product-cont .product-container-inner .info-col-1{margin-left:.75rem;width:40%}.product-list-selector .product-cont .product-container-inner .info-col-2{width:38%;display:flex;flex-flow:row wrap;justify-content:flex-start}.product-list-selector .product-cont .product-container-inner .info-col-2 .flex-col-nowrap{display:flex;flex-flow:column nowrap;width:100%}.product-list-selector .product-cont .slider{width:300px;clear:both;margin-left:auto;margin-right:auto}.product-list-selector .product-cont a:hover .title{text-decoration:underline}.product-list-selector .product-cont .buy-button-master-cont{margin-top:20px;display:flex;justify-content:flex-start;margin-left:10px}.product-list-selector .product-cont .button-container{flex-grow:1;float:left}.product-list-selector .product-cont .add-to-order{position:relative;cursor:pointer;width:100%;height:50px;font-size:19px;text-transform:uppercase;font-weight:bold;padding:5px 11px 5px 11px;color:#fff;text-decoration:none;border-radius:0px 4px 4px 0px;background-image:linear-gradient(to bottom, var(--ps-color-primary, #001877), var(--ps-color-primary, #001877));border:1px solid var(--ps-color-primary, #001877);left:-6px;top:-2px}.product-list-selector .product-cont .quantity{height:auto;position:relative;top:-2px;display:inline;float:left;clear:both}.product-list-selector .product-cont .quantity .qty{z-index:0}.product-list-selector .product-cont .quantity .input-group-addon{border-radius:4px 0px 0px 4px;width:60px;height:50px;text-align:left;padding-right:1px;font-size:16px;text-transform:uppercase;color:#7a7a7a}.product-list-selector .product-cont .quantity input{height:50px;width:60px}.product-list-selector .product-cont .quantity input:hover{color:#000}.product-list-selector .product-cont ul.outer{padding-left:20px;list-style-type:square}.product-list-selector .product-cont .brand-about{font-style:italic}.product-list-selector .product-cont ul.inner{padding-left:20px;list-style-type:circle;font-style:italic}.product-list-selector .product-cont .fits-row{background-color:#585e66;color:#0b0b0b;text-transform:uppercase;font-weight:bold;margin-left:-5px;margin-right:-5px;padding-top:10px}.product-list-selector .product-cont .fits-row table tr th{padding:0px;padding-left:5px;background-color:#c7c7c7;border:0;font-size:15px}.product-list-selector .product-cont .fits-row table tr td{padding:1px;margin-left:3px;padding-left:5px}.product-list-selector .product-cont .interchange-row{background-color:#fff;color:#585e66;text-transform:uppercase;font-weight:normal;margin-left:-5px;margin-right:-5px;padding-top:10px}.product-list-selector .product-cont .interchange-row table tr th{padding:0px;padding-left:5px;background-color:#c7c7c7;border:0;font-size:15px}.product-list-selector .product-cont .interchange-row table tr td{padding:1px;margin-left:3px;padding-left:5px}.product-list-selector .product-cont .pricing{margin-top:20px;clear:both}.product-list-selector .product-cont .pricing span label{width:50px;display:inline-block;float:left;clear:both;text-transform:uppercase;padding-right:10px;text-align:right;font-weight:400;font-size:14px;color:#363636}.product-list-selector .product-cont .pricing span span{font-size:20px;color:#333;font-weight:normal;display:inline-block;float:left}.product-list-selector .product-cont .pricing .price span{font-size:24px;color:#333;font-weight:900;display:inline-block;float:left}.product-list-selector .product-cont .pricing .part-number span{font-size:24px;color:#333;font-weight:900;display:inline-block;float:left}.product-list-selector .product-cont .part-number-cont{clear:both;display:block;padding-top:20px}.product-list-selector .product-cont .part-number-cont label{display:inline-block;float:left;clear:both;padding-right:10px;text-align:right;font-weight:400;font-size:15px;color:#363636}.product-list-selector .product-cont .part-number-cont span{display:inline-block;float:left}.product-list-selector .product-cont .part-number-cont p{display:block;clear:both}.product-list-selector .product-cont .part-number-cont .part-number{font-size:15px}.product-list-selector .product-cont .free_shipping{font-size:14px;text-transform:uppercase;color:#099700;font-weight:bold;padding:14px}.product-list-selector .product-cont .eligible-shipping-help{font-size:15px}@media screen and (max-width: 1030px){.product-cont{border:1px solid #e4e4e4;border-radius:.25rem;transition-duration:.25s;transition-property:box-shadow;padding:1.1em}.product-list-selector .product-cont{margin-top:1em}.product-list-selector .product-cont:first-child{margin-top:0}.product-list-selector .product-cont .add-to-order{height:2.1em;font-size:1.298em}.product-list-selector .product-cont .quantity input{height:2.44em}.product-list-selector .product-cont .quantity .input-group-addon{height:2.1em;font-size:1.1em}.product-list-selector .product-cont .prod-attr-cont{background-color:rgba(191,193,198,.3);padding:.6rem;border-radius:.6rem}.product-list-selector .product-cont .prod-attr-cont ul.outer{margin-bottom:1em}.product-list-selector .product-cont .prod-attr-cont ul.outer li{margin-top:3px}}@media screen and (max-width: 1030px)and (max-width: 991.98px){.product-list-selector .product-cont .prod-attr-cont ul.outer li{width:100%}}@media screen and (max-width: 1030px){.product-list-selector .product-cont .prod-attr-cont ul.outer li .md_pd_spec_value{font-size:95%}.product-list-selector .product-cont .brand-about{clear:both}.product-list-selector .product-cont .buy-button-master-cont{margin-top:1em}.product-list-selector .product-cont .buy-button-row{height:auto;margin-bottom:.75em}.product-list-selector .product-cont .pricing{clear:none;float:left;margin-right:1em;margin-top:.5em}.product-list-selector .product-cont .pricing .price span{font-size:1.5em}.product-list-selector .product-cont .pricing span label{font-size:1em}.product-list-selector .product-cont .part-number-cont{clear:none;float:left;padding-top:.5em;margin-bottom:1em}.product-list-selector .product-cont .part-number-cont .part-number{font-size:1em}.product-list-selector .product-cont .part-number-cont label{font-size:1em;margin-bottom:0}.product-list-selector .title-cont{padding:0;margin:0;padding-bottom:.5em;background-color:#fff}.product-list-selector .title-cont a .title{font-size:.94rem}.product-list-selector .product-cont .product-container-inner .image-cont{width:auto;margin-right:1.5em}.product-list-selector .product-cont .product-container-inner .image-cont .brand-logo-cont{width:5.5rem}.product-list-selector .product-cont .product-container-inner .image-cont .product-img{width:5.5rem;height:5.5rem}.product-list-selector .product-cont .product-container-inner .image-cont .product-img img{max-height:100%}.product-list-selector .product-cont .product-container-inner .info-col-1{margin-left:0;font-size:.9em;width:auto}.product-list-selector .product-cont .product-container-inner .info-col-2{float:left;clear:both;font-size:.9em;width:100%}}@media screen and (max-width: 776px){.product-list-selector .title-cont{height:auto}.product-list-selector .product-cont .prod-attr-cont{display:block}.product-list-selector .product-cont .product-container-inner{display:block}.product-list{position:relative}.product-list-selector .product-col{width:100%}}@media screen and (max-width: 350px){.product-list-selector .product-cont .add-to-order{font-size:16px}.product-list-selector .product-cont .add-to-order span{display:none}}.product-list-selector{margin-top:1.875rem}.product-list-selector .facets-cont{border-radius:.25rem;padding:0 .625rem;padding-left:0;background:none}@media(max-width: 1199.98px){.product-list-selector .facets-cont{display:none;background:var(--ps-color-secondary, #090917);margin-top:0;padding:1.25rem;z-index:1050}.product-list-selector .facets-cont i{display:inline;font-size:21px;position:relative;left:13px;top:3px;cursor:pointer}}.product-list-selector .facets-cont .close,.product-list-selector .facets-cont .facets-cont__head{display:none}.product-list-selector .facets-cont label{font-weight:600;font-size:1rem;font-weight:600;background:none}.product-list-selector .facets-cont ul{border:none}.product-list-selector .facets-cont ul li input:checked~.checkmark{background-color:var(--ps-color-primary-dark, #4b84c0);border-color:var(--ps-color-primary-dark, #4b84c0)}.product-list-selector .products-cont{border-left:.0625rem solid #4b4a4a;padding-left:1.25rem;height:100%}.product-list-selector .products-cont .product-cont{border-bottom:.0625rem solid var(--ps-color-border, #dbdbdb);margin-bottom:1.875rem;padding-bottom:2.5rem}.product-list-selector .products-cont .product-cont .buy-button-row{height:auto}.product-list-selector .products-cont .product-cont .quantity{top:0;float:none}@media(max-width: 991.98px){.product-list-selector .products-cont .product-cont .quantity{flex:1 1 auto}}.product-list-selector .products-cont .product-cont .title-cont{background:none;display:flex;justify-content:space-between;align-items:center}.product-list-selector .products-cont .product-cont .title-cont .product-line__wishlist{margin-top:0}.product-list-selector .products-cont .product-cont a .title{text-decoration:none}.product-list-selector .products-cont .product-cont a .title .lighter{display:block}.product-list-selector .products-cont .product-cont .product-container-inner{display:flex;flex-direction:row;width:100%}.product-list-selector .products-cont .product-cont .product-container-inner .image-cont{float:none;width:auto;flex:1 1 20%}.product-list-selector .products-cont .product-cont .product-container-inner .image-cont .product-img{width:100%;height:auto}.product-list-selector .products-cont .product-cont .product-container-inner .info-col-1{width:auto;flex:1 1 70%;display:flex;flex-direction:column}.product-list-selector .products-cont .product-cont .product-container-inner .info-col-1 [property=description] .outer{font-size:1rem}.product-list-selector .products-cont .product-cont .pricing .price label{display:none}.product-list-selector .products-cont .product-cont .pricing .price [property=priceCurrency]{font-weight:500;font-size:1.25rem}.product-list-selector .products-cont .product-cont .pricing .price [property=price]{font-weight:500;font-size:1.25rem}.product-list-selector .products-cont .product-cont .part-number-cont .part-number label{font-weight:600}.product-list-selector .products-cont .product-cont .fits-row{background:rgba(0,0,0,0);margin:0}.product-list-selector .products-cont .product-cont .fits-row .header{color:#000;text-transform:capitalize;font-size:.875rem}.product-list-selector .products-cont .product-cont .fits-row .stacktable{font-size:.875rem;text-transform:capitalize}.product-list-selector .products-cont .product-cont .interchange-row{text-transform:capitalize;font-size:.875rem;color:#000;font-weight:600;border:.0625rem solid var(--ps-color-border, #dbdbdb);border-radius:.25rem .25rem 0 0}.product-list-selector .products-cont .product-cont .buy-button-master-cont{margin-left:0;flex-wrap:wrap}.product-list-selector .products-cont .product-cont .buy-button-master-cont .button-container{max-width:15.625rem;float:none;flex:1 1 auto}.product-list-selector .products-cont .product-cont .buy-button-master-cont .button-container .add-to-order{font-size:.875rem;font-weight:400;left:0;top:0}@media screen and (max-width: 1030px){.product-list-selector .products-cont .product-cont .buy-button-master-cont .button-container .add-to-order{padding:.5rem;height:auto}}.product-list-selector .products-cont .product-cont .product-details-tabs{margin-top:1.875rem}.product-list-selector .brand-logo-cont{text-align:center;background:#fff;padding:1.25rem 0;border-radius:.25rem}@media(max-width: 1199.98px){.product-list-selector .facets-cont{position:fixed;width:auto;top:var(--ps-facets-top, var(--ps-hdr-bottom, 100px));left:0;right:0;margin:0;border-radius:0;bottom:0;background:var(--ps-color-surface-alt, #efefef);overflow:auto;overscroll-behavior:contain}.product-list-selector .facets-cont .facets-cont__head{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:.625rem;background-color:inherit;border-bottom:1px solid rgba(0,0,0,.12);margin:-1.25rem -1.25rem .75rem;padding:.5rem 1.25rem}.product-list-selector .facets-cont .facets-cont__head-title{font-size:1.0625rem;font-weight:700;line-height:1.2;color:var(--ps-color-primary-hover, #001877)}.product-list-selector .facets-cont .close{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:2.75rem;height:2.75rem;margin:0;font-size:1.75rem;line-height:1;color:var(--ps-color-primary-hover, #001877);cursor:pointer}.product-list-selector .facets-cont .close i{position:static;left:auto;top:auto;font-size:1.75rem;line-height:1}.product-list-selector .facets-cont .filter{display:flex;flex-direction:column;justify-content:flex-start;flex-wrap:wrap}.product-list-selector .facets-cont .filter-item:first-child{border-top:0}.product-list-selector .facets-cont .filter-item{flex:1 1 46%;margin:.625rem 2%}.product-list-selector .facets-cont .filter-item ul{max-height:none}.product-list-selector .products-cont{border-left:none;padding-left:0}.product-list-selector .products-cont .product-container-inner{display:flex}.product-list-selector .products-cont .product-container-inner .image-cont .brand-logo-cont{margin:0 auto}}@media(max-width: 1199.98px)and (max-width: 1199.98px){.product-col{width:100%}}@media(max-width: 1199.98px){.product-col .product-detail .product-cont .product-info-container{flex-grow:initial}.product-col .product-detail .product-cont .product-info-container #content{padding-top:20px}.product-col .product-detail .product-cont .product-info-container .products-main-container .vehicle-select{margin:0 0 15px 0}.product-col .product-detail .product-cont .product-info-container .products-main-container .vehicle-select .container .body{padding:5px;box-shadow:none}.product-col .product-detail .product-cont .product-info-container .products-main-container .vehicle-select .search_by{display:none}.product-col .product-detail .product-cont .product-info-container .products-main-container .vehicle-select .container .body .vehicle-widget{padding:5px}.product-col .product-detail .product-cont .product-info-container .products-main-container .vehicle-select .container .body .vehicle-widget select,.product-col .product-detail .product-cont .product-info-container .products-main-container .vehicle-select .container .body .vehicle-widget button{height:auto;font-size:15px;font-weight:normal}.product-col .product-detail .product-cont .product-info-container .products-main-container .vehicle-select .container .body .vehicle-widget button{padding:7px}.product-col .product-detail .product-cont .product-info-container .products-main-container .ppc-shilling{background:var(--ps-color-primary-light, #f99d1a);margin:0 auto 10px auto;padding:5px;justify-content:space-evenly;max-width:55rem;border-radius:2px}.product-col .product-detail .product-cont .product-info-container .products-main-container .ppc-shilling div,.product-col .product-detail .product-cont .product-info-container .products-main-container .ppc-shilling div a,.product-col .product-detail .product-cont .product-info-container .products-main-container .ppc-shilling div i{color:#fff;font-size:13px}.product-col .product-detail .product-cont .product-info-container .products-main-container .ppc-shilling div i{padding-right:5px}.product-col .product-detail .product-cont .product-info-container .pagination-container,.product-col .product-detail .product-cont .product-info-container .pagination-container:last-child{margin-top:0px}.product-col .product-detail .product-cont .product-info-container .pagination-container .pagination-container-item{padding:0}.product-col .product-detail .product-cont .product-info-container .pagination-container .pagination-container-item .form-group .custom-select{height:auto}.product-col .product-detail .product-cont .product-info-container .pagination-container .pagination-container-item .form-group .select-selected{padding:3px 5px}.product-col .product-detail .product-cont .product-info-container .products .row.mt-4{margin-top:0px !important}.product-col .product-detail .product-cont .product-info-container .products .row.mt-4 .toggle_label{font-size:11px;font-weight:normal}.product-col .product-detail .product-cont .product-info-container .products .row.mt-4 .toggle_group{font-size:13px;height:auto}.product-col .product-detail .product-cont .product-info-container .products .product-list-selector{margin-top:20px}.product-col .product-detail .product-cont .product-info-container .product-list-selector .product-line__stock{display:none}.product-col .product-detail .product-cont .product-info-container .product-list-selector .product-cont .part-number-cont label{font-size:13px;font-weight:normal;padding-right:3px}.product-col .product-detail .product-cont .product-info-container .product-list-selector .product-cont .part-number-cont span{font-size:13px;font-weight:500}.product-col .product-detail .product-cont .product-info-container .product-list-selector .product-cont .free_shipping{color:#155724;background:#d4edda;border:1px solid #c3e6cb;border-radius:3px;padding:5px 10px;margin:10px 0 0 0;width:fit-content;display:block;clear:both;font-weight:normal}.product-col .product-detail .product-cont .product-info-container #content{padding-top:20px}.product-col .product-detail .product-cont .product-info-container .product-detail .brand-logo-cont img,.product-col .product-detail .product-cont .product-info-container .product-detail .brand-logo-cont svg{float:right}.product-col .product-detail .product-cont .product-info-container .product-detail a.add-to-wishlist{display:none}.product-col .product-detail .product-cont .product-info-container .product-detail .product-cont .part-number-cont{overflow:hidden}.product-col .product-detail .product-cont .product-info-container .product-detail .product-cont .pricing span label{width:auto;line-height:36px}.product-col .product-detail .product-cont .product-info-container .product-detail .product-cont .part-number-cont label{font-size:13px;font-weight:normal;padding-right:3px}.product-col .product-detail .product-cont .product-info-container .product-detail .product-cont .part-number-cont span{font-size:13px;font-weight:500}.product-col .product-detail .product-cont .product-info-container .product-detail .product-cont .free_shipping{color:#155724;background:#d4edda;border:1px solid #c3e6cb;border-radius:3px;padding:5px 10px;margin:10px 0 0 0;width:fit-content;display:block;clear:both}.product-col .product-detail .product-cont .product-info-container .product-detail .product-cont .product-line__stock{display:none}.product-col .product-detail .product-cont .product-info-container .product-detail .product-cont .buy-button-master-cont{margin:0}}.product-view-desktop{display:block}.product-view-mobile{display:none}@media screen and (max-width: 767px){.product-view-desktop{display:none}.product-view-mobile{display:block}}@media screen and (max-width: 767px){.product-cont--mobile{position:relative;border:1px solid #e4e4e4;border-radius:8px;margin:12px 0;padding:0;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.06);overflow:hidden}.product-cont--mobile .main{padding:0}.product-cont--mobile .product-line__wishlist{position:absolute;top:10px;right:10px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.9);border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.12);font-size:.9375rem;margin:0;z-index:10;transition:transform .15s ease}.product-cont--mobile .product-line__wishlist:active{transform:scale(0.9)}.product-cont--mobile .mobile-header{padding:12px;border-bottom:1px solid #f0f0f0}.product-cont--mobile .mobile-header__top{display:flex;gap:12px;align-items:flex-start}.product-cont--mobile .mobile-header__image{flex:0 0 100px;max-width:100px}.product-cont--mobile .mobile-header__image .image-cont{width:100%;margin:0}.product-cont--mobile .mobile-header__image .product-img{width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:#fafafa;border-radius:6px;padding:6px}.product-cont--mobile .mobile-header__image .product-img img{max-width:100%;max-height:100%;object-fit:contain}.product-cont--mobile .mobile-header__image .brand-logo-cont{text-align:center;padding:6px 0 0}.product-cont--mobile .mobile-header__image .brand-logo-cont img{max-width:100%;max-height:28px;object-fit:contain}.product-cont--mobile .mobile-header__info{flex:1;min-width:0;padding-right:30px}.product-cont--mobile .title-cont{padding:0;margin:0 0 8px;background:none}.product-cont--mobile .title-cont a{text-decoration:none}.product-cont--mobile .title-cont a .title{font-size:.875rem;line-height:1.35;font-weight:600;color:#1a1a1a;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0}.product-cont--mobile .title-cont a .title .lighter{font-weight:400;display:block;margin-top:2px}.product-cont--mobile .mobile-key-info{display:flex;flex-direction:column;gap:4px;margin-bottom:6px}.product-cont--mobile .mobile-key-info__row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.product-cont--mobile .mobile-key-info__label{font-weight:600;color:#888;font-size:.6875rem;text-transform:uppercase;letter-spacing:.3px}.product-cont--mobile .mobile-key-info__value{color:#333;font-size:.75rem;font-weight:500}.product-cont--mobile .mobile-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:4px;font-size:.6875rem;font-weight:600;line-height:1.3}.product-cont--mobile .mobile-badge--position{background:#eef0f8;color:#3f51b5;border:1px solid #c5cae9;text-transform:uppercase;letter-spacing:.3px}.product-cont--mobile .mobile-badge--fitment{background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7;gap:3px}.product-cont--mobile .mobile-badge__icon{font-size:.75rem}.product-cont--mobile .free_shipping{margin:4px 0 0;padding:3px 8px;font-size:.6875rem;font-weight:600;color:#155724;background:#d4edda;border:1px solid #c3e6cb;border-radius:4px;display:inline-block}.product-cont--mobile .mobile-buy-section{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:#f8f9fa;border-bottom:1px solid #f0f0f0;flex-wrap:wrap}.product-cont--mobile .pricing{margin:0;padding:0;flex:0 0 auto}.product-cont--mobile .pricing .core-price{display:block;font-size:.6875rem;color:#666;margin-bottom:2px}.product-cont--mobile .pricing .core-price label{font-size:.6875rem;font-weight:600;display:inline;width:auto;padding:0;margin-right:3px}.product-cont--mobile .pricing .price{display:flex;align-items:baseline;gap:2px}.product-cont--mobile .pricing .price label{display:none}.product-cont--mobile .pricing .price [property=priceCurrency],.product-cont--mobile .pricing .price [property=price]{font-size:1.375rem;font-weight:700;color:#c62828;line-height:1}.product-cont--mobile .pricing .price span.price-currency{font-size:.6875rem;color:#888;font-weight:400;margin-left:2px}.product-cont--mobile .mobile-buy-section__actions{display:flex;align-items:center;gap:8px;flex:1;justify-content:flex-end}.product-cont--mobile .quantity{top:0;margin:0;float:none}.product-cont--mobile .quantity .input-group{display:flex;width:auto}.product-cont--mobile .quantity .input-group .input-group-text{padding:6px 8px;font-size:.6875rem;font-weight:600;height:40px;display:flex;align-items:center;background:#fff;border:1px solid #ddd;border-right:none;border-radius:4px 0 0 4px;color:#666}.product-cont--mobile .quantity .input-group .qty{width:44px;height:40px;font-size:.9375rem;text-align:center;border:1px solid #ddd;border-radius:0 4px 4px 0}.product-cont--mobile .button-container{flex:0 0 auto;max-width:none;float:none}.product-cont--mobile .button-container .add-to-order{height:40px;min-width:40px;padding:0 14px;font-size:.8125rem;font-weight:600;border-radius:6px;display:flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap;left:0;top:0;position:relative;cursor:pointer;border:none;box-shadow:0 1px 3px rgba(0,0,0,.1)}.product-cont--mobile .button-container .add-to-order .glyphicon-shopping-cart{font-size:.9375rem}}@media screen and (max-width: 767px)and (max-width: 374px){.product-cont--mobile .button-container .add-to-order{padding:0 10px}.product-cont--mobile .button-container .add-to-order .add-to-order__text{display:none}}@media screen and (max-width: 767px){.product-cont--mobile .out-of-stock button{height:40px;padding:0 14px;font-size:.8125rem;border-radius:6px;opacity:.6}.product-cont--mobile .mobile-accordion__item{border-bottom:1px solid #f0f0f0}.product-cont--mobile .mobile-accordion__item:last-child{border-bottom:none}.product-cont--mobile .mobile-accordion__header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px;margin:0;cursor:pointer;background:#fff;border:none;border-radius:0;text-align:left;-webkit-appearance:none;appearance:none;transition:background-color .15s ease;min-height:44px}.product-cont--mobile .mobile-accordion__header:active{background:#f5f5f5}.product-cont--mobile .mobile-accordion__header:focus-visible{outline:2px solid #2196f3;outline-offset:-2px}.product-cont--mobile .mobile-accordion__header[aria-expanded=true]{background:#fafafa;border-bottom:1px solid #e8e8e8}.product-cont--mobile .mobile-accordion__header[aria-expanded=true] .mobile-accordion__chevron{transform:rotate(90deg)}.product-cont--mobile .mobile-accordion__title{font-weight:600;font-size:.8125rem;color:#333;text-transform:uppercase;letter-spacing:.4px;display:flex;align-items:center;gap:6px}.product-cont--mobile .mobile-accordion__icon-label{font-size:.875rem}.product-cont--mobile .mobile-accordion__count{font-weight:400;color:#888;font-size:.75rem;text-transform:none}.product-cont--mobile .mobile-accordion__chevron{width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:#999;font-size:.75rem;transition:transform .25s ease}.product-cont--mobile .mobile-accordion__chevron::after{content:"";display:block;width:7px;height:7px;border-right:2px solid #999;border-bottom:2px solid #999;transform:rotate(-45deg)}.product-cont--mobile .mobile-accordion__content{max-height:0;overflow:hidden;transition:max-height .3s ease;background:#fafafa}.product-cont--mobile .mobile-accordion__content.is-open{overflow-y:auto}.product-cont--mobile .mobile-accordion__content>*{padding-left:12px;padding-right:12px}.product-cont--mobile .mobile-accordion__content>*:first-child{padding-top:12px}.product-cont--mobile .mobile-accordion__content>*:last-child{padding-bottom:12px}.product-cont--mobile .mobile-accordion__content ul.outer{padding-left:28px;margin:0;font-size:.8125rem;line-height:1.5;color:#444;list-style-type:disc}.product-cont--mobile .mobile-accordion__content ul.outer li{margin-bottom:6px}.product-cont--mobile .mobile-accordion__content ul.outer li:last-child{margin-bottom:0}.product-cont--mobile .mobile-accordion__content ul.inner{padding-left:16px;margin:4px 0 0}.product-cont--mobile .mobile-accordion__content .pa_label{font-weight:600;color:#555;font-size:.8125rem}.product-cont--mobile .mobile-accordion__content .pa_value{color:#333;font-size:.8125rem}.product-cont--mobile .mobile-accordion__content .marketing-text{margin-top:10px;padding-top:10px;border-top:1px solid #e8e8e8;font-size:.8125rem;color:#555}.product-cont--mobile .mobile-accordion__content .marketing-text strong{display:block;margin-bottom:4px;color:#333}.product-cont--mobile .mobile-accordion__content .marketing-text a{font-weight:600;margin-left:4px}.product-cont--mobile .mobile-accordion__detail-row{font-size:.8125rem;margin-top:8px}.product-cont--mobile .mobile-accordion__detail-label{font-weight:600;color:#555;margin-right:4px}.product-cont--mobile .mobile-fitment-chips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:12px}.product-cont--mobile .mobile-fitment-chip{padding:4px 8px;background:#e3f2fd;border:1px solid #bbdefb;border-radius:4px;font-size:.6875rem;color:#1565c0;font-weight:500;white-space:nowrap}.product-cont--mobile .mobile-fitment-chip--more{background:#f5f5f5;border-color:#e0e0e0;color:#666;font-style:italic}.product-cont--mobile .mobile-table-scroll-wrapper{position:relative;margin-top:8px}.product-cont--mobile .mobile-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}.product-cont--mobile .mobile-table-scroll::-webkit-scrollbar{height:4px}.product-cont--mobile .mobile-table-scroll::-webkit-scrollbar-track{background:#f0f0f0;border-radius:2px}.product-cont--mobile .mobile-table-scroll::-webkit-scrollbar-thumb{background:#ccc;border-radius:2px}.product-cont--mobile .mobile-table-scroll-hint{position:absolute;top:0;bottom:4px;width:40px;pointer-events:none;z-index:2;display:flex;align-items:center;justify-content:center}.product-cont--mobile .mobile-table-scroll-hint span{font-size:1.25rem;color:#999;text-shadow:0 0 4px rgba(255,255,255,.9);animation:fadeHintPulse 2s ease-in-out infinite}.product-cont--mobile .mobile-table-scroll-hint--right{right:0;background:linear-gradient(to right, rgba(250, 250, 250, 0) 0%, rgba(250, 250, 250, 0.95) 70%)}.product-cont--mobile .mobile-table-scroll-hint--left{left:0;background:linear-gradient(to left, rgba(250, 250, 250, 0) 0%, rgba(250, 250, 250, 0.95) 70%)}.product-cont--mobile .mobile-table-scroll-hint.is-hidden{display:none}@keyframes fadeHintPulse{0%,100%{opacity:.5}50%{opacity:1}}.product-cont--mobile .stacktable{font-size:.75rem;white-space:nowrap;min-width:400px;margin-bottom:0}.product-cont--mobile .stacktable th{background:#e8e8e8;font-weight:600;font-size:.6875rem;text-transform:uppercase;letter-spacing:.3px;padding:6px 10px;position:sticky;top:0;border-bottom:2px solid #ddd}.product-cont--mobile .stacktable td{padding:5px 10px;border-bottom:1px solid #eee;color:#444}.product-cont--mobile .stacktable tbody tr:nth-child(even){background:rgba(0,0,0,.02)}.product-cont--mobile .fits-row{background:rgba(0,0,0,0);margin:0;padding:0}.product-cont--mobile .fits-row .header{font-size:.8125rem;margin-bottom:8px;color:#333}.product-cont--mobile .interchange-row{background:rgba(0,0,0,0);margin:0;padding:0;border:none}.product-cont--mobile .star_rating_list{padding:8px 12px;border-top:1px solid #f0f0f0}.product-cont--mobile .part-number-cont{padding:0;margin:0;clear:none}.product-cont--mobile .part-number-cont label{font-size:.6875rem;font-weight:600;color:#888;text-transform:uppercase;display:inline;float:none;padding:0;width:auto;margin-right:3px}.product-cont--mobile .part-number-cont span{font-size:.75rem;color:#444;display:inline;float:none}.product-cont--mobile .product-year-selector{width:100%;margin-top:8px}.product-cont--mobile .product-year-selector label{font-size:.75rem;font-weight:600;margin-bottom:4px;display:block}.product-cont--mobile .product-year-selector select{width:100%;height:40px;font-size:.875rem}}@media screen and (max-width: 374px){.product-cont--mobile{margin:8px 0}.product-cont--mobile .mobile-header{padding:10px}.product-cont--mobile .mobile-header__image{flex:0 0 80px;max-width:80px}.product-cont--mobile .title-cont a .title{font-size:.8125rem}.product-cont--mobile .pricing .price [property=priceCurrency],.product-cont--mobile .pricing .price [property=price]{font-size:1.1875rem}}@media(prefers-reduced-motion: reduce){.product-cont--mobile .mobile-accordion__content{transition:none}.product-cont--mobile .mobile-accordion__chevron{transition:none}.product-cont--mobile .mobile-table-scroll-hint span{animation:none}}@media(prefers-contrast: high){.product-cont--mobile{border:2px solid #000}.product-cont--mobile .mobile-accordion__header{border-bottom:1px solid #666}.product-cont--mobile .mobile-badge{border-width:2px}}.font-primary-1{font-family:var(--ps-font-heading, Montserrat, sans-serif);font-size:30px;font-weight:800}.font-primary-1.-variant-1{font-size:60px;line-height:62px}.font-primary-1.-variant-2{font-size:90px}.font-primary-1.-variant-3{font-size:25px}.font-primary-2{font-family:var(--ps-font-heading, Montserrat, sans-serif);font-size:24px;font-weight:400}.font-primary-2.-variant-1{font-size:18px;font-style:normal}.font-primary-3{font-family:var(--ps-font-heading, Montserrat, sans-serif);font-size:20px;font-weight:500;font-style:normal}.font-primary-4{font-family:var(--ps-font-heading, Montserrat, sans-serif);font-size:14px;font-weight:600;font-style:normal}.font-secondary-1{font-family:var(--ps-font-primary, Poppins, sans-serif);font-size:15px;font-weight:600}.font-secondary-1.-variant-1{font-style:normal}.font-secondary-1.-variant-2{font-size:10px}.font-secondary-2{font-family:var(--ps-font-primary, Poppins, sans-serif);font-size:13px;font-weight:400}.font-secondary-2.-variant-1{font-size:16px}.font-secondary-3{font-family:var(--ps-font-primary, Poppins, sans-serif);font-weight:300}.font-special{font-family:"Kaushan Script",cursive;font-size:40px;font-weight:400}.font-special2{font-family:var(--ps-font-heading, Montserrat, sans-serif);font-size:40px;font-weight:800;letter-spacing:4px}.font-primary-1{font-family:var(--ps-font-heading, Montserrat, sans-serif);font-size:30px;font-weight:800}.font-primary-1.-variant-1{font-size:60px;line-height:62px}.font-primary-1.-variant-2{font-size:90px}.font-primary-1.-variant-3{font-size:25px}.font-primary-2{font-family:var(--ps-font-heading, Montserrat, sans-serif);font-size:24px;font-weight:400}.font-primary-2.-variant-1{font-size:18px;font-style:normal}.font-primary-3{font-family:var(--ps-font-heading, Montserrat, sans-serif);font-size:20px;font-weight:500;font-style:normal}.font-primary-4{font-family:var(--ps-font-heading, Montserrat, sans-serif);font-size:14px;font-weight:600;font-style:normal}.font-secondary-1{font-family:var(--ps-font-primary, Poppins, sans-serif);font-size:15px;font-weight:600}.font-secondary-1.-variant-1{font-style:normal}.font-secondary-1.-variant-2{font-size:10px}.font-secondary-2{font-family:var(--ps-font-primary, Poppins, sans-serif);font-size:13px;font-weight:400}.font-secondary-2.-variant-1{font-size:16px}.font-secondary-3{font-family:var(--ps-font-primary, Poppins, sans-serif);font-weight:300}.font-special{font-family:"Kaushan Script",cursive;font-size:40px;font-weight:400}.font-special2{font-family:var(--ps-font-heading, Montserrat, sans-serif);font-size:40px;font-weight:800;letter-spacing:4px}.ps-component--product-card .ps-pc__availability{display:flex;flex-direction:column;gap:8px}.ps-component--product-card .ps-pc__stores{display:block}.ps-component--product-card .ps-pc__store-mini{appearance:none;border:none;background:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;outline:none;width:100%;display:flex;align-items:center;gap:8px;padding:2px 0;text-align:left;cursor:pointer;color:var(--ps-pc-color-info, #2a5db0)}.ps-component--product-card .ps-pc__store-mini-badges{display:flex;flex:0 0 auto}.ps-component--product-card .ps-pc__store-badge-mini{width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:7px;letter-spacing:.2px;box-shadow:0 0 0 1.5px #fff,inset 0 0 0 1px rgba(0,0,0,.1)}.ps-component--product-card .ps-pc__store-mini-label{flex:1;min-width:0;font-size:11.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}.ps-component--product-card .ps-pc__store-mini-chevron{flex:0 0 auto;display:block;transition:transform 250ms ease}.ps-component--product-card .ps-pc__store-mini[aria-expanded=true] .ps-pc__store-mini-chevron{transform:rotate(180deg)}.ps-component--product-card .ps-pc__store-list--card{border:1px solid var(--ps-pc-color-hairline);border-radius:8px;overflow:hidden;background:#fff}.ps-component--product-card .ps-pc__store-expand{appearance:none;border:none;background:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;outline:none;width:100%;cursor:pointer;border-top:1px solid var(--ps-pc-color-hairline-2);background:var(--ps-pc-color-surface-alt);padding:8px 10px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;font-weight:600;color:var(--ps-pc-color-info)}.ps-component--product-card .ps-pc__store-expand svg{transition:transform 250ms ease}.ps-component--product-card .ps-pc__store-expand .ps-pc__store-expand-less{display:none}.ps-component--product-card .ps-pc__store-expand[aria-expanded=true] .ps-pc__store-expand-more{display:none}.ps-component--product-card .ps-pc__store-expand[aria-expanded=true] .ps-pc__store-expand-less{display:inline}.ps-component--product-card .ps-pc__store-expand[aria-expanded=true] svg{transform:rotate(180deg)}.ps-component--product-card .ps-pc__store-distance{font-size:10.5px;font-weight:600;color:var(--ps-pc-color-info);white-space:nowrap}.ps-component--product-card .ps-pc__store-inner{padding:8px 0 12px}.ps-component--product-card .ps-pc__store-static>.ps-pc__store-inner{padding:0}.ps-component--product-card .ps-pc__store-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.ps-component--product-card .ps-pc__store-head-label{font-size:10.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--ps-pc-color-ink-3, #6b6e76)}.ps-component--product-card .ps-pc__store-list{border:1px solid var(--ps-pc-color-hairline, #e6e3dc);border-radius:8px;overflow:hidden;max-height:264px;overflow-y:auto}.ps-component--product-card .ps-pc__store-row{display:flex;gap:10px;padding:9px 11px 9px 8px;align-items:flex-start;background:var(--ps-pc-color-surface, #ffffff);border-left:3px solid rgba(0,0,0,0)}.ps-component--product-card .ps-pc__store-row+.ps-component--product-card .ps-pc__store-row{border-top:1px solid var(--ps-pc-color-hairline-2, #ecebe6)}.ps-component--product-card .ps-pc__store-row.is-current{background:var(--ps-pc-color-surface-alt, #f3f1ec);border-left-color:var(--store-accent, transparent)}.ps-component--product-card .ps-pc__store-badge-wrap{display:flex;flex-direction:column;align-items:center;gap:3px;flex:0 0 auto;width:38px}.ps-component--product-card .ps-pc__store-badge{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:10px;letter-spacing:.2px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}.ps-component--product-card .ps-pc__store-qty{font-family:ui-monospace,"SF Mono","JetBrains Mono",Menlo,monospace;font-size:9px;font-weight:600;line-height:1;color:var(--ps-pc-color-ok, #2f7d4f);white-space:nowrap}.ps-component--product-card .ps-pc__store-qty.is-out{color:var(--ps-pc-color-ink-4, #9a9da4)}.ps-component--product-card .ps-pc__store-qty.is-backorder{color:var(--ps-pc-color-warn, #a66616)}.ps-component--product-card .ps-pc__store-info{flex:1;min-width:0}.ps-component--product-card .ps-pc__store-name-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;row-gap:2px}.ps-component--product-card .ps-pc__store-name{font-weight:700;font-size:13px;line-height:1.2;color:var(--ps-pc-color-ink, #101216)}.ps-component--product-card .ps-pc__store-tag{font-size:9px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--ps-pc-color-ink, #101216);background:var(--ps-pc-color-surface, #ffffff);border:1px solid var(--ps-pc-color-hairline, #e6e3dc);padding:1px 6px;border-radius:4px;line-height:1.4}.ps-component--product-card .ps-pc__store-avail{margin-top:2px;font-size:12px;font-weight:600;line-height:1.3;color:var(--ps-pc-color-ink-2, #3a3d44)}.ps-component--product-card .ps-pc__store-avail.is-out{color:var(--ps-pc-color-ink-3, #6b6e76)}.ps-component--product-card .ps-pc__store-address{margin-top:1px;font-size:11px;font-weight:500;color:var(--ps-pc-color-ink-3, #6b6e76)}.ps-component--product-card .ps-pc__store-inline{display:flex;align-items:stretch;border:1px solid var(--ps-pc-color-hairline, #e6e3dc);border-radius:8px;overflow:hidden;background:var(--ps-pc-color-surface, #ffffff)}.ps-component--product-card .ps-pc__store-inline-cell{flex:1;min-width:0;position:relative;display:flex;gap:8px;align-items:flex-start;padding:8px 9px 9px;background:var(--ps-pc-color-surface, #ffffff)}.ps-component--product-card .ps-pc__store-inline-cell+.ps-component--product-card .ps-pc__store-inline-cell{border-left:1px solid var(--ps-pc-color-hairline-2, #ecebe6)}.ps-component--product-card .ps-pc__store-inline-cell.is-current{background:var(--ps-pc-color-surface-alt, #f3f1ec)}.ps-component--product-card .ps-pc__store-inline-cell.is-current::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2.5px;background:var(--store-accent, transparent)}.ps-component--product-card .ps-pc__store-badge-wrap--sm{width:30px}.ps-component--product-card .ps-pc__store-badge--sm{width:30px;height:30px;font-size:9px}.ps-component--product-card .ps-pc__store-inline-info{flex:1;min-width:0}.ps-component--product-card .ps-pc__store-avail--nowrap,.ps-component--product-card .ps-pc__store-address--nowrap{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ps-component--product-card .ps-pc__store-tag-inline{margin-top:2px;font-size:9px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--ps-pc-color-ink-2, #3a3d44)}.ps-component--product-card .ps-pc__store-more{appearance:none;border:none;background:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;outline:none;flex:0 0 auto;width:54px;cursor:pointer;border-left:1px solid var(--ps-pc-color-hairline-2, #ecebe6);background:var(--ps-pc-color-surface-alt, #f3f1ec);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--ps-pc-color-info, #2a5db0)}.ps-component--product-card .ps-pc__store-more-label{font-size:10.5px;font-weight:700;line-height:1}.ps-pc__store-overlay{position:fixed;inset:0;z-index:1080;display:flex;align-items:flex-end;justify-content:center;padding:12px;box-sizing:border-box}.ps-pc__store-overlay[hidden]{display:none}.ps-pc__store-overlay-scrim{position:absolute;inset:0;background:rgba(16,18,22,.42)}.ps-pc__store-overlay-sheet{position:relative;width:100%;max-width:380px;max-height:88%;background:#fff;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 -2px 12px rgba(0,0,0,.12),0 16px 48px -8px rgba(0,0,0,.4)}.ps-pc__store-overlay-head{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;border-bottom:1px solid var(--ps-pc-color-hairline, #e6e3dc)}.ps-pc__store-overlay-title{font-weight:700;font-size:15px;color:var(--ps-pc-color-ink, #101216)}.ps-pc__store-overlay-sub{font-size:11.5px;font-weight:500;margin-top:1px;color:var(--ps-pc-color-ink-3, #6b6e76);display:flex;align-items:center;flex-wrap:wrap;gap:3px}.ps-pc__store-overlay-x{appearance:none;border:none;background:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;outline:none;width:30px;height:30px;border-radius:8px;cursor:pointer;border:1px solid var(--ps-pc-color-hairline, #e6e3dc);background:#fff;display:inline-flex;align-items:center;justify-content:center;color:var(--ps-pc-color-ink-2, #3a3d44)}.ps-pc__store-overlay-body{padding:12px;overflow-y:auto}@media(min-width: 768px){.ps-pc__store-overlay{align-items:center}}.ps-pc__store-overlay .ps-pc__store-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.ps-pc__store-overlay .ps-pc__store-head-label{font-size:10.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#6b6e76}.ps-pc__store-overlay .ps-pc__store-list{border:1px solid #e6e3dc;border-radius:8px;overflow:hidden;background:#fff}.ps-pc__store-overlay .ps-pc__store-row{display:flex;gap:10px;padding:9px 11px 9px 8px;align-items:flex-start;background:#fff;border-left:3px solid rgba(0,0,0,0);border-bottom:1px solid #ecebe6}.ps-pc__store-overlay .ps-pc__store-row:last-child{border-bottom:none}.ps-pc__store-overlay .ps-pc__store-row.is-current{background:#f3f1ec;border-left-color:var(--store-accent, transparent)}.ps-pc__store-overlay .ps-pc__store-badge-wrap{display:flex;flex-direction:column;align-items:center;gap:3px;flex:0 0 auto;min-width:38px}.ps-pc__store-overlay .ps-pc__store-badge{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:10px;letter-spacing:.2px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);font-family:"Montserrat",sans-serif}.ps-pc__store-overlay .ps-pc__store-qty{font-family:ui-monospace,"SF Mono","JetBrains Mono",Menlo,monospace;font-size:9px;font-weight:600;line-height:1;color:#2f7d4f;white-space:nowrap}.ps-pc__store-overlay .ps-pc__store-qty.is-out{color:#9a9da4}.ps-pc__store-overlay .ps-pc__store-qty.is-backorder{color:#a66616}.ps-pc__store-overlay .ps-pc__store-info{flex:1;min-width:0;font-family:"Montserrat",sans-serif}.ps-pc__store-overlay .ps-pc__store-name-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ps-pc__store-overlay .ps-pc__store-name{font-weight:700;font-size:13px;color:#101216;line-height:1.2}.ps-pc__store-overlay .ps-pc__store-tag{font-size:9px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#101216;background:#fff;border:1px solid #e6e3dc;padding:1px 6px;border-radius:4px;line-height:1.4}.ps-pc__store-overlay .ps-pc__store-avail{margin-top:2px;font-size:12px;font-weight:600;line-height:1.3;color:#3a3d44}.ps-pc__store-overlay .ps-pc__store-avail.is-out{color:#6b6e76}.ps-pc__store-overlay .ps-pc__store-address{margin-top:1px;font-size:11px;color:#6b6e76;font-weight:500}.ps-pc__store-overlay .ps-pc__zip{background:rgba(0,0,0,0);border:0;padding:0;cursor:pointer;font-size:11.5px;font-weight:700;color:#2a5db0;text-decoration:underline;text-underline-offset:2px}.ps-pc__store-overlay .ps-pc__store-locate{background:rgba(0,0,0,0);border:0;padding:0;cursor:pointer;display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:600;color:#2a5db0}.ps-pc__store-overlay .ps-pc__store-locate svg{display:block}.ps-pc__store-overlay .ps-pc__store-locate span{text-decoration:underline;text-underline-offset:2px}.ps-pc__store-overlay .ps-pc__store-distance{font-size:10.5px;font-weight:600;color:#2a5db0;white-space:nowrap}.ps-component--product-card .ps-pc__store-locate{appearance:none;border:none;background:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;outline:none;display:inline-flex;align-items:center;gap:4px;cursor:pointer;font-size:10.5px;font-weight:600;color:var(--ps-pc-color-info, #2a5db0)}.ps-component--product-card .ps-pc__store-locate svg{display:block}.ps-component--product-card .ps-pc__store-locate span{text-decoration:underline;text-underline-offset:2px}.ps-component--product-card.ps-variant--legacy .ps-pc__check-price{display:flex;flex-direction:column;gap:8px;margin:10px 0}.ps-component--product-card.ps-variant--legacy .ps-pc__local-area{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:#444}.ps-component--product-card.ps-variant--legacy .ps-pc__check-price-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;cursor:pointer;padding:10px 18px;border-radius:4px;color:#fff;font-weight:700;font-size:15px;background:var(--ps-color-primary, var(--ps-color-primary, #001877))}.ps-component--product-card.ps-variant--legacy .ps-pc__check-price-btn:hover{opacity:.92}.ps-component--product-card.ps-variant--legacy .ps-pc__check-price-labels{display:flex;flex-direction:column;line-height:1.2}.ps-component--product-card.ps-variant--legacy .ps-pc__check-price-sub{font-size:11px;font-weight:400;opacity:.85}.ps-component--product-card.ps-variant--legacy .ps-pc__promoted-attrs{display:flex;flex-wrap:wrap;gap:4px 12px;margin:6px 0;font-size:13px;line-height:1.35;color:#555}.ps-component--product-card.ps-variant--legacy .ps-pc__promoted-attrs .ps-pc__promoted-attr-label{font-weight:700;color:#222}.ps-component--product-card.ps-variant--legacy .ps-pc__help{display:flex;justify-content:flex-start;margin:8px 0}.ps-component--product-card.ps-variant--legacy .ps-pc__help--center{justify-content:center}.ps-component--product-card.ps-variant--legacy .ps-pc__help-btn{display:inline-flex;align-items:center;gap:6px;cursor:pointer;border:none;background:var(--ps-color-primary, var(--ps-color-primary, #001877));color:#fff;border-radius:999px;padding:4px 10px 4px 5px;box-shadow:0 1px 2px rgba(0,0,0,.1)}.ps-component--product-card.ps-variant--legacy .ps-pc__help-btn:hover{opacity:.92}.ps-component--product-card.ps-variant--legacy .ps-pc__help-disc{width:15px;height:15px;border-radius:50%;background:#fff;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;line-height:1;font-weight:700;font-size:9px;color:var(--ps-color-primary, var(--ps-color-primary, #001877))}.ps-component--product-card.ps-variant--legacy .ps-pc__help-labels{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15}.ps-component--product-card.ps-variant--legacy .ps-pc__help-label{font-weight:700;font-size:11px}.ps-component--product-card.ps-variant--legacy .ps-pc__help-sub{font-weight:500;font-size:11px;opacity:.85}.ps-component--product-card[data-variant=legacy] .buy-button-master-cont{flex-wrap:wrap;align-items:flex-start;row-gap:12px}.ps-component--product-card[data-variant=legacy] .buy-button-master-cont>.ps-pc__availability,.ps-component--product-card[data-variant=legacy] .buy-button-master-cont>.ps-pc__help,.ps-component--product-card[data-variant=legacy] .buy-button-master-cont>.ps-pc__pack-note,.ps-component--product-card[data-variant=legacy] .buy-button-master-cont>.col-12{flex:0 0 100%;max-width:100%}.ps-component--product-card[data-variant=legacy] .ps-legacy-buy-controls{flex:1 1 100%;min-width:0;display:flex;flex-wrap:nowrap;align-items:stretch;max-width:420px;min-height:50px}.ps-component--product-card[data-variant=legacy] .ps-legacy-buy-controls .quantity{float:none;top:0;display:flex;flex:0 0 auto;clear:none}.ps-component--product-card[data-variant=legacy] .ps-legacy-buy-controls .ps-cart-qty{height:50px;border-radius:4px 0 0 4px;border-right:0}.ps-component--product-card[data-variant=legacy] .ps-legacy-buy-controls .ps-cart-qty__btn{width:34px}.ps-component--product-card[data-variant=legacy] .ps-legacy-buy-controls .ps-cart-qty__input{width:46px;height:50px;font-size:15px}.ps-component--product-card[data-variant=legacy] .ps-legacy-buy-controls .button-container{flex:1 1 auto;float:none;min-width:0;display:flex;align-items:stretch}.ps-component--product-card[data-variant=legacy] .ps-legacy-buy-controls .add-to-order{left:0;width:100%;height:50px;border-radius:0 4px 4px 0;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;font-size:17px;white-space:nowrap}@media(max-width: 767.98px){.ps-component--product-card[data-variant=legacy] .mobile-buy-section__actions .ps-cart-qty{height:40px;border-radius:6px;border-right:1px solid #ced4da}.ps-component--product-card[data-variant=legacy] .mobile-buy-section__actions .ps-cart-qty__btn{width:28px;font-size:15px}.ps-component--product-card[data-variant=legacy] .mobile-buy-section__actions .ps-cart-qty__input{width:38px;height:40px;font-size:14px}}.ps-component--product-card.ps-variant--legacy .ps-pc-wt{display:flex;flex-direction:column;gap:6px;margin:6px 0;min-width:0}.ps-component--product-card.ps-variant--legacy .ps-pc-wt .ps-pc-wt__series{display:flex;flex-direction:column;line-height:1.25}.ps-component--product-card.ps-variant--legacy .ps-pc-wt .ps-pc-wt__series-name{font-weight:700;font-size:14px;color:#222}.ps-component--product-card.ps-variant--legacy .ps-pc-wt .ps-pc-wt__series-finish{font-weight:600;font-size:12px;color:#555}.ps-component--product-card.ps-variant--legacy .ps-pc-wt .ps-pc-wt__chips{display:flex;flex-wrap:wrap;align-items:flex-end;gap:6px}.ps-component--product-card.ps-variant--legacy .ps-pc-wt .ps-pc-wt__tag{position:relative;display:inline-flex;margin-top:8px}.ps-component--product-card.ps-variant--legacy .ps-pc-wt .ps-pc-wt__tag-header{position:absolute;top:-8px;left:50%;transform:translateX(-50%);padding:2px 6px;font-size:10px;font-weight:700;line-height:1;text-transform:uppercase;color:#fff;background:#2f2f2f;border-radius:3px;white-space:nowrap}.ps-component--product-card.ps-variant--legacy .ps-pc-wt .ps-pc-wt__tag-header--oe{background:#198754}.ps-component--product-card.ps-variant--legacy .ps-pc-wt .ps-pc-wt__tag-header--compatible{background:#0d6efd}.ps-component--product-card.ps-variant--legacy .ps-pc-wt .ps-pc-wt__tag-header--optional{background:#2f2f2f}.ps-component--product-card.ps-variant--legacy .ps-pc-wt .ps-pc-wt__tag-header--plus{background:#dc3545}.ps-component--product-card.ps-variant--legacy .ps-pc-wt .ps-pc-wt__tag-body{min-width:52px;padding:8px 10px 4px;font-size:18px;font-weight:700;text-align:center;color:#222;background:#f0f0f0;border:2px solid #dee2e6;border-radius:4px}.ps-component--product-card.ps-variant--legacy .ps-pc-wt .ps-pc-wt__chip{display:inline-flex;align-items:center;padding:3px 8px;font-size:11px;font-weight:700;line-height:1.1;text-transform:uppercase;letter-spacing:.02em;color:#fff;background:#2f2f2f;border-radius:3px}.ps-component--product-card.ps-variant--legacy .ps-pc-wt .ps-pc-wt__chip--oe{background:#198754}.ps-component--product-card.ps-variant--legacy .ps-pc-wt .ps-pc-wt__chip--compatible{background:#0d6efd}.ps-component--product-card.ps-variant--legacy .ps-pc-wt .ps-pc-wt__chip--plus{background:#dc3545}.ps-component--product-card.ps-variant--legacy .ps-pc-wt .ps-pc-wt__chip--position{background:#198754}.ps-component--product-card.ps-variant--legacy .ps-pc-wt .ps-pc-wt__chip--mods{background:#dc3545}.ps-component--product-card.ps-variant--legacy .ps-pc-wt .ps-pc-wt__specs{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:1px;overflow:hidden;border:1px solid #dee2e6;border-radius:6px;background:#dee2e6}.ps-component--product-card.ps-variant--legacy .ps-pc-wt .ps-pc-wt__spec{display:flex;flex-direction:column;padding:5px 8px;background:#fff;min-width:0}.ps-component--product-card.ps-variant--legacy .ps-pc-wt .ps-pc-wt__spec-label{font-size:10px;font-weight:700;letter-spacing:.04em;color:#777}.ps-component--product-card.ps-variant--legacy .ps-pc-wt .ps-pc-wt__spec-value{font-size:13px;font-weight:600;color:#222;overflow-wrap:anywhere}.ps-component--product-card.ps-variant--legacy .ps-pc-wt .ps-pc-wt__mods{font-size:12px;line-height:1.35;color:#555}.ps-component--product-card.ps-variant--legacy .ps-pc-wt .ps-pc-wt__mods-title{font-weight:700;color:#dc3545}.ps-component--product-card.ps-variant--legacy .ps-pc-wt .ps-pc-wt__vvse{width:100%;min-height:36px;padding:6px 10px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#fff;background:#333;border:0;border-radius:4px;cursor:pointer}.ps-component--product-card.ps-variant--legacy .ps-pc-wt .ps-pc-wt__vvse:hover{filter:brightness(1.08)}@media screen and (max-width: 776px){.product-list-selector{margin-top:0}}.ps-pc__univ-tag,.ps-component--product-card .ps-pc__univ-tag{-webkit-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:4px;margin:0;padding:1px 6px 1px 5px;border:0;border-radius:3px;box-shadow:none;background:var(--ps-pc-color-univ-bg, #eef1f5);color:var(--ps-pc-color-univ, #4a5568);font-family:var(--ps-pc-font-sans, inherit);font-size:9.5px;font-weight:700;line-height:1.55;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap;cursor:pointer;vertical-align:middle}.ps-pc__univ-tag svg,.ps-component--product-card .ps-pc__univ-tag svg{display:block;flex:0 0 auto;opacity:.9}.ps-pc__univ-tag:hover,.ps-component--product-card .ps-pc__univ-tag:hover{background:var(--ps-pc-color-univ, #4a5568);color:#fff}.ps-pc__univ-tag:focus-visible,.ps-component--product-card .ps-pc__univ-tag:focus-visible{outline:2px solid var(--ps-pc-color-univ, #4a5568);outline-offset:1px}.ps-component--product-card .ps-pc__meta .ps-pc__univ-tag{margin-left:2px}.ps-component--product-card .ps-pc-sm__eyebrow .ps-pc__univ-tag{margin-left:6px;vertical-align:1px}.ps-component--product-card .ps-pc-v3__mfg .ps-pc__univ-tag{margin-top:3px}.ps-component--product-card .ps-pc-v2__hero-chips{display:inline-flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px}.mobile-key-info__row .ps-pc__univ-tag{font-size:10px}.ps-component--product-card[data-fitment] .ps-pc__fits.ps-pc__fits--universal{background:var(--ps-pc-color-univ-bg);border:1px solid var(--ps-pc-color-univ-line);box-shadow:none}.ps-component--product-card[data-fitment] .ps-pc__fits.ps-pc__fits--universal .ps-pc__fits-head{cursor:pointer;background:rgba(0,0,0,0)}.ps-component--product-card[data-fitment] .ps-pc__fits.ps-pc__fits--universal .ps-pc__fits-head:focus-visible{outline:2px solid var(--ps-pc-color-univ);outline-offset:-2px}.ps-component--product-card[data-fitment] .ps-pc__fits.ps-pc__fits--universal .ps-pc__fits-check{background:var(--ps-pc-color-univ);color:#fff}.ps-component--product-card[data-fitment] .ps-pc__fits.ps-pc__fits--universal .ps-pc__fits-label{color:var(--ps-pc-color-univ)}.ps-component--product-card[data-fitment] .ps-pc__fits.ps-pc__fits--universal .ps-pc__fits-primary{color:var(--ps-pc-color-ink-2);font-weight:500}.ps-component--product-card[data-fitment] .ps-pc__fits.ps-pc__fits--universal .ps-pc__fits-head:hover .ps-pc__fits-info,.ps-component--product-card[data-fitment] .ps-pc__fits.ps-pc__fits--universal .ps-pc__fits-head:focus-visible .ps-pc__fits-info{background:var(--ps-pc-color-univ);color:#fff;border-color:rgba(0,0,0,0)}.ps-component--product-card[data-fitment] .ps-pc__fits-info{flex:0 0 auto;width:15px;height:15px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ps-pc-color-univ-line);color:var(--ps-pc-color-univ);background:rgba(255,255,255,.7);font-size:9.5px;font-weight:700;font-style:normal;line-height:1}.ps-component--product-card[data-fitment] .ps-pc__fits.ps-pc__fits--unlisted{background:#f3f1ec;border:1px solid rgba(107,110,118,.2);box-shadow:none}.ps-component--product-card[data-fitment] .ps-pc__fits.ps-pc__fits--unlisted .ps-pc__fits-head{cursor:default;background:rgba(0,0,0,0)}.ps-component--product-card[data-fitment] .ps-pc__fits.ps-pc__fits--unlisted .ps-pc__fits-check{background:#8a8d94;color:#fff}.ps-component--product-card[data-fitment] .ps-pc__fits.ps-pc__fits--unlisted .ps-pc__fits-label{color:#6b6e76}.ps-component--product-card[data-fitment] .ps-pc__fits.ps-pc__fits--unlisted .ps-pc__fits-primary{color:var(--ps-pc-color-ink-2);font-weight:500}.ps-component--product-card[data-fitment] .ps-pc-v3__fits.ps-pc-v3__fits--universal{-webkit-appearance:none;appearance:none;width:100%;margin:0;border:0;text-align:left;cursor:pointer;font-family:inherit;background:var(--ps-pc-color-univ-bg);box-shadow:inset 0 0 0 1px var(--ps-pc-color-univ-line)}.ps-component--product-card[data-fitment] .ps-pc-v3__fits.ps-pc-v3__fits--universal .ps-pc-v3__fits-check{background:var(--ps-pc-color-univ)}.ps-component--product-card[data-fitment] .ps-pc-v3__fits.ps-pc-v3__fits--universal .ps-pc-v3__fits-text{color:var(--ps-pc-color-ink-2);font-weight:500}.ps-component--product-card[data-fitment] .ps-pc-v3__fits.ps-pc-v3__fits--universal .ps-pc-v3__fits-text b{color:var(--ps-pc-color-univ);font-weight:700}.ps-component--product-card[data-fitment] .ps-pc-v3__fits.ps-pc-v3__fits--universal:focus-visible{outline:2px solid var(--ps-pc-color-univ);outline-offset:1px}.ps-component--product-card[data-fitment] .ps-pc-v3__fits.ps-pc-v3__fits--universal:hover .ps-pc__fits-info{background:var(--ps-pc-color-univ);color:#fff;border-color:rgba(0,0,0,0)}.ps-component--product-card[data-fitment] .ps-pc-v3__fits.ps-pc-v3__fits--unlisted{background:#f3f1ec;box-shadow:inset 0 0 0 1px rgba(107,110,118,.2)}.ps-component--product-card[data-fitment] .ps-pc-v3__fits.ps-pc-v3__fits--unlisted .ps-pc-v3__fits-check{background:#8a8d94}.ps-component--product-card[data-fitment] .ps-pc-v3__fits.ps-pc-v3__fits--unlisted .ps-pc-v3__fits-text{color:var(--ps-pc-color-ink-2);font-weight:500}.ps-component--product-card[data-fitment] .ps-pc-v3__fits.ps-pc-v3__fits--unlisted .ps-pc-v3__fits-text b{color:#6b6e76;font-weight:700}.ps-pc__univ-tag.ps-pc__univ-tag--verify,.ps-component--product-card .ps-pc__univ-tag--verify{background:var(--ps-pc-color-verify-bg, #fdf3e7);color:var(--ps-pc-color-verify, #b45309)}.ps-pc__univ-tag.ps-pc__univ-tag--verify:hover,.ps-component--product-card .ps-pc__univ-tag--verify:hover{background:var(--ps-pc-color-verify, #b45309);color:#fff}.ps-pc__univ-tag.ps-pc__univ-tag--verify:focus-visible,.ps-component--product-card .ps-pc__univ-tag--verify:focus-visible{outline-color:var(--ps-pc-color-verify, #b45309)}.ps-component--product-card[data-fitment] .ps-pc__fits.ps-pc__fits--unverified{background:var(--ps-pc-color-verify-bg);border:1px solid var(--ps-pc-color-verify-line);box-shadow:none}.ps-component--product-card[data-fitment] .ps-pc__fits.ps-pc__fits--unverified .ps-pc__fits-head{cursor:pointer;background:rgba(0,0,0,0)}.ps-component--product-card[data-fitment] .ps-pc__fits.ps-pc__fits--unverified .ps-pc__fits-head:focus-visible{outline:2px solid var(--ps-pc-color-verify);outline-offset:-2px}.ps-component--product-card[data-fitment] .ps-pc__fits.ps-pc__fits--unverified .ps-pc__fits-check{background:var(--ps-pc-color-verify);color:#fff}.ps-component--product-card[data-fitment] .ps-pc__fits.ps-pc__fits--unverified .ps-pc__fits-label{color:var(--ps-pc-color-verify)}.ps-component--product-card[data-fitment] .ps-pc__fits.ps-pc__fits--unverified .ps-pc__fits-primary{color:var(--ps-pc-color-ink-2);font-weight:500}.ps-component--product-card[data-fitment] .ps-pc__fits.ps-pc__fits--unverified .ps-pc__fits-info{border-color:var(--ps-pc-color-verify-line);color:var(--ps-pc-color-verify)}.ps-component--product-card[data-fitment] .ps-pc__fits.ps-pc__fits--unverified .ps-pc__fits-head:hover .ps-pc__fits-info,.ps-component--product-card[data-fitment] .ps-pc__fits.ps-pc__fits--unverified .ps-pc__fits-head:focus-visible .ps-pc__fits-info{background:var(--ps-pc-color-verify);color:#fff;border-color:rgba(0,0,0,0)}.ps-component--product-card[data-fitment] .ps-pc-v3__fits.ps-pc-v3__fits--unverified{-webkit-appearance:none;appearance:none;width:100%;margin:0;border:0;text-align:left;cursor:pointer;font-family:inherit;background:var(--ps-pc-color-verify-bg);box-shadow:inset 0 0 0 1px var(--ps-pc-color-verify-line)}.ps-component--product-card[data-fitment] .ps-pc-v3__fits.ps-pc-v3__fits--unverified .ps-pc-v3__fits-check{background:var(--ps-pc-color-verify)}.ps-component--product-card[data-fitment] .ps-pc-v3__fits.ps-pc-v3__fits--unverified .ps-pc-v3__fits-text{color:var(--ps-pc-color-ink-2);font-weight:500}.ps-component--product-card[data-fitment] .ps-pc-v3__fits.ps-pc-v3__fits--unverified .ps-pc-v3__fits-text b{color:var(--ps-pc-color-verify);font-weight:700}.ps-component--product-card[data-fitment] .ps-pc-v3__fits.ps-pc-v3__fits--unverified .ps-pc__fits-info{border-color:var(--ps-pc-color-verify-line);color:var(--ps-pc-color-verify)}.ps-component--product-card[data-fitment] .ps-pc-v3__fits.ps-pc-v3__fits--unverified:focus-visible{outline:2px solid var(--ps-pc-color-verify);outline-offset:1px}.ps-component--product-card[data-fitment] .ps-pc-v3__fits.ps-pc-v3__fits--unverified:hover .ps-pc__fits-info{background:var(--ps-pc-color-verify);color:#fff;border-color:rgba(0,0,0,0)}.ps-component--product-card.ps-pc--univ-rule[data-fitment=universal]{position:relative}.ps-component--product-card.ps-pc--univ-rule[data-fitment=universal]::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ps-pc-color-univ);pointer-events:none;z-index:2}.ps-component--product-card.ps-pc--univ-outline[data-fitment=universal]{outline:1px solid var(--ps-pc-color-univ);outline-offset:-1px}html.ps-pc-overlay-lock,html.ps-pc-overlay-lock body{overflow:hidden}.ps-univ-overlay[hidden]{display:none}.ps-univ-overlay{position:fixed;inset:0;z-index:100010;display:flex;align-items:center;justify-content:center;padding:20px;font-family:var(--ps-font-primary, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif)}.ps-univ-overlay__scrim{position:absolute;inset:0;background:rgba(16,18,22,.45)}.ps-univ-overlay__sheet{position:relative;width:100%;max-width:420px;max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:12px;box-shadow:0 18px 50px rgba(0,0,0,.28);font-size:13px;line-height:1.5;color:#3a3d44;text-align:left}.ps-univ-overlay__head{display:flex;align-items:center;gap:9px;padding:13px 14px;border-bottom:1px solid #ecebe6;background:var(--ps-pc-color-univ-bg, #eef1f5)}.ps-univ-overlay__badge{width:22px;height:22px;border-radius:5px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;background:var(--ps-pc-color-univ, #4a5568);color:#fff}.ps-univ-overlay__badge svg{display:block}.ps-univ-overlay__title{flex:1;font-size:14.5px;font-weight:700;color:#101216}.ps-univ-overlay__x{-webkit-appearance:none;appearance:none;background:none;border:0;cursor:pointer;color:#6b6e76;padding:4px;margin:-2px;line-height:0;border-radius:6px}.ps-univ-overlay__x:hover{background:rgba(0,0,0,.06)}.ps-univ-overlay__x:focus-visible{outline:2px solid var(--ps-pc-color-univ, #4a5568);outline-offset:1px}.ps-univ-overlay__body{padding:13px 14px 15px}.ps-univ-overlay__body p{margin:0 0 9px}.ps-univ-overlay__body p:last-child{margin-bottom:0}.ps-univ-overlay__vehicle{padding:8px 10px;border-radius:6px;background:#f3f1ec;font-size:12.5px;color:#3a3d44;margin:0 0 10px}.ps-univ-overlay__list{margin:0 0 10px;padding:0;list-style:none}.ps-univ-overlay__list li{position:relative;padding-left:16px;margin-bottom:6px}.ps-univ-overlay__list li::before{content:"";position:absolute;left:4px;top:7px;width:4px;height:4px;border-radius:50%;background:var(--ps-pc-color-univ, #4a5568)}.ps-univ-overlay__fine{color:#6b6e76;font-size:12px;margin-top:10px}.ps-univ-overlay__foot{border-top:1px solid #ecebe6;padding:10px 14px;display:flex;gap:8px;justify-content:flex-end;background:#faf9f6;border-radius:0 0 12px 12px}.ps-univ-overlay__btn{-webkit-appearance:none;appearance:none;display:inline-flex;align-items:center;border:1px solid #e6e3dc;background:#fff;border-radius:6px;padding:7px 12px;font:inherit;font-size:12.5px;font-weight:600;line-height:1.3;cursor:pointer;color:#101216;text-decoration:none}.ps-univ-overlay__btn:focus-visible{outline:2px solid var(--ps-pc-color-univ, #4a5568);outline-offset:1px}.ps-univ-overlay__btn[hidden]{display:none}.ps-univ-overlay__btn--primary{background:var(--ps-pc-color-univ, #4a5568);border-color:rgba(0,0,0,0);color:#fff}.ps-univ-overlay__btn--primary:hover{color:#fff;filter:brightness(1.08)}@media(max-width: 600px){.ps-univ-overlay{align-items:flex-end;padding:0}.ps-univ-overlay__sheet{max-width:none;border-radius:14px 14px 0 0;max-height:85vh}.ps-univ-overlay__foot{border-radius:0}}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzL2Nzcy9jb21wb25lbnQtcHJvZHVjdC1jYXJkLWxlZ2FjeS4xZThjNGJkMzZiODZjYWRiNzQxZC5jc3MiLCJtYXBwaW5ncyI6Ijs7QUFnQ0EsaUJBQ0UsV0FDQSxpQkFDQSxrQkFDQSxZQUNBLG9CQUtGLGdCQUNFLFdBQ0EsNEJBQ0EsVUFDQSxpQkFLRiwyQkFDRSxvQkFLRixrQkFDRSxlQUNBLHFDQUNBLFdBQ0EsMEJBR0YscUNBR0EsZ0JBQ0ksVUFDQSxvQkFLSixxQ0FHRSxnQkFDRSxXQUtKLHFDQUdFLGdCQUNFLFlDeERKLFVBQ0Usd0NDRHdCLENEUXhCLGtCQUVBLHNDQUNFLGlCRXdCQSw2QkZuQ0osVUFlSSxpQkFFQSxzQ0FDRSxrQkVpQkYsNEJGbkNKLFVBdUJJLGtCQUlGLG9CQUNFLGlCQUdFLDRDQUNFLGlCQUdKLDZCQUNFLGNBS0YseUJBQ0UsYUFJSiwyQkFDRSxpREN4Q2MsQ0QwQ2Qsa0JBQ0Esb0JBQ0EsaUJBQ0Esa0JBSUEsMkNDakRjLENEa0RkLHFCQUNBLDJCQUNBLGtCRXhCQSw2QkYwQkEsNkNBRUksa0JBTU4sd0RBQ0UsK0NDckVzQixDRHNFdEIsZUFHRiwwRUFDRSxvQ0FDQSxlQUlBLGtDQUNFLHNCQUNBLGlCRS9DRiw0QkZnR0YsOERBRUUsY0FFQSxnR0FDRSx3Q0FHRixnRkFDRSxjQUtGLG9IQUNFLGtCRDNFTix5QkFDRSxXQUtGLDRCQUNFLFdBS0YsY0FDRSxrQkFLRixvQ0FDRSxVQUNBLFVBQ0EsV0FDQSxjQUtGLHFDQUNFLFdBQ0EsY0FLRixxQ0FDRSxhQUtGLGlDQUNFLGFBS0YsMkNBQ0UsYUFDQSx5QkFDQSxjQUtGLHVDQUNFLGFBQ0EsY0FDQSx5QkFLRixvQ0FFRSxpQkFDQSxtQkFLRixzQ0FDRSxXQUtGLHFDQUNFLFdBQ0EsWUFDQSxnQkFFQSxzQkFDQSxtQkFDQSxhQUNBLHNCQUNBLHNCQU1BLG1DQUNFLHlCQUNBLFdBQ0EsV0FDQSxZQUNBLGdCQUNBLG1CQUNBLGtCQUdGLHdDQUNFLGtCQU1KLHNEQUNFLGFBS0Ys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R0FDQSxrR0FFQSwwRUFDRSxxRUFDQSw4RUFFRix3SkFDQSw4SUFDQSxnSkFFQSxvSEFDQSw2R0FFQSx5RUFDRSwyREFDQSw4REFDQSxxRUFFRix1R0FrQkYscUNBQ0UscUNRbjZFRiw4REFFRSx3Q0FDQSwrQ0FDQSxpQ0FDQSwyQ0FDQSwrQ0FDQSx1Q0FDQSw0Q0FDQSxpREFDQSxnRUFDQSxxQ0FDQSw2R0FDQSxpSUFDQSxnS0FLQSwwRUFDQSxtR0FDQSwyRUFDQSxrREFDRSxnRUFDQSx1QkFHSixzREFJRSw4RUFDRSxzQ0FDQSw4Q0FDQSxnQkFDQSx3SUFDQSw0S0FDQSwrSUFDQSwrSEFDQSxrSkFDQSx3UEFFRSx5RUFLSiw0REFDRSx1REFDQSw4REFDQSw4Q0FDQSw4REFDQSxnRUFJRiw2RUFDRSxtQkFDQSxzQ0FDQSxnQkFDQSx1SUFDQSw4SEFDQSw4R0FDQSxpSkFLRixvRkFDRSx3Q0FDQSw0REFDQSxvQkFDQSxzQ0FDQSx3REFDQSw2SUFDQSx3SkFDQSx5SkFDQSwrSkFDQSxxTEFFRixtRkFDRSxtQkFDQSxnREFDQSw0SEFDQSx1SkFDQSx3SUFRSiw4RkFFRSxpREFDQSx5Q0FDQSxtS0FDQSwyS0FHQSwrRUFDRSx3Q0FDQSxnREFDQSxnQkFDQSx5SUFDQSwrS0FDQSxrSkFDQSxrSUFDQSxtSkFDQSw2S0FDQSwwUEFFRSwyRUFHSixxRkFDRSx3Q0FDQSw0REFDQSxvQkFDQSx3Q0FDQSwwREFDQSxnSkFDQSx5SkFDQSw0SkFDQSxtTEFDQSxrS0FDQSx3TEFVSixxRUFDRSxrQkFDQSw2RUFDRSw2REFDQSxpRUFHSix3RUFDRSwwQ0FDQSxvQkFRTyxxRUFDVCxzQ0FDQSxpQkFJRSxzQ0FDQSxvRUFDQSxzR0FFRixnRkFDQSx3QkFDRSx5RkFDQSxtQ0FDQSx1Q0FDQSw2REFFRix1QkFDRSx3Q0FDQSxrREFDQSwrQ0FFRix3QkFDRSx1REFDQSw4REFDQSx1REFDQSwwQ0FFRiw4RUFDQSxvQkFDRSx3Q0FDQSw0RkFDQSxrQkFDQSxxREFDQSx3R0FFRiw4Q0FDQSx3Q0FDQSxvREFDQSwwQkFDRSxzREFDQSwrQ0FFRixpRUFDQSxnRkFDQSxrQ0FDRSw4Q0FDQSxtRkFFRixvRUFDQSx1QkFDRSwrQ0FDQSxpRUFDQSw0QkFFRixzQkFDRSx3Q0FDQSx1Q0FDQSwyREFDQSwrRUFDQSxrREFDQSwwR0FFRiwyQ0FDQSwrQkFDRSxrRkFDQSx3RUFFRix5QkFDRSxnREFDQSxtRkFDQSx3QyIsInNvdXJjZXMiOlsid2VicGFjazovL2JlYWNoc2lkZWF1dG9wYXJ0cy8uLi8uLi8uLi9hdXRvLXByZXNzL3Jlc291cmNlcy9jb21wb25lbnRzL3Byb2R1Y3QtY2FyZC9sZWdhY3kvaW5kZXguc2NzcyIsIndlYnBhY2s6Ly9iZWFjaHNpZGVhdXRvcGFydHMvLi4vLi4vLi4vYXV0by1wcmVzcy9yZXNvdXJjZXMvY29tcG9uZW50cy9fY2F0YWxvZy9fcHJvZHVjdHMtcGFnZS1jaHJvbWUuc2NzcyIsIndlYnBhY2s6Ly9iZWFjaHNpZGVhdXRvcGFydHMvLi4vLi4vLi4vYXV0by1wcmVzcy9yZXNvdXJjZXMvc3R5bGVzL3ZhcmlhbnRzL19jb2xvcnMuc2NzcyIsIndlYnBhY2s6Ly9iZWFjaHNpZGVhdXRvcGFydHMvLi4vLi4vLi4vYXV0by1wcmVzcy9yZXNvdXJjZXMvY29tcG9uZW50cy9fY2F0YWxvZy9fZ2xvYmFscy5zY3NzIiwid2VicGFjazovL2JlYWNoc2lkZWF1dG9wYXJ0cy8uLi8uLi8uLi9hdXRvLXByZXNzL3Jlc291cmNlcy9zdHlsZXMvYmFzZS9fZm9udHMuc2NzcyIsIndlYnBhY2s6Ly9iZWFjaHNpZGVhdXRvcGFydHMvLi4vLi4vLi4vYXV0by1wcmVzcy9yZXNvdXJjZXMvY29tcG9uZW50cy9wcm9kdWN0LWNhcmQvX3NoYXJlZC9fc3RvcmVzLnNjc3MiLCJ3ZWJwYWNrOi8vYmVhY2hzaWRlYXV0b3BhcnRzLy4uLy4uLy4uL2F1dG8tcHJlc3MvcmVzb3VyY2VzL2NvbXBvbmVudHMvcHJvZHVjdC1jYXJkL19zaGFyZWQvX21peGlucy5zY3NzIiwid2VicGFjazovL2JlYWNoc2lkZWF1dG9wYXJ0cy8uLi8uLi8uLi9hdXRvLXByZXNzL3Jlc291cmNlcy9jb21wb25lbnRzL3Byb2R1Y3QtY2FyZC9fc2hhcmVkL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly9iZWFjaHNpZGVhdXRvcGFydHMvLi4vLi4vLi4vYXV0by1wcmVzcy9yZXNvdXJjZXMvY29tcG9uZW50cy9wcm9kdWN0LWNhcmQvX3NoYXJlZC9fdW5pdmVyc2FsLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUFJPRFVDVCBDQVJEIOKAlCB2YXJpYW50IFwibGVnYWN5XCIg4oCUIGZ1bGwgc3R5bGVzIChzZWxmLWNvbnRhaW5lZClcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRoZSBsZWdhY3kgZGVza3RvcCBjYXJkICsgbW9iaWxlIGNhcmQgQ1NTLCBleHRyYWN0ZWQgb3V0IG9mIHRoZSBnbG9iYWxcbi8vIHByb2R1Y3RzLnNjc3MgLyBwcm9kdWN0cy1tb2JpbGUuc2NzcyBzbyB0aGUgYGxlZ2FjeWAgdmFyaWFudCBpcyBub3dcbi8vIHNlbGYtY29udGFpbmVkOiB3aGVuIHRoaXMgdmFyaWFudCByZW5kZXJzLCB0aGUgcmVzb2x2ZXIgbG9hZHMgdGhpcyBidW5kbGUgYW5kXG4vLyB0aGUgY2FyZCBpcyBmdWxseSBzdHlsZWQgV0lUSE9VVCB0aGUgZ2xvYmFsIGluY2x1ZGUuIChQcmV2aW91c2x5IHRoaXMgZmlsZSB3YXNcbi8vIG5lYXItZW1wdHkgYW5kIHRoZSBsZWdhY3kgY2FyZCBkZXBlbmRlZCBlbnRpcmVseSBvbiB0aGUgZ2xvYmFsIHByb2R1Y3RzLnNjc3MsXG4vLyB3aGljaCBpcyB3aHkgY29tbWVudGluZyB0aGF0IG91dCBsZWZ0IHRoZSBjYXJkIHVuc3R5bGVkLilcbi8vXG4vLyBFeHRyYWN0ZWQgYnkgY29uY2VybiBmcm9tIHByb2R1Y3RzLnNjc3MgKHRoZSAucHJvZHVjdC1jb250IHN1YnRyZWUsIHByb2R1Y3RzL1xuLy8gcHJvZHVjdC1saXN0L3Byb2R1Y3QtY29sL3Byb2R1Y3RzLWNvbnQgbGF5b3V0LCBzdG9jayBsYWJlbHMpICsgdGhlIGVudGlyZVxuLy8gcHJvZHVjdHMtbW9iaWxlLnNjc3MgKC5wcm9kdWN0LXZpZXctKiB0b2dnbGUgKyAucHJvZHVjdC1jb250LS1tb2JpbGUpLlxuLy8gRmFjZXRzLCBwYWdpbmF0aW9uL3Rvb2xiYXIsIHByb2R1Y3QtZGV0YWlsLCBhbmQgY2F0ZWdvcnkgY2hyb21lIHdlcmUgbGVmdCBvdXRcbi8vIOKAlCB0aG9zZSBiZWNvbWUgdGhlaXIgb3duIGNvbXBvbmVudHMgaW4gbGF0ZXIgcGhhc2VzLlxuLy9cbi8vIER1cmluZyBtaWdyYXRpb24gdGhpcyBkdXBsaWNhdGVzIHRoZSBzYW1lIHJ1bGVzIHN0aWxsIGluIHRoZSBnbG9iYWxcbi8vIHByb2R1Y3RzLnNjc3M7IHRoYXQncyBoYXJtbGVzcyAoaWRlbnRpY2FsIHJ1bGVzKSB1bnRpbCBhbGwgcGhhc2VzIGFyZSBkb25lIGFuZFxuLy8geW91IGRlbGV0ZSB0aGUgZ2xvYmFsIGluY2x1ZGUuXG4vL1xuLy8gRGVwZW5kZW5jaWVzOiB0aGVtZSBjb2xvcnMgKyByZW1jKCkgKyBtZWRpYS1icmVha3BvaW50LWRvd24oKSBjb21lIGZyb21cbi8vIF9jYXRhbG9nL19nbG9iYWxzIChhZGp1c3QgdGhhdCBvbmUgZmlsZSB0byBwb2ludCBhdCB5b3VyIHJlYWwgdGhlbWUgdmFycykuXG4vLyBUaGUgbW9iaWxlIHNlY3Rpb24gaXMgcHVyZSBoYXJkY29kZWQgQ1NTIHdpdGggbm8gZGVwZW5kZW5jaWVzLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaW1wb3J0ICdjb21wb25lbnRzL19jYXRhbG9nL2dsb2JhbHMnO1xuXG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gREVTS1RPUCBDQVJEICAoZnJvbSBwcm9kdWN0cy5zY3NzKVxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbnVsLmxpc3QtcHJvZHVjdHMge1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbn1cblxuXG5cbmxpLmxpc3QtcHJvZHVjdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICB3aWR0aDogMjQlO1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cblxuXG5cbmxpLmxpc3QtcHJvZHVjdDpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG59XG5cblxuXG5saS5saXN0LXByb2R1Y3QgYSB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC1mYW1pbHk6IFZlcmRhbmEsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogIzAwMDBGRjtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3NnB4KSB7XG5cblxubGkubGlzdC1wcm9kdWN0IHtcbiAgICB3aWR0aDogMzElO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cbn1cblxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDdweCkge1xuXG5cbiAgbGkubGlzdC1wcm9kdWN0IHtcbiAgICB3aWR0aDogNDglO1xuICB9XG59XG5cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTIzcHgpIHtcblxuXG4gIGxpLmxpc3QtcHJvZHVjdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuXG5cblxuLy8gUHJvZHVjdHMtcGFnZSBjaHJvbWUgKC5wcm9kdWN0cyBjbGVhcmFuY2UsIC5jb250YWluZXItZmx1aWQgYmFuZCwgLXZhci0xL1xuLy8gLWNoZWNrb3V0IG1vZGlmaWVycykgbW92ZWQgdG8gdGhlIHNoYXJlZCBwYXJ0aWFsIGJlbG93ICgyMDI2LTA4LTI4KSBzbyB0aGVcbi8vIHBhZ2Uga2VlcHMgaXRzIGNocm9tZSBldmVuIHdoZW4gTk8gZW1iZWRkZWQgc2VhcmNoIHZhcmlhbnQgbG9hZHMgdGhpc1xuLy8gYnVuZGxlIOKAlCBjYXRhbG9nLWNocm9tZS9kZWZhdWx0IGltcG9ydHMgdGhlIHNhbWUgcGFydGlhbCBhcyB0aGUgY2Fub25pY2FsXG4vLyBjYXJyaWVyLiBTZWUgdGhlIHBhcnRpYWwncyBoZWFkZXIgZm9yIHRoZSBmdWxsIHN0b3J5LlxuQGltcG9ydCAnY29tcG9uZW50cy9fY2F0YWxvZy9wcm9kdWN0cy1wYWdlLWNocm9tZSc7XG5cblxuLnByb2R1Y3RzLW1haW4tY29udGFpbmVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cblxuXG4ucHJvZHVjdHMtbWFpbi1jb250YWluZXIgaHIge1xuICBjbGVhcjogYm90aDtcbn1cblxuXG5cbi5wcm9kdWN0LWxpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cblxuXG4ucHJvZHVjdC1saXN0LXNlbGVjdG9yIC5wcm9kdWN0LWltZyB7XG4gIHdpZHRoOiA5OCU7XG4gIG1hcmdpbjogMSU7XG4gIGNsZWFyOiBib3RoO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuXG5cbi5wcm9kdWN0LWxpc3Qtc2VsZWN0b3IgLnByb2R1Y3QtbGlzdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuXG5cbi5wcm9kdWN0LWxpc3Qtc2VsZWN0b3IgLm91dC1vZi1zdG9jayB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cblxuXG4ucHJvZHVjdC1saXN0LXNlbGVjdG9yIC5pbi1zdG9jayB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cblxuXG4ucHJvZHVjdC1saXN0LXNlbGVjdG9yIC5vdXQtb2Ytc3RvY2stbGFiZWwge1xuICBkaXNwbGF5OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogI2M3MDAwNDtcbn1cblxuXG5cbi5wcm9kdWN0LWxpc3Qtc2VsZWN0b3IgLmluLXN0b2NrLWxhYmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgY29sb3I6IGRhcmtncmVlbjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuXG5cbi5wcm9kdWN0LWxpc3Qtc2VsZWN0b3IgLnByb2R1Y3QtY29sIHtcbiAgLypwYWRkaW5nLXJpZ2h0OiAxMHB4OyovXG4gIHBhZGRpbmctbGVmdDogNXB4O1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xufVxuXG5cblxuLnByb2R1Y3QtbGlzdC1zZWxlY3RvciAucHJvZHVjdHMtY29udCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5cblxuLnByb2R1Y3QtbGlzdC1zZWxlY3RvciAucHJvZHVjdC1jb250IHtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luLXRvcDogMTNweDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZy1ib3R0b206IDBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24tY29udGVudDogc3RyZXRjaDtcbn1cblxuXG5cbi5wcm9kdWN0LWxpc3Qtc2VsZWN0b3Ige1xuICAudGl0bGUtY29udCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiA2cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDlweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIH1cblxuICAuYnJhbmQtbG9nby1jb250IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuXG5cbi5wcm9kdWN0LWxpc3Qtc2VsZWN0b3IgLnByb2R1Y3QtY29udCAucmlnaHQtc2lkZS1jb250IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuXG5cbi5wcm9kdWN0LWxpc3Qtc2VsZWN0b3IgLnByb2R1Y3QtY29udCAucmlnaHQtc2lkZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2g7XG4gIG1hcmdpbi10b3A6IGF1dG87XG5cbn1cblxuXG5cbi5wcm9kdWN0LWxpc3Qtc2VsZWN0b3IgLnByb2R1Y3QtY29udCAucHJvZHVjdC1pbmZvLWNvbnRhaW5lciB7XG4gIC8vd2lkdGg6IDEwMCU7XG4gIC8vZmxleC1ncm93OiAxO1xufVxuXG5cblxuLnByb2R1Y3QtY29udCAuYnV5LWJ1dHRvbi1yb3cge1xuICBoZWlnaHQ6IDEwMHB4O1xuICB3aWR0aDogMTAwJTtcblxuICAuc2hvdyB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbn1cblxuXG5cbi5wcm9kdWN0LWxpc3Qtc2VsZWN0b3IgLnByb2R1Y3QtY29udCAuYnV5LWJ1dHRvbi1yb3cge1xuICBoZWlnaHQ6IDEwMHB4O1xuICB3aWR0aDogMTAwJTtcblxuICAuc2hvdyB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5cblxuXG4ucHJvZHVjdC1saXN0LXNlbGVjdG9yIC5wcm9kdWN0LWNvbnQgLm1haW4ge1xuICBwYWRkaW5nOiAxMHB4O1xufVxuXG5cblxuLnByb2R1Y3QtbGlzdC1zZWxlY3RvciAucHJvZHVjdC1jb250IC50aXRsZSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbWFyZ2luOiAwcHg7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG59XG5cblxuXG4ucHJvZHVjdC1saXN0LXNlbGVjdG9yIC5wcm9kdWN0LWNvbnQgYSAudGl0bGUge1xuICBjb2xvcjogJGNvbG9yX3ByaW1hcnk7XG4gIC8vdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIC8vdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAvKmNvbG9yOiAjMzMzOyovXG5cbiAgLmxpZ2h0ZXIge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIH1cbn1cblxuXG5cbi5wcm9kdWN0LWxpc3Qtc2VsZWN0b3IgLnByb2R1Y3QtY29udCAucHJvZHVjdC1jb250YWluZXItaW5uZXIge1xuXG4gIGRpc3BsYXk6IGZsZXg7O1xuICBhbGlnbi1jb250ZW50OiBzdHJldGNoO1xuICBoZWlnaHQ6IGF1dG87XG5cblxuICAuaW1hZ2UtY29udCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjAlO1xuICAgIC8vd2lkdGg6IDg1JTtcbiAgfVxuXG4gIC5pbmZvLWNvbC0xIHtcbiAgICBtYXJnaW4tbGVmdDogLjc1cmVtO1xuICAgIHdpZHRoOiA0MCU7XG4gIH1cblxuICAuaW5mby1jb2wtMiB7XG4gICAgLy9mbG9hdDogbGVmdDtcbiAgICAvL2NsZWFyOiBib3RoO1xuICAgIHdpZHRoOiAzOCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgIC5mbGV4LWNvbC1ub3dyYXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC8qZGl2IHtcbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBmbGV4OiAxIDEgMTYwcHg7XG4gIH0qL1xufVxuXG5cblxuLnByb2R1Y3QtbGlzdC1zZWxlY3RvciAucHJvZHVjdC1jb250IC5zbGlkZXIge1xuICB3aWR0aDogMzAwcHg7XG4gIGNsZWFyOiBib3RoO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG5cblxuLnByb2R1Y3QtbGlzdC1zZWxlY3RvciAucHJvZHVjdC1jb250IGE6aG92ZXIgLnRpdGxlIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cblxuXG4ucHJvZHVjdC1saXN0LXNlbGVjdG9yIC5wcm9kdWN0LWNvbnQgLmJ1eS1idXR0b24tbWFzdGVyLWNvbnQge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuXG5cblxuLnByb2R1Y3QtbGlzdC1zZWxlY3RvciAucHJvZHVjdC1jb250IC5idXR0b24tY29udGFpbmVyIHtcbiAgZmxleC1ncm93OiAxO1xuICBmbG9hdDogbGVmdDtcbn1cblxuXG5cbi5wcm9kdWN0LWxpc3Qtc2VsZWN0b3IgLnByb2R1Y3QtY29udCAuYWRkLXRvLW9yZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDUwcHg7XG4gIGZvbnQtc2l6ZTogMTlweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6IDVweCAxMXB4IDVweCAxMXB4O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwcHggNHB4IDRweCAwcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRjb2xvcl9wcmltYXJ5LCAkY29sb3JfcHJpbWFyeSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9wcmltYXJ5O1xuICBsZWZ0OiAtNnB4O1xuICB0b3A6IC0ycHg7XG4gIC8vei1pbmRleDoxMDA7XG5cbn1cblxuXG5cbi5wcm9kdWN0LWxpc3Qtc2VsZWN0b3IgLnByb2R1Y3QtY29udCAucXVhbnRpdHkge1xuICBoZWlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMnB4O1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogYm90aDtcblxuICAucXR5IHtcbiAgICB6LWluZGV4OiAwO1xuICB9XG59XG5cblxuXG4ucHJvZHVjdC1saXN0LXNlbGVjdG9yIC5wcm9kdWN0LWNvbnQgLnF1YW50aXR5IC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDRweCAwcHggMHB4IDRweDtcbiAgd2lkdGg6IDYwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMXB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjN2E3YTdhOztcbn1cblxuXG5cbi5wcm9kdWN0LWxpc3Qtc2VsZWN0b3IgLnByb2R1Y3QtY29udCAucXVhbnRpdHkgaW5wdXQge1xuICBoZWlnaHQ6IDUwcHg7XG4gIHdpZHRoOiA2MHB4O1xufVxuXG5cblxuLnByb2R1Y3QtbGlzdC1zZWxlY3RvciAucHJvZHVjdC1jb250IC5xdWFudGl0eSBpbnB1dDpob3ZlciB7XG4gIGNvbG9yOiBibGFjaztcbn1cblxuXG5cbi5wcm9kdWN0LWxpc3Qtc2VsZWN0b3IgLnByb2R1Y3QtY29udCB1bC5vdXRlciB7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgbGlzdC1zdHlsZS10eXBlOiBzcXVhcmU7XG59XG5cblxuXG4ucHJvZHVjdC1saXN0LXNlbGVjdG9yIC5wcm9kdWN0LWNvbnQgLmJyYW5kLWFib3V0IHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5cblxuLnByb2R1Y3QtbGlzdC1zZWxlY3RvciAucHJvZHVjdC1jb250IHVsLmlubmVyIHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBsaXN0LXN0eWxlLXR5cGU6IGNpcmNsZTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5cblxuLnByb2R1Y3QtbGlzdC1zZWxlY3RvciAucHJvZHVjdC1jb250IC5maXRzLXJvdyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1ODVlNjY7XG4gIGNvbG9yOiAjMGIwYjBiO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gIG1hcmdpbi1yaWdodDogLTVweDtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG59XG5cblxuXG4ucHJvZHVjdC1saXN0LXNlbGVjdG9yIC5wcm9kdWN0LWNvbnQgLmZpdHMtcm93IHRhYmxlIHRyIHRoIHtcbiAgcGFkZGluZzogMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M3YzdjNztcbiAgYm9yZGVyOiAwO1xuICBmb250LXNpemU6IDE1cHg7XG59XG5cblxuXG4ucHJvZHVjdC1saXN0LXNlbGVjdG9yIC5wcm9kdWN0LWNvbnQgLmZpdHMtcm93IHRhYmxlIHRyIHRkIHtcbiAgcGFkZGluZzogMXB4O1xuICBtYXJnaW4tbGVmdDogM3B4O1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcblxufVxuXG5cblxuLnByb2R1Y3QtbGlzdC1zZWxlY3RvciAucHJvZHVjdC1jb250IC5pbnRlcmNoYW5nZS1yb3cge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogIzU4NWU2NjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gIG1hcmdpbi1yaWdodDogLTVweDtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG59XG5cblxuXG4ucHJvZHVjdC1saXN0LXNlbGVjdG9yIC5wcm9kdWN0LWNvbnQgLmludGVyY2hhbmdlLXJvdyB0YWJsZSB0ciB0aCB7XG4gIHBhZGRpbmc6IDBweDtcbiAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjN2M3Yzc7XG4gIGJvcmRlcjogMDtcbiAgZm9udC1zaXplOiAxNXB4O1xufVxuXG5cblxuLnByb2R1Y3QtbGlzdC1zZWxlY3RvciAucHJvZHVjdC1jb250IC5pbnRlcmNoYW5nZS1yb3cgdGFibGUgdHIgdGQge1xuICBwYWRkaW5nOiAxcHg7XG4gIG1hcmdpbi1sZWZ0OiAzcHg7XG4gIHBhZGRpbmctbGVmdDogNXB4O1xuXG59XG5cblxuXG4ucHJvZHVjdC1saXN0LXNlbGVjdG9yIC5wcm9kdWN0LWNvbnQgLnByaWNpbmcge1xuXG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIGNsZWFyOiBib3RoO1xuXG4gIHNwYW4ge1xuXG4gICAgbGFiZWwge1xuICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGNvbG9yOiAjMzYzNjM2O1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgY29sb3I6ICMzMzM7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICB9XG5cbiAgLnByaWNlIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBjb2xvcjogIzMzMztcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuXG4gIC5wYXJ0LW51bWJlciBzcGFuIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgfVxufVxuXG5cblxuLnByb2R1Y3QtbGlzdC1zZWxlY3RvciAucHJvZHVjdC1jb250IC5wYXJ0LW51bWJlci1jb250IHtcbiAgY2xlYXI6IGJvdGg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLXRvcDogMjBweDtcblxuXG4gIGxhYmVsIHtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogYm90aDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgY29sb3I6ICMzNjM2MzY7XG4gIH1cblxuICBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cblxuICBwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuXG4gIC5wYXJ0LW51bWJlciB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICB9XG5cbn1cblxuXG5cbi5wcm9kdWN0LWxpc3Qtc2VsZWN0b3IgLnByb2R1Y3QtY29udCAuZnJlZV9zaGlwcGluZyB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICMwOTk3MDA7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nOiAxNHB4O1xufVxuXG5cblxuLnByb2R1Y3QtbGlzdC1zZWxlY3RvciAucHJvZHVjdC1jb250IC5lbGlnaWJsZS1zaGlwcGluZy1oZWxwIHtcbiAgZm9udC1zaXplOiAxNXB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDMwcHgpIHtcblxuLnByb2R1Y3QtY29udCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2U0ZTRlNDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMjVzO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJveC1zaGFkb3c7XG4gICAgcGFkZGluZzogMS4xZW07XG4gIH1cblxuXG4ucHJvZHVjdC1saXN0LXNlbGVjdG9yIC5wcm9kdWN0LWNvbnQge1xuXG4gICAgbWFyZ2luLXRvcDogMWVtO1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgIC5hZGQtdG8tb3JkZXIge1xuICAgICAgaGVpZ2h0OiAyLjFlbTtcbiAgICAgIGZvbnQtc2l6ZTogMS4yOThlbTtcbiAgICB9XG5cbiAgICAucXVhbnRpdHkge1xuXG4gICAgICBpbnB1dCB7XG4gICAgICAgIGhlaWdodDogMi40NGVtO1xuICAgICAgfVxuXG4gICAgICAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICAgICAgICBoZWlnaHQ6IDIuMWVtO1xuICAgICAgICBmb250LXNpemU6IDEuMWVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pbmZvLWNvbC0xIHtcblxuICAgICAgdWwub3V0ZXIge1xuXG4gICAgICB9XG4gICAgfVxuXG4gICAgLnByb2QtYXR0ci1jb250IHtcblxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxOTEsIDE5MywgMTk4LCAwLjMpO1xuICAgICAgcGFkZGluZzogMC42cmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogMC42cmVtO1xuXG4gICAgICB1bC5vdXRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogM3B4O1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm1kX3BkX3NwZWNfdmFsdWUge1xuICAgICAgICAgICAgZm9udC1zaXplOiA5NSU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJyYW5kLWFib3V0IHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIC5idXktYnV0dG9uLW1hc3Rlci1jb250IHtcbiAgICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICB9XG5cbiAgICAuYnV5LWJ1dHRvbi1yb3cge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLjc1ZW07XG4gICAgfVxuXG4gICAgLnByaWNpbmcge1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICAgICAgbWFyZ2luLXRvcDogLjVlbTtcblxuICAgICAgLnByaWNlIHtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzcGFuIHtcbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4wZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAucGFydC1udW1iZXItY29udCB7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy10b3A6IC41ZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG5cbiAgICAgIC5wYXJ0LW51bWJlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgfVxuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cblxuLnByb2R1Y3QtbGlzdC1zZWxlY3RvciAudGl0bGUtY29udCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1ib3R0b206IC41ZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblxuICAgIGEge1xuICAgICAgLnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAuOTRyZW07XG4gICAgICB9XG5cbiAgICB9XG5cbiAgfVxuXG5cbi5wcm9kdWN0LWxpc3Qtc2VsZWN0b3IgLnByb2R1Y3QtY29udCAucHJvZHVjdC1jb250YWluZXItaW5uZXIge1xuXG4gICAgLmltYWdlLWNvbnQge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuNWVtO1xuXG4gICAgICAuYnJhbmQtbG9nby1jb250IHtcbiAgICAgICAgd2lkdGg6IDUuNXJlbTtcbiAgICAgICAgLy9oZWlnaHQ6IDUuNXJlbTtcbiAgICAgIH1cblxuICAgICAgLnByb2R1Y3QtaW1nIHtcbiAgICAgICAgd2lkdGg6IDUuNXJlbTtcbiAgICAgICAgaGVpZ2h0OiA1LjVyZW07XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICAuaW5mby1jb2wtMSB7XG4gICAgICAvL21hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgLy9tYXJnaW4tbGVmdDogNi4yNXJlbTsgLy8gZ2V0IHJpZCBvZiB0aGlzIHRvIGhhdmUgZWxlbWVudHMgaW4gdGhpcyBjb250YWluZXIgd3JhcCB1bmRlciB0aGUgaW1hZ2UhISEhXG4gICAgICBmb250LXNpemU6IC45ZW07XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cblxuICAgIC5pbmZvLWNvbC0yIHtcbiAgICAgIC8vbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgLy9wYWRkaW5nLXRvcDogMC41cmVtO1xuICAgICAgLy9ib3JkZXItdG9wOiAxcHggc29saWQgI2VjZWRmMDtcblxuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIGZvbnQtc2l6ZTogLjllbTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuXG4gIH1cbn1cblxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzZweCkge1xuXG5cbi5wcm9kdWN0LWxpc3Qtc2VsZWN0b3IgLnRpdGxlLWNvbnQge1xuICAgIGhlaWdodDogYXV0bztcblxuICB9XG5cblxuLnByb2R1Y3QtbGlzdC1zZWxlY3RvciAucHJvZHVjdC1jb250IC5wcm9kLWF0dHItY29udCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLy9tYXJnaW4tdG9wOiA3MHB4O1xuICB9XG5cblxuLnByb2R1Y3QtbGlzdC1zZWxlY3RvciAucHJvZHVjdC1jb250IC5wcm9kdWN0LWNvbnRhaW5lci1pbm5lciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuXG4ucHJvZHVjdC1saXN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuXG4ucHJvZHVjdC1saXN0LXNlbGVjdG9yIC5wcm9kdWN0LWNvbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNTBweCkge1xuXG5cbiAgLnByb2R1Y3QtbGlzdC1zZWxlY3RvciAucHJvZHVjdC1jb250IC5hZGQtdG8tb3JkZXIge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcblxuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuLnByb2R1Y3QtbGlzdC1zZWxlY3RvciB7XG4gIG1hcmdpbi10b3A6IHJlbWMoMzApO1xuXG4gIC5mYWNldHMtY29udCB7XG4gICAgYm9yZGVyLXJhZGl1czogcmVtYyg0KTtcbiAgICBwYWRkaW5nOiByZW1jKDAsIDEwKTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9zZWNvbmRhcnk7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgcGFkZGluZzogcmVtYygyMCk7XG4gICAgICB6LWluZGV4OiAkemluZGV4LW1vZGFsO1xuXG4gICAgICBpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbGVmdDogMTNweDtcbiAgICAgICAgdG9wOiAzcHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEZXNrdG9wOiB0aGUgc2lkZWJhciBpcyBub3QgYSBkcmF3ZXIsIHNvIG5vIGhlYWRlciByb3cgYXQgYWxsLlxuICAgIC8vIOKaoCBNaXJyb3JzIHByb2R1Y3QtZmFjZXRzL3NpZGViYXIvaW5kZXguc2NzcyDigJQgc2VlIHRoZSBub3RlIGF0IHRoZSBtb2JpbGVcbiAgICAvLyBkcmF3ZXIgYmxvY2sgZnVydGhlciBkb3duIHRoaXMgZmlsZS5cbiAgICAuY2xvc2UsXG4gICAgLmZhY2V0cy1jb250X19oZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtYygxNik7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgIGxpIGlucHV0OmNoZWNrZWR+LmNoZWNrbWFyayB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9wcmltYXJ5X2Rhcms7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yX3ByaW1hcnlfZGFyaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucHJvZHVjdHMtY29udCB7XG4gICAgYm9yZGVyLWxlZnQ6IHJlbWMoMSkgc29saWQgIzRiNGE0YTtcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbWMoMjApO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIC5wcm9kdWN0LWNvbnQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogcmVtYygxKSBzb2xpZCAkY29sb3JfbmV1dHJhbF8zO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtYygzMCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtYyg0MCk7XG5cbiAgICAgIC5idXktYnV0dG9uLXJvdyB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cblxuICAgICAgLnF1YW50aXR5IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBmbG9hdDogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudGl0bGUtY29udCB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAucHJvZHVjdC1saW5lX193aXNobGlzdCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAubGlnaHRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnByb2R1Y3QtY29udGFpbmVyLWlubmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLmltYWdlLWNvbnQge1xuICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIGZsZXg6IDEgMSAyMCU7XG5cbiAgICAgICAgICAucHJvZHVjdC1pbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmluZm8tY29sLTEge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIGZsZXg6IDEgMSA3MCU7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICAgW3Byb3BlcnR5PVwiZGVzY3JpcHRpb25cIl0ge1xuICAgICAgICAgICAgLm91dGVyIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiByZW1jKDE2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnByaWNpbmcge1xuICAgICAgICAucHJpY2Uge1xuICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgW3Byb3BlcnR5PVwicHJpY2VDdXJyZW5jeVwiXSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW1jKDIwKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBbcHJvcGVydHk9XCJwcmljZVwiXSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW1jKDIwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnBhcnQtbnVtYmVyLWNvbnQge1xuICAgICAgICAucGFydC1udW1iZXIge1xuICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5maXRzLXJvdyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgLmhlYWRlciB7XG4gICAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtYygxNCk7XG4gICAgICAgIH1cblxuICAgICAgICAuc3RhY2t0YWJsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW1jKDE0KTtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuaW50ZXJjaGFuZ2Utcm93IHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtYygxNCk7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBib3JkZXI6IHJlbWMoMSkgc29saWQgJGNvbG9yX25ldXRyYWxfMztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtYyg0LCA0LCAwLCAwKTtcbiAgICAgIH1cblxuICAgICAgLmJ1eS1idXR0b24tbWFzdGVyLWNvbnQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgIC5idXR0b24tY29udGFpbmVyIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IHJlbWMoMjUwKTtcbiAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcblxuICAgICAgICAgIC5hZGQtdG8tb3JkZXIge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW1jKDE0KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDMwcHgpIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogcmVtYyg4KTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5wcm9kdWN0LWRldGFpbHMtdGFicyB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbWMoMzApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5icmFuZC1sb2dvLWNvbnQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBwYWRkaW5nOiByZW1jKDIwLCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiByZW1jKDQpO1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuXG4gIC5wcm9kdWN0LWxpc3Qtc2VsZWN0b3Ige1xuICAgIC8vIOKaoCBNSVJST1Igb2YgdGhlIG1vYmlsZSBkcmF3ZXIgYmxvY2sgaW5cbiAgICAvLyByZXNvdXJjZXMvY29tcG9uZW50cy9wcm9kdWN0LWZhY2V0cy9zaWRlYmFyL2luZGV4LnNjc3MuIEJvdGggYnVuZGxlc1xuICAgIC8vIGRlZmluZSB0aGVzZSBydWxlcyBhbmQgQk9USCBsb2FkIG9uIGEgY2F0YWxvZyBwYWdlLCBzbyB3aGljaGV2ZXIgPGxpbms+XG4gICAgLy8gY29tZXMgbGFzdCB3aW5zIOKAlCB3aGljaCBkaWZmZXJzIHBlciBzaXRlLiBQcm92ZW4gb24gMjAyNi0wOS0wMzogdGhlXG4gICAgLy8gZHJhd2VyIGZpeCBsYW5kZWQgb25seSBpbiB0aGUgZmFjZXRzIGJ1bmRsZSBhbmQgbmV3cGFydHNvbnRoZWdvIHBpY2tlZCBpdFxuICAgIC8vIHVwIHdoaWxlIHRoZSBuZ2tzcGFya3BsdWdzIChBUFgpIHRlbmFudCBrZXB0IHRoZSBvbGQgYHRvcDogMTAwcHhgIGZyb21cbiAgICAvLyBUSElTIGNvcHksIGxlYXZpbmcgdGhlIGRyYXdlciA0cHggYmVoaW5kIGl0cyBvd24gaGVhZGVyLiBDaGFuZ2UgdGhlIHR3b1xuICAgIC8vIHRvZ2V0aGVyLCBvciB0aGUgZml4IGlzIGEgY29pbiBmbGlwLlxuICAgIC5mYWNldHMtY29udCB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIC8vIE1lYXN1cmVkIGhlYWRlciBib3R0b20gKHNjcmlwdHMvb2xkLWNvbXBvbmVudHMvaGVhZGVyLmpzXG4gICAgICAvLyBwdWJsaXNoSGVhZGVyQm90dG9tKTsgMTAwcHggaXMgdGhlIHByZS0yMDI2LTA5LTAzIGNvbnN0YW50LCBrZXB0IGFzIHRoZVxuICAgICAgLy8gbm8tSlMgZmFsbGJhY2suXG4gICAgICB0b3A6IHZhcigtLXBzLWZhY2V0cy10b3AsIHZhcigtLXBzLWhkci1ib3R0b20sIDEwMHB4KSk7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWxfNDtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcbiAgICAgIC8vdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG5cbiAgICAgIC8vIFN0aWNreSBkcmF3ZXIgaGVhZGVyIOKAlCBzZWUgdGhlIGxvbmcgbm90ZSBvbiB0aGUgbWlycm9yZWQgYmxvY2sgZm9yIHdoeVxuICAgICAgLy8gdGhlIGJhcmUgZnVsbC13aWR0aCBgLmNsb3NlYCByb3cgaGFkIHRvIGdvLlxuICAgICAgLmZhY2V0cy1jb250X19oZWFkIHtcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGdhcDogcmVtYygxMCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIC4xMik7XG4gICAgICAgIG1hcmdpbjogcmVtYygtMjAsIC0yMCwgMTIpO1xuICAgICAgICBwYWRkaW5nOiByZW1jKDgsIDIwKTtcbiAgICAgIH1cblxuICAgICAgLmZhY2V0cy1jb250X19oZWFkLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW1jKDE3KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9wcmltYXJ5X2RhcmtlcjtcbiAgICAgIH1cblxuICAgICAgLmNsb3NlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgd2lkdGg6IHJlbWMoNDQpO1xuICAgICAgICBoZWlnaHQ6IHJlbWMoNDQpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtYygyOCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBjb2xvcjogJGNvbG9yX3ByaW1hcnlfZGFya2VyO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICBmb250LXNpemU6IHJlbWMoMjgpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5maWx0ZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICAvLyBUaGUgc3RpY2t5IGRyYXdlciBoZWFkZXIgYWxyZWFkeSBkcmF3cyBhIGRpdmlkZXIgdW5kZXIgaXRzZWxmLCBzb1xuICAgICAgICAvLyB0aGUgZmlyc3QgZmlsdGVyJ3Mgb3duIHRvcCBydWxlIG1hZGUgYSBkb3VibGVkIGxpbmUgMTJweCBiZWxvdyBpdCDigJRcbiAgICAgICAgLy8gYW5kIGFuIGluc2V0IG9uZSwgc2luY2UgZmlsdGVyIGl0ZW1zIHNpdCAyJSBpbi5cbiAgICAgICAgJi1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1pdGVtIHtcbiAgICAgICAgICBmbGV4OiAxIDEgNDYlO1xuICAgICAgICAgIG1hcmdpbjogcmVtYygxMCkgMiU7XG5cbiAgICAgICAgICB1bCB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0cy1jb250IHtcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgICAucHJvZHVjdC1jb250YWluZXItaW5uZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgIC5pbWFnZS1jb250IHtcbiAgICAgICAgICAuYnJhbmQtbG9nby1jb250IHtcbiAgICAgICAgICAgIC8vd2lkdGg6IHJlbWMoMjUwKTtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLnByb2R1Y3QtY29sIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWRldGFpbCAucHJvZHVjdC1jb250IC5wcm9kdWN0LWluZm8tY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZ3JvdzogaW5pdGlhbDtcblxuICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgLy8gTUFSS0VUSU5HIC8gUFBDIE9WRVJSSURFUyAoZnJvbSBzcG9ya19tYXJrZXRpbmcpXG4gICAgICAvLyBUaGVzZSBvdmVycmlkZSBwcm9kdWN0IHN0eWxlcyBmb3IgUFBDIGxhbmRpbmcgcGFnZXMgYW5kIG1hcmtldGluZyBwYWdlc1xuICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICAgICAvKiBCZWFjaHNpZGUgQXV0byBQYXJ0cyBQUEMgTGFuZGluZyBQYWdlIFVwZGF0ZXMgKi9cbiAgICAgICNjb250ZW50IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICB9XG5cbiAgICAgIC5wcm9kdWN0cy1tYWluLWNvbnRhaW5lciAudmVoaWNsZS1zZWxlY3Qge1xuICAgICAgICBtYXJnaW46IDAgMCAxNXB4IDA7XG4gICAgICB9XG5cbiAgICAgIC5wcm9kdWN0cy1tYWluLWNvbnRhaW5lciAudmVoaWNsZS1zZWxlY3QgLmNvbnRhaW5lciAuYm9keSB7XG4gICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLnByb2R1Y3RzLW1haW4tY29udGFpbmVyIC52ZWhpY2xlLXNlbGVjdCAuc2VhcmNoX2J5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLnByb2R1Y3RzLW1haW4tY29udGFpbmVyIC52ZWhpY2xlLXNlbGVjdCAuY29udGFpbmVyIC5ib2R5IC52ZWhpY2xlLXdpZGdldCB7XG4gICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIH1cblxuICAgICAgLnByb2R1Y3RzLW1haW4tY29udGFpbmVyIC52ZWhpY2xlLXNlbGVjdCAuY29udGFpbmVyIC5ib2R5IC52ZWhpY2xlLXdpZGdldCBzZWxlY3QsXG4gICAgICAucHJvZHVjdHMtbWFpbi1jb250YWluZXIgLnZlaGljbGUtc2VsZWN0IC5jb250YWluZXIgLmJvZHkgLnZlaGljbGUtd2lkZ2V0IGJ1dHRvbiB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgfVxuXG4gICAgICAucHJvZHVjdHMtbWFpbi1jb250YWluZXIgLnZlaGljbGUtc2VsZWN0IC5jb250YWluZXIgLmJvZHkgLnZlaGljbGUtd2lkZ2V0IGJ1dHRvbiB7XG4gICAgICAgIHBhZGRpbmc6IDdweDtcbiAgICAgIH1cblxuICAgICAgLnByb2R1Y3RzLW1haW4tY29udGFpbmVyIC52ZWhpY2xlLXNlbGVjdG9yLXBwYy1sYW5kaW5nIHtcblxuICAgICAgfVxuXG4gICAgICAucHJvZHVjdHMtbWFpbi1jb250YWluZXIgLnBwYy1zaGlsbGluZyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9wcmltYXJ5X2xpZ2h0O1xuICAgICAgICBtYXJnaW46IDAgYXV0byAxMHB4IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gICAgICAgIG1heC13aWR0aDogNTVyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgIH1cblxuICAgICAgLnByb2R1Y3RzLW1haW4tY29udGFpbmVyIC5wcGMtc2hpbGxpbmcgZGl2LFxuICAgICAgLnByb2R1Y3RzLW1haW4tY29udGFpbmVyIC5wcGMtc2hpbGxpbmcgZGl2IGEsXG4gICAgICAucHJvZHVjdHMtbWFpbi1jb250YWluZXIgLnBwYy1zaGlsbGluZyBkaXYgaSB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICB9XG5cbiAgICAgIC5wcm9kdWN0cy1tYWluLWNvbnRhaW5lciAucHBjLXNoaWxsaW5nIGRpdiBpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgICAgfVxuXG4gICAgICAucGFnaW5hdGlvbi1jb250YWluZXIsXG4gICAgICAucGFnaW5hdGlvbi1jb250YWluZXI6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICAgIH1cblxuICAgICAgLnBhZ2luYXRpb24tY29udGFpbmVyIC5wYWdpbmF0aW9uLWNvbnRhaW5lci1pdGVtIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgLnBhZ2luYXRpb24tY29udGFpbmVyIC5wYWdpbmF0aW9uLWNvbnRhaW5lci1pdGVtIC5mb3JtLWdyb3VwIC5jdXN0b20tc2VsZWN0IHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuXG4gICAgICAucGFnaW5hdGlvbi1jb250YWluZXIgLnBhZ2luYXRpb24tY29udGFpbmVyLWl0ZW0gLmZvcm0tZ3JvdXAgLnNlbGVjdC1zZWxlY3RlZCB7XG4gICAgICAgIHBhZGRpbmc6IDNweCA1cHg7XG4gICAgICB9XG5cbiAgICAgIC5wcm9kdWN0cyAucm93Lm10LTQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwcHggIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLnByb2R1Y3RzIC5yb3cubXQtNCAudG9nZ2xlX2xhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgfVxuXG4gICAgICAucHJvZHVjdHMgLnJvdy5tdC00IC50b2dnbGVfZ3JvdXAge1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cblxuICAgICAgLnByb2R1Y3RzIC5wcm9kdWN0LWxpc3Qtc2VsZWN0b3Ige1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgfVxuXG4gICAgICAucHJvZHVjdC1saXN0LXNlbGVjdG9yIC5wcm9kdWN0LWxpbmVfX3N0b2NrIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLnByb2R1Y3QtbGlzdC1zZWxlY3RvciAucHJvZHVjdC1jb250IC5wYXJ0LW51bWJlci1jb250IGxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcHg7XG4gICAgICB9XG5cbiAgICAgIC5wcm9kdWN0LWxpc3Qtc2VsZWN0b3IgLnByb2R1Y3QtY29udCAucGFydC1udW1iZXItY29udCBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgfVxuXG4gICAgICAucHJvZHVjdC1saXN0LXNlbGVjdG9yIC5wcm9kdWN0LWNvbnQgLmZyZWVfc2hpcHBpbmcge1xuICAgICAgICBjb2xvcjogIzE1NTcyNDtcbiAgICAgICAgYmFja2dyb3VuZDogI2Q0ZWRkYTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MzZTZjYjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDAgMCAwO1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIH1cblxuICAgICAgLyogQmVhY2hzaWRlIEF1dG8gUGFydHMgUHJvZHVjdCBEZXRhaWwgUGFnZSBVcGRhdGVzICovXG4gICAgICAjY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgfVxuXG4gICAgICAucHJvZHVjdC1kZXRhaWwgLmJyYW5kLWxvZ28tY29udCBpbWcsXG4gICAgICAucHJvZHVjdC1kZXRhaWwgLmJyYW5kLWxvZ28tY29udCBzdmcge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB9XG5cbiAgICAgIC5wcm9kdWN0LWRldGFpbCBhLmFkZC10by13aXNobGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5wcm9kdWN0LWRldGFpbCAucHJvZHVjdC1jb250IC5wYXJ0LW51bWJlci1jb250IHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIH1cblxuICAgICAgLnByb2R1Y3QtZGV0YWlsIC5wcm9kdWN0LWNvbnQgLnByaWNpbmcgc3BhbiBsYWJlbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgICAgIH1cblxuICAgICAgLnByb2R1Y3QtZGV0YWlsIC5wcm9kdWN0LWNvbnQgLnBhcnQtbnVtYmVyLWNvbnQgbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDNweDtcbiAgICAgIH1cblxuICAgICAgLnByb2R1Y3QtZGV0YWlsIC5wcm9kdWN0LWNvbnQgLnBhcnQtbnVtYmVyLWNvbnQgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIH1cblxuICAgICAgLnByb2R1Y3QtZGV0YWlsIC5wcm9kdWN0LWNvbnQgLmZyZWVfc2hpcHBpbmcge1xuICAgICAgICBjb2xvcjogIzE1NTcyNDtcbiAgICAgICAgYmFja2dyb3VuZDogI2Q0ZWRkYTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MzZTZjYjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDAgMCAwO1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgIH1cblxuICAgICAgLnByb2R1Y3QtZGV0YWlsIC5wcm9kdWN0LWNvbnQgLnByb2R1Y3QtbGluZV9fc3RvY2sge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAucHJvZHVjdC1kZXRhaWwgLnByb2R1Y3QtY29udCAuYnV5LWJ1dHRvbi1tYXN0ZXItY29udCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cblxuICAgIH1cblxuICB9XG59XG5cblxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBNT0JJTEUgQ0FSRCAgKGZyb20gcHJvZHVjdHMtbW9iaWxlLnNjc3MpXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLnByb2R1Y3Qtdmlldy1kZXNrdG9wIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5wcm9kdWN0LXZpZXctbW9iaWxlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnByb2R1Y3Qtdmlldy1kZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLnByb2R1Y3Qtdmlldy1tb2JpbGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU0VDVElPTiAyOiBNT0JJTEUgUFJPRFVDVCBDQVJEXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG5cbiAgLnByb2R1Y3QtY29udC0tbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2U0ZTRlNDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgbWFyZ2luOiAxMnB4IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAubWFpbiB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gV0lTSExJU1QgQlVUVE9OIChhYnNvbHV0ZSwgdG9wLXJpZ2h0KVxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgLnByb2R1Y3QtbGluZV9fd2lzaGxpc3Qge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMHB4O1xuICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICB3aWR0aDogMzZweDtcbiAgICAgIGhlaWdodDogMzZweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgei1pbmRleDogMTA7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgZWFzZTtcblxuICAgICAgJjphY3RpdmUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBIRUFERVI6IEltYWdlICsgQnJhbmQgKyBUaXRsZSArIEtleSBJbmZvXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICAubW9iaWxlLWhlYWRlciB7XG4gICAgICBwYWRkaW5nOiAxMnB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMGYwZjA7XG4gICAgfVxuXG4gICAgLm1vYmlsZS1oZWFkZXJfX3RvcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZ2FwOiAxMnB4O1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgLm1vYmlsZS1oZWFkZXJfX2ltYWdlIHtcbiAgICAgIGZsZXg6IDAgMCAxMDBweDtcbiAgICAgIG1heC13aWR0aDogMTAwcHg7XG5cbiAgICAgIC5pbWFnZS1jb250IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cblxuICAgICAgLnByb2R1Y3QtaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogMTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmYWZhZmE7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgcGFkZGluZzogNnB4O1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYnJhbmQtbG9nby1jb250IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiA2cHggMCAwO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5tb2JpbGUtaGVhZGVyX19pbmZvIHtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBtaW4td2lkdGg6IDA7IC8vIGFsbG93IHRleHQgdHJ1bmNhdGlvblxuICAgICAgcGFkZGluZy1yaWdodDogMzBweDsgLy8gc3BhY2UgZm9yIHdpc2hsaXN0IGhlYXJ0XG4gICAgfVxuXG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBUSVRMRVxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgLnRpdGxlLWNvbnQge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMCAwIDhweDtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG5cbiAgICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgY29sb3I6ICMxYTFhMWE7XG4gICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAzO1xuICAgICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAubGlnaHRlciB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBLRVkgSU5GTyAoUGFydCAjLCBNRlIgIywgQmFkZ2VzKVxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgLm1vYmlsZS1rZXktaW5mbyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdhcDogNHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICAgIH1cblxuICAgIC5tb2JpbGUta2V5LWluZm9fX3JvdyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogNnB4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cblxuICAgIC5tb2JpbGUta2V5LWluZm9fX2xhYmVsIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBjb2xvcjogIzg4ODtcbiAgICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtOyAvLyAxMXB4XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xuICAgIH1cblxuICAgIC5tb2JpbGUta2V5LWluZm9fX3ZhbHVlIHtcbiAgICAgIGNvbG9yOiAjMzMzO1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtOyAvLyAxMnB4XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cblxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gQkFER0VTXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICAubW9iaWxlLWJhZGdlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDNweCA4cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIH1cblxuICAgIC5tb2JpbGUtYmFkZ2UtLXBvc2l0aW9uIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlZWYwZjg7XG4gICAgICBjb2xvcjogIzNmNTFiNTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjNWNhZTk7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xuICAgIH1cblxuICAgIC5tb2JpbGUtYmFkZ2UtLWZpdG1lbnQge1xuICAgICAgYmFja2dyb3VuZDogI2U4ZjVlOTtcbiAgICAgIGNvbG9yOiAjMmU3ZDMyO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2E1ZDZhNztcbiAgICAgIGdhcDogM3B4O1xuICAgIH1cblxuICAgIC5tb2JpbGUtYmFkZ2VfX2ljb24ge1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIH1cblxuICAgIC5mcmVlX3NoaXBwaW5nIHtcbiAgICAgIG1hcmdpbjogNHB4IDAgMDtcbiAgICAgIHBhZGRpbmc6IDNweCA4cHg7XG4gICAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBjb2xvcjogIzE1NTcyNDtcbiAgICAgIGJhY2tncm91bmQ6ICNkNGVkZGE7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzNlNmNiO1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gUFJJQ0UgKyBCVVkgU0VDVElPTlxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgLm1vYmlsZS1idXktc2VjdGlvbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGdhcDogMTBweDtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTJweDtcbiAgICAgIGJhY2tncm91bmQ6ICNmOGY5ZmE7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YwZjBmMDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICAucHJpY2luZyB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZmxleDogMCAwIGF1dG87XG5cbiAgICAgIC5jb3JlLXByaWNlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgICAgICBjb2xvcjogIzY2NjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5wcmljZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAgZ2FwOiAycHg7XG5cbiAgICAgICAgbGFiZWwgeyBkaXNwbGF5OiBub25lOyB9IC8vIGhpZGUgXCJPdXIgUHJpY2U6XCIgb24gbW9iaWxlXG5cbiAgICAgICAgW3Byb3BlcnR5PVwicHJpY2VDdXJyZW5jeVwiXSxcbiAgICAgICAgW3Byb3BlcnR5PVwicHJpY2VcIl0ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07IC8vIDIycHhcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIGNvbG9yOiAjYzYyODI4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gYHNwYW4ucHJpY2UtY3VycmVuY3lgIChub3QganVzdCBgLnByaWNlLWN1cnJlbmN5YCkgc28gdGhpcyB0aWVzIHRoZVxuICAgICAgICAvLyBicm9hZCBgLnByaWNpbmcgLnByaWNlIHNwYW4geyBmb250LXNpemU6MjRweDsgZm9udC13ZWlnaHQ6OTAwIH1gIHJ1bGUgb25cbiAgICAgICAgLy8gc3BlY2lmaWNpdHkgKGJvdGggMCw0LDEpIGFuZCB3aW5zIG9uIHNvdXJjZSBvcmRlciDigJQga2VlcHMgVVNEIHNtYWxsICtcbiAgICAgICAgLy8gZ3JleSB3aGlsZSB0aGUgcHJpY2UgdmFsdWUgc3RheXMgdGhlIHByb21pbmVudCBibGFjayBudW1iZXIgKHVudG91Y2hlZCkuXG4gICAgICAgIHNwYW4ucHJpY2UtY3VycmVuY3kge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgICAgICAgIGNvbG9yOiAjODg4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5tb2JpbGUtYnV5LXNlY3Rpb25fX2FjdGlvbnMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDhweDtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgIC5xdWFudGl0eSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmbG9hdDogbm9uZTtcblxuICAgICAgLmlucHV0LWdyb3VwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgICAgLmlucHV0LWdyb3VwLXRleHQge1xuICAgICAgICAgIHBhZGRpbmc6IDZweCA4cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4IDAgMCA0cHg7XG4gICAgICAgICAgY29sb3I6ICM2NjY7XG4gICAgICAgIH1cblxuICAgICAgICAucXR5IHtcbiAgICAgICAgICB3aWR0aDogNDRweDtcbiAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIGZsb2F0OiBub25lO1xuXG4gICAgICAuYWRkLXRvLW9yZGVyIHtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBtaW4td2lkdGg6IDQwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMTRweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGdhcDogNXB4O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG5cbiAgICAgICAgLmdseXBoaWNvbi1zaG9wcGluZy1jYXJ0IHtcbiAgICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9uIHRpbnkgc2NyZWVucywgaGlkZSBcIkFkZCB0byBDYXJ0XCIgdGV4dCwgc2hvdyBpY29uIG9ubHlcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzc0cHgpIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgICAgLmFkZC10by1vcmRlcl9fdGV4dCB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5vdXQtb2Ytc3RvY2sge1xuICAgICAgYnV0dG9uIHtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDE0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIEFDQ09SRElPTlxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgLm1vYmlsZS1hY2NvcmRpb24ge1xuICAgICAgLy8gbm8gZXh0cmEgbWFyZ2luIG5lZWRlZCAtIHNpdHMgYmVsb3cgYnV5IHNlY3Rpb25cbiAgICB9XG5cbiAgICAubW9iaWxlLWFjY29yZGlvbl9faXRlbSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YwZjBmMDtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubW9iaWxlLWFjY29yZGlvbl9faGVhZGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAxMnB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTtcbiAgICAgIC8vIE1pbmltdW0gdG91Y2ggdGFyZ2V0XG4gICAgICBtaW4taGVpZ2h0OiA0NHB4O1xuXG4gICAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG4gICAgICB9XG5cbiAgICAgIC8vIEZvY3VzZWQgc3RhdGUgZm9yIGtleWJvYXJkIG5hdmlnYXRpb25cbiAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAjMjE5NmYzO1xuICAgICAgICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgICAgIH1cblxuICAgICAgLy8gT3BlbiBzdGF0ZVxuICAgICAgJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmYWZhZmE7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZThlOGU4O1xuXG4gICAgICAgIC5tb2JpbGUtYWNjb3JkaW9uX19jaGV2cm9uIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAubW9iaWxlLWFjY29yZGlvbl9fdGl0bGUge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgY29sb3I6ICMzMzM7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDZweDtcbiAgICB9XG5cbiAgICAubW9iaWxlLWFjY29yZGlvbl9faWNvbi1sYWJlbCB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIH1cblxuICAgIC5tb2JpbGUtYWNjb3JkaW9uX19jb3VudCB7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgY29sb3I6ICM4ODg7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAubW9iaWxlLWFjY29yZGlvbl9fY2hldnJvbiB7XG4gICAgICB3aWR0aDogMThweDtcbiAgICAgIGhlaWdodDogMThweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBjb2xvcjogIzk5OTtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI1cyBlYXNlO1xuXG4gICAgICAvLyBDU1Mtb25seSBjaGV2cm9uIGFycm93XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDdweDtcbiAgICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICM5OTk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjOTk5O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tb2JpbGUtYWNjb3JkaW9uX19jb250ZW50IHtcbiAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjNzIGVhc2U7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmFmYWZhO1xuXG4gICAgICAvLyBPcGVuIHN0YXRlIChzZXQgdmlhIEpTKVxuICAgICAgJi5pcy1vcGVuIHtcbiAgICAgICAgLy8gbWF4LWhlaWdodCBzZXQgZHluYW1pY2FsbHkgYnkgSlNcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgIH1cblxuICAgICAgLy8gSW5uZXIgcGFkZGluZyBhcHBsaWVkIHRvIGNvbnRlbnQsIG5vdCBjb250YWluZXJcbiAgICAgIC8vIFRoaXMgcHJldmVudHMgcGFkZGluZyBmcm9tIHNob3dpbmcgd2hlbiBjb2xsYXBzZWRcbiAgICAgID4gKiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTJweDtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHsgcGFkZGluZy10b3A6IDEycHg7IH1cbiAgICAgICAgJjpsYXN0LWNoaWxkIHsgcGFkZGluZy1ib3R0b206IDEycHg7IH1cbiAgICAgIH1cblxuICAgICAgLy8gQ29udGVudCBzdHlsZXNcbiAgICAgIHVsLm91dGVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyOHB4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICBjb2xvcjogIzQ0NDtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG5cbiAgICAgICAgICAmOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdWwuaW5uZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gICAgICAgIG1hcmdpbjogNHB4IDAgMDtcbiAgICAgIH1cblxuICAgICAgLnBhX2xhYmVsIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6ICM1NTU7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgfVxuXG4gICAgICAucGFfdmFsdWUge1xuICAgICAgICBjb2xvcjogIzMzMztcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICB9XG5cbiAgICAgIC5tYXJrZXRpbmctdGV4dCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2U4ZThlODtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgIGNvbG9yOiAjNTU1O1xuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgICAgICAgIGNvbG9yOiAjMzMzO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1vYmlsZS1hY2NvcmRpb25fX2RldGFpbC1yb3cge1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgfVxuXG4gICAgLm1vYmlsZS1hY2NvcmRpb25fX2RldGFpbC1sYWJlbCB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6ICM1NTU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICB9XG5cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIEZJVE1FTlQgQ0hJUFNcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIC5tb2JpbGUtZml0bWVudC1jaGlwcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZ2FwOiA1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIH1cblxuICAgIC5tb2JpbGUtZml0bWVudC1jaGlwIHtcbiAgICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTNmMmZkO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2JiZGVmYjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgICAgY29sb3I6ICMxNTY1YzA7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAubW9iaWxlLWZpdG1lbnQtY2hpcC0tbW9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZTBlMGUwO1xuICAgICAgY29sb3I6ICM2NjY7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuXG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBTQ1JPTExBQkxFIFRBQkxFIFdJVEggRkFERSBISU5UU1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgLm1vYmlsZS10YWJsZS1zY3JvbGwtd3JhcHBlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgfVxuXG4gICAgLm1vYmlsZS10YWJsZS1zY3JvbGwge1xuICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0cHg7XG5cbiAgICAgIC8vIFNjcm9sbGJhciBzdHlsaW5nXG4gICAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIGhlaWdodDogNHB4O1xuICAgICAgfVxuICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZjBmMGYwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICB9XG4gICAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNjY2M7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSaWdodCBmYWRlIGhpbnQgLSBpbmRpY2F0ZXMgbW9yZSBjb250ZW50IHRvIHNjcm9sbFxuICAgIC5tb2JpbGUtdGFibGUtc2Nyb2xsLWhpbnQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiA0cHg7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIDRweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gICAgICAgIGFuaW1hdGlvbjogZmFkZUhpbnRQdWxzZSAycyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICAgIH1cblxuICAgICAgJi0tcmlnaHQge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDI1MCwgMjUwLCAyNTAsIDApIDAlLCByZ2JhKDI1MCwgMjUwLCAyNTAsIDAuOTUpIDcwJSk7XG4gICAgICB9XG5cbiAgICAgICYtLWxlZnQge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgcmdiYSgyNTAsIDI1MCwgMjUwLCAwKSAwJSwgcmdiYSgyNTAsIDI1MCwgMjUwLCAwLjk1KSA3MCUpO1xuICAgICAgfVxuXG4gICAgICAvLyBIaWRkZW4gd2hlbiBub3QgbmVlZGVkXG4gICAgICAmLmlzLWhpZGRlbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGtleWZyYW1lcyBmYWRlSGludFB1bHNlIHtcbiAgICAgIDAlLCAxMDAlIHsgb3BhY2l0eTogMC41OyB9XG4gICAgICA1MCUgeyBvcGFjaXR5OiAxOyB9XG4gICAgfVxuXG4gICAgLy8gVGFibGUgc3R5bGVzIGluc2lkZSBzY3JvbGwgY29udGFpbmVyXG4gICAgLnN0YWNrdGFibGUge1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIG1pbi13aWR0aDogNDAwcHg7IC8vIGZvcmNlIGhvcml6b250YWwgc2Nyb2xsIG9uIG5hcnJvdyBzY3JlZW5zXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICB0aCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlOGU4ZTg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XG4gICAgICAgIHBhZGRpbmc6IDZweCAxMHB4O1xuICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZGRkO1xuICAgICAgfVxuXG4gICAgICB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTtcbiAgICAgICAgY29sb3I6ICM0NDQ7XG4gICAgICB9XG5cbiAgICAgIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wMik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZpdHMtcm93IHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgLmhlYWRlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgIGNvbG9yOiAjMzMzO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pbnRlcmNoYW5nZS1yb3cge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cblxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gU1RBUiBSQVRJTkdcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIC5zdGFyX3JhdGluZ19saXN0IHtcbiAgICAgIHBhZGRpbmc6IDhweCAxMnB4O1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmMGYwZjA7XG4gICAgfVxuXG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBQQVJUIE5VTUJFUiBTRUNUSU9OIChpZiBkaXNwbGF5ZWQgc2VwYXJhdGVseSlcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIC5wYXJ0LW51bWJlci1jb250IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBjbGVhcjogbm9uZTtcblxuICAgICAgbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6ICM4ODg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgY29sb3I6ICM0NDQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBQUEMgWUVBUiBTRUxFQ1RPUiAobW9iaWxlKVxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgLnByb2R1Y3QteWVhci1zZWxlY3RvciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IDhweDtcblxuICAgICAgbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIHNlbGVjdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU0VDVElPTiAzOiBWRVJZIFNNQUxMIFNDUkVFTlMgKDM2MHB4IGFuZCBiZWxvdylcbi8vIGlQaG9uZSBTRSwgb2xkZXIgQW5kcm9pZCBkZXZpY2VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM3NHB4KSB7XG4gIC5wcm9kdWN0LWNvbnQtLW1vYmlsZSB7XG4gICAgbWFyZ2luOiA4cHggMDtcblxuICAgIC5tb2JpbGUtaGVhZGVyIHtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgfVxuXG4gICAgLm1vYmlsZS1oZWFkZXJfX2ltYWdlIHtcbiAgICAgIGZsZXg6IDAgMCA4MHB4O1xuICAgICAgbWF4LXdpZHRoOiA4MHB4O1xuICAgIH1cblxuICAgIC50aXRsZS1jb250IGEgLnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIH1cblxuICAgIC5wcmljaW5nIC5wcmljZSB7XG4gICAgICBbcHJvcGVydHk9XCJwcmljZUN1cnJlbmN5XCJdLFxuICAgICAgW3Byb3BlcnR5PVwicHJpY2VcIl0ge1xuICAgICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTRUNUSU9OIDQ6IEFDQ0VTU0lCSUxJVFkgJiBNT1RJT05cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gUmVkdWNlIG1vdGlvbiBmb3IgdXNlcnMgd2hvIHByZWZlciBpdFxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnByb2R1Y3QtY29udC0tbW9iaWxlIHtcbiAgICAubW9iaWxlLWFjY29yZGlvbl9fY29udGVudCB7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC5tb2JpbGUtYWNjb3JkaW9uX19jaGV2cm9uIHtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgLm1vYmlsZS10YWJsZS1zY3JvbGwtaGludCBzcGFuIHtcbiAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gSGlnaCBjb250cmFzdCBtb2RlXG5AbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6IGhpZ2gpIHtcbiAgLnByb2R1Y3QtY29udC0tbW9iaWxlIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMDAwO1xuXG4gICAgLm1vYmlsZS1hY2NvcmRpb25fX2hlYWRlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzY2NjtcbiAgICB9XG5cbiAgICAubW9iaWxlLWJhZGdlIHtcbiAgICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIH1cbiAgfVxufVxuXG4vLyDilIDilIAgUHJvZHVjdC1jYXJkIHN0b3JlIHNlbGVjdG9yIChzaGFyZWQgd2l0aCB0aGUgQkVNIHZhcmlhbnRzKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIFRoZSBsZWdhY3kgY2FyZCByZW5kZXJzIHRoZSBzYW1lIHBzLXBjX19zdG9yZS0qIG1hcmt1cCAodmlhIHNoaXBwaW5nLWJhZGdlcyksXG4vLyBzbyBpdCBuZWVkcyB0aGUgc3RvcmUgc2VsZWN0b3Igc3R5bGVzLiBQdWxsIGluIHRoZSBzaGFyZWQgdG9rZW5zICsgbWl4aW5zLFxuLy8gdGhlbiB0aGUgc3RvcmUgcnVsZXMgc2NvcGVkIHVuZGVyIHRoZSBjb21wb25lbnQgcm9vdCAoU0NTUyBmYWxsYmFja3MgY292ZXIgdGhlXG4vLyB0aGVtZSBjdXN0b20tcHJvcGVydGllcywgc28gaXQgcmVuZGVycyBldmVuIHRob3VnaCBsZWdhY3kgZG9lc24ndCBlbWl0IHRoZW0pLlxuQGltcG9ydCAnLi4vX3NoYXJlZC92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vX3NoYXJlZC9taXhpbnMnO1xuLnBzLWNvbXBvbmVudC0tcHJvZHVjdC1jYXJkIHtcbiAgQGltcG9ydCAnLi4vX3NoYXJlZC9zdG9yZXMnO1xufVxuXG4vLyDilIDilIAgQ2hlY2stUHJpY2UgQ1RBICgyMDI2LTA4LTA3KSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIFRoZSBsZWdhY3kgY2FyZCBub3cgcmVuZGVycyB0aGUgc2hhcmVkIF9jaGVjay1wcmljZSBwYXJ0aWFsIHdoZW4gYSBwcm9kdWN0XG4vLyBoYXMgbm8gc2VsbGFibGUgcHJpY2UgKE1BUCkg4oCUIHBhcml0eSB3aXRoIHRoZSBtb2Rlcm4gdmFyaWFudHMuIFRob3NlIHN0eWxlc1xuLy8gbm9ybWFsbHkgc2hpcCBpbiB0aGUgbW9kZXJuIGJ1bmRsZXMnIF9wYXJ0aWFsczsgdGhpcyBpcyBhIGNvbXBhY3Qgc3RhbmRhbG9uZVxuLy8gdmVyc2lvbiBmb3IgdGhlIGxlZ2FjeSBidW5kbGUgKGJ1dHRvbiA9IHNpdGUgcHJpbWFyeSwgbGlrZSBhZGQtdG8tb3JkZXIpLlxuLnBzLWNvbXBvbmVudC0tcHJvZHVjdC1jYXJkLnBzLXZhcmlhbnQtLWxlZ2FjeSB7XG4gIC5wcy1wY19fY2hlY2stcHJpY2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDhweDtcbiAgICBtYXJnaW46IDEwcHggMDtcbiAgfVxuICAucHMtcGNfX2xvY2FsLWFyZWEge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA2cHg7XG4gICAgZm9udC1zaXplOiAxMi41cHg7XG4gICAgY29sb3I6ICM0NDQ7XG4gIH1cbiAgLnBzLXBjX19jaGVjay1wcmljZS1idG4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwYWRkaW5nOiAxMHB4IDE4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXBzLWNvbG9yLXByaW1hcnksICRjb2xvcl9wcmltYXJ5KTtcbiAgICAmOmhvdmVyIHsgb3BhY2l0eTogLjkyOyB9XG4gIH1cbiAgLnBzLXBjX19jaGVjay1wcmljZS1sYWJlbHMgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBsaW5lLWhlaWdodDogMS4yOyB9XG4gIC5wcy1wY19fY2hlY2stcHJpY2Utc3ViIHsgZm9udC1zaXplOiAxMXB4OyBmb250LXdlaWdodDogNDAwOyBvcGFjaXR5OiAuODU7IH1cbn1cblxuLy8gUHJvbW90ZWQgYXR0cmlidXRlcyBsaW5lICgyMDI2LTA4LTA3KSDigJQgbGVnYWN5IGJ1bmRsZSBjb3B5IG9mIHRoZSBtb2Rlcm5cbi8vIF9wYXJ0aWFscyBydWxlIChsZWdhY3kgcGFnZXMgZG9uJ3QgbG9hZCB0aGUgbW9kZXJuIGJ1bmRsZXMpLlxuLnBzLWNvbXBvbmVudC0tcHJvZHVjdC1jYXJkLnBzLXZhcmlhbnQtLWxlZ2FjeSAucHMtcGNfX3Byb21vdGVkLWF0dHJzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDRweCAxMnB4O1xuICBtYXJnaW46IDZweCAwO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICBjb2xvcjogIzU1NTtcblxuICAucHMtcGNfX3Byb21vdGVkLWF0dHItbGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMyMjI7XG4gIH1cbn1cblxuLy8gSGVscCBwaWxsIChjb21wcyAyMDI2LTA4LTA4KSDigJQgbGVnYWN5IGJ1bmRsZSBjb3B5IG9mIHRoZSBtb2Rlcm4gX3BhcnRpYWxzXG4vLyBydWxlIChsZWdhY3kgcGFnZXMgZG9uJ3QgbG9hZCB0aGUgbW9kZXJuIGJ1bmRsZXMpLiBPcHRpb25hbCBwZXIgYmxvY2tcbi8vIChzaG93SGVscCBzZXR0aW5nKTsgYmlsaW5ndWFsIHN1YmxpbmUgZ2F0ZWQgYnkgdGhlIGJpbGluZ3VhbCBzZXR0aW5nLlxuLnBzLWNvbXBvbmVudC0tcHJvZHVjdC1jYXJkLnBzLXZhcmlhbnQtLWxlZ2FjeSB7XG4gIC5wcy1wY19faGVscCB7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgbWFyZ2luOiA4cHggMDsgfVxuICAucHMtcGNfX2hlbHAtLWNlbnRlciB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5wcy1wY19faGVscC1idG4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDZweDsgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlcjogbm9uZTsgYmFja2dyb3VuZDogdmFyKC0tcHMtY29sb3ItcHJpbWFyeSwgJGNvbG9yX3ByaW1hcnkpOyBjb2xvcjogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDsgcGFkZGluZzogNHB4IDEwcHggNHB4IDVweDtcbiAgICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICY6aG92ZXIgeyBvcGFjaXR5OiAuOTI7IH1cbiAgfVxuICAucHMtcGNfX2hlbHAtZGlzYyB7XG4gICAgd2lkdGg6IDE1cHg7IGhlaWdodDogMTVweDsgYm9yZGVyLXJhZGl1czogNTAlOyBiYWNrZ3JvdW5kOiAjZmZmOyBmbGV4OiAwIDAgYXV0bztcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IGZvbnQtc2l6ZTogOXB4OyBjb2xvcjogdmFyKC0tcHMtY29sb3ItcHJpbWFyeSwgJGNvbG9yX3ByaW1hcnkpO1xuICB9XG4gIC5wcy1wY19faGVscC1sYWJlbHMgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgbGluZS1oZWlnaHQ6IDEuMTU7IH1cbiAgLnBzLXBjX19oZWxwLWxhYmVsIHsgZm9udC13ZWlnaHQ6IDcwMDsgZm9udC1zaXplOiAxMXB4OyB9XG4gIC5wcy1wY19faGVscC1zdWIgeyBmb250LXdlaWdodDogNTAwOyBmb250LXNpemU6IDExcHg7IG9wYWNpdHk6IDAuODU7IH1cbn1cblxuLy8g4pSA4pSAIExlZ2FjeSBidXkgY29udHJvbHM6IHF0eSBzdGVwcGVyICsgQWRkIHRvIENhcnQgYXMgT05FIGpvaW5lZCBwaWxsIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gKG93bmVyIDIwMjYtMDgtMTQpXG4vL1xuLy8gVGhlIGxlZ2FjeSBjYXJkIHdhcyBidWlsdCB3aXRoIHRoZSBxdWFudGl0eSBpbnB1dCBhbmQgdGhlIGJ1dHRvbiBhcyBhIHNpbmdsZVxuLy8gY29udHJvbDogdGhlIGlucHV0IHJvdW5kZWQgb24gdGhlIGxlZnQsIGAuYWRkLXRvLW9yZGVyYCByb3VuZGVkIG9uIHRoZSByaWdodFxuLy8gYW5kIHB1bGxlZCA2cHggbGVmdCBzbyB0aGVpciBib3JkZXJzIG1ldC4gU3dhcHBpbmcgdGhlIHBsYWluIGlucHV0IGZvciB0aGVcbi8vIHNoYXJlZCDiiJIvKyBzdGVwcGVyICgucHMtY2FydC1xdHksIHN0eWxlZCBmb3IgdGhlIENBUlQgcGFnZTogZnVsbCA0cHggcmFkaXVzLFxuLy8gaXRzIG93biBib3JkZXIsIDMwcHggYnV0dG9ucykgYnJva2UgdGhhdCBzZWFtLCBhbmQgYmVjYXVzZSB0aGUgYXZhaWxhYmlsaXR5XG4vLyBwYW5lbCwgdGhlIGRlbGl2ZXJ5IGxpbmUgYW5kIHRoZXNlIHR3byBjb250cm9scyB3ZXJlIGFsbCBsb29zZSBmbGV4IGNoaWxkcmVuXG4vLyBvZiAuYnV5LWJ1dHRvbi1tYXN0ZXItY29udCwgYSBuYXJyb3cgY2FyZCB3cmFwcGVkIHRoZSBCVVRUT04gb250byBpdHMgb3duXG4vLyBsaW5lIOKAlCBsZWF2aW5nIHRoZSBzdG9yZSBwYW5lbCBzaXR0aW5nIGJldHdlZW4gdGhlIHF0eSBib3ggYW5kIEFkZCB0byBDYXJ0LlxuLy9cbi8vIEZpeGVzIGhlcmU6IHRoZSByb3cgd3JhcHMgYnkgZGVzaWduLCBldmVyeXRoaW5nIHRoYXQgaXNuJ3QgYSBidXkgY29udHJvbFxuLy8gdGFrZXMgYSBmdWxsLXdpZHRoIGxpbmUgb2YgaXRzIG93biwgYW5kIC5wcy1sZWdhY3ktYnV5LWNvbnRyb2xzIGhvbGRzIHRoZVxuLy8gc3RlcHBlciArIGJ1dHRvbiB0b2dldGhlciAobm93cmFwKSBhcyB0aGUgam9pbmVkIDUwcHggcGlsbCBhZ2Fpbi5cbi8vXG4vLyBTY29wZWQgYnkgW2RhdGEtdmFyaWFudD0nbGVnYWN5J10gb24gdGhlIGNhcmQgUk9PVCDigJQgbmV2ZXIgdGhlXG4vLyBgcHMtY29tcG9uZW50LS1wcm9kdWN0LWNhcmQgcHMtdmFyaWFudC0tbGVnYWN5YCBjbGFzcyBwYWlyLCB3aGljaCBhbHNvXG4vLyBtYXRjaGVzIHRoZSBidWlsZGVyJ3MgYmxvY2sgd3JhcHBlciAoc2VlIHRoZSB3aWR0aDoxMDAlIHdyYXAtYmVsb3ctZmFjZXRzXG4vLyByZWdyZXNzaW9uIG5vdGUgaW4gdGhlIFRoZW1lIEJ1aWxkZXIgZG9jcykuXG4ucHMtY29tcG9uZW50LS1wcm9kdWN0LWNhcmRbZGF0YS12YXJpYW50PSdsZWdhY3knXSB7XG5cbiAgLmJ1eS1idXR0b24tbWFzdGVyLWNvbnQge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICByb3ctZ2FwOiAxMnB4O1xuXG4gICAgLy8gQXZhaWxhYmlsaXR5IGJhZGdlcyAvIHN0b3JlIHBhbmVsLCBoZWxwIHBpbGwgYW5kIHRoZSBkZWxpdmVyeSBsaW5lIGVhY2hcbiAgICAvLyBnZXQgdGhlaXIgb3duIGZ1bGwtd2lkdGggcm93IEFCT1ZFIHRoZSBjb250cm9scy5cbiAgICA+IC5wcy1wY19fYXZhaWxhYmlsaXR5LFxuICAgID4gLnBzLXBjX19oZWxwLFxuICAgID4gLnBzLXBjX19wYWNrLW5vdGUsXG4gICAgPiAuY29sLTEyIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5wcy1sZWdhY3ktYnV5LWNvbnRyb2xzIHtcbiAgICAvLyAxIDEgMTAwJSwgbm90IDAgMCAxMDAlOiB3aXRoIHNocmluayBkaXNhYmxlZCB0aGUgcm93IGNvdWxkIGdyb3cgcGFzdCBpdHNcbiAgICAvLyBvd24gcGFyZW50IHdoZW4gaXRzIGNvbnRlbnQgZ290IHdpZGVyIOKAlCB3aGljaCBpcyBleGFjdGx5IHdoYXQgaGFwcGVuZWRcbiAgICAvLyBvbmNlIEFkZC10by1DYXJ0IHNwbGl0IGludG8gW0FkZGVkXVtWaWV3IENhcnRdICgyMDI2LTA4LTE3KS5cbiAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDsgICAgICAgICAgLy8gdGhlIHF0eSBhbmQgdGhlIGJ1dHRvbiBuZXZlciBzZXBhcmF0ZVxuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIG1heC13aWR0aDogNDIwcHg7ICAgICAgICAgICAvLyBhIGZ1bGwtY2FyZC13aWR0aCBidXkgYmFyIGxvb2tzIGFic3VyZFxuICAgIC8vIFRoZSByb3cgb3ducyB0aGUgaGVpZ2h0LiBCZWxvdyAxMDMwcHggYSBkZWVwbHktbmVzdGVkIGxlZ2FjeSBydWxlXG4gICAgLy8gKOKApmJ1eS1idXR0b24tbWFzdGVyLWNvbnQgLmJ1dHRvbi1jb250YWluZXIgLmFkZC10by1vcmRlcikgZm9yY2VzXG4gICAgLy8gYGhlaWdodDphdXRvYCBhbmQgb3V0LXNwZWNpZmllcyBhbnl0aGluZyBzYW5lIHdlIGNvdWxkIHdyaXRlIGhlcmUg4oCUIHNvXG4gICAgLy8gaW5zdGVhZCBvZiBhbiBlc2NhbGF0aW5nIHNwZWNpZmljaXR5IHdhciB3ZSBsZXQgZmxleCBTVFJFVENIIHNpemUgdGhlXG4gICAgLy8gYnV0dG9uOiBhbiBhdXRvLWhlaWdodCBmbGV4IGl0ZW0gZmlsbHMgdGhlIGNyb3NzIGF4aXMsIGFuZCB0aGUgc3RlcHBlclxuICAgIC8vIGJlbG93IHBpbnMgdGhhdCBheGlzIHRvIDUwcHguXG4gICAgbWluLWhlaWdodDogNTBweDtcblxuICAgIC5xdWFudGl0eSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGNsZWFyOiBub25lO1xuICAgIH1cblxuICAgIC8vIExlZnQgaGFsZiBvZiB0aGUgcGlsbDogc3F1YXJlIG9mZiB0aGUgcmlnaHQgZWRnZSBhbmQgbGV0IHRoZSBidXR0b24nc1xuICAgIC8vIGJvcmRlciBzZXJ2ZSBhcyB0aGUgc2VhbS5cbiAgICAucHMtY2FydC1xdHkge1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4IDAgMCA0cHg7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgfVxuICAgIC5wcy1jYXJ0LXF0eV9fYnRuIHsgd2lkdGg6IDM0cHg7IH1cbiAgICAucHMtY2FydC1xdHlfX2lucHV0IHtcbiAgICAgIHdpZHRoOiA0NnB4O1xuICAgICAgaGVpZ2h0OiA1MHB4OyAgICAgICAgICAgICAvLyBiZWF0cyB0aGUgbGVnYWN5IC5xdWFudGl0eSBpbnB1dCBydWxlXG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgfVxuXG4gICAgLmJ1dHRvbi1jb250YWluZXIge1xuICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIC8vIGZsZXggY29udGFpbmVyIHNvIHRoZSBidXR0b24gc3RyZXRjaGVzIHRvIHRoZSByb3cgaGVpZ2h0IGV2ZW4gd2hlblxuICAgICAgLy8gdGhlIGxlZ2FjeSBtZWRpYS1xdWVyeSBydWxlIHNldHMgaXRzIGhlaWdodCB0byBhdXRvXG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgLy8gUmlnaHQgaGFsZiBvZiB0aGUgcGlsbC4gYGxlZnQ6IC02cHhgIHdhcyB0aGUgb2xkIG92ZXJsYXAgaGFjayBhZ2FpbnN0IGFcbiAgICAvLyBiYXJlIGlucHV0IOKAlCB3aXRoIGEgYm9yZGVyZWQgc3RlcHBlciBpdCB3b3VsZCBlYXQgdGhlIHNlYW0uXG4gICAgLmFkZC10by1vcmRlciB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDRweCA0cHggMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgZ2FwOiA4cHg7XG4gICAgICBwYWRkaW5nOiAwIDE0cHg7XG4gICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBob25lczogdGhlIG1vYmlsZSBjYXJkIGtlZXBzIGl0cyBvd24gc2VwYXJhdGVkIGxvb2sgKDhweCBnYXAsIDQwcHggdGFsbCxcbiAgLy8gZnVsbHkgcm91bmRlZCksIHNvIG9ubHkgdGhlIHN0ZXBwZXIgbmVlZHMgdG8gYmUgc2l6ZWQgdG8gbWF0Y2ggdGhlIGJ1dHRvbi5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gICAgLm1vYmlsZS1idXktc2VjdGlvbl9fYWN0aW9ucyB7XG4gICAgICAucHMtY2FydC1xdHkge1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NlZDRkYTtcbiAgICAgIH1cbiAgICAgIC5wcy1jYXJ0LXF0eV9fYnRuIHsgd2lkdGg6IDI4cHg7IGZvbnQtc2l6ZTogMTVweDsgfVxuICAgICAgLnBzLWNhcnQtcXR5X19pbnB1dCB7IHdpZHRoOiAzOHB4OyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBXaGVlbCAmIHRpcmUgc3BlYyBjYWxsb3V0ICgyMDI2LTA4LTE5KSDigJQgbGVnYWN5IGJ1bmRsZSBjb3B5IG9mIHRoZSBtb2Rlcm5cbi8vIF9wYXJ0aWFscyBydWxlcyAobGVnYWN5IHBhZ2VzIGRvbid0IGxvYWQgdGhlIG1vZGVybiBidW5kbGVzOyBoZXggZmFsbGJhY2tzXG4vLyBiZWNhdXNlIGxlZ2FjeSBkb2Vzbid0IGVtaXQgdGhlIHRva2VuIGJyaWRnZSkuIEtlZXAgaW4gc3luYyB3aXRoXG4vLyBfc2hhcmVkL19wYXJ0aWFscy5zY3NzIFwiLnBzLXBjLXd0XCIgYmxvY2suXG4ucHMtY29tcG9uZW50LS1wcm9kdWN0LWNhcmQucHMtdmFyaWFudC0tbGVnYWN5IC5wcy1wYy13dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNnB4O1xuICBtYXJnaW46IDZweCAwO1xuICBtaW4td2lkdGg6IDA7XG5cbiAgLnBzLXBjLXd0X19zZXJpZXMgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBsaW5lLWhlaWdodDogMS4yNTsgfVxuICAucHMtcGMtd3RfX3Nlcmllcy1uYW1lIHsgZm9udC13ZWlnaHQ6IDcwMDsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogIzIyMjsgfVxuICAucHMtcGMtd3RfX3Nlcmllcy1maW5pc2ggeyBmb250LXdlaWdodDogNjAwOyBmb250LXNpemU6IDEycHg7IGNvbG9yOiAjNTU1OyB9XG5cbiAgLnBzLXBjLXd0X19jaGlwcyB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtd3JhcDogd3JhcDsgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyBnYXA6IDZweDsgfVxuICAucHMtcGMtd3RfX3RhZyB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogaW5saW5lLWZsZXg7IG1hcmdpbi10b3A6IDhweDsgfVxuICAucHMtcGMtd3RfX3RhZy1oZWFkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAtOHB4OyBsZWZ0OiA1MCU7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBwYWRkaW5nOiAycHggNnB4OyBmb250LXNpemU6IDEwcHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kOiAjMmYyZjJmO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuICAucHMtcGMtd3RfX3RhZy1oZWFkZXItLW9lIHsgYmFja2dyb3VuZDogIzE5ODc1NDsgfVxuICAucHMtcGMtd3RfX3RhZy1oZWFkZXItLWNvbXBhdGlibGUgeyBiYWNrZ3JvdW5kOiAjMGQ2ZWZkOyB9XG4gIC5wcy1wYy13dF9fdGFnLWhlYWRlci0tb3B0aW9uYWwgeyBiYWNrZ3JvdW5kOiAjMmYyZjJmOyB9XG4gIC5wcy1wYy13dF9fdGFnLWhlYWRlci0tcGx1cyB7IGJhY2tncm91bmQ6ICNkYzM1NDU7IH1cbiAgLnBzLXBjLXd0X190YWctYm9keSB7XG4gICAgbWluLXdpZHRoOiA1MnB4OyBwYWRkaW5nOiA4cHggMTBweCA0cHg7IGZvbnQtc2l6ZTogMThweDsgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IGNvbG9yOiAjMjIyOyBiYWNrZ3JvdW5kOiAjZjBmMGYwO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNkZWUyZTY7IGJvcmRlci1yYWRpdXM6IDRweDtcbiAgfVxuICAucHMtcGMtd3RfX2NoaXAge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBwYWRkaW5nOiAzcHggOHB4O1xuICAgIGZvbnQtc2l6ZTogMTFweDsgZm9udC13ZWlnaHQ6IDcwMDsgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBsZXR0ZXItc3BhY2luZzogLjAyZW07IGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQ6ICMyZjJmMmY7IGJvcmRlci1yYWRpdXM6IDNweDtcbiAgfVxuICAucHMtcGMtd3RfX2NoaXAtLW9lIHsgYmFja2dyb3VuZDogIzE5ODc1NDsgfVxuICAucHMtcGMtd3RfX2NoaXAtLWNvbXBhdGlibGUgeyBiYWNrZ3JvdW5kOiAjMGQ2ZWZkOyB9XG4gIC5wcy1wYy13dF9fY2hpcC0tcGx1cyB7IGJhY2tncm91bmQ6ICNkYzM1NDU7IH1cbiAgLnBzLXBjLXd0X19jaGlwLS1wb3NpdGlvbiB7IGJhY2tncm91bmQ6ICMxOTg3NTQ7IH1cbiAgLnBzLXBjLXd0X19jaGlwLS1tb2RzIHsgYmFja2dyb3VuZDogI2RjMzU0NTsgfVxuXG4gIC5wcy1wYy13dF9fc3BlY3Mge1xuICAgIGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTsgZ2FwOiAxcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgYm9yZGVyOiAxcHggc29saWQgI2RlZTJlNjsgYm9yZGVyLXJhZGl1czogNnB4OyBiYWNrZ3JvdW5kOiAjZGVlMmU2O1xuICB9XG4gIC5wcy1wYy13dF9fc3BlYyB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IHBhZGRpbmc6IDVweCA4cHg7IGJhY2tncm91bmQ6ICNmZmY7IG1pbi13aWR0aDogMDsgfVxuICAucHMtcGMtd3RfX3NwZWMtbGFiZWwgeyBmb250LXNpemU6IDEwcHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGxldHRlci1zcGFjaW5nOiAuMDRlbTsgY29sb3I6ICM3Nzc7IH1cbiAgLnBzLXBjLXd0X19zcGVjLXZhbHVlIHsgZm9udC1zaXplOiAxM3B4OyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogIzIyMjsgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7IH1cblxuICAucHMtcGMtd3RfX21vZHMgeyBmb250LXNpemU6IDEycHg7IGxpbmUtaGVpZ2h0OiAxLjM1OyBjb2xvcjogIzU1NTsgfVxuICAucHMtcGMtd3RfX21vZHMtdGl0bGUgeyBmb250LXdlaWdodDogNzAwOyBjb2xvcjogI2RjMzU0NTsgfVxuXG4gIC5wcy1wYy13dF9fdnZzZSB7XG4gICAgd2lkdGg6IDEwMCU7IG1pbi1oZWlnaHQ6IDM2cHg7IHBhZGRpbmc6IDZweCAxMHB4OyBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbGV0dGVyLXNwYWNpbmc6IC4wM2VtO1xuICAgIGNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kOiAjMzMzOyBib3JkZXI6IDA7IGJvcmRlci1yYWRpdXM6IDRweDsgY3Vyc29yOiBwb2ludGVyO1xuICB9XG4gIC5wcy1wYy13dF9fdnZzZTpob3ZlciB7IGZpbHRlcjogYnJpZ2h0bmVzcygxLjA4KTsgfVxufVxuXG4vLyDilIDilIAgTW9iaWxlOiBjYXRhbG9nIGJsb2NrcyBtdXN0IG5vdCByZXNlcnZlIGRlYWQgZmxvdyBzcGFjZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIGAucHJvZHVjdC1saXN0LXNlbGVjdG9yIHsgbWFyZ2luLXRvcDogcmVtYygzMCkgfWAgKGxpbmUgfjgzNSBvZiB0aGlzIGZpbGUpXG4vLyB3cmFwcyBCT1RIIHRoZSBmYWNldHMgYmxvY2sgYW5kIHRoZSBwcm9kdWN0LWNhcmQgYmxvY2sgdGhhdCB0aGUgYnVpbGRlciBwdXRzXG4vLyBpbiB0aGUgcHJvZHVjdC1saXN0IHJvdy4gT24gYSBwaG9uZSB0aGUgZmFjZXRzIGJsb2NrIGlzIG5vdGhpbmcgYnV0IHRoYXRcbi8vIG1hcmdpbiDigJQgaXRzIGAuZmFjZXRzLWNvbnRgIGlzIGEgaGlkZGVuIGZpeGVkIGRyYXdlciDigJQgc28gdGhlIHBhaXIgcHJvZHVjZWRcbi8vIHR3byAzMHB4IGJsYW5rIGJhbmRzIGJldHdlZW4gdGhlIHByb2R1Y3QgdG9vbGJhciBhbmQgdGhlIGZpcnN0IHByb2R1Y3QgY2FyZFxuLy8gKFwiYSBsb3Qgb2Ygd2hpdGUgc3BhY2UsIHdheSB0b28gbXVjaFwiIOKAlCBvd25lciwgMjAyNi0wOS0wMykuXG4vL1xuLy8gNzc2cHgsIG5vdCB0aGUgYGxnYCBkcmF3ZXIgYnJlYWtwb2ludCwgb24gcHVycG9zZTogdGhpcyBpcyB0aGUgd2lkdGggYXQgd2hpY2hcbi8vIGBwcm9kdWN0LXRvb2xiYXIvZGVmYXVsdC9pbmRleC5zY3NzYCBzd2l0Y2hlcyB0aGUgdG9vbGJhciB0byBpdHMgc3RhY2tlZFxuLy8gbW9iaWxlIGxheW91dCwgYW5kIHRoZSB0d28gaGF2ZSB0byB0aWdodGVuIHRvZ2V0aGVyLlxuLy9cbi8vIOKaoCBNaXJyb3JlZCBpbiByZXNvdXJjZXMvY29tcG9uZW50cy9wcm9kdWN0LWZhY2V0cy9zaWRlYmFyL2luZGV4LnNjc3MgKHNhbWVcbi8vIG92ZXJyaWRlLCBzYW1lIGNvbW1lbnQpLiBCb3RoIGJ1bmRsZXMgZGVmaW5lIHRoZSBiYXNlIHJ1bGUgYW5kIHRoZWlyIHJlbGF0aXZlXG4vLyA8bGluaz4gb3JkZXIgdmFyaWVzIHBlciBwYWdlLCBzbyB0aGUgb3ZlcnJpZGUgaGFzIHRvIGJlIGluIGJvdGggdG8gd2luLlxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzc2cHgpIHtcbiAgLnByb2R1Y3QtbGlzdC1zZWxlY3RvciB7IG1hcmdpbi10b3A6IDA7IH1cbn1cblxuLy8g4pSA4pSAIFVuaXZlcnNhbCBGaXRtZW50IEJhZGdpbmcgKDIwMjYtMDktMjgpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gTGVnYWN5IGhhcyBubyBmaXRtZW50IHNsb3Q6IGl0IGRyYXdzIG9ubHkgdGhlIFRpZXIgMSBVTklWRVJTQUwgdGFnIChQYXJ0ICMgL1xuLy8gTWFudWZhY3R1cmVyICMgbGluZSwgbW9iaWxlIGtleS1pbmZvKSBwbHVzIHRoZSBzaGFyZWQgZXhwbGFpbmVyIHNoZWV0LiBTYW1lXG4vLyBmaWxlIHRoZSBidWlsZGVyIHZhcmlhbnRzIGltcG9ydDsgdGhlIHRhZyBydWxlcyBhcmUgdG9wLWxldmVsIHdpdGggc2xhdGVcbi8vIGZhbGxiYWNrcyBiZWNhdXNlIGxlZ2FjeSBkb2VzIG5vdCBlbWl0IHRoZSBjYXJkIHJvb3QgdG9rZW5zLlxuQGltcG9ydCAnLi4vX3NoYXJlZC91bml2ZXJzYWwnO1xuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUFJPRFVDVFMtUEFHRSBDSFJPTUUg4oCUIHNoYXJlZCBwYXJ0aWFsIChzaW5nbGUgc291cmNlIG9mIHRydXRoKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVGhlIGAuYm9keS13cmFwLnByb2R1Y3RzYCBQQUdFIGNocm9tZSBmb3IgY2F0YWxvZyBsaXN0aW5nIHBhZ2VzOiB0aGVcbi8vIGZpeGVkLWhlYWRlciBjbGVhcmFuY2UgcGFkZGluZyAod2l0aCB0aGUgOmhhcygubmF2LWJhbm5lcikgYmFubmVybGVzc1xuLy8gYnJhbmNoKSwgdGhlIC5jb250YWluZXItZmx1aWQgYmFuZCBiYWNrZ3JvdW5kL3BhZGRpbmcsIGFuZCB0aGUgLXZhci0xIC9cbi8vIC1jaGVja291dCBtb2RpZmllcnMuXG4vL1xuLy8gSElTVE9SWSAvIFdIWSBUSElTIEZJTEUgRVhJU1RTICgyMDI2LTA4LTI4KTogdGhlc2UgcnVsZXMgdXNlZCB0byBsaXZlIG9ubHlcbi8vIGluc2lkZSBwcm9kdWN0LWNhcmQvbGVnYWN5L2luZGV4LnNjc3MuIFRoZSBwcm9kdWN0cyBwYWdlIG5ldmVyIGxvYWRzIHRoZVxuLy8gbGVnYWN5IGNhcmQgYnVuZGxlIGl0c2VsZiDigJQgdGhlIHJ1bGVzIHJlYWNoZWQgdGhlIHBhZ2UgT05MWSBiZWNhdXNlIHRoZVxuLy8gc2l0ZS1zZWFyY2ggREVGQVVMVCAoZnVsbHNjcmVlbikgdmFyaWFudCBlbWJlZHMgbGVnYWN5IHByb2R1Y3QgY2FyZHMgYW5kIHNvXG4vLyBlbWl0cyB0aGF0IGJ1bmRsZSBvbiBldmVyeSBwYWdlLiBTd2l0Y2hpbmcgYSBzaXRlJ3MgaGVhZGVyIHNlYXJjaCB0byB0aGVcbi8vIGBjb21wYWN0YCB2YXJpYW50IHNpbGVudGx5IGRyb3BwZWQgdGhlIGJ1bmRsZSDihpIgdGhlIHByb2R1Y3RzIHBhZ2UgbG9zdCBpdHNcbi8vIGNsZWFyYW5jZSwgc3RhcnRlZCBVTkRFUiB0aGUgZml4ZWQgaGVhZGVyLCBhbmQgdGhlIGNhdGVnb3J5LXN3aXRjaGVyXG4vLyBtZWFzdXJlZCBhcyBpbnN0YW50bHkgYC5pcy1zdHVja2AgKGNvbGxhcHNlZCByYWlsLCBubyBicmVhZGNydW1icywgbm9cbi8vIFwiQ2hhbmdlIENhdGVnb3J5IEJlbG93XCIpLiBQYWdlIGNocm9tZSBtdXN0IG5ldmVyIGRlcGVuZCBvbiB3aGljaCBTRUFSQ0hcbi8vIHZhcmlhbnQgdGhlIGhlYWRlciBoYXBwZW5zIHRvIGVtYmVkLlxuLy9cbi8vIENPTlNVTUVSUyAoYm90aCBpbXBvcnQgdGhpcyBmaWxlOyBpZGVudGljYWwgZHVwbGljYXRlIHJ1bGVzIGFyZSBoYXJtbGVzcyk6XG4vLyAgIDEuIGNhdGFsb2ctY2hyb21lL2RlZmF1bHQg4oCUIHRoZSBjYW5vbmljYWwgY2FycmllcjogbG9hZGVkIGJ5IGV2ZXJ5XG4vLyAgICAgIGNhdGFsb2cgbGlzdGluZyBwYWdlIHJlZ2FyZGxlc3Mgb2YgaGVhZGVyL3NlYXJjaCB2YXJpYW50cy5cbi8vICAgMi4gcHJvZHVjdC1jYXJkL2xlZ2FjeSDigJQga2VwdCBmb3IgY29tcGF0aWJpbGl0eTogbm9uLWNhdGFsb2cgc3VyZmFjZXNcbi8vICAgICAgKGUuZy4gY2hlY2tvdXQncyAucHJvZHVjdHMuLWNoZWNrb3V0LCAuY29udGFjdCkgdGhhdCBsb2FkIHRoZSBsZWdhY3lcbi8vICAgICAgY2FyZCBidW5kbGUgd2l0aG91dCBjYXRhbG9nLWNocm9tZSBrZWVwIHRoZWlyIGNocm9tZS5cbi8vXG4vLyBEZXBzOiAkY29sb3Jfc2Vjb25kYXJ5LyRjb2xvcl9uZXV0cmFsLyRjb2xvcl9zZWNvbmRhcnlfZGFya2VyICsgcmVtYygpICtcbi8vIG1lZGlhLWJyZWFrcG9pbnQtZG93bigpIOKAlCB0aGUgaW1wb3J0aW5nIHBhcmVudCBtdXN0IEBpbXBvcnRcbi8vICdjb21wb25lbnRzL19jYXRhbG9nL2dsb2JhbHMnIGZpcnN0IChib3RoIGNvbnN1bWVycyBhbHJlYWR5IGRvKS5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnByb2R1Y3RzIHtcbiAgY29sb3I6ICRjb2xvcl9zZWNvbmRhcnk7XG4gIC8vIEZpeGVkLWhlYWRlciBvZmZzZXQ6IDEwMHB4ID0gfjY5cHggbmF2YmFyICsgfjMxcHggYW5ub3VuY2VtZW50IGJhci5cbiAgLy8gU2luY2UgMjAyNi0wOC0xMyB0aGUgYW5ub3VuY2VtZW50IGJhciBvbmx5IHJlbmRlcnMgd2hlbiB0aGUgc2l0ZS1oZWFkZXJcbiAgLy8gYmxvY2sgY2FycmllcyBhbm5vdW5jZW1lbnQgVEVYVCAodGhlIGhhcmRjb2RlZCBkZWZhdWx0IHdhcyByZW1vdmVkKSwgc29cbiAgLy8gYSBiYW5uZXJsZXNzIGhlYWRlciBpcyB+MzFweCBzaG9ydGVyIOKAlCB3aXRob3V0IHRoaXMgOmhhcygpIGJyYW5jaCBldmVyeVxuICAvLyBiYW5uZXJsZXNzIHNpdGUgc2hvd2VkIGEgd2hpdGUgZ2FwIHVuZGVyIHRoZSBmaXhlZCBoZWFkZXIgKGZpcnN0IHNlZW4gb25cbiAgLy8gTkdLIHByb2R1Y3QgbGlzdHMpLlxuICBwYWRkaW5nLXRvcDogcmVtYygxMDBweCk7XG5cbiAgYm9keTpub3QoOmhhcygubmF2LWJhbm5lcikpICYge1xuICAgIHBhZGRpbmctdG9wOiByZW1jKDY5cHgpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgcGFkZGluZy10b3A6IHJlbWMoMjVweCk7XG5cbiAgICBib2R5Om5vdCg6aGFzKC5uYXYtYmFubmVyKSkgJiB7XG4gICAgICBwYWRkaW5nLXRvcDogcmVtYygyNXB4KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICBwYWRkaW5nLXRvcDogcmVtYyg1MHB4KTtcbiAgfVxuXG5cbiAgJi4tY2hlY2tvdXQge1xuICAgIHBhZGRpbmctdG9wOiAwcmVtO1xuICAgIC8vIG9uIGNoZWNrb3V0XG4gICAgJi4tdmFyLTEge1xuICAgICAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAjY29udGVudCB7XG4gICAgICBwYWRkaW5nLXRvcDowO1xuICAgIH1cbiAgfVxuXG4gIC5jb250YWN0ICYge1xuICAgICY6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbmV1dHJhbDtcblxuICAgIHBhZGRpbmctdG9wOiByZW1jKDI1MHB4KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtYyg0MHB4KTtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG5cbiAgICAvL3BhZGRpbmc6IHJlbWMoMjUwcHgsIDAsIDQwcHgsIDApO1xuICAgIC8vYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvYmFja2dyb3VuZHMvc2VwYXJhdG9yLXRyYWNrcy10b3AucG5nJykgY2VudGVyIC0ycHggJGNvbG9yX25ldXRyYWw7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yX25ldXRyYWw7XG4gICAgYmFja2dyb3VuZC1zaXplOiBhdXRvO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuY29udGFpbmVyLXNwYWNlciB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbWMoMjVweCk7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAucHJvZHVjdC1saXN0LXNlbGVjdG9yIC5wcm9kdWN0LWNvbnQgYSAudGl0bGUge1xuICAgIGNvbG9yOiAkY29sb3Jfc2Vjb25kYXJ5X2RhcmtlcjtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gIH1cblxuICAjaGVhZGVyICNuYXYtZGVza3RvcCAjbmF2YmFyTmF2IC5uYXZiYXItbmF2IC5uYXYtaXRlbSAubmF2LWxpbmsge1xuICAgIGZvbnQtZmFtaWx5OiAnQmxhY2sgT3BzIE9uZScsIGN1cnNpdmU7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICB9XG5cbiAgJi4tdmFyLTEge1xuICAgIC5jb250YWluZXItZmx1aWQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgIHBhZGRpbmctdG9wOiA2N3B4O1xuICAgIH1cbiAgfVxufVxuXG4vLyDilIDilIAgUGhvbmVzL3RhYmxldHM6IG9uZSBtZWFzdXJlZCBjbGVhcmFuY2UsIG5vIGRlYWQgYmFuZCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIE93bmVyIHJlcG9ydCAyMDI2LTA5LTAzOiBcInRpZ2h0ZW4gdXAgc3BhY2luZywgZXNwZWNpYWxseSBvbiB0aGUgbW9iaWxlIHZpZXdcbi8vIG9mIHByb2R1Y3QgbGlzdCBwYWdlIGFuZCBwcm9kdWN0IGRldGFpbCBwYWdlLCB3aXRoIHRoZSBicmVhZGNydW1icyBhbmQgdGhlXG4vLyByZXN0IG9mIHRoZSBzaXRlLlwiXG4vL1xuLy8gV0hBVCBXQVMgVEhFUkUuIFRoZSBmaXJzdCBidWlsZGVyIHNlY3Rpb24gb24gYSBjYXRhbG9nIHBhZ2Ugc2F0IHRoaXMgZmFyXG4vLyBiZWxvdyB0aGUgZml4ZWQgaGVhZGVyLCBhbGwgb2YgaXQgZnJvbSBjb25zdGFudHMgdGhhdCBzdGFjazpcbi8vXG4vLyAgICAgLnByb2R1Y3RzICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wICAgNTBweCAgIOKGkCBmaXhlZC1oZWFkZXIgY2xlYXJhbmNlXG4vLyAgICAgLnByb2R1Y3RzLi12YXItMVxuLy8gICAgICAgLmNvbnRhaW5lci1mbHVpZCAgICAgICBwYWRkaW5nLXRvcCAgIDY3cHggICDihpAgbW9yZSBvZiB0aGUgc2FtZVxuLy8gICAgICNjb250ZW50ICAgICAgICAgICAgICAgICBwYWRkaW5nICAgICAgNDNweCAxMHB4ICAobGF5b3V0LnNjc3MsIGdsb2JhbClcbi8vICAgICAucHMtc2VjdGlvbi0tc3BhY2UtdG9wLW1kIG1hcmdpbi10b3AgICAyMHB4ICAg4oaQIG1lcmNoYW50J3Mgb3duIHNldHRpbmdcbi8vXG4vLyA9IDE4MHB4IG9uIG5ld3BhcnRzb250aGVnbywgYWdhaW5zdCBhIGhlYWRlciB0aGF0IGlzIG9ubHkgMTIycHggdGFsbCBhdFxuLy8gMzkwcHggd2lkZSDigJQgYSA1OHB4IGJhbmQgb2Ygbm90aGluZy4gQW5kIHRoZSBzcGxpdCBpcyBub3QgbWVyZWx5IHVnbHk6IHRoZVxuLy8gNTArNjcgPSAxMTdweCBvZiBcImNsZWFyYW5jZVwiIGlzIExFU1MgdGhhbiB0aGUgaGVhZGVyIGF0IDc2OHB4ICgxMzdweCksIHNvXG4vLyB0aGUgcGFnZSBhY3R1YWxseSBiZWdhbiBiZWhpbmQgdGhlIGhlYWRlciBhbmQgb25seSB0aGUgNDNweCBvZiAjY29udGVudFxuLy8gcGFkZGluZyBoaWQgaXQuXG4vL1xuLy8gV0hBVCBJVCBJUyBOT1cuIE9uZSBjbGVhcmFuY2UsIG1lYXN1cmVkIGZyb20gdGhlIHJlYWwgaGVhZGVyIGJ5XG4vLyBzY3JpcHRzL29sZC1jb21wb25lbnRzL2hlYWRlci5qcyAoLS1wcy1oZHItYm90dG9tKSwgYW5kIG5vdGhpbmcgZWxzZSBhYm92ZVxuLy8gdGhlIGZpcnN0IHNlY3Rpb24gZXhjZXB0IHRoZSBtZXJjaGFudCdzIG93biBzZWN0aW9uIHNwYWNpbmcuIFJlc3VsdCBvbiBkZXY6XG4vL1xuLy8gICAgIG5ld3BhcnRzb250aGVnbyAgMzkwcHggIDE4MHB4IOKGkiAxNDJweCAgICAgIDc2OHB4ICAxODBweCDihpIgMTU3cHggKHdhc1xuLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIzcHggQkVISU5EIHRoZSBoZWFkZXIpXG4vLyAgICAgbmdrc3BhcmtwbHVncyAgICAzOTBweCAgMTU1cHgg4oaSIDEyNHB4XG4vL1xuLy8gVGhlIDExN3B4IGZhbGxiYWNrIGluIHRoZSBjYWxjKCkgaXMgdGhlIE9MRCB0b3RhbCwgc28gYSBwYWdlIHRoYXQgbmV2ZXIgcnVuc1xuLy8gdGhlIEpTIHJlbmRlcnMgZXhhY3RseSBhcyBpdCBkaWQgYmVmb3JlIHRoaXMgY2hhbmdlIOKAlCBpbmNsdWRpbmcgaXRzIGJ1Z3MuXG4vLyBEZWxpYmVyYXRlbHkgbW9iaWxlLW9ubHk6IGBlc3BlY2lhbGx5IG9uIHRoZSBtb2JpbGUgdmlld2Agd2FzIHRoZSBhc2ssIGFuZFxuLy8gZGVza3RvcCdzIGxhcmdlciBjYW52YXMgY2FycmllcyB0aGUgZXh0cmEgYWlyIGZpbmUuXG4vL1xuLy8gU2NvcGVkIHRvIGAucHJvZHVjdHNgIChjYXRhbG9nIGxpc3RpbmcgKyBkZXRhaWwgcGFnZXMpIG9uIHB1cnBvc2UuICNjb250ZW50J3Ncbi8vIDQzcHggaXMgZ2xvYmFsIGNocm9tZSB0aGF0IGV2ZXJ5IG90aGVyIHBhZ2Ugc3RpbGwgd2FudHM7IHRoaXMgb25seSB0YWtlcyBpdFxuLy8gb2ZmIHRoZSBwYWdlcyB0aGUgcmVwb3J0IHdhcyBhYm91dC5cbi8vIOKaoCBUaGUgYmFubmVybGVzcyBicmFuY2ggaGFzIHRvIGJlIHJlc3RhdGVkLCBub3QgbWVyZWx5IG92ZXJyaWRkZW4uIFRoZSBibG9ja1xuLy8gYWJvdmUgc2V0cyB0aGUgcGhvbmUgY2xlYXJhbmNlIHR3aWNlIOKAlCBvbmNlIHBsYWlubHkgYW5kIG9uY2UgdW5kZXJcbi8vIGBib2R5Om5vdCg6aGFzKC5uYXYtYmFubmVyKSkgJmAsIHdoaWNoIGlzICgwLDIsMSk6IE1PUkUgc3BlY2lmaWMgdGhhbiBhIGJhcmVcbi8vIGAucHJvZHVjdHMuLXZhci0xYCAoMCwyLDApLiBBIG1lZGlhIHF1ZXJ5IGFkZHMgbm90aGluZy4gU28gb24gYSBzaXRlIHdpdGggbm9cbi8vIGFubm91bmNlbWVudCBiYXIgKGV2ZXJ5IEFQWCB0ZW5hbnQpIHRoZSBwbGFpbiBvdmVycmlkZSBzaWxlbnRseSBsb3N0IGFuZCB0aGVcbi8vIHBhZ2Uga2VwdCBpdHMgMjVweCDigJQgbWVhc3VyZWQgb24gdGhlIG5na3NwYXJrcGx1Z3MgdGVuYW50LCAyMDI2LTA5LTAzLCB3aGVyZVxuLy8gdGhpcyBydWxlIGFwcGVhcmVkIHRvIGRvIG5vdGhpbmcgYXQgYWxsLiBCb3RoIHNlbGVjdG9ycywgb3IgbmVpdGhlci5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAucHJvZHVjdHMuLXZhci0xLFxuICBib2R5Om5vdCg6aGFzKC5uYXYtYmFubmVyKSkgLnByb2R1Y3RzLi12YXItMSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG5cbiAgICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1wcy1oZHItYm90dG9tLCAxMTdweCk7XG4gICAgfVxuXG4gICAgI2NvbnRlbnQge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuXG4gICAgLy8gVGhlIGNoZWNrb3V0IGNocm9tZSByZXVzZXMgYC5wcm9kdWN0c2AgYW5kIHplcm9lcyBpdHMgb3duIGNsZWFyYW5jZVxuICAgIC8vIChgLi1jaGVja291dGAgYWJvdmUpOyBpdCBtdXN0IG5vdCBwaWNrIHVwIHRoZSBoZWFkZXIgb2Zmc2V0IGhlcmUuXG4gICAgJi4tY2hlY2tvdXQgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICB9XG4gIH1cbn1cblxuXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVGhlbWUgcGFsZXR0ZSDigJQgVE9LRU4tQkFDS0VEIChSb3VuZCAxNCwgQ09MT1JTX1RPS0VOU19SRUNPTkNJTElBVElPTi5tZCkuXG4vL1xuLy8gRXZlcnkgJGNvbG9yXyogdmFyIHJlc29sdmVzIHRvIGEgVGhlbWUgQnVpbGRlciBnbG9iYWwgZGVzaWduIHRva2VuXG4vLyAodmFyKC0tcHMtY29sb3ItKiwgPGJyYW5kIGhleCBmYWxsYmFjaz4pKS4gUmVuZGVyaW5nIGlzIElERU5USUNBTCB0byB0aGUgb2xkXG4vLyBzdGF0aWMgcGFsZXR0ZSB1bnRpbCB0aGUgYmFja2VuZCB0aGVtZSBlZGl0b3IgcHVibGlzaGVzIGEgdG9rZW4gdmFsdWUg4oCUIHRoZW5cbi8vIHRoYXQgdmFsdWUgd2lucyBhY3Jvc3MgdGhlIGVudGlyZSBjb21waWxlZCBzdHlsZXNoZWV0IChnbG9iYWwgc2hlZXQgQU5EIGV2ZXJ5XG4vLyBjb21wb25lbnQgYnVuZGxlLCBzaW5jZSB0aGV5IGFsbCBpbXBvcnQgdGhpcyBmaWxlIHZpYSBfY2F0YWxvZy9nbG9iYWxzKS5cbi8vXG4vLyBSVUxFUzpcbi8vICAtIFNhc3MgY29sb3IgZnVuY3Rpb25zIChsaWdodGVuL2Rhcmtlbi9yZ2JhL21peCkgQ0FOTk9UIG9wZXJhdGUgb24gdmFyKCkuXG4vLyAgICBVc2UgdGhlICpfaGV4IGxpdGVyYWxzIGZvciB0aG9zZSDigJQgQm9vdHN0cmFwJ3MgJHRoZW1lLWNvbG9ycyBtYXRoIGRvZXNcbi8vICAgIChvdmVycmlkZXMvX3ZhcmlhYmxlcy5zY3NzKSwgYW5kIHNvIGRvZXMgdGhlIHNpdGUtc2VhcmNoIG1vZGFsIGdyYWRpZW50LlxuLy8gIC0gRGVyaXZlZCBzaGFkZXMgYXJlIE5PVCBjb21wdXRlZCBmcm9tIHRoZSBiYXNlOiBlYWNoIGlzIGl0cyBvd24gdG9rZW4gd2l0aFxuLy8gICAgaXRzIG93biBmYWxsYmFjayAodGhlIGxlZ2FjeSB2YWx1ZXMgd2VyZSBuZXZlciBhbGdvcml0aG1pYyB0aW50cykuXG4vLyAgLSBUaGUgSklTLWZvc3NpbCB2YXJzICgkY29sb3JfamlzKikgYW5kIHRoZSAkY29sb3JfcHJpbWFyeV9saWdodGVzdCBhbGlhc1xuLy8gICAgd2VyZSByZXRpcmVkIGhlcmUgKHplcm8gY2FsbGVycyBhZnRlciB0aGUgUm91bmQgMTMgc3dlZXApLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8g4pSA4pSAIFJhdyBicmFuZCBsaXRlcmFscyDigJQgT05MWSBmb3IgU2FzcyBjb2xvciBtYXRoIChCb290c3RyYXAgdGhlbWUgY29sb3JzLFxuLy8gICAgbGlnaHRlbigpL3JnYmEoKSBjYWxsIHNpdGVzKS4gRXZlcnl0aGluZyBlbHNlIHVzZXMgdGhlIHRva2VuLWJhY2tlZCB2YXJzLlxuJGNvbG9yX3ByaW1hcnlfaGV4OiAgICMwMDE4Nzc7XG4kY29sb3Jfc2Vjb25kYXJ5X2hleDogIzA5MDkxNztcblxuLy8g4pSA4pSAIFByaW1hcnkgKGJyYW5kKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiRjb2xvcl9wcmltYXJ5OiAgICAgICAgIHZhcigtLXBzLWNvbG9yLXByaW1hcnksICN7JGNvbG9yX3ByaW1hcnlfaGV4fSk7XG4kY29sb3JfcHJpbWFyeV9saWdodDogICB2YXIoLS1wcy1jb2xvci1wcmltYXJ5LWxpZ2h0LCAjZjk5ZDFhKTsgICAvLyBvcmFuZ2UgYWNjZW50IChub3QgYSB0aW50KVxuJGNvbG9yX3ByaW1hcnlfZGFyazogICAgdmFyKC0tcHMtY29sb3ItcHJpbWFyeS1kYXJrLCAjNGI4NGMwKTsgICAgLy8gbGlnaHRlciBibHVlIChsZWdhY3kgbmFtaW5nKVxuJGNvbG9yX3ByaW1hcnlfZGFya2VyOiAgdmFyKC0tcHMtY29sb3ItcHJpbWFyeS1ob3ZlciwgI3skY29sb3JfcHJpbWFyeV9oZXh9KTsgLy8gbGVnYWN5IHNlbGYtYWxpYXMg4oaSIGhvdmVyIHRva2VuXG5cbi8vIOKUgOKUgCBTZWNvbmRhcnkgKGRhcmsgYmFuZHMgLyBiYWNrZ3JvdW5kcykg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4kY29sb3Jfc2Vjb25kYXJ5OiAgICAgICAgIHZhcigtLXBzLWNvbG9yLXNlY29uZGFyeSwgI3skY29sb3Jfc2Vjb25kYXJ5X2hleH0pO1xuJGNvbG9yX3NlY29uZGFyeV9kYXJrZXI6ICB2YXIoLS1wcy1jb2xvci1zZWNvbmRhcnktZGFya2VyLCAjMDAwMDAwKTtcbiRjb2xvcl9zZWNvbmRhcnlfZGFyazogICAgdmFyKC0tcHMtY29sb3Itc2Vjb25kYXJ5LWRhcmssICMxNDE2MTgpO1xuJGNvbG9yX3NlY29uZGFyeV9saWdodDogICB2YXIoLS1wcy1jb2xvci10ZXh0LTIsICM1NzU3NTcpO1xuJGNvbG9yX3NlY29uZGFyeV9saWdodGVyOiB2YXIoLS1wcy1jb2xvci10ZXh0LTMsICM3YzdjN2MpO1xuXG4vLyDilIDilIAgTmV1dHJhbHMgLyBzdXJmYWNlcyAvIGJvcmRlcnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4kY29sb3JfbmV1dHJhbDogICB2YXIoLS1wcy1jb2xvci1uZXV0cmFsLCAjZmZmZmZmKTtcbiRjb2xvcl9uZXV0cmFsXzE6IHZhcigtLXBzLWNvbG9yLXN1cmZhY2UtYWx0LCAjZjBmMGYwKTtcbiRjb2xvcl9uZXV0cmFsXzI6IHZhcigtLXBzLWNvbG9yLWJvcmRlci0yLCAjYTdhN2E3KTtcbiRjb2xvcl9uZXV0cmFsXzM6IHZhcigtLXBzLWNvbG9yLWJvcmRlciwgI2RiZGJkYik7XG4kY29sb3ItbmV1dHJhbF80OiB2YXIoLS1wcy1jb2xvci1zdXJmYWNlLWFsdCwgI2VmZWZlZik7XG5cbi8vIOKUgOKUgCBTZW1hbnRpYyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiRjb2xvcl9yZWQ6ICAgICAgICB2YXIoLS1wcy1jb2xvci1kYW5nZXIsICNmZjFlMDApO1xuJGNvbG9yX3RleHRfbGlnaHQ6IHZhcigtLXBzLWNvbG9yLXRleHQtaW52ZXJzZSwgI2ZmZmZmZik7XG5cbi8vIFByZWNvbXB1dGVkIHRyYW5zbHVjZW50IG92ZXJsYXkg4oCUIGEgZmlyc3QtY2xhc3MgdG9rZW4gKFNhc3MgY2FuJ3QgcmdiYSgpIGFcbi8vIHZhcigpOyB0aGUgbGVnYWN5IHZhbHVlIHdhcyByZ2JhKCRjb2xvcl9zZWNvbmRhcnlfZGFya2VyLCAuOCkgPSByZ2JhIGJsYWNrKS5cbiRvdmVybGF5LWRhcms6IHZhcigtLXBzLWNvbG9yLW92ZXJsYXktZGFyaywgcmdiYSgwLCAwLCAwLCAwLjgpKTtcbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENBVEFMT0cg4oCUIGdsb2JhbHMgYnJpZGdlIGZvciByZWxvY2F0ZWQgbGVnYWN5IHN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVGhlIHJlbG9jYXRlZCBsZWdhY3kgc3R5bGVzIChwcm9kdWN0LXRvb2xiYXIsIGxlZ2FjeSBwcm9kdWN0IGNhcmQsIGFuZCBsYXRlclxuLy8gZmFjZXRzL2RldGFpbCkgcmVmZXJlbmNlIHlvdXIgZnJhbWV3b3JrJ3MgdGhlbWUgQ09MT1IgdmFyaWFibGVzIHBsdXMgYSBmZXdcbi8vIHV0aWxpdGllcyAocmVtYygpLCBtZWRpYS1icmVha3BvaW50LWRvd24vdXAsICVjaGV2cm9uIHBsYWNlaG9sZGVycykuIEJlY2F1c2Vcbi8vIGVhY2ggY29tcG9uZW50IGNvbXBpbGVzIGFzIGl0cyBvd24gV2VicGFjayBidW5kbGUsIGVhY2ggbXVzdCBzZWUgdGhlc2UuXG4vL1xuLy8gVGhlc2UgZGVmaW5pdGlvbnMgYXJlIHNlbGYtY29udGFpbmVkIHNvIHRoZSBjb21wb25lbnRzIGNvbXBpbGUgb24gdGhlaXIgb3duLlxuLy8gVGhleSBsaXZlIE9OTFkgaW5zaWRlIHRoZXNlIGNvbXBvbmVudCBidW5kbGVzIGFuZCBkbyBub3QgYWZmZWN0IHlvdXIgZ2xvYmFsXG4vLyBidWlsZCAoc2VwYXJhdGUgY29tcGlsYXRpb24gdW5pdHMpLiBJZiB5b3UnZCByYXRoZXIgdXNlIHlvdXIgZnJhbWV3b3JrJ3Ncbi8vIHZlcnNpb25zLCBpbXBvcnQgdGhlbSBoZXJlIOKAlCB5b3VyIHZhbHVlcyB0aGVuIHRha2UgcHJlY2VkZW5jZSBmb3IgdGhlIGNvbG9yc1xuLy8gKHdoaWNoIHVzZSAhZGVmYXVsdCksIGFuZCB5b3UgY2FuIGRlbGV0ZSB0aGUgbWF0Y2hpbmcgdXRpbGl0eSBkZWZpbml0aW9ucy5cbi8vXG4vLyAgID4+PiBPUFRJT05BTDogQGltcG9ydCAnLi4vLi4vc3R5bGVzL3ZhcmlhYmxlcyc7ICAgLy8geW91ciByZWFsIHRoZW1lIHZhcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGltcG9ydCBcInN0eWxlcy92YXJpYW50cy9jb2xvcnNcIjtcblxuLy8g4pSA4pSAIFRoZW1lIGNvbG9yczogc2luZ2xlIHNvdXJjZSBvZiB0cnV0aCBpcyBzdHlsZXMvdmFyaWFudHMvX2NvbG9ycy5zY3NzXG4vLyAgICAoaW1wb3J0ZWQgYWJvdmU7IHRva2VuLWJhY2tlZCBzaW5jZSBSb3VuZCAxNCDigJQgZXZlcnkgJGNvbG9yXyogcmVzb2x2ZXMgdG9cbi8vICAgIHZhcigtLXBzLWNvbG9yLSosIDxicmFuZCBoZXg+KSkuIFRoZSBvbGQgZHVwbGljYXRlICMzMDVDREUgcGFsZXR0ZSB0aGF0XG4vLyAgICBsaXZlZCBoZXJlIHdhcyBkZWFkIHdlaWdodCAodGhlIGltcG9ydCdzIG5vbi0hZGVmYXVsdCBkZWZpbml0aW9ucyBhbHdheXNcbi8vICAgIHdvbikgYW5kIHdhcyByZW1vdmVkIHBlciBDT0xPUlNfVE9LRU5TX1JFQ09OQ0lMSUFUSU9OLm1kIFBoYXNlIDIuXG4vLyAgICBPbmx5IHRoZSB2YXJzIHZhcmlhbnRzL2NvbG9ycyBkb2VzIE5PVCBkZWZpbmUgcmVtYWluLCB0b2tlbi1tYXBwZWQgb250b1xuLy8gICAgdGhlIHByaW1hcnkgYWNjZW50IHBlciB0aGUgcmVjb25jaWxpYXRpb24gdGFibGU6XG4kaGVhZGVyLW1haW4tdGV4dC1jb2xvcjogIHZhcigtLXBzLWNvbG9yLXByaW1hcnksICMzMDVDREUpICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAxMDUwICFkZWZhdWx0O1xuJGhlYWRlci1iYXNlLWNvbG9yOiAgICAgICB2YXIoLS1wcy1jb2xvci1wcmltYXJ5LCAjMzA1Q0RFKSAhZGVmYXVsdDsgICAvLyBjaGVja2VkLWNoZWNrYm94IGZpbGwgKGJyYW5kKVxuJGJ1dHRvbi1kZWZhdWx0LWNvbG9yOiAgICB2YXIoLS1wcy1jb2xvci1wcmltYXJ5LCAjMzA1Q0RFKSAhZGVmYXVsdDsgICAvLyBkZWZhdWx0IGNvbnRyb2wgYWNjZW50XG5cbi8vIOKUgOKUgCByZW1jKCk6IHB4IOKGkiByZW0gKGUuZy4gcmVtYygxMikgLT4gLjc1cmVtOyByZW1jKDUsMTUpIC0+IC4zMTI1cmVtIC45Mzc1cmVtKVxuQGZ1bmN0aW9uIHJlbWMoJHZhbHVlcy4uLikge1xuICAkcmVzdWx0OiAoKTtcbiAgQGVhY2ggJHYgaW4gJHZhbHVlcyB7XG4gICAgQGlmICR2ID09IDAge1xuICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIDApO1xuICAgIH0gQGVsc2UgaWYgdW5pdGxlc3MoJHYpIHtcbiAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCAoJHYgLyAxNikgKiAxcmVtKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCAkdik7IC8vIGFscmVhZHkgaGFzIGEgdW5pdCDigJQgcGFzcyB0aHJvdWdoXG4gICAgfVxuICB9XG4gIEBpZiBsZW5ndGgoJHJlc3VsdCkgPT0gMSB7IEByZXR1cm4gbnRoKCRyZXN1bHQsIDEpOyB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8g4pSA4pSAIEJvb3RzdHJhcC00LXN0eWxlIGJyZWFrcG9pbnQgbWl4aW5zIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuJGdyaWQtYnJlYWtwb2ludHM6ICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gX2JwLW1pbigkbmFtZSkgeyBAcmV0dXJuIG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsICRuYW1lKTsgfVxuQGZ1bmN0aW9uIF9icC1uZXh0KCRuYW1lKSB7XG4gICRuYW1lczogbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpO1xuICAkaTogaW5kZXgoJG5hbWVzLCAkbmFtZSk7XG4gIEBpZiAkaSBhbmQgJGkgPCBsZW5ndGgoJG5hbWVzKSB7IEByZXR1cm4gbnRoKCRuYW1lcywgJGkgKyAxKTsgfVxuICBAcmV0dXJuIG51bGw7XG59XG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSkge1xuICAkbWluOiBfYnAtbWluKCRuYW1lKTtcbiAgQGlmICRtaW4gYW5kICRtaW4gIT0gMCB7IEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7IEBjb250ZW50OyB9IH1cbiAgQGVsc2UgeyBAY29udGVudDsgfVxufVxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSkge1xuICAkbmV4dDogX2JwLW5leHQoJG5hbWUpO1xuICBAaWYgJG5leHQge1xuICAgICRtYXg6IF9icC1taW4oJG5leHQpIC0gMC4wMnB4O1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7IEBjb250ZW50OyB9XG4gIH0gQGVsc2UgeyBAY29udGVudDsgfVxufVxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSkge1xuICAkbWluOiBfYnAtbWluKCRuYW1lKTtcbiAgJG5leHQ6IF9icC1uZXh0KCRuYW1lKTtcbiAgQGlmICRuZXh0IHtcbiAgICAkbWF4OiBfYnAtbWluKCRuZXh0KSAtIDAuMDJweDtcbiAgICBAaWYgJG1pbiBhbmQgJG1pbiAhPSAwIHsgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7IEBjb250ZW50OyB9IH1cbiAgICBAZWxzZSB7IEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7IEBjb250ZW50OyB9IH1cbiAgfSBAZWxzZSBpZiAkbWluIGFuZCAkbWluICE9IDAge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7IEBjb250ZW50OyB9XG4gIH0gQGVsc2UgeyBAY29udGVudDsgfVxufVxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlcikge1xuICAkbWluOiBfYnAtbWluKCRsb3dlcik7XG4gICRuZXh0OiBfYnAtbmV4dCgkdXBwZXIpO1xuICAkbWF4OiBpZigkbmV4dCwgX2JwLW1pbigkbmV4dCkgLSAwLjAycHgsIG51bGwpO1xuICBAaWYgJG1pbiBhbmQgJG1pbiAhPSAwIGFuZCAkbWF4IHsgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7IEBjb250ZW50OyB9IH1cbiAgQGVsc2UgaWYgJG1heCB7IEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7IEBjb250ZW50OyB9IH1cbiAgQGVsc2UgaWYgJG1pbiBhbmQgJG1pbiAhPSAwIHsgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHsgQGNvbnRlbnQ7IH0gfVxuICBAZWxzZSB7IEBjb250ZW50OyB9XG59XG5cbi8vIOKUgOKUgCBDaGV2cm9uIHBsYWNlaG9sZGVycyAodXNlZCBieSBsYXRlciBwaGFzZXM7IGhhcm1sZXNzIHRvIGtlZXApIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuJWNoZXZyb24ge1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDAuMTVlbSAwLjE1ZW0gMCAwO1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDAuNjVlbTtcbiAgbGVmdDogMC4xNWVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMC4xNWVtO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB3aWR0aDogMC42NWVtO1xufVxuJWNoZXZyb24tcmlnaHQgIHsgbGVmdDogMDsgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG4lY2hldnJvbi1ib3R0b20geyBsZWZ0OiAwOyB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpOyB9XG4lY2hldnJvbi1sZWZ0ICAgeyBsZWZ0OiAwOyB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTsgfVxuIiwiQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9QmxhY2srT3BzK09uZSZkaXNwbGF5PXN3YXAnKTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNpdGUgdHlwZSBmYW1pbGllcyDigJQgVE9LRU4tQkFDS0VEICgyMDI2LTA5LTA1LCBvd25lciByZXF1ZXN0OiBcInRoZSBob21lcGFnZVxuLy8gaGVhZGluZ3MgYW5kIHRoZSBHZXQgSW4gVG91Y2ggYmFuZCBzaG91bGQgcHVsbCB0aGUgc2l0ZSdzIGhlYWRpbmcgZm9udFwiKS5cbi8vXG4vLyBNaXJyb3JzIHZhcmlhbnRzL19jb2xvcnMuc2NzczogZXZlcnkgZmFtaWx5IHZhciByZXNvbHZlcyB0byBhIFRoZW1lIEJ1aWxkZXJcbi8vIEdMT0JBTCB0eXBvZ3JhcGh5IHRva2VuIHdpdGggdGhlIGhpc3RvcmljYWwgbGl0ZXJhbCBhcyB0aGUgdmFyKCkgZmFsbGJhY2ssXG4vLyBzbyBhIHNpdGUgdGhhdCBoYXMgbmV2ZXIgcHVibGlzaGVkIGEgZm9udCB0b2tlbiByZW5kZXJzIGJ5dGUtaWRlbnRpY2FsbHlcbi8vIChNb250c2VycmF0IGhlYWRpbmdzIC8gUG9wcGlucyBib2R5KSDigJQgYW5kIGEgc2l0ZSB0aGF0IEhBUyAoTmFkZXI6IEJhcmxvd1xuLy8gQ29uZGVuc2VkICsgSG9zdCBHcm90ZXNrKSBnZXRzIGl0IGV2ZXJ5d2hlcmUgdGhlIGxhZGRlciBiZWxvdyBpcyB3b3JuXG4vLyAoLmZvbnQtcHJpbWFyeS0qIC8gLmZvbnQtc2Vjb25kYXJ5LSosIGFuZCBldmVyeSBgZm9udC1mYW1pbHk6ICRmb250LeKApmApLlxuLy9cbi8vIE1hcHBpbmcg4oCUIHRoZSBidWlsZGVyJ3MgdHdvIHRva2VucyBhcmUgbmFtZWQgZm9yIHRoZWlyIFJPTEUsIHRoZSBTYXNzIHZhcnNcbi8vIGZvciB0aGVpciBoaXN0b3JpY2FsIHJhbmssIGFuZCB0aGUgdHdvIGRvIG5vdCBsaW5lIHVwIGJ5IG5hbWU6XG4vLyAgICRmb250LWZhbWlseS1wcmltYXJ5ICAgKE1vbnRzZXJyYXQsIHRoZSBkaXNwbGF5L2hlYWRpbmcgZmFjZSlcbi8vICAgICAgICAgICAgICAgICAgICAgICAgICAg4oaQIC0tcHMtZm9udC1oZWFkaW5nICBcIkhlYWRpbmcgRm9udFwiXG4vLyAgICRmb250LWZhbWlseS1zZWNvbmRhcnkgKFBvcHBpbnMsIHRoZSBib2R5IGZhY2UpXG4vLyAgICAgICAgICAgICAgICAgICAgICAgICAgIOKGkCAtLXBzLWZvbnQtcHJpbWFyeSAgXCJQcmltYXJ5IEZvbnRcIlxuLy8gVGhpcyBpcyB0aGUgc2FtZSBwYWlyaW5nIHRoZSBoZXJvLWJhbm5lciBhbmQgdmVoaWNsZS1zZWxlY3QgYnJpZGdlcyBhbHJlYWR5XG4vLyB1c2VkIGJlZm9yZSB0aGlzIGZpbGUgd2FzIHRva2VuaXplZC5cbi8vXG4vLyBUaGUgKi1zdGF0aWMgbGl0ZXJhbHMgZXhpc3QgZm9yIHRoZSBmZXcgcGxhY2VzIHRoYXQgbmVlZCBhIHBsYWluIGZhbWlseVxuLy8gbGlzdCByYXRoZXIgdGhhbiBhIHZhcigpOiBjb21wb25lbnQgYnJpZGdlcyB0aGF0IHdyYXAgdGhlIFNBTUUgdG9rZW4gYWdhaW5cbi8vIChwcm9kdWN0LWNhcmQgLyB2ZWhpY2xlLXNlbGVjdCAvIGhlcm8tYmFubmVyIGZhbGxiYWNrcyDigJQgbmVzdGluZyB0aGUgdG9rZW5cbi8vIGluc2lkZSBpdHMgb3duIGZhbGxiYWNrIHdvdWxkIGJlIGNpcmN1bGFyLWxvb2tpbmcgYW5kIG1pcy1zY29wZSB0aGVcbi8vIGhlYWRpbmcgdG9rZW4gb250byBib2R5IHRleHQgb24gYSBzaXRlIHRoYXQgc2V0cyBvbmx5IG9uZSBvZiB0aGUgdHdvKS5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4kZm9udC1mYW1pbHktcHJpbWFyeS1zdGF0aWM6ICAgJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuJGZvbnQtZmFtaWx5LXNlY29uZGFyeS1zdGF0aWM6ICdQb3BwaW5zJywgc2Fucy1zZXJpZjtcblxuJGZvbnQtZmFtaWx5LXByaW1hcnk6ICAgdmFyKC0tcHMtZm9udC1oZWFkaW5nLCAjeyRmb250LWZhbWlseS1wcmltYXJ5LXN0YXRpY30pO1xuJGZvbnQtZmFtaWx5LXNlY29uZGFyeTogdmFyKC0tcHMtZm9udC1wcmltYXJ5LCAjeyRmb250LWZhbWlseS1zZWNvbmRhcnktc3RhdGljfSk7XG4kZm9udC1mYW1pbHktc3BlY2lhbDogJ0thdXNoYW4gU2NyaXB0JywgY3Vyc2l2ZTtcbiRmb250LWZhbWlseS1ibGtvcHM6ICdCbGFjayBPcHMgT25lJywgY3Vyc2l2ZTtcbi8vIExlZ2FjeSBhbGlhcyAob25seSBfY29udGFjdC5zY3NzIHN0aWxsIHJlYWRzIGl0KSDigJQgc2FtZSB0b2tlbiBhcyBwcmltYXJ5LlxuJGZvbnQtaGVhZGVyczogJGZvbnQtZmFtaWx5LXByaW1hcnk7XG5cbi5mb250LXByaW1hcnktMSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1wcmltYXJ5O1xuICAgIGZvbnQtc2l6ZTogcmVtYygzMHB4KTtcbiAgICBmb250LXdlaWdodDogODAwOyAvL2V4dHJhYm9sZFxuICAgICYuLXZhcmlhbnQtMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtYyg2MHB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbWMoNjJweCk7XG4gICAgfVxuICAgICYuLXZhcmlhbnQtMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtYyg5MHB4KTtcbiAgICB9XG4gICAgJi4tdmFyaWFudC0zIHtcbiAgICAgICAgZm9udC1zaXplOiByZW1jKDI1cHgpO1xuICAgIH1cbn1cbi5mb250LXByaW1hcnktMiB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1wcmltYXJ5O1xuICAgIGZvbnQtc2l6ZTogcmVtYygyNHB4KTtcbiAgICBmb250LXdlaWdodDogNDAwOyAvL3JlZ3VsYXJcbiAgICAvL2ZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAmLi12YXJpYW50LTEge1xuICAgICAgICBmb250LXNpemU6IHJlbWMoMThweCk7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICB9XG59XG4uZm9udC1wcmltYXJ5LTMge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktcHJpbWFyeTtcbiAgICBmb250LXNpemU6IHJlbWMoMjBweCk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDsgLy9tZWRpdW1cbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4uZm9udC1wcmltYXJ5LTQge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktcHJpbWFyeTtcbiAgICBmb250LXNpemU6IHJlbWMoMTRweCk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgLy9zZW1pYm9sZFxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLmZvbnQtc2Vjb25kYXJ5LTEge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Vjb25kYXJ5O1xuICAgIGZvbnQtc2l6ZTogcmVtYygxNXB4KTtcbiAgICBmb250LXdlaWdodDogNjAwOyAvL21lZGl1bVxuICAgIC8vZm9udC1zdHlsZTogaXRhbGljO1xuICAgIC8vdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAmLi12YXJpYW50LTEge1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgfVxuICAgICYuLXZhcmlhbnQtMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtYygxMHB4KTtcbiAgICB9XG59XG4uZm9udC1zZWNvbmRhcnktMiB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zZWNvbmRhcnk7XG4gICAgZm9udC1zaXplOiByZW1jKDEzcHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IC8vcmVndWxhclxuICAgICYuLXZhcmlhbnQtMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtYygxNnB4KTtcbiAgICB9XG59XG4uZm9udC1zZWNvbmRhcnktMyB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zZWNvbmRhcnk7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDsgLy9saWdodFxufVxuXG4uZm9udC1zcGVjaWFsIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNwZWNpYWw7XG4gICAgZm9udC1zaXplOiByZW1jKDQwcHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi5mb250LXNwZWNpYWwyIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXByaW1hcnk7XG4gICAgZm9udC1zaXplOiByZW1jKDQwcHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHJlbWMoNHB4KTtcbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFBST0RVQ1QgQ0FSRCDigJQgU3RvcmUgc2VsZWN0b3Igc3R5bGVzIChzaGFyZWQpXG4vL1xuLy8gRXh0cmFjdGVkIGZyb20gX3BhcnRpYWxzLnNjc3Mgc28gYm90aCB0aGUgQkVNIHZhcmlhbnRzICh2aWEgX3BhcnRpYWxzKSBhbmQgdGhlXG4vLyBsZWdhY3kgYnVuZGxlICh2aWEgbGVnYWN5L2luZGV4LnNjc3MpIHVzZSBPTkUgY29weS4gRXhwZWN0cyAkcHMtcGMtKiB2YXJpYWJsZXNcbi8vIGFuZCB0aGUgcHMtcGMtcmVzZXQtYnV0dG9uIG1peGluIGluIHNjb3BlLCBhbmQgbXVzdCBiZSBAaW1wb3J0ZWQgSU5TSURFIGFcbi8vIC5wcy1jb21wb25lbnQtLXByb2R1Y3QtY2FyZCB3cmFwcGVyIChib3RoIGltcG9ydGVycyBkbyB0aGlzKS5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8g4pSA4pSAIFN0b3JlIGF2YWlsYWJpbGl0eSAoY29tcGFjdCkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIC8vIFwiUGlja3VwIGF0IE4gc3RvcmVzIG5lYXIgeW91XCIgc3VtbWFyeSB0aGF0IGV4cGFuZHMgKGFjY29yZGlvbikgaW50byBhXG4gIC8vIHBlci1zdG9yZSBsaXN0LiBEYXRhLWdhdGVkIGJ5IHRoZSBjYWxsZXI7IGZhbGxzIGJhY2sgdG8gdGhlIGRlbGl2ZXJ5IHN0cmlwXG4gIC8vIHdoZW4gbm8gc3RvcmUgbGlzdCBpcyBzdXBwbGllZC4gUG9ydGVkIGZyb20gU3RvcmVNaW5pIC8gU3RvcmVBdmFpbGFiaWxpdHkuXG4gIC8vIEF2YWlsYWJpbGl0eSB3cmFwcGVyOiBiYWRnZXMgKyBzdG9yZSBzZWxlY3RvciBzdGFjayB3aXRoIGEgZ2FwIHdoZW4gYm90aCBzaG93LlxuICAucHMtcGNfX2F2YWlsYWJpbGl0eSB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogOHB4OyB9XG4gIC5wcy1wY19fc3RvcmVzIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgLnBzLXBjX19zdG9yZS1taW5pIHtcbiAgICBAaW5jbHVkZSBwcy1wYy1yZXNldC1idXR0b247XG4gICAgd2lkdGg6IDEwMCU7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOHB4OyBwYWRkaW5nOiAycHggMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyBjdXJzb3I6IHBvaW50ZXI7IGNvbG9yOiB2YXIoLS1wcy1wYy1jb2xvci1pbmZvLCAjeyRwcy1wYy1jb2xvci1pbmZvfSk7XG4gIH1cbiAgLnBzLXBjX19zdG9yZS1taW5pLWJhZGdlcyB7IGRpc3BsYXk6IGZsZXg7IGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5wcy1wY19fc3RvcmUtYmFkZ2UtbWluaSB7XG4gICAgd2lkdGg6IDE4cHg7IGhlaWdodDogMThweDsgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogJHBzLXBjLWZ3LWJvbGQ7IGZvbnQtc2l6ZTogN3B4OyBsZXR0ZXItc3BhY2luZzogMC4ycHg7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMS41cHggI2ZmZiwgaW5zZXQgMCAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgfVxuICAucHMtcGNfX3N0b3JlLW1pbmktbGFiZWwge1xuICAgIGZsZXg6IDE7IG1pbi13aWR0aDogMDtcbiAgICBmb250LXNpemU6IDExLjVweDsgZm9udC13ZWlnaHQ6ICRwcy1wYy1mdy1zZW1pYm9sZDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyBvdmVyZmxvdzogaGlkZGVuOyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAycHg7IHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDFweDtcbiAgfVxuICAucHMtcGNfX3N0b3JlLW1pbmktY2hldnJvbiB7XG4gICAgZmxleDogMCAwIGF1dG87IGRpc3BsYXk6IGJsb2NrOyB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHBzLXBjLXRyYW5zaXRpb24tYmFzZTtcbiAgfVxuICAucHMtcGNfX3N0b3JlLW1pbmlbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gLnBzLXBjX19zdG9yZS1taW5pLWNoZXZyb24geyB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG5cbiAgLy8gVmVydGljYWwgaW4tY2FyZCBsaXN0IChzdG9yZUxheW91dCAndmVydGljYWwnLCBjb21wcyByb3VuZCAyIDIwMjYtMDgtMDgpOlxuICAvLyBib3JkZXJlZCBzdGFjayBvZiByb3dzLCBmaXJzdCByb3dzIHZpc2libGUsIHRoZSByZXN0IGJlaGluZCBhbiBpbmxpbmVcbiAgLy8gXCJTaG93IE4gbW9yZSBzdG9yZXNcIiBleHBhbmRlciAoYWNjb3JkaW9uIGJvZHkgY29sbGFwc2UpLlxuICAucHMtcGNfX3N0b3JlLWxpc3QtLWNhcmQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXBzLXBjLWNvbG9yLWhhaXJsaW5lKTsgYm9yZGVyLXJhZGl1czogJHBzLXBjLXJhZGl1cy1sZztcbiAgICBvdmVyZmxvdzogaGlkZGVuOyBiYWNrZ3JvdW5kOiAjZmZmO1xuICB9XG4gIC5wcy1wY19fc3RvcmUtZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBwcy1wYy1yZXNldC1idXR0b247XG4gICAgd2lkdGg6IDEwMCU7IGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tcHMtcGMtY29sb3ItaGFpcmxpbmUtMik7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcHMtcGMtY29sb3Itc3VyZmFjZS1hbHQpO1xuICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBnYXA6IDZweDtcbiAgICBmb250LXNpemU6ICRwcy1wYy1mcy1zbTsgZm9udC13ZWlnaHQ6ICRwcy1wYy1mdy1zZW1pYm9sZDtcbiAgICBjb2xvcjogdmFyKC0tcHMtcGMtY29sb3ItaW5mbyk7XG4gICAgc3ZnIHsgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRwcy1wYy10cmFuc2l0aW9uLWJhc2U7IH1cbiAgICAucHMtcGNfX3N0b3JlLWV4cGFuZC1sZXNzIHsgZGlzcGxheTogbm9uZTsgfVxuICAgICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgICAgLnBzLXBjX19zdG9yZS1leHBhbmQtbW9yZSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5wcy1wY19fc3RvcmUtZXhwYW5kLWxlc3MgeyBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAgIHN2ZyB7IHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgICB9XG4gIH1cblxuICAvLyBEaXN0YW5jZSBjaGlwIChcIjEyLjQgbWlcIikg4oCUIGZpbGxlZCBpbiBjbGllbnQtc2lkZSBieSB0aGUgc3RvcmUtZGlzdGFuY2UgSlNcbiAgLy8gd2hlbiB0aGUgc2hvcHBlcidzIGxvY2F0aW9uIGlzIGtub3duOyBoaWRkZW4gb3RoZXJ3aXNlLlxuICAucHMtcGNfX3N0b3JlLWRpc3RhbmNlIHtcbiAgICBmb250LXNpemU6IDEwLjVweDsgZm9udC13ZWlnaHQ6ICRwcy1wYy1mdy1zZW1pYm9sZDtcbiAgICBjb2xvcjogdmFyKC0tcHMtcGMtY29sb3ItaW5mbyk7IHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cblxuICAucHMtcGNfX3N0b3JlLWlubmVyIHsgcGFkZGluZzogOHB4IDAgMTJweDsgfVxuICAucHMtcGNfX3N0b3JlLXN0YXRpYyA+IC5wcy1wY19fc3RvcmUtaW5uZXIgeyBwYWRkaW5nOiAwOyB9XG4gIC5wcy1wY19fc3RvcmUtaGVhZCB7XG4gICAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBnYXA6IDhweDsgbWFyZ2luLWJvdHRvbTogNnB4O1xuICB9XG4gIC5wcy1wY19fc3RvcmUtaGVhZC1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxMC41cHg7IGZvbnQtd2VpZ2h0OiAkcHMtcGMtZnctYm9sZDsgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiB2YXIoLS1wcy1wYy1jb2xvci1pbmstMywgI3skcHMtcGMtY29sb3ItaW5rLTN9KTtcbiAgfVxuICAucHMtcGNfX3N0b3JlLWxpc3Qge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXBzLXBjLWNvbG9yLWhhaXJsaW5lLCAjeyRwcy1wYy1jb2xvci1oYWlybGluZX0pO1xuICAgIGJvcmRlci1yYWRpdXM6ICRwcy1wYy1yYWRpdXMtbGc7IG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWF4LWhlaWdodDogMjY0cHg7IG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbiAgLnBzLXBjX19zdG9yZS1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7IGdhcDogMTBweDsgcGFkZGluZzogOXB4IDExcHggOXB4IDhweDsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcHMtcGMtY29sb3Itc3VyZmFjZSwgI3skcHMtcGMtY29sb3Itc3VyZmFjZX0pO1xuICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgJiArICYgeyBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tcHMtcGMtY29sb3ItaGFpcmxpbmUtMiwgI3skcHMtcGMtY29sb3ItaGFpcmxpbmUtMn0pOyB9XG4gICAgJi5pcy1jdXJyZW50IHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXBzLXBjLWNvbG9yLXN1cmZhY2UtYWx0LCAjeyRwcy1wYy1jb2xvci1zdXJmYWNlLWFsdH0pO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLXN0b3JlLWFjY2VudCwgdHJhbnNwYXJlbnQpO1xuICAgIH1cbiAgfVxuICAucHMtcGNfX3N0b3JlLWJhZGdlLXdyYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogM3B4OyBmbGV4OiAwIDAgYXV0bzsgd2lkdGg6IDM4cHg7XG4gIH1cbiAgLnBzLXBjX19zdG9yZS1iYWRnZSB7XG4gICAgd2lkdGg6IDM0cHg7IGhlaWdodDogMzRweDsgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogJHBzLXBjLWZ3LWJvbGQ7IGZvbnQtc2l6ZTogMTBweDsgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIH1cbiAgLnBzLXBjX19zdG9yZS1xdHkge1xuICAgIGZvbnQtZmFtaWx5OiAkcHMtcGMtZm9udC1tb25vOyBmb250LXNpemU6IDlweDsgZm9udC13ZWlnaHQ6ICRwcy1wYy1mdy1zZW1pYm9sZDsgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6IHZhcigtLXBzLXBjLWNvbG9yLW9rLCAjeyRwcy1wYy1jb2xvci1va30pOyB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICYuaXMtb3V0IHsgY29sb3I6IHZhcigtLXBzLXBjLWNvbG9yLWluay00LCAjeyRwcy1wYy1jb2xvci1pbmstNH0pOyB9XG4gICAgLy8gQkFDS09SREVSOiBvcmRlcmFibGUgYnV0IG5vdCBvbiB0aGUgc2hlbGYg4oCUIGFtYmVyLCBkZWxpYmVyYXRlbHkgTk9UIHRoZVxuICAgIC8vIGRpbW1lZCBpcy1vdXQgZ3JleSAoMjAyNi0wOC0yNykuIEEgc2l0ZSB3aG9zZSBjb21waWxlZCBDU1MgcHJlZGF0ZXMgdGhpc1xuICAgIC8vIHJ1bGUganVzdCBmYWxscyBiYWNrIHRvIHRoZSBiYXNlIGluLXN0b2NrIGNvbG91ciwgd2hpY2ggc3RpbGwgcmVhZHMgYXNcbiAgICAvLyBhdmFpbGFibGUgcmF0aGVyIHRoYW4gb3V0LlxuICAgICYuaXMtYmFja29yZGVyIHsgY29sb3I6IHZhcigtLXBzLXBjLWNvbG9yLXdhcm4sICN7JHBzLXBjLWNvbG9yLXdhcm59KTsgfVxuICB9XG4gIC5wcy1wY19fc3RvcmUtaW5mbyB7IGZsZXg6IDE7IG1pbi13aWR0aDogMDsgfVxuICAucHMtcGNfX3N0b3JlLW5hbWUtcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDZweDsgZmxleC13cmFwOiB3cmFwOyByb3ctZ2FwOiAycHg7XG4gIH1cbiAgLnBzLXBjX19zdG9yZS1uYW1lIHtcbiAgICBmb250LXdlaWdodDogJHBzLXBjLWZ3LWJvbGQ7IGZvbnQtc2l6ZTogMTNweDsgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBjb2xvcjogdmFyKC0tcHMtcGMtY29sb3ItaW5rLCAjeyRwcy1wYy1jb2xvci1pbmt9KTtcbiAgfVxuICAucHMtcGNfX3N0b3JlLXRhZyB7XG4gICAgZm9udC1zaXplOiA5cHg7IGZvbnQtd2VpZ2h0OiAkcHMtcGMtZnctYm9sZDsgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiB2YXIoLS1wcy1wYy1jb2xvci1pbmssICN7JHBzLXBjLWNvbG9yLWlua30pO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXBzLXBjLWNvbG9yLXN1cmZhY2UsICN7JHBzLXBjLWNvbG9yLXN1cmZhY2V9KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1wcy1wYy1jb2xvci1oYWlybGluZSwgI3skcHMtcGMtY29sb3ItaGFpcmxpbmV9KTtcbiAgICBwYWRkaW5nOiAxcHggNnB4OyBib3JkZXItcmFkaXVzOiA0cHg7IGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIH1cbiAgLnBzLXBjX19zdG9yZS1hdmFpbCB7XG4gICAgbWFyZ2luLXRvcDogMnB4OyBmb250LXNpemU6IDEycHg7IGZvbnQtd2VpZ2h0OiAkcHMtcGMtZnctc2VtaWJvbGQ7IGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgY29sb3I6IHZhcigtLXBzLXBjLWNvbG9yLWluay0yLCAjeyRwcy1wYy1jb2xvci1pbmstMn0pO1xuICAgICYuaXMtb3V0IHsgY29sb3I6IHZhcigtLXBzLXBjLWNvbG9yLWluay0zLCAjeyRwcy1wYy1jb2xvci1pbmstM30pOyB9XG4gIH1cbiAgLnBzLXBjX19zdG9yZS1hZGRyZXNzIHtcbiAgICBtYXJnaW4tdG9wOiAxcHg7IGZvbnQtc2l6ZTogMTFweDsgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogdmFyKC0tcHMtcGMtY29sb3ItaW5rLTMsICN7JHBzLXBjLWNvbG9yLWluay0zfSk7XG4gIH1cblxuICAvLyBJbmxpbmUgKGhvcml6b250YWwpIHN0b3JlIHRyZWF0bWVudCDigJQgVjEvVjIuIFVwIHRvIHR3byBzdG9yZSBjZWxscyBzaWRlIGJ5XG4gIC8vIHNpZGUgKyBhbiBcIk4gbW9yZVwiIGJ1dHRvbiB0aGF0IGV4cGFuZHMgdGhlIGZ1bGwgbGlzdC5cbiAgLnBzLXBjX19zdG9yZS1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXBzLXBjLWNvbG9yLWhhaXJsaW5lLCAjeyRwcy1wYy1jb2xvci1oYWlybGluZX0pO1xuICAgIGJvcmRlci1yYWRpdXM6ICRwcy1wYy1yYWRpdXMtbGc7IG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcHMtcGMtY29sb3Itc3VyZmFjZSwgI3skcHMtcGMtY29sb3Itc3VyZmFjZX0pO1xuICB9XG4gIC5wcy1wY19fc3RvcmUtaW5saW5lLWNlbGwge1xuICAgIGZsZXg6IDE7IG1pbi13aWR0aDogMDsgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7IGdhcDogOHB4OyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgcGFkZGluZzogOHB4IDlweCA5cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcHMtcGMtY29sb3Itc3VyZmFjZSwgI3skcHMtcGMtY29sb3Itc3VyZmFjZX0pO1xuICAgICYgKyAmIHsgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1wcy1wYy1jb2xvci1oYWlybGluZS0yLCAjeyRwcy1wYy1jb2xvci1oYWlybGluZS0yfSk7IH1cbiAgICAmLmlzLWN1cnJlbnQge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tcHMtcGMtY29sb3Itc3VyZmFjZS1hbHQsICN7JHBzLXBjLWNvbG9yLXN1cmZhY2UtYWx0fSk7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBib3R0b206IDA7XG4gICAgICAgIGhlaWdodDogMi41cHg7IGJhY2tncm91bmQ6IHZhcigtLXN0b3JlLWFjY2VudCwgdHJhbnNwYXJlbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAucHMtcGNfX3N0b3JlLWJhZGdlLXdyYXAtLXNtIHsgd2lkdGg6IDMwcHg7IH1cbiAgLnBzLXBjX19zdG9yZS1iYWRnZS0tc20geyB3aWR0aDogMzBweDsgaGVpZ2h0OiAzMHB4OyBmb250LXNpemU6IDlweDsgfVxuICAucHMtcGNfX3N0b3JlLWlubGluZS1pbmZvIHsgZmxleDogMTsgbWluLXdpZHRoOiAwOyB9XG4gIC5wcy1wY19fc3RvcmUtYXZhaWwtLW5vd3JhcCxcbiAgLnBzLXBjX19zdG9yZS1hZGRyZXNzLS1ub3dyYXAgeyB3aGl0ZS1zcGFjZTogbm93cmFwOyBvdmVyZmxvdzogaGlkZGVuOyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgfVxuICAucHMtcGNfX3N0b3JlLXRhZy1pbmxpbmUge1xuICAgIG1hcmdpbi10b3A6IDJweDsgZm9udC1zaXplOiA5cHg7IGZvbnQtd2VpZ2h0OiAkcHMtcGMtZnctYm9sZDsgbGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiB2YXIoLS1wcy1wYy1jb2xvci1pbmstMiwgI3skcHMtcGMtY29sb3ItaW5rLTJ9KTtcbiAgfVxuICAucHMtcGNfX3N0b3JlLW1vcmUge1xuICAgIEBpbmNsdWRlIHBzLXBjLXJlc2V0LWJ1dHRvbjtcbiAgICBmbGV4OiAwIDAgYXV0bzsgd2lkdGg6IDU0cHg7IGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLXBzLXBjLWNvbG9yLWhhaXJsaW5lLTIsICN7JHBzLXBjLWNvbG9yLWhhaXJsaW5lLTJ9KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcy1wYy1jb2xvci1zdXJmYWNlLWFsdCwgI3skcHMtcGMtY29sb3Itc3VyZmFjZS1hbHR9KTtcbiAgICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgZ2FwOiAycHg7XG4gICAgY29sb3I6IHZhcigtLXBzLXBjLWNvbG9yLWluZm8sICN7JHBzLXBjLWNvbG9yLWluZm99KTtcbiAgfVxuICAucHMtcGNfX3N0b3JlLW1vcmUtbGFiZWwgeyBmb250LXNpemU6IDEwLjVweDsgZm9udC13ZWlnaHQ6ICRwcy1wYy1mdy1ib2xkOyBsaW5lLWhlaWdodDogMTsgfVxuXG4gIC8vIOKUgOKUgCBTdG9yZSBPVkVSTEFZIChjb21wcyAyMDI2LTA4LTA4LCBTdG9yZU92ZXJsYXkpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAvLyBUaGUgZnVsbCBzdG9yZSBsaXN0IGFzIGEgbW9kYWwgZGlhbG9nOiBmaXhlZCBzY3JpbSwgYm90dG9tIHNoZWV0IG9uIG1vYmlsZSxcbiAgLy8gY2VudGVyZWQgcGFuZWwgZnJvbSBtZCB1cC4gT3BlbmVkIGJ5IHRoZSBtaW5pIHN1bW1hcnkgLyBpbmxpbmUgXCIrTiBtb3JlXCJcbiAgLy8gKFByb2R1Y3RDYXJkQ29yZS5fYmluZFN0b3JlT3ZlcmxheSBtb3ZlcyBpdCB0byA8Ym9keT4gc28gYW5jZXN0b3JcbiAgLy8gdHJhbnNmb3JtcyBjYW4ndCB0cmFwIHBvc2l0aW9uOmZpeGVkKS5cbiAgLy9cbiAgLy8gQGF0LXJvb3QgT04gUFVSUE9TRTogdGhpcyBmaWxlIGlzIEBpbXBvcnRlZCBJTlNJREUgdGhlXG4gIC8vIC5wcy1jb21wb25lbnQtLXByb2R1Y3QtY2FyZCB3cmFwcGVyLCBidXQgdGhlIG92ZXJsYXkgbGl2ZXMgb24gPGJvZHk+IGFmdGVyXG4gIC8vIHRoZSBKUyBtb3ZlIOKAlCBkZXNjZW5kYW50LXNjb3BlZCBzZWxlY3RvcnMgd291bGQgc3RvcCBtYXRjaGluZyB0aGUgbW9tZW50XG4gIC8vIGl0IG9wZW5zICgyMDI2LTA4LTA4OiB0aGUgb3ZlcmxheSByZW5kZXJlZCBhcyByYXcgdW5zdHlsZWQgdGV4dCBhdCB0aGVcbiAgLy8gcGFnZSBib3R0b20gdW50aWwgdGhpcyB3YXMgdW5zY29wZWQpLlxuICBAYXQtcm9vdCAucHMtcGNfX3N0b3JlLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgaW5zZXQ6IDA7IHotaW5kZXg6IDEwODA7XG4gICAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxMnB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICZbaGlkZGVuXSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgfVxuICBAYXQtcm9vdCAucHMtcGNfX3N0b3JlLW92ZXJsYXktc2NyaW0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7IGJhY2tncm91bmQ6IHJnYmEoMTYsIDE4LCAyMiwgMC40Mik7XG4gIH1cbiAgQGF0LXJvb3QgLnBzLXBjX19zdG9yZS1vdmVybGF5LXNoZWV0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IHdpZHRoOiAxMDAlOyBtYXgtd2lkdGg6IDM4MHB4OyBtYXgtaGVpZ2h0OiA4OCU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjsgYm9yZGVyLXJhZGl1czogMTRweDsgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJveC1zaGFkb3c6IDAgLTJweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgMTZweCA0OHB4IC04cHggcmdiYSgwLCAwLCAwLCAwLjQpO1xuICB9XG4gIEBhdC1yb290IC5wcy1wY19fc3RvcmUtb3ZlcmxheS1oZWFkIHtcbiAgICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogMTNweCAxNHB4OyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tcHMtcGMtY29sb3ItaGFpcmxpbmUsICN7JHBzLXBjLWNvbG9yLWhhaXJsaW5lfSk7XG4gIH1cbiAgQGF0LXJvb3QgLnBzLXBjX19zdG9yZS1vdmVybGF5LXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogJHBzLXBjLWZ3LWJvbGQ7IGZvbnQtc2l6ZTogMTVweDsgY29sb3I6IHZhcigtLXBzLXBjLWNvbG9yLWluaywgI3skcHMtcGMtY29sb3ItaW5rfSk7XG4gIH1cbiAgQGF0LXJvb3QgLnBzLXBjX19zdG9yZS1vdmVybGF5LXN1YiB7XG4gICAgZm9udC1zaXplOiAxMS41cHg7IGZvbnQtd2VpZ2h0OiA1MDA7IG1hcmdpbi10b3A6IDFweDtcbiAgICBjb2xvcjogdmFyKC0tcHMtcGMtY29sb3ItaW5rLTMsICN7JHBzLXBjLWNvbG9yLWluay0zfSk7XG4gICAgLy8gRmxleC1jZW50ZXJlZCBzbyB0aGUgemlwIGJ1dHRvbiBhbmQgdGhlIFwiVXNlIG15IGxvY2F0aW9uXCIgcGlsbCAoaWNvbiArXG4gICAgLy8gdW5kZXJsaW5lZCB0ZXh0KSBzaXQgT04gdGhlIHRleHQgbGluZSDigJQgYXMgaW5saW5lIGNvbnRlbnQgdGhlaXJcbiAgICAvLyBiYXNlbGluZXMgcm9kZSBhIGNvdXBsZSBweCBoaWdoIChvd25lciAyMDI2LTA4LTA4IHNjcmVlbnNob3QpLlxuICAgIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGZsZXgtd3JhcDogd3JhcDsgZ2FwOiAzcHg7XG4gIH1cbiAgQGF0LXJvb3QgLnBzLXBjX19zdG9yZS1vdmVybGF5LXgge1xuICAgIEBpbmNsdWRlIHBzLXBjLXJlc2V0LWJ1dHRvbjtcbiAgICB3aWR0aDogMzBweDsgaGVpZ2h0OiAzMHB4OyBib3JkZXItcmFkaXVzOiA4cHg7IGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1wcy1wYy1jb2xvci1oYWlybGluZSwgI3skcHMtcGMtY29sb3ItaGFpcmxpbmV9KTsgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLXBzLXBjLWNvbG9yLWluay0yLCAjeyRwcy1wYy1jb2xvci1pbmstMn0pO1xuICB9XG4gIEBhdC1yb290IC5wcy1wY19fc3RvcmUtb3ZlcmxheS1ib2R5IHsgcGFkZGluZzogMTJweDsgb3ZlcmZsb3cteTogYXV0bzsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBAYXQtcm9vdCAucHMtcGNfX3N0b3JlLW92ZXJsYXkgeyBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIH1cblxuLy8gU2Nyb2xsIGxvY2sgd2hpbGUgYSBzdG9yZSBvdmVybGF5IGlzIG9wZW4gKGNsYXNzIHNldCBvbiA8aHRtbD4gYnlcbi8vIFByb2R1Y3RDYXJkQ29yZS5fYmluZFN0b3JlT3ZlcmxheSkuIERlbGliZXJhdGVseSBPVVRTSURFIHRoZSBjb21wb25lbnRcbi8vIHdyYXBwZXIg4oCUIGh0bWw6cm9vdCBpcyBuZXZlciBpbnNpZGUgLnBzLWNvbXBvbmVudC0tcHJvZHVjdC1jYXJkLlxuXG5cbiAgLy8gVGhlIHN0b3JlIGxpc3QgaW5zaWRlIHRoZSBNT1ZFRCBvdmVybGF5IGlzIG91dHNpZGUgdGhlIGNhcmQgc2NvcGUgdG9vIOKAlFxuICAvLyByZS1lbWl0IHRoZSByb3cvYmFkZ2UvaGVhZCBydWxlcyB1bmRlciB0aGUgb3ZlcmxheSByb290IChzYW1lIHN0eWxlcyB0aGVcbiAgLy8gc2NvcGVkIHZlcnNpb25zIHByb2R1Y2UgaW5zaWRlIHRoZSBjYXJkKS5cbiAgQGF0LXJvb3QgLnBzLXBjX19zdG9yZS1vdmVybGF5IHtcbiAgICAucHMtcGNfX3N0b3JlLWhlYWQge1xuICAgICAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBnYXA6IDhweDsgbWFyZ2luLWJvdHRvbTogNnB4O1xuICAgIH1cbiAgICAucHMtcGNfX3N0b3JlLWhlYWQtbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAxMC41cHg7IGZvbnQtd2VpZ2h0OiAkcHMtcGMtZnctYm9sZDsgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6ICRwcy1wYy1jb2xvci1pbmstMztcbiAgICB9XG4gICAgLnBzLXBjX19zdG9yZS1saXN0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRwcy1wYy1jb2xvci1oYWlybGluZTsgYm9yZGVyLXJhZGl1czogOHB4OyBvdmVyZmxvdzogaGlkZGVuOyBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIH1cbiAgICAucHMtcGNfX3N0b3JlLXJvdyB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyBnYXA6IDEwcHg7IHBhZGRpbmc6IDlweCAxMXB4IDlweCA4cHg7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjsgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcHMtcGMtY29sb3ItaGFpcmxpbmUtMjtcbiAgICAgICY6bGFzdC1jaGlsZCB7IGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICAgICYuaXMtY3VycmVudCB7IGJhY2tncm91bmQ6ICRwcy1wYy1jb2xvci1zdXJmYWNlLWFsdDsgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLXN0b3JlLWFjY2VudCwgdHJhbnNwYXJlbnQpOyB9XG4gICAgfVxuICAgIC5wcy1wY19fc3RvcmUtYmFkZ2Utd3JhcCB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogM3B4OyBmbGV4OiAwIDAgYXV0bzsgbWluLXdpZHRoOiAzOHB4OyB9XG4gICAgLnBzLXBjX19zdG9yZS1iYWRnZSB7XG4gICAgICB3aWR0aDogMzRweDsgaGVpZ2h0OiAzNHB4OyBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmb250LXdlaWdodDogODAwOyBmb250LXNpemU6IDEwcHg7IGxldHRlci1zcGFjaW5nOiAwLjJweDtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuMTApO1xuICAgICAgZm9udC1mYW1pbHk6ICRwcy1wYy1mb250LXNhbnM7XG4gICAgfVxuICAgIC5wcy1wY19fc3RvcmUtcXR5IHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkcHMtcGMtZm9udC1tb25vOyBmb250LXNpemU6IDlweDsgZm9udC13ZWlnaHQ6IDYwMDsgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBjb2xvcjogJHBzLXBjLWNvbG9yLW9rOyB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgJi5pcy1vdXQgeyBjb2xvcjogJHBzLXBjLWNvbG9yLWluay00OyB9XG4gICAgICAmLmlzLWJhY2tvcmRlciB7IGNvbG9yOiAkcHMtcGMtY29sb3Itd2FybjsgfSAgLy8gc2VlIHRoZSBzaGFyZWQgYmxvY2sgYWJvdmVcbiAgICB9XG4gICAgLnBzLXBjX19zdG9yZS1pbmZvIHsgZmxleDogMTsgbWluLXdpZHRoOiAwOyBmb250LWZhbWlseTogJHBzLXBjLWZvbnQtc2FuczsgfVxuICAgIC5wcy1wY19fc3RvcmUtbmFtZS1yb3cgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDZweDsgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnBzLXBjX19zdG9yZS1uYW1lIHsgZm9udC13ZWlnaHQ6ICRwcy1wYy1mdy1ib2xkOyBmb250LXNpemU6IDEzcHg7IGNvbG9yOiAkcHMtcGMtY29sb3ItaW5rOyBsaW5lLWhlaWdodDogMS4yOyB9XG4gICAgLnBzLXBjX19zdG9yZS10YWcge1xuICAgICAgZm9udC1zaXplOiA5cHg7IGZvbnQtd2VpZ2h0OiAkcHMtcGMtZnctYm9sZDsgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29sb3I6ICRwcy1wYy1jb2xvci1pbms7IGJhY2tncm91bmQ6ICNmZmY7IGJvcmRlcjogMXB4IHNvbGlkICRwcy1wYy1jb2xvci1oYWlybGluZTtcbiAgICAgIHBhZGRpbmc6IDFweCA2cHg7IGJvcmRlci1yYWRpdXM6IDRweDsgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICB9XG4gICAgLnBzLXBjX19zdG9yZS1hdmFpbCB7IG1hcmdpbi10b3A6IDJweDsgZm9udC1zaXplOiAxMnB4OyBmb250LXdlaWdodDogJHBzLXBjLWZ3LXNlbWlib2xkOyBsaW5lLWhlaWdodDogMS4zOyBjb2xvcjogJHBzLXBjLWNvbG9yLWluay0yO1xuICAgICAgJi5pcy1vdXQgeyBjb2xvcjogJHBzLXBjLWNvbG9yLWluay0zOyB9IH1cbiAgICAucHMtcGNfX3N0b3JlLWFkZHJlc3MgeyBtYXJnaW4tdG9wOiAxcHg7IGZvbnQtc2l6ZTogMTFweDsgY29sb3I6ICRwcy1wYy1jb2xvci1pbmstMzsgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAgIC5wcy1wY19femlwIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBib3JkZXI6IDA7IHBhZGRpbmc6IDA7IGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMTEuNXB4OyBmb250LXdlaWdodDogJHBzLXBjLWZ3LWJvbGQ7IGNvbG9yOiAkcHMtcGMtY29sb3ItaW5mbztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDJweDtcbiAgICB9XG4gICAgLnBzLXBjX19zdG9yZS1sb2NhdGUge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGJvcmRlcjogMDsgcGFkZGluZzogMDsgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNHB4O1xuICAgICAgZm9udC1zaXplOiAxMC41cHg7IGZvbnQtd2VpZ2h0OiAkcHMtcGMtZnctc2VtaWJvbGQ7IGNvbG9yOiAkcHMtcGMtY29sb3ItaW5mbztcbiAgICAgIHN2ZyB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICBzcGFuIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IHRleHQtdW5kZXJsaW5lLW9mZnNldDogMnB4OyB9XG4gICAgfVxuICAgIC5wcy1wY19fc3RvcmUtZGlzdGFuY2Uge1xuICAgICAgZm9udC1zaXplOiAxMC41cHg7IGZvbnQtd2VpZ2h0OiAkcHMtcGMtZnctc2VtaWJvbGQ7XG4gICAgICBjb2xvcjogJHBzLXBjLWNvbG9yLWluZm87IHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuICB9XG5cbiAgLy8gXCJVc2UgbXkgbG9jYXRpb25cIiBhZmZvcmRhbmNlIChjb21wcyByb3VuZCAyKSDigJQgcXVpZXQgaW5mby1jb2xvcmVkIHBpbGxcbiAgLy8gbmV4dCB0byB0aGUgXCJOZWFyIDx6aXA+XCIgbGluZSBhbmQgaW4gdGhlIG92ZXJsYXkgc3ViLWxpbmUuXG4gIC5wcy1wY19fc3RvcmUtbG9jYXRlIHtcbiAgICBAaW5jbHVkZSBwcy1wYy1yZXNldC1idXR0b247XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNHB4OyBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAxMC41cHg7IGZvbnQtd2VpZ2h0OiAkcHMtcGMtZnctc2VtaWJvbGQ7XG4gICAgY29sb3I6IHZhcigtLXBzLXBjLWNvbG9yLWluZm8sICN7JHBzLXBjLWNvbG9yLWluZm99KTtcbiAgICBzdmcgeyBkaXNwbGF5OiBibG9jazsgfVxuICAgIHNwYW4geyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAycHg7IH1cbiAgfVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUFJPRFVDVCBDQVJEIOKAlCBTaGFyZWQgU0NTUyBNaXhpbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGltcG9ydCAndmFyaWFibGVzJztcblxuLy8g4pSA4pSAIFJlc3BvbnNpdmUgYnJlYWtwb2ludCBoZWxwZXJzIChtYXRjaCB2ZWhpY2xlLXNlbGVjdCBBUEkpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuQG1peGluIHBzLXBjLW1lZGlhLXVwKCRicCkge1xuICBAaWYgJGJwID09IHNtICB7IEBtZWRpYSAobWluLXdpZHRoOiAkcHMtcGMtYnJlYWtwb2ludC1zbSkgIHsgQGNvbnRlbnQ7IH0gfVxuICBAaWYgJGJwID09IG1kICB7IEBtZWRpYSAobWluLXdpZHRoOiAkcHMtcGMtYnJlYWtwb2ludC1tZCkgIHsgQGNvbnRlbnQ7IH0gfVxuICBAaWYgJGJwID09IGxnICB7IEBtZWRpYSAobWluLXdpZHRoOiAkcHMtcGMtYnJlYWtwb2ludC1sZykgIHsgQGNvbnRlbnQ7IH0gfVxufVxuQG1peGluIHBzLXBjLW1lZGlhLWRvd24oJGJwKSB7XG4gIEBpZiAkYnAgPT0gc20gIHsgQG1lZGlhIChtYXgtd2lkdGg6ICRwcy1wYy1icmVha3BvaW50LXNtIC0gMXB4KSB7IEBjb250ZW50OyB9IH1cbiAgQGlmICRicCA9PSBtZCAgeyBAbWVkaWEgKG1heC13aWR0aDogJHBzLXBjLWJyZWFrcG9pbnQtbWQgLSAxcHgpIHsgQGNvbnRlbnQ7IH0gfVxuICBAaWYgJGJwID09IGxnICB7IEBtZWRpYSAobWF4LXdpZHRoOiAkcHMtcGMtYnJlYWtwb2ludC1sZyAtIDFweCkgeyBAY29udGVudDsgfSB9XG59XG5cbi8vIOKUgOKUgCBSZXNldHMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5AbWl4aW4gcHMtcGMtcmVzZXQtYnV0dG9uIHtcbiAgYXBwZWFyYW5jZTogbm9uZTsgYm9yZGVyOiBub25lOyBiYWNrZ3JvdW5kOiBub25lO1xuICBwYWRkaW5nOiAwOyBtYXJnaW46IDA7IGZvbnQ6IGluaGVyaXQ7IGNvbG9yOiBpbmhlcml0OyBjdXJzb3I6IHBvaW50ZXI7IG91dGxpbmU6IG5vbmU7XG59XG5AbWl4aW4gcHMtcGMtcmVzZXQtbGlzdCB7IGxpc3Qtc3R5bGU6IG5vbmU7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgfVxuQG1peGluIHBzLXBjLXRydW5jYXRlIHsgb3ZlcmZsb3c6IGhpZGRlbjsgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbkBtaXhpbiBwcy1wYy10YWJ1bGFyIHsgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtczsgfVxuXG4vLyDilIDilIAgQ2xhbXAgdGV4dCB0byBOIGxpbmVzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuQG1peGluIHBzLXBjLWxpbmUtY2xhbXAoJGxpbmVzKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAtd2Via2l0LWxpbmUtY2xhbXA6ICRsaW5lcztcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8g4pSA4pSAIEZvY3VzIHJpbmcg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5AbWl4aW4gcHMtcGMtZm9jdXMtcmluZyB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1wcy1wYy1jb2xvci1pbmZvLCAjeyRwcy1wYy1jb2xvci1pbmZvfSk7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi8vIOKUgOKUgCBDU1Mtb25seSBjaGV2cm9uIChkb3duIGJ5IGRlZmF1bHQpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuQG1peGluIHBzLXBjLWNoZXZyb24oJHNpemU6IDdweCwgJHdlaWdodDogMnB4KSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6ICRzaXplOyBoZWlnaHQ6ICRzaXplO1xuICBib3JkZXItcmlnaHQ6ICR3ZWlnaHQgc29saWQgY3VycmVudENvbG9yO1xuICBib3JkZXItYm90dG9tOiAkd2VpZ2h0IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHBzLXBjLXRyYW5zaXRpb24tZmFzdDtcbn1cblxuLy8g4pSA4pSAIFN0cmlwZWQgaW1hZ2UgcGxhY2Vob2xkZXIgKG1hdGNoZXMgZGVzaWduIFBhcnRJbWFnZSkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBVc2VkIGFzIGEgZmFsbGJhY2sgYmFja2dyb3VuZCB3aGVuIG5vIHByb2R1Y3QgaW1hZ2UgaXMgcHJlc2VudC5cbkBtaXhpbiBwcy1wYy1pbWFnZS1wbGFjZWhvbGRlcigkdGludDogJHBzLXBjLWNvbG9yLXN1cmZhY2UtYWx0KSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0aW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdHJhbnNwYXJlbnQgMCA2cHgsIHJnYmEoMCwwLDAsMC4wNCkgNnB4IDdweCk7XG59XG5cbi8vIOKUgOKUgCBSb290IHRva2VuIGJyaWRnZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIERlY2xhcmVzIGFsbCAtLXBzLXBjLSogQ1NTIGN1c3RvbSBwcm9wZXJ0aWVzIG9uIGEgY29tcG9uZW50IHJvb3QsIGVhY2hcbi8vIGZhbGxpbmcgYmFjazogdGhlbWUgb3ZlcnJpZGUgKC0tcHMtY29sb3ItKikg4oaSIGNvbXBvbmVudCBTQ1NTIGRlZmF1bHQuXG4vLyBFdmVyeSB2YXJpYW50IEBpbmNsdWRlcyB0aGlzIGF0IGl0cyByb290IHNvIHRoZW1pbmcgd29ya3MgdW5pZm9ybWx5LlxuQG1peGluIHBzLXBjLXJvb3QtdG9rZW5zIHtcbiAgLS1wcy1wYy1jb2xvci1wcmltYXJ5OiAgICAgICB2YXIoLS1wcy1jb2xvci1wcmltYXJ5LCAgICAgICAgI3skcHMtcGMtY29sb3ItcHJpbWFyeX0pO1xuICAtLXBzLXBjLWNvbG9yLXByaW1hcnktaG92ZXI6IHZhcigtLXBzLWNvbG9yLXByaW1hcnktaG92ZXIsICAjeyRwcy1wYy1jb2xvci1wcmltYXJ5LWhvdmVyfSk7XG5cbiAgLS1wcy1wYy1jb2xvci1iZzogICAgICAgICAgdmFyKC0tcHMtY29sb3ItYmcsICAgICAgICAgICN7JHBzLXBjLWNvbG9yLWJnfSk7XG4gIC0tcHMtcGMtY29sb3Itc3VyZmFjZTogICAgIHZhcigtLXBzLWNvbG9yLXN1cmZhY2UsICAgICAjeyRwcy1wYy1jb2xvci1zdXJmYWNlfSk7XG4gIC0tcHMtcGMtY29sb3Itc3VyZmFjZS1hbHQ6IHZhcigtLXBzLWNvbG9yLXN1cmZhY2UtYWx0LCAjeyRwcy1wYy1jb2xvci1zdXJmYWNlLWFsdH0pO1xuICAtLXBzLXBjLWNvbG9yLWluazogICAgICAgICB2YXIoLS1wcy1jb2xvci10ZXh0LCAgICAgICAgI3skcHMtcGMtY29sb3ItaW5rfSk7XG4gIC0tcHMtcGMtY29sb3ItaW5rLTI6ICAgICAgIHZhcigtLXBzLWNvbG9yLXRleHQtMiwgICAgICAjeyRwcy1wYy1jb2xvci1pbmstMn0pO1xuICAtLXBzLXBjLWNvbG9yLWluay0zOiAgICAgICB2YXIoLS1wcy1jb2xvci10ZXh0LTMsICAgICAgI3skcHMtcGMtY29sb3ItaW5rLTN9KTtcbiAgLS1wcy1wYy1jb2xvci1pbmstNDogICAgICAgdmFyKC0tcHMtY29sb3ItdGV4dC00LCAgICAgICN7JHBzLXBjLWNvbG9yLWluay00fSk7XG4gIC0tcHMtcGMtY29sb3ItaGFpcmxpbmU6ICAgIHZhcigtLXBzLWNvbG9yLWJvcmRlciwgICAgICAjeyRwcy1wYy1jb2xvci1oYWlybGluZX0pO1xuICAtLXBzLXBjLWNvbG9yLWhhaXJsaW5lLTI6ICB2YXIoLS1wcy1jb2xvci1ib3JkZXItMiwgICAgI3skcHMtcGMtY29sb3ItaGFpcmxpbmUtMn0pO1xuXG4gIC0tcHMtcGMtY29sb3ItYWNjZW50OiAgICAgIHZhcigtLXBzLWNvbG9yLWRhbmdlciwgICAgICAjeyRwcy1wYy1jb2xvci1hY2NlbnR9KTtcbiAgLS1wcy1wYy1jb2xvci1hY2NlbnQtaW5rOiAgI3skcHMtcGMtY29sb3ItYWNjZW50LWlua307XG4gIC0tcHMtcGMtY29sb3ItYWNjZW50LWJnOiAgICN7JHBzLXBjLWNvbG9yLWFjY2VudC1iZ307XG4gIC0tcHMtcGMtY29sb3Itb2s6ICAgICAgICAgIHZhcigtLXBzLWNvbG9yLXN1Y2Nlc3MsICAgICAjeyRwcy1wYy1jb2xvci1va30pO1xuICAtLXBzLXBjLWNvbG9yLW9rLWJnOiAgICAgICAjeyRwcy1wYy1jb2xvci1vay1iZ307XG4gIC0tcHMtcGMtY29sb3Itd2FybjogICAgICAgICN7JHBzLXBjLWNvbG9yLXdhcm59O1xuICAtLXBzLXBjLWNvbG9yLWluZm86ICAgICAgICB2YXIoLS1wcy1jb2xvci1saW5rLCAgICAgICAgI3skcHMtcGMtY29sb3ItaW5mb30pO1xuICAtLXBzLXBjLWNvbG9yLWluZm8tYmc6ICAgICAjeyRwcy1wYy1jb2xvci1pbmZvLWJnfTtcbiAgLS1wcy1wYy1jb2xvci1kaWdpdGFsOiAgICAgI3skcHMtcGMtY29sb3ItZGlnaXRhbH07XG4gIC0tcHMtcGMtY29sb3ItZGlnaXRhbC1iZzogICN7JHBzLXBjLWNvbG9yLWRpZ2l0YWwtYmd9O1xuXG4gIC8vIFVuaXZlcnNhbCBGaXRtZW50IEJhZGdpbmcgKDIwMjYtMDktMjgpLiBUaGUgYmFkZ2UgY29sb3VyIHJlYWRzIHRoZVxuICAvLyBTdHlsZS10YWIgb3ZlcnJpZGUgdmFyIC0tcHMtcGMtdW5pdiBGSVJTVDogYSBwZXItYmxvY2sgdG9rZW4gaXMgZW1pdHRlZFxuICAvLyBvbiB0aGUgI2Jsa194IHdyYXBwZXIsIGFuZCBhIHBsYWluIC0tcHMtcGMtY29sb3ItdW5pdiB0b2tlbiB3b3VsZCBsb3NlIHRvXG4gIC8vIHRoaXMgdmVyeSBkZWNsYXJhdGlvbiBvbiBldmVyeSBpbm5lciBjYXJkIChhbiBlbGVtZW50J3Mgb3duIGN1c3RvbVxuICAvLyBwcm9wZXJ0eSBhbHdheXMgYmVhdHMgYW4gaW5oZXJpdGVkIG9uZSDigJQgdGhlIHZlaGljbGUtc2VsZWN0IHJvb3RcbiAgLy8gcmUtZGVjbGFyYXRpb24gdHJhcCwgMjAyNi0wOC0yNykuIFRoZSB3YXNoIGFuZCBoYWlybGluZSBkZXJpdmUgZnJvbSB0aGVcbiAgLy8gaW5rIHdoZXJlIGNvbG9yLW1peCBleGlzdHMsIHNvIG9uZSBtZXJjaGFudCBjb2xvdXIgcmVjb2xvdXJzIGFsbCB0aHJlZS5cbiAgLS1wcy1wYy1jb2xvci11bml2OiAgICAgICAgdmFyKC0tcHMtcGMtdW5pdiwgI3skcHMtcGMtY29sb3ItdW5pdn0pO1xuICAtLXBzLXBjLWNvbG9yLXVuaXYtYmc6ICAgICAjeyRwcy1wYy1jb2xvci11bml2LWJnfTtcbiAgLS1wcy1wYy1jb2xvci11bml2LWxpbmU6ICAgI3skcHMtcGMtY29sb3ItdW5pdi1saW5lfTtcbiAgQHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHJlZCA1MCUsIGJsdWUpKSB7XG4gICAgLS1wcy1wYy1jb2xvci11bml2LWJnOiAgIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1wcy1wYy1jb2xvci11bml2KSAxMSUsICNmZmYpO1xuICAgIC0tcHMtcGMtY29sb3ItdW5pdi1saW5lOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tcHMtcGMtY29sb3ItdW5pdikgMjQlLCB0cmFuc3BhcmVudCk7XG4gIH1cbiAgLy8gXCJWZXJpZnkgZml0bWVudFwiICh1bml2ZXJzYWwgPSAyLCBubyBmaXRtZW50IGRhdGEg4oCUIDIwMjYtMDktMjkpOiBzYW1lXG4gIC8vIG92ZXJyaWRlLXZhciBwYXR0ZXJuLCBTdHlsZS10YWIgdG9rZW4gLS1wcy1wYy12ZXJpZnkuXG4gIC0tcHMtcGMtY29sb3ItdmVyaWZ5OiAgICAgIHZhcigtLXBzLXBjLXZlcmlmeSwgI3skcHMtcGMtY29sb3ItdmVyaWZ5fSk7XG4gIC0tcHMtcGMtY29sb3ItdmVyaWZ5LWJnOiAgICN7JHBzLXBjLWNvbG9yLXZlcmlmeS1iZ307XG4gIC0tcHMtcGMtY29sb3ItdmVyaWZ5LWxpbmU6ICN7JHBzLXBjLWNvbG9yLXZlcmlmeS1saW5lfTtcbiAgQHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHJlZCA1MCUsIGJsdWUpKSB7XG4gICAgLS1wcy1wYy1jb2xvci12ZXJpZnktYmc6ICAgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXBzLXBjLWNvbG9yLXZlcmlmeSkgMTIlLCAjZmZmKTtcbiAgICAtLXBzLXBjLWNvbG9yLXZlcmlmeS1saW5lOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tcHMtcGMtY29sb3ItdmVyaWZ5KSAyOCUsIHRyYW5zcGFyZW50KTtcbiAgfVxuXG4gIC0tcHMtcGMtZm9udC1zYW5zOiAgdmFyKC0tcHMtZm9udC1wcmltYXJ5LCAjeyRwcy1wYy1mb250LXNhbnN9KTtcbiAgLS1wcy1wYy1mb250LW1vbm86ICAjeyRwcy1wYy1mb250LW1vbm99O1xufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUFJPRFVDVCBDQVJEIOKAlCBTaGFyZWQgU0NTUyBWYXJpYWJsZXNcbi8vXG4vLyBCcmlkZ2VzIHRoZSBDbGF1ZGUgRGVzaWduIHRva2VucyB0byB0aGUgc2l0ZSdzIGV4aXN0aW5nIHRoZW1lIHRva2Vucy5cbi8vIE1pcnJvcnMgdGhlIHZlaGljbGUtc2VsZWN0IGNvbXBvbmVudCdzIHZhcmlhYmxlIHN0cmF0ZWd5OiBTQ1NTIGZhbGxiYWNrc1xuLy8gaGVyZSwgcmVhbCBDU1MgY3VzdG9tIHByb3BlcnRpZXMgZGVmaW5lZCBhdCBlYWNoIGNvbXBvbmVudCByb290IHNvIGEgdGhlbWVcbi8vIGNhbiBvdmVycmlkZSB0aGVtIHZpYSBDb21wb25lbnRSZXNvbHZlcjo6cmVuZGVyVGhlbWVUb2tlbnMoKS5cbi8vXG4vLyBJbXBvcnQgcGF0aHMgYXNzdW1lIHRoZSBzYW1lIHNyYy8gbGF5b3V0IGFzIHZlaGljbGUtc2VsZWN0LiBBZGp1c3QgaWYgeW91clxuLy8gcHJvamVjdCBzdHJ1Y3R1cmUgZGlmZmVycy5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGltcG9ydCAnc3R5bGVzL2Jhc2UvZm9udHMnO1xuQGltcG9ydCAnc3R5bGVzL3ZhcmlhbnRzL2NvbG9ycyc7XG5cbi8vIOKUgOKUgCBCcmFuZCAvIHByaW1hcnkgcGFsZXR0ZSAoZmFsbHMgYmFjayB0byBzaXRlIHByaW1hcnkpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuJHBzLXBjLWNvbG9yLXByaW1hcnk6ICAgICAgICAjMzA1Q0RFICFkZWZhdWx0O1xuJHBzLXBjLWNvbG9yLXByaW1hcnktaG92ZXI6ICAjMjU0OWI1ICFkZWZhdWx0O1xuXG4vLyDilIDilIAgU3VyZmFjZXMgJiBpbmsgKHdhcm0gbmV1dHJhbCBzY2FsZSBmcm9tIHRoZSBkZXNpZ24pIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuJHBzLXBjLWNvbG9yLWJnOiAgICAgICAgICAgI2ZhZjlmNiAhZGVmYXVsdDtcbiRwcy1wYy1jb2xvci1zdXJmYWNlOiAgICAgICNmZmZmZmYgIWRlZmF1bHQ7XG4kcHMtcGMtY29sb3Itc3VyZmFjZS1hbHQ6ICAjZjNmMWVjICFkZWZhdWx0O1xuJHBzLXBjLWNvbG9yLWluazogICAgICAgICAgIzEwMTIxNiAhZGVmYXVsdDsgIC8vIHByaW1hcnkgdGV4dFxuJHBzLXBjLWNvbG9yLWluay0yOiAgICAgICAgIzNhM2Q0NCAhZGVmYXVsdDsgIC8vIHNlY29uZGFyeSB0ZXh0XG4kcHMtcGMtY29sb3ItaW5rLTM6ICAgICAgICAjNmI2ZTc2ICFkZWZhdWx0OyAgLy8gbXV0ZWQgdGV4dCAvIGxhYmVsc1xuJHBzLXBjLWNvbG9yLWluay00OiAgICAgICAgIzlhOWRhNCAhZGVmYXVsdDsgIC8vIGZhaW50IHRleHQgLyBzdHJpa2VcbiRwcy1wYy1jb2xvci1oYWlybGluZTogICAgICNlNmUzZGMgIWRlZmF1bHQ7ICAvLyBib3JkZXJzXG4kcHMtcGMtY29sb3ItaGFpcmxpbmUtMjogICAjZWNlYmU2ICFkZWZhdWx0OyAgLy8gaW5uZXIgZGl2aWRlcnNcblxuLy8g4pSA4pSAIFNlbWFudGljIGNvbG9ycyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIERlc2lnbiB1c2VkIG9rbGNoKCk7IHRoZXNlIGFyZSBzUkdCIGVxdWl2YWxlbnRzIGZvciBicm9hZCBicm93c2VyIHN1cHBvcnQuXG4kcHMtcGMtY29sb3ItYWNjZW50OiAgICAgICAjYjQyMzE4ICFkZWZhdWx0OyAgLy8gYXV0b21vdGl2ZSByZWQgKGluLXN0b3JlIC8gc3RyaWtlKVxuJHBzLXBjLWNvbG9yLWFjY2VudC1pbms6ICAgIzdhMTgxMiAhZGVmYXVsdDtcbiRwcy1wYy1jb2xvci1hY2NlbnQtYmc6ICAgICNmYmVhZTggIWRlZmF1bHQ7XG4kcHMtcGMtY29sb3Itb2s6ICAgICAgICAgICAjMmY3ZDRmICFkZWZhdWx0OyAgLy8gaW4tc3RvY2sgLyBmaXRzIGdyZWVuXG4kcHMtcGMtY29sb3Itb2stYmc6ICAgICAgICAjZWFmNWVlICFkZWZhdWx0O1xuLy8gVW5pdmVyc2FsIEZpdG1lbnQgQmFkZ2luZyAoMjAyNi0wOS0yOCk6IHNsYXRlID0gXCJtZXRhZGF0YVwiLCBkZWxpYmVyYXRlbHlcbi8vIG5laXRoZXIgdGhlIGZpdHMgZ3JlZW4gbm9yIGEgd2FybmluZyBhbWJlci4gU2VlIF91bml2ZXJzYWwuc2Nzcy5cbiRwcy1wYy1jb2xvci11bml2OiAgICAgICAgICM0YTU1NjggIWRlZmF1bHQ7ICAvLyB1bml2ZXJzYWwgYmFkZ2UgaW5rXG4kcHMtcGMtY29sb3ItdW5pdi1iZzogICAgICAjZWVmMWY1ICFkZWZhdWx0OyAgLy8gdW5pdmVyc2FsIGJhZGdlIHdhc2hcbiRwcy1wYy1jb2xvci11bml2LWxpbmU6ICAgIHJnYmEoNzQsIDg1LCAxMDQsIDAuMjIpICFkZWZhdWx0O1xuLy8gXCJWZXJpZnkgZml0bWVudFwiICh1bml2ZXJzYWwgPSAyLCBOTyBmaXRtZW50IGRhdGEg4oCUIDIwMjYtMDktMjkpOiBhbWJlciwgYVxuLy8gY2F1dGlvbiByYXRoZXIgdGhhbiBpbmZvcm1hdGlvbiwgYW5kIGRlbGliZXJhdGVseSBub3QgdGhlIHVuaXZlcnNhbCBzbGF0ZVxuLy8gc28gdGhlIHR3byBuZXZlciByZWFkIGFzIHRoZSBzYW1lIHRoaW5nLiBTZWUgX3VuaXZlcnNhbC5zY3NzLlxuJHBzLXBjLWNvbG9yLXZlcmlmeTogICAgICAgI2I0NTMwOSAhZGVmYXVsdDsgIC8vIHZlcmlmeSBiYWRnZSBpbmtcbiRwcy1wYy1jb2xvci12ZXJpZnktYmc6ICAgICNmZGYzZTcgIWRlZmF1bHQ7ICAvLyB2ZXJpZnkgYmFkZ2Ugd2FzaFxuJHBzLXBjLWNvbG9yLXZlcmlmeS1saW5lOiAgcmdiYSgxODAsIDgzLCA5LCAwLjI4KSAhZGVmYXVsdDtcbiRwcy1wYy1jb2xvci13YXJuOiAgICAgICAgICNhNjY2MTYgIWRlZmF1bHQ7ICAvLyB1c2VkLWNvbmRpdGlvbiBhbWJlclxuJHBzLXBjLWNvbG9yLWluZm86ICAgICAgICAgIzJhNWRiMCAhZGVmYXVsdDsgIC8vIGxpbmtzIC8gemlwXG4kcHMtcGMtY29sb3ItaW5mby1iZzogICAgICAjZWFmMGZhICFkZWZhdWx0O1xuJHBzLXBjLWNvbG9yLWRpZ2l0YWw6ICAgICAgIzdjM2FlZCAhZGVmYXVsdDsgIC8vIGRpZ2l0YWwgZG93bmxvYWQgdmlvbGV0IChtYXRjaGVzIGV4aXN0aW5nIGJhZGdlKVxuJHBzLXBjLWNvbG9yLWRpZ2l0YWwtYmc6ICAgI2YzZWJmZSAhZGVmYXVsdDtcblxuLy8g4pSA4pSAIFR5cG9ncmFwaHkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBTdGF0aWMgbGl0ZXJhbCBvbiBwdXJwb3NlOiBfbWl4aW5zLnNjc3Mgd3JhcHMgdGhpcyBhc1xuLy8gdmFyKC0tcHMtZm9udC1wcmltYXJ5LCAjeyRwcy1wYy1mb250LXNhbnN9KTsgc2luY2UgYmFzZS9fZm9udHMgdG9rZW5pemVkXG4vLyAkZm9udC1mYW1pbHktcHJpbWFyeSBvbnRvIC0tcHMtZm9udC1IRUFESU5HICgyMDI2LTA5LTA1KSB1c2luZyBpdCBoZXJlIHdvdWxkXG4vLyBwdXQgdGhlIGhlYWRpbmcgZmFjZSBvbiBjYXJkIGJvZHkgdGV4dCB3aGVuZXZlciBvbmx5IHRoYXQgdG9rZW4gaXMgc2V0LlxuJHBzLXBjLWZvbnQtc2FuczogICAkZm9udC1mYW1pbHktcHJpbWFyeS1zdGF0aWMgIWRlZmF1bHQ7XG4kcHMtcGMtZm9udC1tb25vOiAgIHVpLW1vbm9zcGFjZSwgXCJTRiBNb25vXCIsIFwiSmV0QnJhaW5zIE1vbm9cIiwgTWVubG8sIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuJHBzLXBjLWZzLWhlcm86ICAgICAyMnB4ICFkZWZhdWx0OyAgLy8gYmlnIHByaWNlIC8gaGVybyB0aXRsZVxuJHBzLXBjLWZzLXRpdGxlOiAgICAxN3B4ICFkZWZhdWx0O1xuJHBzLXBjLWZzLXRpdGxlLXNtOiAxNXB4ICFkZWZhdWx0OyAgLy8gdjMgY29tcGFjdCB0aXRsZVxuJHBzLXBjLWZzLWJvZHk6ICAgICAxM3B4ICFkZWZhdWx0O1xuJHBzLXBjLWZzLXNtOiAgICAgICAxMnB4ICFkZWZhdWx0O1xuJHBzLXBjLWZzLXhzOiAgICAgICAxMXB4ICFkZWZhdWx0O1xuJHBzLXBjLWZzLW1vbm86ICAgICAxMC41cHggIWRlZmF1bHQ7IC8vIHBhcnQgbnVtYmVyc1xuJHBzLXBjLWZzLW1pY3JvOiAgICA5LjVweCAhZGVmYXVsdDsgIC8vIGxhYmVsc1xuXG4kcHMtcGMtZnctbm9ybWFsOiAgIDQwMCAhZGVmYXVsdDtcbiRwcy1wYy1mdy1tZWRpdW06ICAgNTAwICFkZWZhdWx0O1xuJHBzLXBjLWZ3LXNlbWlib2xkOiA2MDAgIWRlZmF1bHQ7XG4kcHMtcGMtZnctYm9sZDogICAgIDcwMCAhZGVmYXVsdDtcbiRwcy1wYy1mdy1oZWF2eTogICAgODAwICFkZWZhdWx0O1xuXG4vLyDilIDilIAgU3BhY2luZyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiRwcy1wYy1zcGFjZS14czogIDRweCAhZGVmYXVsdDtcbiRwcy1wYy1zcGFjZS1zbTogIDZweCAhZGVmYXVsdDtcbiRwcy1wYy1zcGFjZS1tZDogIDhweCAhZGVmYXVsdDtcbiRwcy1wYy1zcGFjZS1sZzogIDEycHggIWRlZmF1bHQ7XG4kcHMtcGMtc3BhY2UteGw6ICAxNHB4ICFkZWZhdWx0O1xuJHBzLXBjLXNwYWNlLTJ4bDogMThweCAhZGVmYXVsdDtcblxuLy8g4pSA4pSAIFJhZGlpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuJHBzLXBjLXJhZGl1cy1zbTogNHB4ICFkZWZhdWx0O1xuJHBzLXBjLXJhZGl1cy1tZDogNnB4ICFkZWZhdWx0O1xuJHBzLXBjLXJhZGl1cy1sZzogOHB4ICFkZWZhdWx0O1xuJHBzLXBjLXJhZGl1cy14bDogMTJweCAhZGVmYXVsdDtcblxuLy8g4pSA4pSAIFNoYWRvd3Mg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4kcHMtcGMtc2hhZG93LWNhcmQ6IDAgMXB4IDAgcmdiYSgwLDAsMCwwLjAyKSwgMCA4cHggMjBweCAtMTZweCByZ2JhKDAsMCwwLDAuMTgpICFkZWZhdWx0O1xuJHBzLXBjLXNoYWRvdy1wb3A6ICAwIDEwcHggMjVweCByZ2JhKDAsMCwwLDAuMTUpICFkZWZhdWx0O1xuXG4vLyDilIDilIAgTW90aW9uIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuJHBzLXBjLXRyYW5zaXRpb24tZmFzdDogMTUwbXMgZWFzZSAhZGVmYXVsdDtcbiRwcy1wYy10cmFuc2l0aW9uLWJhc2U6IDI1MG1zIGVhc2UgIWRlZmF1bHQ7XG5cbi8vIOKUgOKUgCBCcmVha3BvaW50cyAobWF0Y2ggdmVoaWNsZS1zZWxlY3QpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuJHBzLXBjLWJyZWFrcG9pbnQtc206IDU3NnB4ICFkZWZhdWx0O1xuJHBzLXBjLWJyZWFrcG9pbnQtbWQ6IDc2OHB4ICFkZWZhdWx0O1xuJHBzLXBjLWJyZWFrcG9pbnQtbGc6IDk5MnB4ICFkZWZhdWx0O1xuXG4vLyDilIDilIAgQ29udHJvbCBzaXppbmcg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4kcHMtcGMtYnV5LWhlaWdodDogICAgNDRweCAhZGVmYXVsdDtcbiRwcy1wYy1idXktaGVpZ2h0LXNtOiAzNnB4ICFkZWZhdWx0O1xuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUFJPRFVDVCBDQVJEIOKAlCBVbml2ZXJzYWwgRml0bWVudCBCYWRnaW5nIChvd25lciBnby1haGVhZCAyMDI2LTA5LTI4KVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRGVzaWduICsgY29tcHM6IHNxdWFyZS5wYXJ0cyBkb2NzL1VuaXZlcnNhbCBGaXRtZW50IEJhZGdpbmcvIChSRUFETUUgwqcz4oCTNSxcbi8vIGNvbXBzL3VuaXZlcnNhbC5jc3Mgd2FzIHRoZSBkcmFmdCB0aGVzZSBydWxlcyB3ZXJlIGxpZnRlZCBmcm9tKS5cbi8vXG4vLyBPbmUgZGF0YSBzb3VyY2UsIHRocmVlIHByZXNlbnRhdGlvbnMgKHRoZSBjYXJkIG5ldmVyIHNob3dzIG1vcmUgdGhhbiBvbmUpOlxuLy8gICBUaWVyIDEgIC5wcy1wY19fdW5pdi10YWcgICAgICAgc21hbGwgVU5JVkVSU0FMIHRhZyBpbiBhIHJvdyB0aGUgY2FyZFxuLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFscmVhZHkgZHJhd3Mg4oCUICswcHggaGVpZ2h0XG4vLyAgIFRpZXIgMiAgLnBzLXBjX19maXRzLS11bml2ZXJzYWwgc2xhdGUgY2hpcCBpbiB0aGUgZml0bWVudCBzbG90LCBzYW1lXG4vLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VvbWV0cnkgYXMgdGhlIGdyZWVuIFwiRml0cyB5b3Vy4oCmXCIgY2hpcFxuLy8gICAgICAgICAgIC5wcy1wYy12M19fZml0cy0tdW5pdmVyc2FsICBWMydzIG93biBvbmUtbGluZSB2ZXJzaW9uXG4vLyAgICsgICAgICAgLnBzLXBjX19maXRzLS11bmxpc3RlZCAgZ3JleSBcIkZpdG1lbnQgbm90IGxpc3RlZFwiIGNoaXBcbi8vICAgUGFnZSAgICAucHMtdW5pdi1vdmVybGF5ICAgICAgICB0aGUgc2hhcmVkIFwiV2hhdCBkb2VzIHVuaXZlcnNhbCBtZWFuP1wiXG4vLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hlZXQgKG1vdmVkIHRvIDxib2R5PiBieSB1bml2ZXJzYWwuanMpXG4vLyBUaGUgdG9vbGJhcidzIGFsbC11bml2ZXJzYWwgbm90ZSBsaXZlcyBpbiBfdW5pdmVyc2FsLW5vdGUuc2NzcyAoaXQgc2hpcHMgaW5cbi8vIHRoZSBwcm9kdWN0LXRvb2xiYXIgYnVuZGxlcywgbm90IGhlcmUpLlxuLy9cbi8vIENPTE9VUjogc2xhdGUg4oCUIG5vdCBncmVlbiAoZ3JlZW4gbWVhbnMgXCJjb25maXJtZWQgdG8gZml0IFlPVVIgdmVoaWNsZVwiKSBhbmRcbi8vIG5vdCBhbWJlci9yZWQgKGEgdW5pdmVyc2FsIHBhcnQgaXMgYSBnb29kIHByb2R1Y3QsIG5vdCBhIHdhcm5pbmcpLiBUaGUgY2FyZFxuLy8gcm9vdCBkZWNsYXJlcyAtLXBzLXBjLWNvbG9yLXVuaXYgLyAtYmcgLyAtbGluZSBpbiBwcy1wYy1yb290LXRva2Vuc1xuLy8gKF9taXhpbnMuc2NzcyksIHJlYWRpbmcgdGhlIFN0eWxlLXRhYiBvdmVycmlkZSB2YXIgLS1wcy1wYy11bml2IGZpcnN0IHNvIGFcbi8vIHBlci1ibG9jayB0b2tlbiBzdXJ2aXZlcyB0aGUgY2FyZCByZS1kZWNsYXJpbmcgaXRzIG93biB0b2tlbnMuXG4vL1xuLy8gU1BFQ0lGSUNJVFk6IFN1bW1pdCByZXN0eWxlcyBgLnBzLXBjX19maXRzYCBhdCAoMCwzLDApIEFGVEVSIHRoaXMgZmlsZSBpc1xuLy8gaW1wb3J0ZWQsIGFuZCB0aGUgYmFzZSBjaGlwIHJ1bGUgaXMgKDAsMiwwKS4gRXZlcnkgc2xvdCBvdmVycmlkZSBiZWxvdyBpc1xuLy8ga2V5ZWQgb24gdGhlIHJvb3QncyBkYXRhLWZpdG1lbnQgYXR0cmlidXRlICsgYSBkb3VibGVkIGNoaXAgY2xhc3Mgc28gaXRcbi8vIHdpbnMgb24gZXZlcnkgdmFyaWFudCByZWdhcmRsZXNzIG9mIG9yZGVyLiBBIGJhcmUgYC5wcy1wY19fZml0cy0tdW5pdmVyc2FsYFxuLy8gbG9zZXMgYW5kIHRoZSBjaGlwIHN0YXlzIGdyZWVuIOKAlCB0aGUgZXhhY3QgYnVnIHRoZSBjb21wIGNhdWdodCAyMDI2LTA5LTA2LlxuLy9cbi8vIEltcG9ydGVkIGJ5OiBfcGFydGlhbHMuc2NzcyAoZXZlcnkgYnVpbGRlciB2YXJpYW50IGJ1bmRsZSkgYW5kXG4vLyBsZWdhY3kvaW5kZXguc2NzcyAodGhlIHRhZyArIG92ZXJsYXkgb25seSDigJQgbGVnYWN5IGhhcyBubyBmaXRtZW50IHNsb3QpLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyDilIDilIAgVGllciAxOiBjb21wYWN0IHRhZyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIFRvcC1sZXZlbCAobm90IGNhcmQtc2NvcGVkKSBzbyB0aGUgbGVnYWN5IGJ1bmRsZSwgd2hpY2ggaGFzIG5vIGNhcmQgc2NvcGVcbi8vIHJ1bGVzLCBzdGlsbCBwYWludHMgaXQ7IHRoZSBkb3VibGVkIHNlbGVjdG9yIG91dC1yYW5rcyBhIHNpdGUncyBnbG9iYWxcbi8vIGBidXR0b24ge31gIHN0eWxpbmcgb24gbGVnYWN5IHBhZ2VzLiBGYWxsYmFjayBjb2xvdXJzIGNvdmVyIGxlZ2FjeSwgd2hlcmVcbi8vIHRoZSBjYXJkIHJvb3QgdG9rZW5zIGFyZSBub3QgZGVjbGFyZWQuXG4ucHMtcGNfX3VuaXYtdGFnLFxuLnBzLWNvbXBvbmVudC0tcHJvZHVjdC1jYXJkIC5wcy1wY19fdW5pdi10YWcge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IGFwcGVhcmFuY2U6IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDRweDtcbiAgbWFyZ2luOiAwOyBwYWRkaW5nOiAxcHggNnB4IDFweCA1cHg7XG4gIGJvcmRlcjogMDsgYm9yZGVyLXJhZGl1czogM3B4OyBib3gtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1wcy1wYy1jb2xvci11bml2LWJnLCAjZWVmMWY1KTtcbiAgY29sb3I6IHZhcigtLXBzLXBjLWNvbG9yLXVuaXYsICM0YTU1NjgpO1xuICBmb250LWZhbWlseTogdmFyKC0tcHMtcGMtZm9udC1zYW5zLCBpbmhlcml0KTtcbiAgZm9udC1zaXplOiA5LjVweDsgZm9udC13ZWlnaHQ6IDcwMDsgbGluZS1oZWlnaHQ6IDEuNTU7XG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBwb2ludGVyOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBzdmcgeyBkaXNwbGF5OiBibG9jazsgZmxleDogMCAwIGF1dG87IG9wYWNpdHk6IDAuOTsgfVxuICAmOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tcHMtcGMtY29sb3ItdW5pdiwgIzRhNTU2OCk7IGNvbG9yOiAjZmZmOyB9XG4gICY6Zm9jdXMtdmlzaWJsZSB7IG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1wcy1wYy1jb2xvci11bml2LCAjNGE1NTY4KTsgb3V0bGluZS1vZmZzZXQ6IDFweDsgfVxufVxuXG4vLyBQbGFjZW1lbnQgdHdlYWtzIHBlciBob3N0IHJvdy5cbi5wcy1jb21wb25lbnQtLXByb2R1Y3QtY2FyZCB7XG4gIC5wcy1wY19fbWV0YSAucHMtcGNfX3VuaXYtdGFnICAgICAgeyBtYXJnaW4tbGVmdDogMnB4OyB9XG4gIC5wcy1wYy1zbV9fZXllYnJvdyAucHMtcGNfX3VuaXYtdGFnIHsgbWFyZ2luLWxlZnQ6IDZweDsgdmVydGljYWwtYWxpZ246IDFweDsgfVxuICAucHMtcGMtdjNfX21mZyAucHMtcGNfX3VuaXYtdGFnICAgIHsgbWFyZ2luLXRvcDogM3B4OyB9XG4gIC5wcy1wYy12Ml9faGVyby1jaGlwcyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZmxleC13cmFwOiB3cmFwOyBnYXA6IDZweDtcbiAgfVxufVxuLm1vYmlsZS1rZXktaW5mb19fcm93IC5wcy1wY19fdW5pdi10YWcgeyBmb250LXNpemU6IDEwcHg7IH1cblxuLy8g4pSA4pSAIFRpZXIgMjogY2hpcCBpbiB0aGUgZml0bWVudCBzbG90IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLnBzLWNvbXBvbmVudC0tcHJvZHVjdC1jYXJkW2RhdGEtZml0bWVudF0ge1xuICAucHMtcGNfX2ZpdHMucHMtcGNfX2ZpdHMtLXVuaXZlcnNhbCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcHMtcGMtY29sb3ItdW5pdi1iZyk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcHMtcGMtY29sb3ItdW5pdi1saW5lKTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIC5wcy1wY19fZml0cy1oZWFkIHsgY3Vyc29yOiBwb2ludGVyOyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgIC5wcy1wY19fZml0cy1oZWFkOmZvY3VzLXZpc2libGUgeyBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tcHMtcGMtY29sb3ItdW5pdik7IG91dGxpbmUtb2Zmc2V0OiAtMnB4OyB9XG4gICAgLnBzLXBjX19maXRzLWNoZWNrIHsgYmFja2dyb3VuZDogdmFyKC0tcHMtcGMtY29sb3ItdW5pdik7IGNvbG9yOiAjZmZmOyB9XG4gICAgLnBzLXBjX19maXRzLWxhYmVsIHsgY29sb3I6IHZhcigtLXBzLXBjLWNvbG9yLXVuaXYpOyB9XG4gICAgLnBzLXBjX19maXRzLXByaW1hcnkgeyBjb2xvcjogdmFyKC0tcHMtcGMtY29sb3ItaW5rLTIpOyBmb250LXdlaWdodDogNTAwOyB9XG4gICAgLnBzLXBjX19maXRzLWhlYWQ6aG92ZXIgLnBzLXBjX19maXRzLWluZm8sXG4gICAgLnBzLXBjX19maXRzLWhlYWQ6Zm9jdXMtdmlzaWJsZSAucHMtcGNfX2ZpdHMtaW5mbyB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcy1wYy1jb2xvci11bml2KTsgY29sb3I6ICNmZmY7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2lyY2xlZCBcImlcIiDigJQgdGhlIHZpc2libGUgcHJvbWlzZSB0aGF0IHRhcHBpbmcgZXhwbGFpbnMgdGhlIGJhZGdlLlxuICAucHMtcGNfX2ZpdHMtaW5mbyB7XG4gICAgZmxleDogMCAwIGF1dG87IHdpZHRoOiAxNXB4OyBoZWlnaHQ6IDE1cHg7IGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcHMtcGMtY29sb3ItdW5pdi1saW5lKTtcbiAgICBjb2xvcjogdmFyKC0tcHMtcGMtY29sb3ItdW5pdik7IGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICBmb250LXNpemU6IDkuNXB4OyBmb250LXdlaWdodDogNzAwOyBmb250LXN0eWxlOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgLy8gXCJGaXRtZW50IG5vdCBsaXN0ZWRcIjogbmV1dHJhbCBncmV5LCBzdGF0aWMgKG5vdGhpbmcgdG8gb3BlbikuXG4gIC5wcy1wY19fZml0cy5wcy1wY19fZml0cy0tdW5saXN0ZWQge1xuICAgIGJhY2tncm91bmQ6ICNmM2YxZWM7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMDcsIDExMCwgMTE4LCAwLjIpO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgLnBzLXBjX19maXRzLWhlYWQgeyBjdXJzb3I6IGRlZmF1bHQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgLnBzLXBjX19maXRzLWNoZWNrIHsgYmFja2dyb3VuZDogIzhhOGQ5NDsgY29sb3I6ICNmZmY7IH1cbiAgICAucHMtcGNfX2ZpdHMtbGFiZWwgeyBjb2xvcjogIzZiNmU3NjsgfVxuICAgIC5wcy1wY19fZml0cy1wcmltYXJ5IHsgY29sb3I6IHZhcigtLXBzLXBjLWNvbG9yLWluay0yKTsgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICB9XG5cbiAgLy8gVjMncyBvd24gb25lLWxpbmVyIChWMyBkb2VzIG5vdCB1c2UgX2ZpdHMpLiBUaGUgdW5pdmVyc2FsIHJvdyBpcyBhXG4gIC8vIDxidXR0b24+LCBzbyBpdCBuZWVkcyBhIGZ1bGwgcmVzZXQgdG8gbG9vayBsaWtlIHRoZSBncmVlbiA8ZGl2PiByb3cuXG4gIC5wcy1wYy12M19fZml0cy5wcy1wYy12M19fZml0cy0tdW5pdmVyc2FsIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7IG1hcmdpbjogMDsgYm9yZGVyOiAwOyB0ZXh0LWFsaWduOiBsZWZ0OyBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcHMtcGMtY29sb3ItdW5pdi1iZyk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXBzLXBjLWNvbG9yLXVuaXYtbGluZSk7XG4gICAgLnBzLXBjLXYzX19maXRzLWNoZWNrIHsgYmFja2dyb3VuZDogdmFyKC0tcHMtcGMtY29sb3ItdW5pdik7IH1cbiAgICAucHMtcGMtdjNfX2ZpdHMtdGV4dCB7IGNvbG9yOiB2YXIoLS1wcy1wYy1jb2xvci1pbmstMik7IGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICAucHMtcGMtdjNfX2ZpdHMtdGV4dCBiIHsgY29sb3I6IHZhcigtLXBzLXBjLWNvbG9yLXVuaXYpOyBmb250LXdlaWdodDogNzAwOyB9XG4gICAgJjpmb2N1cy12aXNpYmxlIHsgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLXBzLXBjLWNvbG9yLXVuaXYpOyBvdXRsaW5lLW9mZnNldDogMXB4OyB9XG4gICAgJjpob3ZlciAucHMtcGNfX2ZpdHMtaW5mbyB7IGJhY2tncm91bmQ6IHZhcigtLXBzLXBjLWNvbG9yLXVuaXYpOyBjb2xvcjogI2ZmZjsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICB9XG4gIC5wcy1wYy12M19fZml0cy5wcy1wYy12M19fZml0cy0tdW5saXN0ZWQge1xuICAgIGJhY2tncm91bmQ6ICNmM2YxZWM7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHJnYmEoMTA3LCAxMTAsIDExOCwgMC4yKTtcbiAgICAucHMtcGMtdjNfX2ZpdHMtY2hlY2sgeyBiYWNrZ3JvdW5kOiAjOGE4ZDk0OyB9XG4gICAgLnBzLXBjLXYzX19maXRzLXRleHQgeyBjb2xvcjogdmFyKC0tcHMtcGMtY29sb3ItaW5rLTIpOyBmb250LXdlaWdodDogNTAwOyB9XG4gICAgLnBzLXBjLXYzX19maXRzLXRleHQgYiB7IGNvbG9yOiAjNmI2ZTc2OyBmb250LXdlaWdodDogNzAwOyB9XG4gIH1cbn1cblxuLy8g4pSA4pSAIFwiVmVyaWZ5IGZpdG1lbnRcIiDigJQgdW5pdmVyc2FsID0gMiwgTk8gZml0bWVudCBkYXRhICgyMDI2LTA5LTI5KSDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIFNhbWUgdGhyZWUgcHJlc2VudGF0aW9ucyBhcyB1bml2ZXJzYWwsIGtleWVkIG9uIGRhdGEtZml0bWVudD1cInVudmVyaWZpZWRcIixcbi8vIGluIHRoZSB2ZXJpZnkgYW1iZXIuIE5ldmVyIHRoZSB1bml2ZXJzYWwgc2xhdGU6IGEgc2hvcHBlciBtdXN0IGJlIGFibGUgdG9cbi8vIHRlbGwgXCJmaXRzIG1hbnkgdmVoaWNsZXNcIiBmcm9tIFwid2UgZG9uJ3Qga25vdyB3aGF0IHRoaXMgZml0c1wiIGF0IGEgZ2xhbmNlLlxuLnBzLXBjX191bml2LXRhZy5wcy1wY19fdW5pdi10YWctLXZlcmlmeSxcbi5wcy1jb21wb25lbnQtLXByb2R1Y3QtY2FyZCAucHMtcGNfX3VuaXYtdGFnLS12ZXJpZnkge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1wcy1wYy1jb2xvci12ZXJpZnktYmcsICNmZGYzZTcpO1xuICBjb2xvcjogdmFyKC0tcHMtcGMtY29sb3ItdmVyaWZ5LCAjYjQ1MzA5KTtcbiAgJjpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLXBzLXBjLWNvbG9yLXZlcmlmeSwgI2I0NTMwOSk7IGNvbG9yOiAjZmZmOyB9XG4gICY6Zm9jdXMtdmlzaWJsZSB7IG91dGxpbmUtY29sb3I6IHZhcigtLXBzLXBjLWNvbG9yLXZlcmlmeSwgI2I0NTMwOSk7IH1cbn1cbi5wcy1jb21wb25lbnQtLXByb2R1Y3QtY2FyZFtkYXRhLWZpdG1lbnRdIHtcbiAgLnBzLXBjX19maXRzLnBzLXBjX19maXRzLS11bnZlcmlmaWVkIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcy1wYy1jb2xvci12ZXJpZnktYmcpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXBzLXBjLWNvbG9yLXZlcmlmeS1saW5lKTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIC5wcy1wY19fZml0cy1oZWFkIHsgY3Vyc29yOiBwb2ludGVyOyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgIC5wcy1wY19fZml0cy1oZWFkOmZvY3VzLXZpc2libGUgeyBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tcHMtcGMtY29sb3ItdmVyaWZ5KTsgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IH1cbiAgICAucHMtcGNfX2ZpdHMtY2hlY2sgeyBiYWNrZ3JvdW5kOiB2YXIoLS1wcy1wYy1jb2xvci12ZXJpZnkpOyBjb2xvcjogI2ZmZjsgfVxuICAgIC5wcy1wY19fZml0cy1sYWJlbCB7IGNvbG9yOiB2YXIoLS1wcy1wYy1jb2xvci12ZXJpZnkpOyB9XG4gICAgLnBzLXBjX19maXRzLXByaW1hcnkgeyBjb2xvcjogdmFyKC0tcHMtcGMtY29sb3ItaW5rLTIpOyBmb250LXdlaWdodDogNTAwOyB9XG4gICAgLnBzLXBjX19maXRzLWluZm8geyBib3JkZXItY29sb3I6IHZhcigtLXBzLXBjLWNvbG9yLXZlcmlmeS1saW5lKTsgY29sb3I6IHZhcigtLXBzLXBjLWNvbG9yLXZlcmlmeSk7IH1cbiAgICAucHMtcGNfX2ZpdHMtaGVhZDpob3ZlciAucHMtcGNfX2ZpdHMtaW5mbyxcbiAgICAucHMtcGNfX2ZpdHMtaGVhZDpmb2N1cy12aXNpYmxlIC5wcy1wY19fZml0cy1pbmZvIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXBzLXBjLWNvbG9yLXZlcmlmeSk7IGNvbG9yOiAjZmZmOyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuICAucHMtcGMtdjNfX2ZpdHMucHMtcGMtdjNfX2ZpdHMtLXVudmVyaWZpZWQge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgYXBwZWFyYW5jZTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTsgbWFyZ2luOiAwOyBib3JkZXI6IDA7IHRleHQtYWxpZ246IGxlZnQ7IGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcy1wYy1jb2xvci12ZXJpZnktYmcpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1wcy1wYy1jb2xvci12ZXJpZnktbGluZSk7XG4gICAgLnBzLXBjLXYzX19maXRzLWNoZWNrIHsgYmFja2dyb3VuZDogdmFyKC0tcHMtcGMtY29sb3ItdmVyaWZ5KTsgfVxuICAgIC5wcy1wYy12M19fZml0cy10ZXh0IHsgY29sb3I6IHZhcigtLXBzLXBjLWNvbG9yLWluay0yKTsgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAgIC5wcy1wYy12M19fZml0cy10ZXh0IGIgeyBjb2xvcjogdmFyKC0tcHMtcGMtY29sb3ItdmVyaWZ5KTsgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5wcy1wY19fZml0cy1pbmZvIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcy1wYy1jb2xvci12ZXJpZnktbGluZSk7IGNvbG9yOiB2YXIoLS1wcy1wYy1jb2xvci12ZXJpZnkpOyB9XG4gICAgJjpmb2N1cy12aXNpYmxlIHsgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLXBzLXBjLWNvbG9yLXZlcmlmeSk7IG91dGxpbmUtb2Zmc2V0OiAxcHg7IH1cbiAgICAmOmhvdmVyIC5wcy1wY19fZml0cy1pbmZvIHsgYmFja2dyb3VuZDogdmFyKC0tcHMtcGMtY29sb3ItdmVyaWZ5KTsgY29sb3I6ICNmZmY7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgfVxufVxuLy8gVGhlIGV4cGxhaW5lciBzaGVldCByZWFkcyAtLXBzLXBjLWNvbG9yLXVuaXY7IHVuaXZlcnNhbC5qcyBjb3BpZXMgdGhlIHZlcmlmeVxuLy8gY29sb3VyIG9udG8gdGhvc2UgdmFycyB3aGVuIHRoZSB2ZXJpZnkgY29weSBpcyBvcGVuLCBzbyBubyBydWxlIGlzIG5lZWRlZC5cblxuLy8g4pSA4pSAIE9wdGlvbmFsIGNhcmQgYWNjZW50ICh1bml2ZXJzYWxBY2NlbnQsIGRlZmF1bHQgbm9uZSkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBBIHBzZXVkby1lbGVtZW50IHJ1bGUvb3V0bGluZSBzbyBuZWl0aGVyIHRvdWNoZXMgdGhlIHZhcmlhbnQncyBvd24gYm9yZGVyIG9yXG4vLyBib3gtc2hhZG93IChTdW1taXQgZHJhd3MgaXRzIGJvcmRlciBBUyBhIGJveC1zaGFkb3cpLiBwb3NpdGlvbjpyZWxhdGl2ZSBpc1xuLy8gc2V0IG9ubHkgb24gYWNjZW50ZWQgdW5pdmVyc2FsIGNhcmRzLlxuLnBzLWNvbXBvbmVudC0tcHJvZHVjdC1jYXJkLnBzLXBjLS11bml2LXJ1bGVbZGF0YS1maXRtZW50PVwidW5pdmVyc2FsXCJdIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMDsgdG9wOiAwOyBib3R0b206IDA7IHdpZHRoOiAzcHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcHMtcGMtY29sb3ItdW5pdik7IHBvaW50ZXItZXZlbnRzOiBub25lOyB6LWluZGV4OiAyO1xuICB9XG59XG4ucHMtY29tcG9uZW50LS1wcm9kdWN0LWNhcmQucHMtcGMtLXVuaXYtb3V0bGluZVtkYXRhLWZpdG1lbnQ9XCJ1bml2ZXJzYWxcIl0ge1xuICBvdXRsaW5lOiAxcHggc29saWQgdmFyKC0tcHMtcGMtY29sb3ItdW5pdik7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xufVxuXG4vLyDilIDilIAgRXhwbGFpbmVyIG92ZXJsYXkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBTYW1lIHNjcmltIC8gc2hlZXQgLyBFc2NhcGUgcGF0dGVybiBhcyB0aGUgY2FyZCdzIHN0b3JlIG92ZXJsYXk7IGxpdmVzIGluXG4vLyA8Ym9keT4gb25jZSBvcGVuZWQsIHNvIGl0IGNhbm5vdCByZWx5IG9uIGNhcmQtc2NvcGVkIHRva2VucyDigJQgdW5pdmVyc2FsLmpzXG4vLyBjb3BpZXMgdGhlIGNsaWNrZWQgY2FyZCdzIC0tcHMtcGMtY29sb3ItdW5pdiBvbnRvIGl0LCBhbmQgZXZlcnkgY29sb3VyIGhlcmVcbi8vIGNhcnJpZXMgdGhlIHNsYXRlIGZhbGxiYWNrLiBDZW50cmVkIGNhcmQgb24gZGVza3RvcCwgYm90dG9tIHNoZWV0IG9uIHBob25lcy5cbkBhdC1yb290IGh0bWwucHMtcGMtb3ZlcmxheS1sb2NrLCBodG1sLnBzLXBjLW92ZXJsYXktbG9jayBib2R5IHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuLnBzLXVuaXYtb3ZlcmxheVtoaWRkZW5dIHsgZGlzcGxheTogbm9uZTsgfVxuLnBzLXVuaXYtb3ZlcmxheSB7XG4gIC8vIEFib3ZlIEVWRVJZVEhJTkcsIHN0aWNreSBoZWFkZXJzIGluY2x1ZGVkOiB0aGUgbGVnYWN5IGhlYWRlcidzIHN0dWNrXG4gIC8vIHNlYXJjaCBiYXIgc2l0cyBhdCB6LWluZGV4IDEwMDAwMSAoc3R5bGVzL2xlZ2FjeS9sYXlvdXQuc2NzcywgaG9tZTguc2NzcylcbiAgLy8gYW5kIHN0YXllZCB1bmRpbW1lZCBvdmVyIGEgOTk5OSBzaGVldCBvbiBOYWRlcidzIHBob25lIHZpZXcgKDIwMjYtMDktMjgpLlxuICBwb3NpdGlvbjogZml4ZWQ7IGluc2V0OiAwOyB6LWluZGV4OiAxMDAwMTA7XG4gIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBwYWRkaW5nOiAyMHB4O1xuICBmb250LWZhbWlseTogdmFyKC0tcHMtZm9udC1wcmltYXJ5LCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIFJvYm90bywgc2Fucy1zZXJpZik7XG59XG4ucHMtdW5pdi1vdmVybGF5X19zY3JpbSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7IGJhY2tncm91bmQ6IHJnYmEoMTYsIDE4LCAyMiwgMC40NSk7IH1cbi5wcy11bml2LW92ZXJsYXlfX3NoZWV0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB3aWR0aDogMTAwJTsgbWF4LXdpZHRoOiA0MjBweDsgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDQwcHgpOyBvdmVyZmxvdzogYXV0bztcbiAgYmFja2dyb3VuZDogI2ZmZjsgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgYm94LXNoYWRvdzogMCAxOHB4IDUwcHggcmdiYSgwLCAwLCAwLCAwLjI4KTtcbiAgZm9udC1zaXplOiAxM3B4OyBsaW5lLWhlaWdodDogMS41OyBjb2xvcjogIzNhM2Q0NDsgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5wcy11bml2LW92ZXJsYXlfX2hlYWQge1xuICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDlweDtcbiAgcGFkZGluZzogMTNweCAxNHB4OyBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VjZWJlNjtcbiAgYmFja2dyb3VuZDogdmFyKC0tcHMtcGMtY29sb3ItdW5pdi1iZywgI2VlZjFmNSk7XG59XG4ucHMtdW5pdi1vdmVybGF5X19iYWRnZSB7XG4gIHdpZHRoOiAyMnB4OyBoZWlnaHQ6IDIycHg7IGJvcmRlci1yYWRpdXM6IDVweDsgZmxleDogMCAwIGF1dG87XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogdmFyKC0tcHMtcGMtY29sb3ItdW5pdiwgIzRhNTU2OCk7IGNvbG9yOiAjZmZmO1xuICBzdmcgeyBkaXNwbGF5OiBibG9jazsgfVxufVxuLnBzLXVuaXYtb3ZlcmxheV9fdGl0bGUgeyBmbGV4OiAxOyBmb250LXNpemU6IDE0LjVweDsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6ICMxMDEyMTY7IH1cbi5wcy11bml2LW92ZXJsYXlfX3gge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7IGJvcmRlcjogMDsgY3Vyc29yOiBwb2ludGVyOyBjb2xvcjogIzZiNmU3NjsgcGFkZGluZzogNHB4OyBtYXJnaW46IC0ycHg7IGxpbmUtaGVpZ2h0OiAwO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDYpOyB9XG4gICY6Zm9jdXMtdmlzaWJsZSB7IG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1wcy1wYy1jb2xvci11bml2LCAjNGE1NTY4KTsgb3V0bGluZS1vZmZzZXQ6IDFweDsgfVxufVxuLnBzLXVuaXYtb3ZlcmxheV9fYm9keSB7IHBhZGRpbmc6IDEzcHggMTRweCAxNXB4OyB9XG4ucHMtdW5pdi1vdmVybGF5X19ib2R5IHAgeyBtYXJnaW46IDAgMCA5cHg7IH1cbi5wcy11bml2LW92ZXJsYXlfX2JvZHkgcDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuLnBzLXVuaXYtb3ZlcmxheV9fdmVoaWNsZSB7XG4gIHBhZGRpbmc6IDhweCAxMHB4OyBib3JkZXItcmFkaXVzOiA2cHg7IGJhY2tncm91bmQ6ICNmM2YxZWM7XG4gIGZvbnQtc2l6ZTogMTIuNXB4OyBjb2xvcjogIzNhM2Q0NDsgbWFyZ2luOiAwIDAgMTBweDtcbn1cbi5wcy11bml2LW92ZXJsYXlfX2xpc3QgeyBtYXJnaW46IDAgMCAxMHB4OyBwYWRkaW5nOiAwOyBsaXN0LXN0eWxlOiBub25lOyB9XG4ucHMtdW5pdi1vdmVybGF5X19saXN0IGxpIHsgcG9zaXRpb246IHJlbGF0aXZlOyBwYWRkaW5nLWxlZnQ6IDE2cHg7IG1hcmdpbi1ib3R0b206IDZweDsgfVxuLnBzLXVuaXYtb3ZlcmxheV9fbGlzdCBsaTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiA0cHg7IHRvcDogN3B4O1xuICB3aWR0aDogNHB4OyBoZWlnaHQ6IDRweDsgYm9yZGVyLXJhZGl1czogNTAlOyBiYWNrZ3JvdW5kOiB2YXIoLS1wcy1wYy1jb2xvci11bml2LCAjNGE1NTY4KTtcbn1cbi5wcy11bml2LW92ZXJsYXlfX2ZpbmUgeyBjb2xvcjogIzZiNmU3NjsgZm9udC1zaXplOiAxMnB4OyBtYXJnaW4tdG9wOiAxMHB4OyB9XG4ucHMtdW5pdi1vdmVybGF5X19mb290IHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlY2ViZTY7IHBhZGRpbmc6IDEwcHggMTRweDtcbiAgZGlzcGxheTogZmxleDsgZ2FwOiA4cHg7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IGJhY2tncm91bmQ6ICNmYWY5ZjY7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAxMnB4IDEycHg7XG59XG4ucHMtdW5pdi1vdmVybGF5X19idG4ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IGFwcGVhcmFuY2U6IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlM2RjOyBiYWNrZ3JvdW5kOiAjZmZmOyBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDdweCAxMnB4OyBmb250OiBpbmhlcml0OyBmb250LXNpemU6IDEyLjVweDsgZm9udC13ZWlnaHQ6IDYwMDsgbGluZS1oZWlnaHQ6IDEuMztcbiAgY3Vyc29yOiBwb2ludGVyOyBjb2xvcjogIzEwMTIxNjsgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAmOmZvY3VzLXZpc2libGUgeyBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tcHMtcGMtY29sb3ItdW5pdiwgIzRhNTU2OCk7IG91dGxpbmUtb2Zmc2V0OiAxcHg7IH1cbn1cbi5wcy11bml2LW92ZXJsYXlfX2J0bltoaWRkZW5dIHsgZGlzcGxheTogbm9uZTsgfVxuLnBzLXVuaXYtb3ZlcmxheV9fYnRuLS1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tcHMtcGMtY29sb3ItdW5pdiwgIzRhNTU2OCk7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGNvbG9yOiAjZmZmO1xuICAmOmhvdmVyIHsgY29sb3I6ICNmZmY7IGZpbHRlcjogYnJpZ2h0bmVzcygxLjA4KTsgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5wcy11bml2LW92ZXJsYXkgeyBhbGlnbi1pdGVtczogZmxleC1lbmQ7IHBhZGRpbmc6IDA7IH1cbiAgLnBzLXVuaXYtb3ZlcmxheV9fc2hlZXQgeyBtYXgtd2lkdGg6IG5vbmU7IGJvcmRlci1yYWRpdXM6IDE0cHggMTRweCAwIDA7IG1heC1oZWlnaHQ6IDg1dmg7IH1cbiAgLnBzLXVuaXYtb3ZlcmxheV9fZm9vdCB7IGJvcmRlci1yYWRpdXM6IDA7IH1cbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/