@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 .product-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 .price-sign{font-weight:500;font-size:1.25rem}.product-list-selector .products-cont .product-cont .pricing .price .price-amount{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 .price-sign,.product-cont--mobile .pricing .price .price-amount{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 .price-sign,.product-cont--mobile .pricing .price .price-amount{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__stores--inline{container:ps-pc-stores/inline-size}.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--cell,.ps-component--product-card .ps-pc__store-avail--nowrap{white-space:normal;overflow-wrap:break-word}.ps-component--product-card .ps-pc__store-address--cell,.ps-component--product-card .ps-pc__store-address--nowrap{white-space:normal;overflow-wrap:break-word;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.ps-component--product-card .ps-pc__store-tag-inline{display:inline-block;margin:2px 6px 0 0;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}@container ps-pc-stores (max-width: 359px){.ps-component--product-card .ps-pc__store-inline{flex-direction:column}.ps-component--product-card .ps-pc__store-inline .ps-pc__store-inline-cell{flex:0 0 auto;padding:6px 10px}.ps-component--product-card .ps-pc__store-inline .ps-pc__store-inline-cell .ps-pc__store-address--cell,.ps-component--product-card .ps-pc__store-inline .ps-pc__store-inline-cell .ps-pc__store-address--nowrap{-webkit-line-clamp:1}.ps-component--product-card .ps-pc__store-inline .ps-pc__store-inline-cell+.ps-pc__store-inline-cell{border-left:0;border-top:1px solid var(--ps-pc-color-hairline-2, #ecebe6)}.ps-component--product-card .ps-pc__store-inline .ps-pc__store-inline-cell.is-current::after{top:0;right:auto;width:3px;height:auto}.ps-component--product-card .ps-pc__store-inline .ps-pc__store-more{width:auto;flex-direction:row;gap:6px;padding:7px 10px;border-left:0;border-top:1px solid var(--ps-pc-color-hairline-2, #ecebe6)}.ps-component--product-card .ps-pc__store-head{flex-wrap:wrap;justify-content:flex-start;column-gap:10px;row-gap:2px}.ps-component--product-card .ps-pc__store-head-label{flex:1 0 100%}.ps-component--product-card .ps-pc__zip-line,.ps-component--product-card .ps-pc__store-locate span{white-space:nowrap}}@container ps-pc-stores (max-width: 419px){.ps-component--product-card .ps-pc__store-inline:has(>.ps-pc__store-more){flex-direction:column}.ps-component--product-card .ps-pc__store-inline:has(>.ps-pc__store-more) .ps-pc__store-inline-cell{flex:0 0 auto;padding:6px 10px}.ps-component--product-card .ps-pc__store-inline:has(>.ps-pc__store-more) .ps-pc__store-inline-cell .ps-pc__store-address--cell,.ps-component--product-card .ps-pc__store-inline:has(>.ps-pc__store-more) .ps-pc__store-inline-cell .ps-pc__store-address--nowrap{-webkit-line-clamp:1}.ps-component--product-card .ps-pc__store-inline:has(>.ps-pc__store-more) .ps-pc__store-inline-cell+.ps-pc__store-inline-cell{border-left:0;border-top:1px solid var(--ps-pc-color-hairline-2, #ecebe6)}.ps-component--product-card .ps-pc__store-inline:has(>.ps-pc__store-more) .ps-pc__store-inline-cell.is-current::after{top:0;right:auto;width:3px;height:auto}.ps-component--product-card .ps-pc__store-inline:has(>.ps-pc__store-more) .ps-pc__store-more{width:auto;flex-direction:row;gap:6px;padding:7px 10px;border-left:0;border-top:1px solid var(--ps-pc-color-hairline-2, #ecebe6)}}@container ps-pc-stores (min-width: 260px) and (max-width: 359px){.ps-component--product-card .ps-pc__store-inline .ps-pc__store-inline-info{display:grid;grid-template-columns:minmax(0, 1fr) auto;column-gap:10px;align-items:baseline}.ps-component--product-card .ps-pc__store-inline .ps-pc__store-avail{grid-column:1;grid-row:1}.ps-component--product-card .ps-pc__store-inline .ps-pc__store-address{grid-column:1;grid-row:2}.ps-component--product-card .ps-pc__store-inline .ps-pc__store-tag-inline{grid-column:2;grid-row:1;justify-self:end;margin:0}.ps-component--product-card .ps-pc__store-inline .ps-pc__store-distance{grid-column:2;grid-row:2;justify-self:end}}@container ps-pc-stores (min-width: 360px) and (max-width: 419px){.ps-component--product-card .ps-pc__store-inline:has(>.ps-pc__store-more) .ps-pc__store-inline-info{display:grid;grid-template-columns:minmax(0, 1fr) auto;column-gap:10px;align-items:baseline}.ps-component--product-card .ps-pc__store-inline:has(>.ps-pc__store-more) .ps-pc__store-avail{grid-column:1;grid-row:1}.ps-component--product-card .ps-pc__store-inline:has(>.ps-pc__store-more) .ps-pc__store-address{grid-column:1;grid-row:2}.ps-component--product-card .ps-pc__store-inline:has(>.ps-pc__store-more) .ps-pc__store-tag-inline{grid-column:2;grid-row:1;justify-self:end;margin:0}.ps-component--product-card .ps-pc__store-inline:has(>.ps-pc__store-more) .ps-pc__store-distance{grid-column:2;grid-row:2;justify-self:end}}.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzL2Nzcy9jb21wb25lbnQtcHJvZHVjdC1jYXJkLWxlZ2FjeS42ZGEwOWQ4NTI5M2UwZDM0MjE0ZC5jc3MiLCJtYXBwaW5ncyI6Ijs7QUFnQ0EsaUJBQ0UsV0FDQSxpQkFDQSxrQkFDQSxZQUNBLG9CQUtGLGdCQUNFLFdBQ0EsNEJBQ0EsVUFDQSxpQkFLRiwyQkFDRSxvQkFLRixrQkFDRSxlQUNBLHFDQUNBLFdBQ0EsMEJBR0YscUNBR0EsZ0JBQ0ksVUFDQSxvQkFLSixxQ0FHRSxnQkFDRSxXQUtKLHFDQUdFLGdCQUNFLFlDeERKLFVBQ0Usd0NDRHdCLENEUXhCLGtCQUVBLHNDQUNFLGlCRXdCQSw2QkZuQ0osVUFlSSxpQkFFQSxzQ0FDRSxrQkVpQkYsNEJGbkNKLFVBdUJJLGtCQUlGLG9CQUNFLGlCQUdFLDRDQUNFLGlCQUdKLDZCQUNFLGNBS0YseUJBQ0UsYUFJSiwyQkFDRSxpREN4Q2MsQ0QwQ2Qsa0JBQ0Esb0JBQ0EsaUJBQ0Esa0JBSUEsMkNDakRjLENEa0RkLHFCQUNBLDJCQUNBLGtCRXhCQSw2QkYwQkEsNkNBRUksa0JBTU4sd0RBQ0UsK0NDckVzQixDRHNFdEIsZUFHRiwwRUFDRSxvQ0FDQSxlQUlBLGtDQUNFLHNCQUNBLGlCRS9DRiw0QkZnR0YsOERBRUUsY0FFQSxnR0FDRSx3Q0FHRixnRkFDRSxjQUtGLG9IQUNFLGtCRDNFTix5QkFDRSxXQUtGLDRCQUNFLFdBS0YsY0FDRSxrQkFLRixvQ0FDRSxVQUNBLFVBQ0EsV0FDQSxjQUtGLHFDQUNFLFdBQ0EsY0FLRixxQ0FDRSxhQUtGLGlDQUNFLGFBS0YsMkNBQ0UsYUFDQSx5QkFDQSxjQUtGLHVDQUNFLGFBQ0EsY0FDQSx5QkFLRixvQ0FFRSxpQkFDQSxtQkFLRixzQ0FDRSxXQUtGLHFDQUNFLFdBQ0EsWUFDQSxnQkFFQSxzQkFDQSxtQkFDQSxhQUNBLHNCQUNBLHNCQU1BLG1DQUNFLHlCQUNBLFdBQ0EsV0FDQSxZQUNBLGdCQUNBLG1CQUNBLGtCQUdGLHdDQUNFLGtCQU1KLHNEQUNFLGFBS0YsaURBQ0UsYUFDQSxzQkFDQSxzQkFDQSxnQkFhRiw4QkFDRSxhQUNBLFdBRUEsb0NBQ0UseUJBQ0EsbUJBT0oscURBQ0UsYUFDQSxXQUVBLDJEQUNFLHlCQUNBLG1CQU1KLDJDQUNFLGFBS0YsNENBQ0UsZUFDQSxXQUNBLDBCQU1GLDhDQUNFLHNDRXpQc0IsQ0YyUHRCLGVBQ0EsaUJBS0EsdURBQ0UsZ0JBTUosOERBRUUsYUFDQSxzQkFDQSxZQUdBLDBFQUNFLFVBQ0EsV0FDQSxVQUlGLDBFQUNFLG1CQUNBLFVBR0YsMEVBR0UsVUFDQSxhQUNBLG1CQUNBLDJCQUVBLDJGQUNFLGFBQ0Esd0JBQ0EsV0FZTiw2Q0FDRSxZQUNBLFdBQ0EsaUJBQ0Esa0JBS0Ysb0RBQ0UsMEJBS0YsNkRBQ0UsZ0JBQ0EsYUFDQSwyQkFDQSxpQkFLRix1REFDRSxZQUNBLFdBS0YsbURBQ0Usa0JBQ0EsZUFDQSxXQUNBLFlBQ0EsZUFDQSx5QkFDQSxpQkFDQSwwQkFDQSxXQUNBLHFCQUNBLDhCQUNBLGdIQUNBLGtEQUNBLFVBQ0EsU0FPRiwrQ0FDRSxZQUNBLGtCQUNBLFNBQ0EsZUFDQSxXQUNBLFdBRUEsb0RBQ0UsVUFNSixrRUFDRSw4QkFDQSxXQUNBLFlBQ0EsZ0JBQ0Esa0JBQ0EsZUFDQSx5QkFDQSxjQUtGLHFEQUNFLFlBQ0EsV0FLRiwyREFDRSxXQUtGLDhDQUNFLGtCQUNBLHVCQUtGLGtEQUNFLGtCQUtGLDhDQUNFLGtCQUNBLHVCQUNBLGtCQUtGLCtDQUNFLHlCQUNBLGNBQ0EseUJBQ0EsaUJBQ0EsaUJBQ0Esa0JBQ0EsaUJBS0YsMkRBQ0UsWUFDQSxpQkFDQSx5QkFDQSxTQUNBLGVBS0YsMkRBQ0UsWUFDQSxnQkFDQSxpQkFNRixzREFDRSxzQkFDQSxjQUNBLHlCQUNBLG1CQUNBLGlCQUNBLGtCQUNBLGlCQUtGLGtFQUNFLFlBQ0EsaUJBQ0EseUJBQ0EsU0FDQSxlQUtGLGtFQUNFLFlBQ0EsZ0JBQ0EsaUJBTUYsOENBRUUsZ0JBQ0EsV0FJRSx5REFDRSxXQUNBLHFCQUNBLFdBQ0EsV0FDQSx5QkFDQSxtQkFDQSxpQkFFQSxnQkFDQSxlQUNBLGNBR0Ysd0RBQ0UsZUFDQSxXQUNBLG1CQUNBLHFCQUNBLFdBSUosMERBQ0UsZUFDQSxXQUNBLGdCQUNBLHFCQUNBLFdBR0YsZ0VBQ0UsZUFDQSxXQUNBLGdCQUNBLHFCQUNBLFdBT0osdURBQ0UsV0FDQSxjQUNBLGlCQUdBLDZEQUVFLHFCQUNBLFdBQ0EsV0FDQSxtQkFDQSxpQkFFQSxnQkFDQSxlQUNBLGNBR0YsNERBQ0UscUJBQ0EsV0FHRix5REFDRSxjQUNBLFdBR0Ysb0VBQ0UsZUFPSixvREFDRSxlQUNBLHlCQUNBLGNBQ0EsaUJBQ0EsYUFLRiw2REFDRSxlQUdGLHNDQUVBLGNBQ0kseUJBQ0EscUJBQ0EseUJBQ0EsK0JBQ0EsY0FJSixxQ0FFSSxlQUVBLGlEQUNFLGFBR0YsbURBQ0UsYUFDQSxrQkFLQSxxREFDRSxjQUdGLGtFQUNFLGFBQ0EsZ0JBV0oscURBRUUsc0NBQ0EsY0FDQSxvQkFFQSw4REFDRSxrQkFFQSxpRUFDRSxnQkdwbEJOLCtESG1sQkksaUVBR0ksWUF2RFosc0NBMERVLG1GQUNFLGNBTVIsa0RBQ0UsV0FHRiw2REFDRSxlQUdGLHFEQUNFLFlBQ0Esb0JBR0YsOENBQ0UsV0FDQSxXQUNBLGlCQUNBLGdCQUdFLDBEQUNFLGdCQUtGLHlEQUNFLGNBS04sdURBQ0UsV0FDQSxXQUNBLGlCQUNBLGtCQUVBLG9FQUNFLGNBR0YsNkRBQ0UsY0FDQSxnQkFPUixtQ0FDSSxVQUNBLFNBQ0Esb0JBQ0Esc0JBR0UsNENBQ0UsaUJBVUosMEVBQ0UsV0FDQSxtQkFFQSwyRkFDRSxhQUlGLHVGQUNFLGFBQ0EsY0FFQSwyRkFDRSxnQkFNTiwwRUFFRSxjQUVBLGVBQ0EsV0FJRiwwRUFLRSxXQUNBLFdBQ0EsZUFDQSxZQVFOLHFDQUdBLG1DQUNJLFlBS0oscURBQ0ksY0FLSiw4REFDSSxjQUlKLGNBQ0ksa0JBSUosb0NBQ0ksWUFLSixxQ0FHRSxtREFDRSxlQUVBLHdEQUNFLGNBUU4sdUJBQ0Usb0JBRUEsb0NBQ0UscUJBQ0Esa0JBQ0EsZUFDQSxnQkd2d0JBLDZCSG13QkYsb0NBT0ksYUFDQSw2Q0U5eUJvQixDRit5QnBCLGFBQ0EsZ0JBQ0EsWUdyekJvQixDSHV6QnBCLHNDQUNFLGVBQ0EsZUFDQSxrQkFDQSxVQUNBLFFBQ0EsZ0JBT0osa0dBRUUsYUFHRiwwQ0FDRSxnQkFDQSxlQUNBLGdCQUNBLGdCQUdGLHVDQUNFLFlBRUEsbUVBQ0Usc0RFcDFCZ0IsQ0ZxMUJoQixrREVyMUJnQixDRjAxQnRCLHNDQUNFLG1DQUNBLHFCQUNBLFlBRUEsb0RBQ0UsNkRBQ0EsdUJBQ0Esc0JBRUEsb0VBQ0UsWUFHRiw4REFDRSxNQUNBLFdHbjBCSiw0QkhpMEJFLDhEQUtJLGVBSUosZ0VBQ0UsZ0JBQ0EsYUFDQSw4QkFDQSxtQkFFQSx3RkFDRSxhQUtGLDZEQUNFLHFCQUVBLHNFQUNFLGNBS04sNkVBQ0UsYUFDQSxtQkFDQSxXQUVBLHlGQUNFLFdBQ0EsV0FDQSxhQUVBLHNHQUNFLFdBQ0EsWUFJSix5RkFDRSxXQUNBLGFBQ0EsYUFDQSxzQkFHRSxxSEFDRSxlQVFKLDBFQUNFLGFBR0YsZ0ZBQ0UsZ0JBQ0Esa0JBR0Ysa0ZBQ0UsZ0JBQ0Esa0JBT0YseUZBQ0UsZ0JBS04sOERBQ0UseUJBQ0EsU0FFQSxzRUFDRSxXQUNBLDBCQUNBLGtCQUdGLDBFQUNFLGtCQUNBLDBCQUlKLHFFQUNFLDBCQUNBLGtCQUNBLFdBQ0EsZ0JBQ0Esc0RBQ0EsZ0NBR0YsNEVBQ0UsY0FDQSxlQUVBLDhGQUNFLG9CQUNBLFdBQ0EsY0FFQSw0R0FDRSxrQkFDQSxnQkFDQSxPQUNBLE1BRUEsc0NBTkYsNEdBT0ksY0FDQSxhQU9SLDBFQUNFLG9CQUtOLHdDQUNFLGtCQUNBLGdCQUNBLGtCQUNBLHFCR2w5QkEsNkJIaStCQSxvQ0FDRSxlQUNBLFdBSUEsc0RBQ0EsT0FDQSxRQUNBLFNBQ0EsZ0JBQ0EsU0FDQSwrQ0VyZ0NZLENGc2dDWixjQUNBLDRCQUtBLHVEQUNFLGdCQUNBLE1BQ0EsVUFDQSxhQUNBLG1CQUNBLDhCQUNBLFlBQ0EseUJBQ0Esd0NBQ0EsZ0NBQ0Esc0JBR0YsNkRBQ0Usb0JBQ0EsZ0JBQ0EsZ0JBQ0EsNENFNWlDZ0IsQ0YraUNsQiwyQ0FDRSxvQkFDQSxtQkFDQSx1QkFDQSxjQUNBLGNBQ0EsZUFDQSxTQUNBLGtCQUNBLGNBQ0EsNENFempDZ0IsQ0YwakNoQixlQUVBLDZDQUNFLGdCQUNBLFVBQ0EsU0FDQSxrQkFDQSxjQUlKLDRDQUNFLGFBQ0Esc0JBQ0EsMkJBQ0EsZUFLQSw2REFDRSxhQUdGLGlEQUNFLGFBQ0Esa0JBRUEsb0RBQ0UsZ0JBTVIsc0NBQ0UsaUJBQ0EsZUFFQSwrREFDRSxhQUdFLDRGQUVFLGVHamtDUix1REh5a0NGLGFBRUksWUcza0NGLDZCSDhrQ0EsbUVBQ0Usa0JBUUEsNEVBQ0UsaUJBR0YsNEdBQ0Usa0JBR0YsNkhBQ0UsWUFDQSxnQkFHRix1SEFDRSxhQUdGLDZJQUNFLFlBR0Ysd1NBRUUsWUFDQSxlQUNBLG1CQUdGLG9KQUNFLFlBT0YsMEdBQ0UsaURFcHFDZ0IsQ0ZxcUNoQix3QkFDQSxZQUNBLDZCQUNBLGdCQUNBLGtCQUdGLDhVQUdFLFdBQ0EsZUFHRixnSEFDRSxrQkFHRiw2TEFFRSxlQUdGLG9IQUNFLFVBR0YsK0lBQ0UsWUFHRixpSkFDRSxnQkFHRix1RkFDRSwwQkFHRixxR0FDRSxlQUNBLG1CQUdGLHFHQUNFLGVBQ0EsWUFHRixvR0FDRSxnQkFHRiwrR0FDRSxhQUdGLGdJQUNFLGVBQ0EsbUJBQ0Esa0JBR0YsK0hBQ0UsZUFDQSxnQkFHRix1SEFDRSxjQUNBLG1CQUNBLHlCQUNBLGtCQUNBLGlCQUNBLGtCQUNBLGtCQUNBLGNBQ0EsV0FDQSxtQkFJRiw0RUFDRSxpQkFHRixnTkFFRSxZQUdGLHFHQUNFLGFBR0YsbUhBQ0UsZ0JBR0YscUhBQ0UsV0FDQSxpQkFHRix5SEFDRSxlQUNBLG1CQUNBLGtCQUdGLHdIQUNFLGVBQ0EsZ0JBR0YsZ0hBQ0UsY0FDQSxtQkFDQSx5QkFDQSxrQkFDQSxpQkFDQSxrQkFDQSxrQkFDQSxjQUNBLFdBR0Ysc0hBQ0UsYUFHRix5SEFDRSxVQWFSLHNCQUNFLGNBR0YscUJBQ0UsYUFHRixxQ0FDRSxzQkFDRSxhQUdGLHFCQUNFLGVBU0oscUNBRUUsc0JBQ0Usa0JBQ0EseUJBQ0Esa0JBQ0EsY0FDQSxVQUNBLGdCQUNBLHFDQUNBLGdCQUVBLDRCQUNFLFVBUUYsOENBQ0Usa0JBQ0EsU0FDQSxXQUNBLFdBQ0EsWUFDQSxhQUNBLG1CQUNBLHVCQUNBLGdDQUNBLGtCQUNBLHFDQUNBLG1CQUNBLFNBQ0EsV0FDQSwrQkFFQSxxREFDRSxxQkFTSixxQ0FDRSxhQUNBLGdDQUdGLDBDQUNFLGFBQ0EsU0FDQSx1QkFHRiw0Q0FDRSxlQUNBLGdCQUVBLHdEQUNFLFdBQ0EsU0FHRix5REFDRSxXQUNBLGVBQ0EsYUFDQSxtQkFDQSx1QkFDQSxtQkFDQSxrQkFDQSxZQUVBLDZEQUNFLGVBQ0EsZ0JBQ0EsbUJBSUosNkRBQ0Usa0JBQ0EsZ0JBRUEsaUVBQ0UsZUFDQSxnQkFDQSxtQkFLTiwyQ0FDRSxPQUNBLFlBQ0EsbUJBUUYsa0NBQ0UsVUFDQSxlQUNBLGdCQUVBLG9DQUNFLHFCQUVBLDJDQUNFLGtCQUNBLGlCQUNBLGdCQUNBLGNBQ0Esb0JBQ0EscUJBQ0EsNEJBQ0EsZ0JBQ0EsU0FFQSxvREFDRSxnQkFDQSxjQUNBLGVBV1IsdUNBQ0UsYUFDQSxzQkFDQSxRQUNBLGtCQUdGLDRDQUNFLGFBQ0EsbUJBQ0EsUUFDQSxlQUdGLDhDQUNFLGdCQUNBLFdBQ0EsbUJBQ0EseUJBQ0Esb0JBR0YsOENBQ0UsV0FDQSxpQkFDQSxnQkFRRixvQ0FDRSxvQkFDQSxtQkFDQSxnQkFDQSxrQkFDQSxtQkFDQSxnQkFDQSxnQkFHRiw4Q0FDRSxtQkFDQSxjQUNBLHlCQUNBLHlCQUNBLG9CQUdGLDZDQUNFLG1CQUNBLGNBQ0EseUJBQ0EsUUFHRiwwQ0FDRSxpQkFHRixxQ0FDRSxlQUNBLGdCQUNBLG1CQUNBLGdCQUNBLGNBQ0EsbUJBQ0EseUJBQ0Esa0JBQ0EscUJBUUYsMENBQ0UsYUFDQSxtQkFDQSw4QkFDQSxTQUNBLGtCQUNBLG1CQUNBLGdDQUNBLGVBR0YsK0JBQ0UsU0FDQSxVQUNBLGNBRUEsMkNBQ0UsY0FDQSxtQkFDQSxXQUNBLGtCQUVBLGlEQUNFLG1CQUNBLGdCQUNBLGVBQ0EsV0FDQSxVQUNBLGlCQUlKLHNDQUNFLGFBQ0EscUJBQ0EsUUFFQSx5REFFQSxzR0FFRSxtQkFDQSxnQkFDQSxjQUNBLGNBT0YsMERBQ0UsbUJBQ0EsV0FDQSxnQkFDQSxnQkFLTixtREFDRSxhQUNBLG1CQUNBLFFBQ0EsT0FDQSx5QkFHRixnQ0FDRSxNQUNBLFNBQ0EsV0FFQSw2Q0FDRSxhQUNBLFdBRUEsK0RBQ0UsZ0JBQ0EsbUJBQ0EsZ0JBQ0EsWUFDQSxhQUNBLG1CQUNBLGdCQUNBLHNCQUNBLGtCQUNBLDBCQUNBLFdBR0Ysa0RBQ0UsV0FDQSxZQUNBLG1CQUNBLGtCQUNBLHNCQUNBLDBCQUtOLHdDQUNFLGNBQ0EsZUFDQSxXQUVBLHNEQUNFLFlBQ0EsZUFDQSxlQUNBLG1CQUNBLGdCQUNBLGtCQUNBLGFBQ0EsbUJBQ0EsdUJBQ0EsUUFDQSxtQkFDQSxPQUNBLE1BQ0Esa0JBQ0EsZUFDQSxZQUNBLG9DQUVBLCtFQUNFLG9CQUlGLDJEQXhCRixzREF5QkksZUFDQSx3RkFqV1YscUNBdVdNLDJDQUNFLFlBQ0EsZUFDQSxtQkFDQSxrQkFDQSxXQWFKLDhDQUNFLGdDQUVBLHlEQUNFLG1CQUlKLGdEQUNFLGFBQ0EsbUJBQ0EsOEJBQ0EsV0FDQSxhQUNBLFNBQ0EsZUFDQSxnQkFDQSxZQUNBLGdCQUNBLGdCQUNBLHdCQUNBLGdCQUNBLHNDQUVBLGdCQUVBLHVEQUNFLG1CQUlGLDhEQUNFLDBCQUNBLG9CQUlGLG9FQUNFLG1CQUNBLGdDQUVBLCtGQUNFLHdCQUtOLCtDQUNFLGdCQUNBLG1CQUNBLFdBQ0EseUJBQ0Esb0JBQ0EsYUFDQSxtQkFDQSxRQUdGLG9EQUNFLGtCQUdGLCtDQUNFLGdCQUNBLFdBQ0EsaUJBQ0Esb0JBR0YsaURBQ0UsV0FDQSxZQUNBLGFBQ0EsbUJBQ0EsdUJBQ0EsV0FDQSxpQkFDQSwrQkFHQSx3REFDRSxXQUNBLGNBQ0EsVUFDQSxXQUNBLDRCQUNBLDZCQUNBLHlCQUlKLGlEQUNFLGFBQ0EsZ0JBQ0EsK0JBQ0EsbUJBR0EseURBRUUsZ0JBS0YsbURBQ0Usa0JBQ0EsbUJBRUEsZ0ZBQ0Esa0ZBSUYsMERBQ0Usa0JBQ0EsU0FDQSxtQkFDQSxnQkFDQSxXQUNBLHFCQUVBLDZEQUNFLGtCQUVBLHdGQUlKLDBEQUNFLGtCQUNBLGVBR0YsMkRBQ0UsZ0JBQ0EsV0FDQSxtQkFHRiwyREFDRSxXQUNBLG1CQUdGLGlFQUNFLGdCQUNBLGlCQUNBLDZCQUNBLG1CQUNBLFdBRUEsd0VBQ0UsY0FDQSxrQkFDQSxXQUdGLG1FQUNFLGdCQUNBLGdCQUtOLG9EQUNFLG1CQUNBLGVBR0Ysc0RBQ0UsZ0JBQ0EsV0FDQSxpQkFRRiw0Q0FDRSxhQUNBLGVBQ0EsUUFDQSxtQkFHRiwyQ0FDRSxnQkFDQSxtQkFDQSx5QkFDQSxrQkFDQSxtQkFDQSxjQUNBLGdCQUNBLG1CQUdGLGlEQUNFLG1CQUNBLHFCQUNBLFdBQ0Esa0JBUUYsbURBQ0Usa0JBQ0EsZUFHRiwyQ0FDRSxnQkFDQSxpQ0FDQSxtQkFHQSw4REFDRSxXQUVGLG9FQUNFLG1CQUNBLGtCQUVGLG9FQUNFLGdCQUNBLGtCQUtKLGdEQUNFLGtCQUNBLE1BQ0EsV0FDQSxXQUNBLG9CQUNBLFVBQ0EsYUFDQSxtQkFDQSx1QkFFQSxxREFDRSxrQkFDQSxXQUNBLHlDQUNBLGdEQUdGLHVEQUNFLFFBQ0EsK0ZBR0Ysc0RBQ0UsT0FDQSw4RkFJRiwwREFDRSxhQUlKLHlCQUNFLG1CQUNBLGVBSUYsa0NBQ0UsaUJBQ0EsbUJBQ0EsZ0JBQ0EsZ0JBRUEscUNBQ0UsbUJBQ0EsZ0JBQ0EsbUJBQ0EseUJBQ0Esb0JBQ0EsaUJBQ0EsZ0JBQ0EsTUFDQSw2QkFHRixxQ0FDRSxpQkFDQSw2QkFDQSxXQUdGLDJEQUNFLDJCQUlKLGdDQUNFLHlCQUNBLFNBQ0EsVUFFQSx3Q0FDRSxtQkFDQSxrQkFDQSxXQUlKLHVDQUNFLHlCQUNBLFNBQ0EsVUFDQSxZQVFGLHdDQUNFLGlCQUNBLDZCQVFGLHdDQUNFLFVBQ0EsU0FDQSxXQUVBLDhDQUNFLG1CQUNBLGdCQUNBLFdBQ0EseUJBQ0EsZUFDQSxXQUNBLFVBQ0EsV0FDQSxpQkFHRiw2Q0FDRSxpQkFDQSxXQUNBLGVBQ0EsV0FTSiw2Q0FDRSxXQUNBLGVBRUEsbURBQ0UsaUJBQ0EsZ0JBQ0Esa0JBQ0EsY0FHRixvREFDRSxXQUNBLFlBQ0EsbUJBWVIscUNBQ0Usc0JBQ0UsYUFFQSxxQ0FDRSxhQUdGLDRDQUNFLGNBQ0EsZUFHRiwyQ0FDRSxtQkFJQSxzR0FFRSxxQkFZUix1Q0FFSSxpREFDRSxnQkFHRixpREFDRSxnQkFHRixxREFDRSxnQkFNTiwrQkFDRSxzQkFDRSxzQkFFQSxnREFDRSw2QkFHRixvQ0FDRSxrQkkvbkVOLGdCQUNJLDBEQVJvQixDQVNwQixlQUNBLGdCQUNBLDJCQUNJLGVBQ0EsaUJBRUosMkJBQ0ksZUFFSiwyQkFDSSxlQUdSLGdCQUNJLDBEQXZCb0IsQ0F3QnBCLGVBQ0EsZ0JBRUEsMkJBQ0ksZUFDQSxrQkFHUixnQkFDSSwwREFqQ29CLENBa0NwQixlQUNBLGdCQUNBLGtCQUVKLGdCQUNJLDBEQXZDb0IsQ0F3Q3BCLGVBQ0EsZ0JBQ0Esa0JBR0osa0JBQ0ksdURBN0NvQixDQThDcEIsZUFDQSxnQkFHQSw2QkFDSSxrQkFFSiw2QkFDSSxlQUdSLGtCQUNJLHVEQTFEb0IsQ0EyRHBCLGVBQ0EsZ0JBQ0EsNkJBQ0ksZUFHUixrQkFDSSx1REFsRW9CLENBbUVwQixnQkFHSixjQUNJLG9DQXRFa0IsQ0F1RWxCLGVBQ0EsZ0JBR0osZUFDSSwwREE5RW9CLENBK0VwQixlQUNBLGdCQUNBLG1CQTFFSixnQkFDSSwwREFSb0IsQ0FTcEIsZUFDQSxnQkFDQSwyQkFDSSxlQUNBLGlCQUVKLDJCQUNJLGVBRUosMkJBQ0ksZUFHUixnQkFDSSwwREF2Qm9CLENBd0JwQixlQUNBLGdCQUVBLDJCQUNJLGVBQ0Esa0JBR1IsZ0JBQ0ksMERBakNvQixDQWtDcEIsZUFDQSxnQkFDQSxrQkFFSixnQkFDSSwwREF2Q29CLENBd0NwQixlQUNBLGdCQUNBLGtCQUdKLGtCQUNJLHVEQTdDb0IsQ0E4Q3BCLGVBQ0EsZ0JBR0EsNkJBQ0ksa0JBRUosNkJBQ0ksZUFHUixrQkFDSSx1REExRG9CLENBMkRwQixlQUNBLGdCQUNBLDZCQUNJLGVBR1Isa0JBQ0ksdURBbEVvQixDQW1FcEIsZ0JBR0osY0FDSSxvQ0F0RWtCLENBdUVsQixlQUNBLGdCQUdKLGVBQ0ksMERBOUVvQixDQStFcEIsZUFDQSxnQkFDQSxtQkNuR0YsNEZBQ0EseURBQ0EsK0NDS0EsNENBQ0EsMEVESkUsaUVBQ0Esc0VBRUYsaUZBQ0EscURBQ0UseUNBQ0EsOERBQ0EsZUVrRGdCLENGbERhLGtDQUM3QiwyREFFRixxREFDRSxtQkFDQSxnQ0U0Q2dCLENGM0NoQiwwREFDQSxrRkFFRix1REFDRSw0REFFRix1SEFLQSxxREFDRSw4REU4Q2MsQ0Y3Q2QsZ0NBRUYsaURDekJBLDRDQUNBLDBFRDBCRSwwQkFDQSxtREFDQSwwQ0FDQSxpQkFDQSwrREFDQSxjRWNnQixDRmRTLGVFcUJULENGcEJoQiw4QkFDQSxxRkFDQSx3RkFFRSw0R0FDQSw4R0FDQSxrR0FNSixtREFDRSxnQ0VPZ0IsQ0ZOaEIsaURBR0YsbUVBQ0EsK0VBQ0EsK0NBQ0Usd0ZBRUYscURBQ0UsZ0NFRmdCLENGRWdDLG9CQUNoRCxpRUFFRiwrQ0FDRSxzREFDQSxpQkVPYyxDRlBtQixnQkFDakMsaUNBRUYsOENBQ0Usc0VBQ0EsK0NBQ0Esb0NBQ0Esd0pBQ0EseURBQ0UsbURBQ0EsbURBR0oscURBQ0UsdUZBRUYsZ0RBQ0UseUNBQ0EsOERBQ0EsZUUxQmdCLENGMEJhLG1DQUM3QiwwQ0FFRiw4Q0FDRSxtRUU1Q2dCLENGNENlLDZCRS9CZixDRitCZ0UsY0FDaEYsd0RBQ0EsNkZBS0Esa0dBRUYsa0VBQ0EsbURBQ0UsbUVBRUYsK0NBQ0UsZUU1Q2dCLENGNENhLCtCQUM3QixzQ0FFRiw4Q0FDRSw2QkVoRGdCLENGZ0Q2Qiw2Q0FDN0Msc0NBQ0EsK0NBQ0Esc0RBQ0Esa0RBRUYsZ0RBQ0UsNkNFeERnQixDRndEbUQsZ0JBQ25FLHdDQUNBLCtGQUVGLGtEQUNFLDhDQUNBLHdDQW9CRixzRkFDQSxpREFDRSxpQ0FDQSxzREFDQSxpQkV2RWMsQ0Z1RW1CLGdCQUNqQywrQ0FFRixzREFDRSxxQ0FDQSxnRUFDQSwrQ0FDQSx5S0FDQSxpRUFDRSxtREFDQSx3RUFDRSxxREFDQSx5REFJTixvRUFDQSx5RkFDQSx5RUFJQSw4R0FDOEIsNENBQzlCLGtIQUVFLDRDQUNBLHFGQUlGLHFEQUNFLHFFRXJIZ0IsQ0ZxSHlFLG9CQUN6RixpRUFFRiwrQ0M5S0EsNENBQ0EsMEVEK0tFLHdDQUNBLDZEQUNBLG1EQUNBLHFGQUNBLHVDQUVGLHFGRWhJa0IsQ0ZnSXlELGNBc0MzRSwyQ0FDRSxpREFuQ0Esc0JBQ0EsMkVBQ0UsK0JBSUEsZ05BQ2dDLHFCQUNoQyxxR0FDRSxjQUNBLDREQUlGLG9JQUVGLG9FQUNFLHVEQUNBLGNBQ0EsNERBb0JGLHFIQUNBLG1FQUNBLHVIQUVGLDJDQUNFLDBFQTVDQSxzQkFDQSxvR0FDRSwrQkFJQSxrUUFDZ0MscUJBQ2hDLDhIQUNFLGNBQ0EsNERBSUYsNkpBRUYsNkZBQ0UsdURBQ0EsY0FDQSw2REEyQkosa0VBcEJFLDJFQUNFLDRGQUVGLDhGQUNBLGdHQUNBLDZIQUNBLG1IQWlCRixrRUF2QkUsb0dBQ0UsNEZBRUYsdUhBQ0EseUhBQ0Esc0pBQ0EsNElBZ0NPLHNCQUNQLG9DQUNBLHlEQUNBLG1DQUNBLDJDQUVPLDRCQUNQLHdEQUVPLDRCQUNQLDREQUNBLG1EQUNBLG1DQUNBLHVFQUVPLDJCQUNQLDhEQUNBLCtFQUVPLDRCQUNQLGVFeE5nQixDRndOYSxxREFFdEIsMEJBQ1AsZ0RBQ0Esd0NBSUEsdURBRU8sd0JDeFJULDRDQUNBLDBFRHlSRSx3REFDQSxzRUFDQSw4REFDQSx3Q0FFTyx3REFDVCx5QkFDVywwQ0FZVCx5Q0FDRSx3RkFFRiwrQ0FDRSxnQ0UzUGMsQ0YyUGtDLG9CQUNoRCxzQ0U3U3FCLENGK1N2Qix5Q0FDRSwyRUFFRix3Q0FDRSxzRUFDQSxvREFDQSxnQ0FDQSxzRUFDQSxxRUUxVHFCLENGMFRnQyxtREFFdkQsMElBQ0EsMENBQ0UseUNBQ0EsOERBQ0EsbURBQ0EsMENBQ0EsbUNENVR5QixDQzhUM0Isd0NBQ0UsbUVFL1JjLENGK1JpQiw0Q0FDL0IsYUV6VHFCLENGeVRHLG1CQUN4Qiw0REVuVXFCLENGb1VyQixrRUU5U3FCLENGZ1R2QiwrRkRwVTJCLENDcVUzQixvR0FDQSx3REV4UmdCLENGd1JrQyw0QkUzVTNCLENGMlVxRSxnQkFDNUYsd0NBQ0UsNkJFMVJjLENGMFIrQiw2Q0FDN0MsYUU5VXFCLENGOFVJLHlDQUN6QixrREFFRix1RkUvUmdCLENGK1J5RSw2QkVoVmxFLENGaVZyQiw4REVoVnFCLENGaVZ2Qix1RkVqVnVCLENGaVY4RCxnQkFDckYsa0NBQ0UsMkRBQ0EsZ0NFblNjLENGbVNrQyxhRTVUM0IsQ0Y2VHJCLG9EQUVGLDJDQUNFLDJEQUNBLCtDQUNBLGdDRTFTYyxDRjBTc0MsYUVsVS9CLENGbVVyQiw2REFDQSxvR0FFRiw2Q0FDRSxnQ0UvU2MsQ0ZnVGQsYUV4VXFCLENGd1VLLG1CQU05QixpREMzV0EsNENBQ0EsMEVENFdFLDhEQUNBLGdDRXpUZ0IsQ0YwVGhCLHVDQUNBLG1FQUNBLDBHTHN6REYsbUVBQ0UsYUFDQSxzQkFDQSxRQUNBLGNBRUYsa0VBQ0Usb0JBQ0EsbUJBQ0EsUUFDQSxpQkFDQSxXQUVGLHVFQUNFLG9CQUNBLG1CQUNBLHVCQUNBLFFBQ0EsWUFDQSxlQUNBLGtCQUNBLGtCQUNBLFdBQ0EsZ0JBQ0EsZUFDQSxxRUFDQSx5RkFFRiw2SEFDQSxrSEFLRixzRUFDRSxhQUNBLGVBQ0EsYUFDQSxhQUNBLGVBQ0EsaUJBQ0EsV0FFQSxrR0FDRSxnQkFDQSxXQVFGLGlIQUNBLDJGQUNBLGdFQUNFLDhEQUNBLDRGQUNBLDZDQUNBLG9DQUNBLGtGQUVGLGlFQUNFLHVFQUNBLDRFQUNBLDhGQUVGLDhJQUNBLGlHQUNBLDJHQXlCQSx5RUFDRSxlQUNBLHVCQUNBLGFBSUEsZ1dBSUUsY0FDQSxlQUlKLHlFQUlFLGNBQ0EsWUFDQSxhQUNBLGlCQUNBLG9CQUNBLGdCQU9BLGdCQUVBLG1GQUNFLFdBQ0EsTUFDQSxhQUNBLGNBQ0EsV0FLRixzRkFDRSxZQUNBLDBCQUNBLGVBRUYsc0dBQ0EsNkZBQ0UsV0FDQSxZQUNBLGVBR0YsMkZBQ0UsY0FDQSxXQUNBLFlBR0EsYUFDQSxvQkFLRix1RkFDRSxPQUNBLFdBQ0EsWUFDQSwwQkFDQSxvQkFDQSxtQkFDQSx1QkFDQSxRQUNBLGVBQ0EsZUFDQSxtQkFNSiw0QkFFSSwyRkFDRSxZQUNBLGtCQUNBLCtCQUVGLDBIQUNBLHlJQVNOLHlEQUNFLGFBQ0Esc0JBQ0EsUUFDQSxhQUNBLFlBRUEsK0hBQ0EsMEhBQ0EsNEhBRUEsbUlBQ0EsNkhBQ0EsK0VBQ0UsK0RBQ0EsNkRBQ0EsdURBQ0EscUNBRUYsc0dBQ0EsOEdBQ0EsNEdBQ0Esd0dBQ0EsNkVBQ0UsbUVBQ0EsZ0RBQ0EsMkNBRUYseUVBQ0UsdURBQ0EsK0NBQ0EseURBQ0EscUNBRUYsZ0dBQ0Esd0dBQ0Esa0dBQ0Esc0dBQ0Esa0dBRUEsMEVBQ0UscUVBQ0EsOEVBRUYsd0pBQ0EsOElBQ0EsZ0pBRUEsb0hBQ0EsNkdBRUEseUVBQ0UsMkRBQ0EsOERBQ0EscUVBRUYsdUdBa0JGLHFDQUNFLHFDUW42RUYsOERBRUUsd0NBQ0EsK0NBQ0EsaUNBQ0EsMkNBQ0EsK0NBQ0EsdUNBQ0EsNENBQ0EsaURBQ0EsZ0VBQ0EscUNBQ0EsNkdBQ0EsaUlBQ0EsZ0tBS0EsMEVBQ0EsbUdBQ0EsMkVBQ0Esa0RBQ0UsZ0VBQ0EsdUJBR0osc0RBSUUsOEVBQ0Usc0NBQ0EsOENBQ0EsZ0JBQ0Esd0lBQ0EsNEtBQ0EsK0lBQ0EsK0hBQ0Esa0pBQ0Esd1BBRUUseUVBS0osNERBQ0UsdURBQ0EsOERBQ0EsOENBQ0EsOERBQ0EsZ0VBSUYsNkVBQ0UsbUJBQ0Esc0NBQ0EsZ0JBQ0EsdUlBQ0EsOEhBQ0EsOEdBQ0EsaUpBS0Ysb0ZBQ0Usd0NBQ0EsNERBQ0Esb0JBQ0Esc0NBQ0Esd0RBQ0EsNklBQ0Esd0pBQ0EseUpBQ0EsK0pBQ0EscUxBRUYsbUZBQ0UsbUJBQ0EsZ0RBQ0EsNEhBQ0EsdUpBQ0Esd0lBUUosOEZBRUUsaURBQ0EseUNBQ0EsbUtBQ0EsMktBR0EsK0VBQ0Usd0NBQ0EsZ0RBQ0EsZ0JBQ0EseUlBQ0EsK0tBQ0Esa0pBQ0Esa0lBQ0EsbUpBQ0EsNktBQ0EsMFBBRUUsMkVBR0oscUZBQ0Usd0NBQ0EsNERBQ0Esb0JBQ0Esd0NBQ0EsMERBQ0EsZ0pBQ0EseUpBQ0EsNEpBQ0EsbUxBQ0Esa0tBQ0Esd0xBVUoscUVBQ0Usa0JBQ0EsNkVBQ0UsNkRBQ0EsaUVBR0osd0VBQ0UsMENBQ0Esb0JBUU8scUVBQ1Qsc0NBQ0EsaUJBSUUsc0NBQ0Esb0VBQ0Esc0dBRUYsZ0ZBQ0Esd0JBQ0UseUZBQ0EsbUNBQ0EsdUNBQ0EsNkRBRUYsdUJBQ0Usd0NBQ0Esa0RBQ0EsK0NBRUYsd0JBQ0UsdURBQ0EsOERBQ0EsdURBQ0EsMENBRUYsOEVBQ0Esb0JBQ0Usd0NBQ0EsNEZBQ0Esa0JBQ0EscURBQ0Esd0dBRUYsOENBQ0Esd0NBQ0Esb0RBQ0EsMEJBQ0Usc0RBQ0EsK0NBRUYsaUVBQ0EsZ0ZBQ0Esa0NBQ0UsOENBQ0EsbUZBRUYsb0VBQ0EsdUJBQ0UsK0NBQ0EsaUVBQ0EsNEJBRUYsc0JBQ0Usd0NBQ0EsdUNBQ0EsMkRBQ0EsK0VBQ0Esa0RBQ0EsMEdBRUYsMkNBQ0EsK0JBQ0Usa0ZBQ0Esd0VBRUYseUJBQ0UsZ0RBQ0EsbUZBQ0Esd0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9iZWFjaHNpZGVhdXRvcGFydHMvLi4vLi4vLi4vYXV0by1wcmVzcy9yZXNvdXJjZXMvY29tcG9uZW50cy9wcm9kdWN0LWNhcmQvbGVnYWN5L2luZGV4LnNjc3MiLCJ3ZWJwYWNrOi8vYmVhY2hzaWRlYXV0b3BhcnRzLy4uLy4uLy4uL2F1dG8tcHJlc3MvcmVzb3VyY2VzL2NvbXBvbmVudHMvX2NhdGFsb2cvX3Byb2R1Y3RzLXBhZ2UtY2hyb21lLnNjc3MiLCJ3ZWJwYWNrOi8vYmVhY2hzaWRlYXV0b3BhcnRzLy4uLy4uLy4uL2F1dG8tcHJlc3MvcmVzb3VyY2VzL3N0eWxlcy92YXJpYW50cy9fY29sb3JzLnNjc3MiLCJ3ZWJwYWNrOi8vYmVhY2hzaWRlYXV0b3BhcnRzLy4uLy4uLy4uL2F1dG8tcHJlc3MvcmVzb3VyY2VzL2NvbXBvbmVudHMvX2NhdGFsb2cvX2dsb2JhbHMuc2NzcyIsIndlYnBhY2s6Ly9iZWFjaHNpZGVhdXRvcGFydHMvLi4vLi4vLi4vYXV0by1wcmVzcy9yZXNvdXJjZXMvc3R5bGVzL2Jhc2UvX2ZvbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vYmVhY2hzaWRlYXV0b3BhcnRzLy4uLy4uLy4uL2F1dG8tcHJlc3MvcmVzb3VyY2VzL2NvbXBvbmVudHMvcHJvZHVjdC1jYXJkL19zaGFyZWQvX3N0b3Jlcy5zY3NzIiwid2VicGFjazovL2JlYWNoc2lkZWF1dG9wYXJ0cy8uLi8uLi8uLi9hdXRvLXByZXNzL3Jlc291cmNlcy9jb21wb25lbnRzL3Byb2R1Y3QtY2FyZC9fc2hhcmVkL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly9iZWFjaHNpZGVhdXRvcGFydHMvLi4vLi4vLi4vYXV0by1wcmVzcy9yZXNvdXJjZXMvY29tcG9uZW50cy9wcm9kdWN0LWNhcmQvX3NoYXJlZC9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vYmVhY2hzaWRlYXV0b3BhcnRzLy4uLy4uLy4uL2F1dG8tcHJlc3MvcmVzb3VyY2VzL2NvbXBvbmVudHMvcHJvZHVjdC1jYXJkL19zaGFyZWQvX3VuaXZlcnNhbC5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFBST0RVQ1QgQ0FSRCDigJQgdmFyaWFudCBcImxlZ2FjeVwiIOKAlCBmdWxsIHN0eWxlcyAoc2VsZi1jb250YWluZWQpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUaGUgbGVnYWN5IGRlc2t0b3AgY2FyZCArIG1vYmlsZSBjYXJkIENTUywgZXh0cmFjdGVkIG91dCBvZiB0aGUgZ2xvYmFsXG4vLyBwcm9kdWN0cy5zY3NzIC8gcHJvZHVjdHMtbW9iaWxlLnNjc3Mgc28gdGhlIGBsZWdhY3lgIHZhcmlhbnQgaXMgbm93XG4vLyBzZWxmLWNvbnRhaW5lZDogd2hlbiB0aGlzIHZhcmlhbnQgcmVuZGVycywgdGhlIHJlc29sdmVyIGxvYWRzIHRoaXMgYnVuZGxlIGFuZFxuLy8gdGhlIGNhcmQgaXMgZnVsbHkgc3R5bGVkIFdJVEhPVVQgdGhlIGdsb2JhbCBpbmNsdWRlLiAoUHJldmlvdXNseSB0aGlzIGZpbGUgd2FzXG4vLyBuZWFyLWVtcHR5IGFuZCB0aGUgbGVnYWN5IGNhcmQgZGVwZW5kZWQgZW50aXJlbHkgb24gdGhlIGdsb2JhbCBwcm9kdWN0cy5zY3NzLFxuLy8gd2hpY2ggaXMgd2h5IGNvbW1lbnRpbmcgdGhhdCBvdXQgbGVmdCB0aGUgY2FyZCB1bnN0eWxlZC4pXG4vL1xuLy8gRXh0cmFjdGVkIGJ5IGNvbmNlcm4gZnJvbSBwcm9kdWN0cy5zY3NzICh0aGUgLnByb2R1Y3QtY29udCBzdWJ0cmVlLCBwcm9kdWN0cy9cbi8vIHByb2R1Y3QtbGlzdC9wcm9kdWN0LWNvbC9wcm9kdWN0cy1jb250IGxheW91dCwgc3RvY2sgbGFiZWxzKSArIHRoZSBlbnRpcmVcbi8vIHByb2R1Y3RzLW1vYmlsZS5zY3NzICgucHJvZHVjdC12aWV3LSogdG9nZ2xlICsgLnByb2R1Y3QtY29udC0tbW9iaWxlKS5cbi8vIEZhY2V0cywgcGFnaW5hdGlvbi90b29sYmFyLCBwcm9kdWN0LWRldGFpbCwgYW5kIGNhdGVnb3J5IGNocm9tZSB3ZXJlIGxlZnQgb3V0XG4vLyDigJQgdGhvc2UgYmVjb21lIHRoZWlyIG93biBjb21wb25lbnRzIGluIGxhdGVyIHBoYXNlcy5cbi8vXG4vLyBEdXJpbmcgbWlncmF0aW9uIHRoaXMgZHVwbGljYXRlcyB0aGUgc2FtZSBydWxlcyBzdGlsbCBpbiB0aGUgZ2xvYmFsXG4vLyBwcm9kdWN0cy5zY3NzOyB0aGF0J3MgaGFybWxlc3MgKGlkZW50aWNhbCBydWxlcykgdW50aWwgYWxsIHBoYXNlcyBhcmUgZG9uZSBhbmRcbi8vIHlvdSBkZWxldGUgdGhlIGdsb2JhbCBpbmNsdWRlLlxuLy9cbi8vIERlcGVuZGVuY2llczogdGhlbWUgY29sb3JzICsgcmVtYygpICsgbWVkaWEtYnJlYWtwb2ludC1kb3duKCkgY29tZSBmcm9tXG4vLyBfY2F0YWxvZy9fZ2xvYmFscyAoYWRqdXN0IHRoYXQgb25lIGZpbGUgdG8gcG9pbnQgYXQgeW91ciByZWFsIHRoZW1lIHZhcnMpLlxuLy8gVGhlIG1vYmlsZSBzZWN0aW9uIGlzIHB1cmUgaGFyZGNvZGVkIENTUyB3aXRoIG5vIGRlcGVuZGVuY2llcy5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGltcG9ydCAnY29tcG9uZW50cy9fY2F0YWxvZy9nbG9iYWxzJztcblxuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIERFU0tUT1AgQ0FSRCAgKGZyb20gcHJvZHVjdHMuc2Nzcylcbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG51bC5saXN0LXByb2R1Y3RzIHtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG59XG5cblxuXG5saS5saXN0LXByb2R1Y3Qge1xuICBmbG9hdDogbGVmdDtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiAgd2lkdGg6IDI0JTtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG5cblxuXG5saS5saXN0LXByb2R1Y3Q6bGFzdC1jaGlsZCB7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xufVxuXG5cblxubGkubGlzdC1wcm9kdWN0IGEge1xuICBmb250LXNpemU6IDExcHg7XG4gIGZvbnQtZmFtaWx5OiBWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgY29sb3I6ICMwMDAwRkY7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzZweCkge1xuXG5cbmxpLmxpc3QtcHJvZHVjdCB7XG4gICAgd2lkdGg6IDMxJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG59XG5cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQ3cHgpIHtcblxuXG4gIGxpLmxpc3QtcHJvZHVjdCB7XG4gICAgd2lkdGg6IDQ4JTtcbiAgfVxufVxuXG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUyM3B4KSB7XG5cblxuICBsaS5saXN0LXByb2R1Y3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cblxuXG5cbi8vIFByb2R1Y3RzLXBhZ2UgY2hyb21lICgucHJvZHVjdHMgY2xlYXJhbmNlLCAuY29udGFpbmVyLWZsdWlkIGJhbmQsIC12YXItMS9cbi8vIC1jaGVja291dCBtb2RpZmllcnMpIG1vdmVkIHRvIHRoZSBzaGFyZWQgcGFydGlhbCBiZWxvdyAoMjAyNi0wOC0yOCkgc28gdGhlXG4vLyBwYWdlIGtlZXBzIGl0cyBjaHJvbWUgZXZlbiB3aGVuIE5PIGVtYmVkZGVkIHNlYXJjaCB2YXJpYW50IGxvYWRzIHRoaXNcbi8vIGJ1bmRsZSDigJQgY2F0YWxvZy1jaHJvbWUvZGVmYXVsdCBpbXBvcnRzIHRoZSBzYW1lIHBhcnRpYWwgYXMgdGhlIGNhbm9uaWNhbFxuLy8gY2Fycmllci4gU2VlIHRoZSBwYXJ0aWFsJ3MgaGVhZGVyIGZvciB0aGUgZnVsbCBzdG9yeS5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvX2NhdGFsb2cvcHJvZHVjdHMtcGFnZS1jaHJvbWUnO1xuXG5cbi5wcm9kdWN0cy1tYWluLWNvbnRhaW5lciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG5cblxuLnByb2R1Y3RzLW1haW4tY29udGFpbmVyIGhyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cblxuXG4ucHJvZHVjdC1saXN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cblxuLnByb2R1Y3QtbGlzdC1zZWxlY3RvciAucHJvZHVjdC1pbWcge1xuICB3aWR0aDogOTglO1xuICBtYXJnaW46IDElO1xuICBjbGVhcjogYm90aDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cblxuXG4ucHJvZHVjdC1saXN0LXNlbGVjdG9yIC5wcm9kdWN0LWxpc3Qge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogdGFibGU7XG59XG5cblxuXG4ucHJvZHVjdC1saXN0LXNlbGVjdG9yIC5vdXQtb2Ytc3RvY2sge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5cblxuLnByb2R1Y3QtbGlzdC1zZWxlY3RvciAuaW4tc3RvY2sge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5cblxuLnByb2R1Y3QtbGlzdC1zZWxlY3RvciAub3V0LW9mLXN0b2NrLWxhYmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICNjNzAwMDQ7XG59XG5cblxuXG4ucHJvZHVjdC1saXN0LXNlbGVjdG9yIC5pbi1zdG9jay1sYWJlbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGNvbG9yOiBkYXJrZ3JlZW47XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cblxuXG4ucHJvZHVjdC1saXN0LXNlbGVjdG9yIC5wcm9kdWN0LWNvbCB7XG4gIC8qcGFkZGluZy1yaWdodDogMTBweDsqL1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbn1cblxuXG5cbi5wcm9kdWN0LWxpc3Qtc2VsZWN0b3IgLnByb2R1Y3RzLWNvbnQge1xuICB3aWR0aDogMTAwJTtcbn1cblxuXG5cbi5wcm9kdWN0LWxpc3Qtc2VsZWN0b3IgLnByb2R1Y3QtY29udCB7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IDEzcHg7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIHBhZGRpbmctYm90dG9tOiAwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2g7XG59XG5cblxuXG4ucHJvZHVjdC1saXN0LXNlbGVjdG9yIHtcbiAgLnRpdGxlLWNvbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLXRvcDogNnB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA5cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICB9XG5cbiAgLmJyYW5kLWxvZ28tY29udCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cblxuXG4ucHJvZHVjdC1saXN0LXNlbGVjdG9yIC5wcm9kdWN0LWNvbnQgLnJpZ2h0LXNpZGUtY29udCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cblxuXG4ucHJvZHVjdC1saXN0LXNlbGVjdG9yIC5wcm9kdWN0LWNvbnQgLnJpZ2h0LXNpZGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1jb250ZW50OiBzdHJldGNoO1xuICBtYXJnaW4tdG9wOiBhdXRvO1xuXG59XG5cblxuXG4ucHJvZHVjdC1saXN0LXNlbGVjdG9yIC5wcm9kdWN0LWNvbnQgLnByb2R1Y3QtaW5mby1jb250YWluZXIge1xuICAvL3dpZHRoOiAxMDAlO1xuICAvL2ZsZXgtZ3JvdzogMTtcbn1cblxuXG5cbi5wcm9kdWN0LWNvbnQgLmJ1eS1idXR0b24tcm93IHtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLnNob3cge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG59XG5cblxuXG4ucHJvZHVjdC1saXN0LXNlbGVjdG9yIC5wcm9kdWN0LWNvbnQgLmJ1eS1idXR0b24tcm93IHtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLnNob3cge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuXG5cblxuLnByb2R1Y3QtbGlzdC1zZWxlY3RvciAucHJvZHVjdC1jb250IC5tYWluIHtcbiAgcGFkZGluZzogMTBweDtcbn1cblxuXG5cbi5wcm9kdWN0LWxpc3Qtc2VsZWN0b3IgLnByb2R1Y3QtY29udCAudGl0bGUge1xuICBmb250LXNpemU6IDE4cHg7XG4gIG1hcmdpbjogMHB4O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxufVxuXG5cblxuLnByb2R1Y3QtbGlzdC1zZWxlY3RvciAucHJvZHVjdC1jb250IGEgLnRpdGxlIHtcbiAgY29sb3I6ICRjb2xvcl9wcmltYXJ5O1xuICAvL3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAvL3RleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgLypjb2xvcjogIzMzMzsqL1xuXG4gIC5saWdodGVyIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICB9XG59XG5cblxuXG4ucHJvZHVjdC1saXN0LXNlbGVjdG9yIC5wcm9kdWN0LWNvbnQgLnByb2R1Y3QtY29udGFpbmVyLWlubmVyIHtcblxuICBkaXNwbGF5OiBmbGV4OztcbiAgYWxpZ24tY29udGVudDogc3RyZXRjaDtcbiAgaGVpZ2h0OiBhdXRvO1xuXG5cbiAgLmltYWdlLWNvbnQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDIwJTtcbiAgICAvL3dpZHRoOiA4NSU7XG4gIH1cblxuICAuaW5mby1jb2wtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IC43NXJlbTtcbiAgICB3aWR0aDogNDAlO1xuICB9XG5cbiAgLmluZm8tY29sLTIge1xuICAgIC8vZmxvYXQ6IGxlZnQ7XG4gICAgLy9jbGVhcjogYm90aDtcbiAgICB3aWR0aDogMzglO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICAuZmxleC1jb2wtbm93cmFwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAvKmRpdiB7XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgZmxleDogMSAxIDE2MHB4O1xuICB9Ki9cbn1cblxuXG5cbi5wcm9kdWN0LWxpc3Qtc2VsZWN0b3IgLnByb2R1Y3QtY29udCAuc2xpZGVyIHtcbiAgd2lkdGg6IDMwMHB4O1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuXG5cbi5wcm9kdWN0LWxpc3Qtc2VsZWN0b3IgLnByb2R1Y3QtY29udCBhOmhvdmVyIC50aXRsZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG5cblxuLnByb2R1Y3QtbGlzdC1zZWxlY3RvciAucHJvZHVjdC1jb250IC5idXktYnV0dG9uLW1hc3Rlci1jb250IHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuXG5cbi5wcm9kdWN0LWxpc3Qtc2VsZWN0b3IgLnByb2R1Y3QtY29udCAuYnV0dG9uLWNvbnRhaW5lciB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cblxuXG4ucHJvZHVjdC1saXN0LXNlbGVjdG9yIC5wcm9kdWN0LWNvbnQgLmFkZC10by1vcmRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA1MHB4O1xuICBmb250LXNpemU6IDE5cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nOiA1cHggMTFweCA1cHggMTFweDtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMHB4IDRweCA0cHggMHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkY29sb3JfcHJpbWFyeSwgJGNvbG9yX3ByaW1hcnkpO1xuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfcHJpbWFyeTtcbiAgbGVmdDogLTZweDtcbiAgdG9wOiAtMnB4O1xuICAvL3otaW5kZXg6MTAwO1xuXG59XG5cblxuXG4ucHJvZHVjdC1saXN0LXNlbGVjdG9yIC5wcm9kdWN0LWNvbnQgLnF1YW50aXR5IHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTJweDtcbiAgZGlzcGxheTogaW5saW5lO1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IGJvdGg7XG5cbiAgLnF0eSB7XG4gICAgei1pbmRleDogMDtcbiAgfVxufVxuXG5cblxuLnByb2R1Y3QtbGlzdC1zZWxlY3RvciAucHJvZHVjdC1jb250IC5xdWFudGl0eSAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICBib3JkZXItcmFkaXVzOiA0cHggMHB4IDBweCA0cHg7XG4gIHdpZHRoOiA2MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDFweDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogIzdhN2E3YTs7XG59XG5cblxuXG4ucHJvZHVjdC1saXN0LXNlbGVjdG9yIC5wcm9kdWN0LWNvbnQgLnF1YW50aXR5IGlucHV0IHtcbiAgaGVpZ2h0OiA1MHB4O1xuICB3aWR0aDogNjBweDtcbn1cblxuXG5cbi5wcm9kdWN0LWxpc3Qtc2VsZWN0b3IgLnByb2R1Y3QtY29udCAucXVhbnRpdHkgaW5wdXQ6aG92ZXIge1xuICBjb2xvcjogYmxhY2s7XG59XG5cblxuXG4ucHJvZHVjdC1saXN0LXNlbGVjdG9yIC5wcm9kdWN0LWNvbnQgdWwub3V0ZXIge1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIGxpc3Qtc3R5bGUtdHlwZTogc3F1YXJlO1xufVxuXG5cblxuLnByb2R1Y3QtbGlzdC1zZWxlY3RvciAucHJvZHVjdC1jb250IC5icmFuZC1hYm91dCB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuXG5cbi5wcm9kdWN0LWxpc3Qtc2VsZWN0b3IgLnByb2R1Y3QtY29udCB1bC5pbm5lciB7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgbGlzdC1zdHlsZS10eXBlOiBjaXJjbGU7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuXG5cbi5wcm9kdWN0LWxpc3Qtc2VsZWN0b3IgLnByb2R1Y3QtY29udCAuZml0cy1yb3cge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTg1ZTY2O1xuICBjb2xvcjogIzBiMGIwYjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICBtYXJnaW4tcmlnaHQ6IC01cHg7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xufVxuXG5cblxuLnByb2R1Y3QtbGlzdC1zZWxlY3RvciAucHJvZHVjdC1jb250IC5maXRzLXJvdyB0YWJsZSB0ciB0aCB7XG4gIHBhZGRpbmc6IDBweDtcbiAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjN2M3Yzc7XG4gIGJvcmRlcjogMDtcbiAgZm9udC1zaXplOiAxNXB4O1xufVxuXG5cblxuLnByb2R1Y3QtbGlzdC1zZWxlY3RvciAucHJvZHVjdC1jb250IC5maXRzLXJvdyB0YWJsZSB0ciB0ZCB7XG4gIHBhZGRpbmc6IDFweDtcbiAgbWFyZ2luLWxlZnQ6IDNweDtcbiAgcGFkZGluZy1sZWZ0OiA1cHg7XG5cbn1cblxuXG5cbi5wcm9kdWN0LWxpc3Qtc2VsZWN0b3IgLnByb2R1Y3QtY29udCAuaW50ZXJjaGFuZ2Utcm93IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICM1ODVlNjY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICBtYXJnaW4tcmlnaHQ6IC01cHg7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xufVxuXG5cblxuLnByb2R1Y3QtbGlzdC1zZWxlY3RvciAucHJvZHVjdC1jb250IC5pbnRlcmNoYW5nZS1yb3cgdGFibGUgdHIgdGgge1xuICBwYWRkaW5nOiAwcHg7XG4gIHBhZGRpbmctbGVmdDogNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzdjN2M3O1xuICBib3JkZXI6IDA7XG4gIGZvbnQtc2l6ZTogMTVweDtcbn1cblxuXG5cbi5wcm9kdWN0LWxpc3Qtc2VsZWN0b3IgLnByb2R1Y3QtY29udCAuaW50ZXJjaGFuZ2Utcm93IHRhYmxlIHRyIHRkIHtcbiAgcGFkZGluZzogMXB4O1xuICBtYXJnaW4tbGVmdDogM3B4O1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcblxufVxuXG5cblxuLnByb2R1Y3QtbGlzdC1zZWxlY3RvciAucHJvZHVjdC1jb250IC5wcmljaW5nIHtcblxuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBjbGVhcjogYm90aDtcblxuICBzcGFuIHtcblxuICAgIGxhYmVsIHtcbiAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBjb2xvcjogIzM2MzYzNjtcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGNvbG9yOiAjMzMzO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgfVxuXG4gIC5wcmljZSBzcGFuIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cblxuICAucGFydC1udW1iZXIgc3BhbiB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuXG4gIH1cbn1cblxuXG5cbi5wcm9kdWN0LWxpc3Qtc2VsZWN0b3IgLnByb2R1Y3QtY29udCAucGFydC1udW1iZXItY29udCB7XG4gIGNsZWFyOiBib3RoO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6IDIwcHg7XG5cblxuICBsYWJlbCB7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGNvbG9yOiAjMzYzNjM2O1xuICB9XG5cbiAgc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG5cbiAgcCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cblxuICAucGFydC1udW1iZXIge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgfVxuXG59XG5cblxuXG4ucHJvZHVjdC1saXN0LXNlbGVjdG9yIC5wcm9kdWN0LWNvbnQgLmZyZWVfc2hpcHBpbmcge1xuICBmb250LXNpemU6IDE0cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjMDk5NzAwO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogMTRweDtcbn1cblxuXG5cbi5wcm9kdWN0LWxpc3Qtc2VsZWN0b3IgLnByb2R1Y3QtY29udCAuZWxpZ2libGUtc2hpcHBpbmctaGVscCB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAzMHB4KSB7XG5cbi5wcm9kdWN0LWNvbnQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNGU0ZTQ7XG4gICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjI1cztcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBib3gtc2hhZG93O1xuICAgIHBhZGRpbmc6IDEuMWVtO1xuICB9XG5cblxuLnByb2R1Y3QtbGlzdC1zZWxlY3RvciAucHJvZHVjdC1jb250IHtcblxuICAgIG1hcmdpbi10b3A6IDFlbTtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAuYWRkLXRvLW9yZGVyIHtcbiAgICAgIGhlaWdodDogMi4xZW07XG4gICAgICBmb250LXNpemU6IDEuMjk4ZW07XG4gICAgfVxuXG4gICAgLnF1YW50aXR5IHtcblxuICAgICAgaW5wdXQge1xuICAgICAgICBoZWlnaHQ6IDIuNDRlbTtcbiAgICAgIH1cblxuICAgICAgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgICAgICAgaGVpZ2h0OiAyLjFlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjFlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaW5mby1jb2wtMSB7XG5cbiAgICAgIHVsLm91dGVyIHtcblxuICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kLWF0dHItY29udCB7XG5cbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTkxLCAxOTMsIDE5OCwgMC4zKTtcbiAgICAgIHBhZGRpbmc6IDAuNnJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuNnJlbTtcblxuICAgICAgdWwub3V0ZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDNweDtcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5tZF9wZF9zcGVjX3ZhbHVlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogOTUlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5icmFuZC1hYm91dCB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAuYnV5LWJ1dHRvbi1tYXN0ZXItY29udCB7XG4gICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgfVxuXG4gICAgLmJ1eS1idXR0b24tcm93IHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IC43NWVtO1xuICAgIH1cblxuICAgIC5wcmljaW5nIHtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgICAgIG1hcmdpbi10b3A6IC41ZW07XG5cbiAgICAgIC5wcmljZSB7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMGVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBhcnQtbnVtYmVyLWNvbnQge1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctdG9wOiAuNWVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuXG4gICAgICAucGFydC1udW1iZXIge1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgIH1cblxuICAgICAgbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG5cbi5wcm9kdWN0LWxpc3Qtc2VsZWN0b3IgLnRpdGxlLWNvbnQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAuNWVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cbiAgICBhIHtcbiAgICAgIC50aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogLjk0cmVtO1xuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cblxuXG4ucHJvZHVjdC1saXN0LXNlbGVjdG9yIC5wcm9kdWN0LWNvbnQgLnByb2R1Y3QtY29udGFpbmVyLWlubmVyIHtcblxuICAgIC5pbWFnZS1jb250IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjVlbTtcblxuICAgICAgLmJyYW5kLWxvZ28tY29udCB7XG4gICAgICAgIHdpZHRoOiA1LjVyZW07XG4gICAgICAgIC8vaGVpZ2h0OiA1LjVyZW07XG4gICAgICB9XG5cbiAgICAgIC5wcm9kdWN0LWltZyB7XG4gICAgICAgIHdpZHRoOiA1LjVyZW07XG4gICAgICAgIGhlaWdodDogNS41cmVtO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuXG4gICAgLmluZm8tY29sLTEge1xuICAgICAgLy9tYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIC8vbWFyZ2luLWxlZnQ6IDYuMjVyZW07IC8vIGdldCByaWQgb2YgdGhpcyB0byBoYXZlIGVsZW1lbnRzIGluIHRoaXMgY29udGFpbmVyIHdyYXAgdW5kZXIgdGhlIGltYWdlISEhIVxuICAgICAgZm9udC1zaXplOiAuOWVtO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG5cbiAgICAuaW5mby1jb2wtMiB7XG4gICAgICAvL21hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgIC8vcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICAgIC8vYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlY2VkZjA7XG5cbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBmb250LXNpemU6IC45ZW07XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cblxuICB9XG59XG5cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzc2cHgpIHtcblxuXG4ucHJvZHVjdC1saXN0LXNlbGVjdG9yIC50aXRsZS1jb250IHtcbiAgICBoZWlnaHQ6IGF1dG87XG5cbiAgfVxuXG5cbi5wcm9kdWN0LWxpc3Qtc2VsZWN0b3IgLnByb2R1Y3QtY29udCAucHJvZC1hdHRyLWNvbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8vbWFyZ2luLXRvcDogNzBweDtcbiAgfVxuXG5cbi5wcm9kdWN0LWxpc3Qtc2VsZWN0b3IgLnByb2R1Y3QtY29udCAucHJvZHVjdC1jb250YWluZXItaW5uZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cblxuLnByb2R1Y3QtbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cblxuLnByb2R1Y3QtbGlzdC1zZWxlY3RvciAucHJvZHVjdC1jb2wge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzUwcHgpIHtcblxuXG4gIC5wcm9kdWN0LWxpc3Qtc2VsZWN0b3IgLnByb2R1Y3QtY29udCAuYWRkLXRvLW9yZGVyIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cblxuXG5cbi5wcm9kdWN0LWxpc3Qtc2VsZWN0b3Ige1xuICBtYXJnaW4tdG9wOiByZW1jKDMwKTtcblxuICAuZmFjZXRzLWNvbnQge1xuICAgIGJvcmRlci1yYWRpdXM6IHJlbWMoNCk7XG4gICAgcGFkZGluZzogcmVtYygwLCAxMCk7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3Jfc2Vjb25kYXJ5O1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHBhZGRpbmc6IHJlbWMoMjApO1xuICAgICAgei1pbmRleDogJHppbmRleC1tb2RhbDtcblxuICAgICAgaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGxlZnQ6IDEzcHg7XG4gICAgICAgIHRvcDogM3B4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGVza3RvcDogdGhlIHNpZGViYXIgaXMgbm90IGEgZHJhd2VyLCBzbyBubyBoZWFkZXIgcm93IGF0IGFsbC5cbiAgICAvLyDimqAgTWlycm9ycyBwcm9kdWN0LWZhY2V0cy9zaWRlYmFyL2luZGV4LnNjc3Mg4oCUIHNlZSB0aGUgbm90ZSBhdCB0aGUgbW9iaWxlXG4gICAgLy8gZHJhd2VyIGJsb2NrIGZ1cnRoZXIgZG93biB0aGlzIGZpbGUuXG4gICAgLmNsb3NlLFxuICAgIC5mYWNldHMtY29udF9faGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXNpemU6IHJlbWMoMTYpO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICBsaSBpbnB1dDpjaGVja2Vkfi5jaGVja21hcmsge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfcHJpbWFyeV9kYXJrO1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcl9wcmltYXJ5X2Rhcms7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnByb2R1Y3RzLWNvbnQge1xuICAgIGJvcmRlci1sZWZ0OiByZW1jKDEpIHNvbGlkICM0YjRhNGE7XG4gICAgcGFkZGluZy1sZWZ0OiByZW1jKDIwKTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAucHJvZHVjdC1jb250IHtcbiAgICAgIGJvcmRlci1ib3R0b206IHJlbWMoMSkgc29saWQgJGNvbG9yX25ldXRyYWxfMztcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbWMoMzApO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbWMoNDApO1xuXG4gICAgICAuYnV5LWJ1dHRvbi1yb3cge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG5cbiAgICAgIC5xdWFudGl0eSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnRpdGxlLWNvbnQge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgLnByb2R1Y3QtbGluZV9fd2lzaGxpc3Qge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgLmxpZ2h0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5wcm9kdWN0LWNvbnRhaW5lci1pbm5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC5pbWFnZS1jb250IHtcbiAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBmbGV4OiAxIDEgMjAlO1xuXG4gICAgICAgICAgLnByb2R1Y3QtaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pbmZvLWNvbC0xIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBmbGV4OiAxIDEgNzAlO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgIC5wcm9kdWN0LWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIC5vdXRlciB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtYygxNik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5wcmljaW5nIHtcbiAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5wcmljZS1zaWduIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbWMoMjApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5wcmljZS1hbW91bnQge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtYygyMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5wYXJ0LW51bWJlci1jb250IHtcbiAgICAgICAgLnBhcnQtbnVtYmVyIHtcbiAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZml0cy1yb3cge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIC5oZWFkZXIge1xuICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgICBmb250LXNpemU6IHJlbWMoMTQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnN0YWNrdGFibGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtYygxNCk7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmludGVyY2hhbmdlLXJvdyB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICBmb250LXNpemU6IHJlbWMoMTQpO1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgYm9yZGVyOiByZW1jKDEpIHNvbGlkICRjb2xvcl9uZXV0cmFsXzM7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbWMoNCwgNCwgMCwgMCk7XG4gICAgICB9XG5cbiAgICAgIC5idXktYnV0dG9uLW1hc3Rlci1jb250IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICAuYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICAgICAgbWF4LXdpZHRoOiByZW1jKDI1MCk7XG4gICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgZmxleDogMSAxIGF1dG87XG5cbiAgICAgICAgICAuYWRkLXRvLW9yZGVyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtYygxNCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcblxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAzMHB4KSB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IHJlbWMoOCk7XG4gICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAucHJvZHVjdC1kZXRhaWxzLXRhYnMge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW1jKDMwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYnJhbmQtbG9nby1jb250IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgcGFkZGluZzogcmVtYygyMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogcmVtYyg0KTtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcblxuICAucHJvZHVjdC1saXN0LXNlbGVjdG9yIHtcbiAgICAvLyDimqAgTUlSUk9SIG9mIHRoZSBtb2JpbGUgZHJhd2VyIGJsb2NrIGluXG4gICAgLy8gcmVzb3VyY2VzL2NvbXBvbmVudHMvcHJvZHVjdC1mYWNldHMvc2lkZWJhci9pbmRleC5zY3NzLiBCb3RoIGJ1bmRsZXNcbiAgICAvLyBkZWZpbmUgdGhlc2UgcnVsZXMgYW5kIEJPVEggbG9hZCBvbiBhIGNhdGFsb2cgcGFnZSwgc28gd2hpY2hldmVyIDxsaW5rPlxuICAgIC8vIGNvbWVzIGxhc3Qgd2lucyDigJQgd2hpY2ggZGlmZmVycyBwZXIgc2l0ZS4gUHJvdmVuIG9uIDIwMjYtMDktMDM6IHRoZVxuICAgIC8vIGRyYXdlciBmaXggbGFuZGVkIG9ubHkgaW4gdGhlIGZhY2V0cyBidW5kbGUgYW5kIG5ld3BhcnRzb250aGVnbyBwaWNrZWQgaXRcbiAgICAvLyB1cCB3aGlsZSB0aGUgbmdrc3BhcmtwbHVncyAoQVBYKSB0ZW5hbnQga2VwdCB0aGUgb2xkIGB0b3A6IDEwMHB4YCBmcm9tXG4gICAgLy8gVEhJUyBjb3B5LCBsZWF2aW5nIHRoZSBkcmF3ZXIgNHB4IGJlaGluZCBpdHMgb3duIGhlYWRlci4gQ2hhbmdlIHRoZSB0d29cbiAgICAvLyB0b2dldGhlciwgb3IgdGhlIGZpeCBpcyBhIGNvaW4gZmxpcC5cbiAgICAuZmFjZXRzLWNvbnQge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAvLyBNZWFzdXJlZCBoZWFkZXIgYm90dG9tIChzY3JpcHRzL29sZC1jb21wb25lbnRzL2hlYWRlci5qc1xuICAgICAgLy8gcHVibGlzaEhlYWRlckJvdHRvbSk7IDEwMHB4IGlzIHRoZSBwcmUtMjAyNi0wOS0wMyBjb25zdGFudCwga2VwdCBhcyB0aGVcbiAgICAgIC8vIG5vLUpTIGZhbGxiYWNrLlxuICAgICAgdG9wOiB2YXIoLS1wcy1mYWNldHMtdG9wLCB2YXIoLS1wcy1oZHItYm90dG9tLCAxMDBweCkpO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsXzQ7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XG4gICAgICAvL3RyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuXG4gICAgICAvLyBTdGlja3kgZHJhd2VyIGhlYWRlciDigJQgc2VlIHRoZSBsb25nIG5vdGUgb24gdGhlIG1pcnJvcmVkIGJsb2NrIGZvciB3aHlcbiAgICAgIC8vIHRoZSBiYXJlIGZ1bGwtd2lkdGggYC5jbG9zZWAgcm93IGhhZCB0byBnby5cbiAgICAgIC5mYWNldHMtY29udF9faGVhZCB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBnYXA6IHJlbWMoMTApO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMTIpO1xuICAgICAgICBtYXJnaW46IHJlbWMoLTIwLCAtMjAsIDEyKTtcbiAgICAgICAgcGFkZGluZzogcmVtYyg4LCAyMCk7XG4gICAgICB9XG5cbiAgICAgIC5mYWNldHMtY29udF9faGVhZC10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtYygxNyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfcHJpbWFyeV9kYXJrZXI7XG4gICAgICB9XG5cbiAgICAgIC5jbG9zZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIHdpZHRoOiByZW1jKDQ0KTtcbiAgICAgICAgaGVpZ2h0OiByZW1jKDQ0KTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXNpemU6IHJlbWMoMjgpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9wcmltYXJ5X2RhcmtlcjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIGkge1xuICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgZm9udC1zaXplOiByZW1jKDI4KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZmlsdGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgLy8gVGhlIHN0aWNreSBkcmF3ZXIgaGVhZGVyIGFscmVhZHkgZHJhd3MgYSBkaXZpZGVyIHVuZGVyIGl0c2VsZiwgc29cbiAgICAgICAgLy8gdGhlIGZpcnN0IGZpbHRlcidzIG93biB0b3AgcnVsZSBtYWRlIGEgZG91YmxlZCBsaW5lIDEycHggYmVsb3cgaXQg4oCUXG4gICAgICAgIC8vIGFuZCBhbiBpbnNldCBvbmUsIHNpbmNlIGZpbHRlciBpdGVtcyBzaXQgMiUgaW4uXG4gICAgICAgICYtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtaXRlbSB7XG4gICAgICAgICAgZmxleDogMSAxIDQ2JTtcbiAgICAgICAgICBtYXJnaW46IHJlbWMoMTApIDIlO1xuXG4gICAgICAgICAgdWwge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdHMtY29udCB7XG4gICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgLnByb2R1Y3QtY29udGFpbmVyLWlubmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAuaW1hZ2UtY29udCB7XG4gICAgICAgICAgLmJyYW5kLWxvZ28tY29udCB7XG4gICAgICAgICAgICAvL3dpZHRoOiByZW1jKDI1MCk7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIC5wcm9kdWN0LWNvbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1kZXRhaWwgLnByb2R1Y3QtY29udCAucHJvZHVjdC1pbmZvLWNvbnRhaW5lciB7XG4gICAgICBmbGV4LWdyb3c6IGluaXRpYWw7XG5cbiAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgIC8vIE1BUktFVElORyAvIFBQQyBPVkVSUklERVMgKGZyb20gc3BvcmtfbWFya2V0aW5nKVxuICAgICAgLy8gVGhlc2Ugb3ZlcnJpZGUgcHJvZHVjdCBzdHlsZXMgZm9yIFBQQyBsYW5kaW5nIHBhZ2VzIGFuZCBtYXJrZXRpbmcgcGFnZXNcbiAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgICAgLyogQmVhY2hzaWRlIEF1dG8gUGFydHMgUFBDIExhbmRpbmcgUGFnZSBVcGRhdGVzICovXG4gICAgICAjY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgfVxuXG4gICAgICAucHJvZHVjdHMtbWFpbi1jb250YWluZXIgLnZlaGljbGUtc2VsZWN0IHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTVweCAwO1xuICAgICAgfVxuXG4gICAgICAucHJvZHVjdHMtbWFpbi1jb250YWluZXIgLnZlaGljbGUtc2VsZWN0IC5jb250YWluZXIgLmJvZHkge1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5wcm9kdWN0cy1tYWluLWNvbnRhaW5lciAudmVoaWNsZS1zZWxlY3QgLnNlYXJjaF9ieSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5wcm9kdWN0cy1tYWluLWNvbnRhaW5lciAudmVoaWNsZS1zZWxlY3QgLmNvbnRhaW5lciAuYm9keSAudmVoaWNsZS13aWRnZXQge1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICB9XG5cbiAgICAgIC5wcm9kdWN0cy1tYWluLWNvbnRhaW5lciAudmVoaWNsZS1zZWxlY3QgLmNvbnRhaW5lciAuYm9keSAudmVoaWNsZS13aWRnZXQgc2VsZWN0LFxuICAgICAgLnByb2R1Y3RzLW1haW4tY29udGFpbmVyIC52ZWhpY2xlLXNlbGVjdCAuY29udGFpbmVyIC5ib2R5IC52ZWhpY2xlLXdpZGdldCBidXR0b24ge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIH1cblxuICAgICAgLnByb2R1Y3RzLW1haW4tY29udGFpbmVyIC52ZWhpY2xlLXNlbGVjdCAuY29udGFpbmVyIC5ib2R5IC52ZWhpY2xlLXdpZGdldCBidXR0b24ge1xuICAgICAgICBwYWRkaW5nOiA3cHg7XG4gICAgICB9XG5cbiAgICAgIC5wcm9kdWN0cy1tYWluLWNvbnRhaW5lciAudmVoaWNsZS1zZWxlY3Rvci1wcGMtbGFuZGluZyB7XG5cbiAgICAgIH1cblxuICAgICAgLnByb2R1Y3RzLW1haW4tY29udGFpbmVyIC5wcGMtc2hpbGxpbmcge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfcHJpbWFyeV9saWdodDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMTBweCBhdXRvO1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuICAgICAgICBtYXgtd2lkdGg6IDU1cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICB9XG5cbiAgICAgIC5wcm9kdWN0cy1tYWluLWNvbnRhaW5lciAucHBjLXNoaWxsaW5nIGRpdixcbiAgICAgIC5wcm9kdWN0cy1tYWluLWNvbnRhaW5lciAucHBjLXNoaWxsaW5nIGRpdiBhLFxuICAgICAgLnByb2R1Y3RzLW1haW4tY29udGFpbmVyIC5wcGMtc2hpbGxpbmcgZGl2IGkge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgfVxuXG4gICAgICAucHJvZHVjdHMtbWFpbi1jb250YWluZXIgLnBwYy1zaGlsbGluZyBkaXYgaSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICAgIH1cblxuICAgICAgLnBhZ2luYXRpb24tY29udGFpbmVyLFxuICAgICAgLnBhZ2luYXRpb24tY29udGFpbmVyOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgICB9XG5cbiAgICAgIC5wYWdpbmF0aW9uLWNvbnRhaW5lciAucGFnaW5hdGlvbi1jb250YWluZXItaXRlbSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIC5wYWdpbmF0aW9uLWNvbnRhaW5lciAucGFnaW5hdGlvbi1jb250YWluZXItaXRlbSAuZm9ybS1ncm91cCAuY3VzdG9tLXNlbGVjdCB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cblxuICAgICAgLnBhZ2luYXRpb24tY29udGFpbmVyIC5wYWdpbmF0aW9uLWNvbnRhaW5lci1pdGVtIC5mb3JtLWdyb3VwIC5zZWxlY3Qtc2VsZWN0ZWQge1xuICAgICAgICBwYWRkaW5nOiAzcHggNXB4O1xuICAgICAgfVxuXG4gICAgICAucHJvZHVjdHMgLnJvdy5tdC00IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIC5wcm9kdWN0cyAucm93Lm10LTQgLnRvZ2dsZV9sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIH1cblxuICAgICAgLnByb2R1Y3RzIC5yb3cubXQtNCAudG9nZ2xlX2dyb3VwIHtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG5cbiAgICAgIC5wcm9kdWN0cyAucHJvZHVjdC1saXN0LXNlbGVjdG9yIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgIH1cblxuICAgICAgLnByb2R1Y3QtbGlzdC1zZWxlY3RvciAucHJvZHVjdC1saW5lX19zdG9jayB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5wcm9kdWN0LWxpc3Qtc2VsZWN0b3IgLnByb2R1Y3QtY29udCAucGFydC1udW1iZXItY29udCBsYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogM3B4O1xuICAgICAgfVxuXG4gICAgICAucHJvZHVjdC1saXN0LXNlbGVjdG9yIC5wcm9kdWN0LWNvbnQgLnBhcnQtbnVtYmVyLWNvbnQgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIH1cblxuICAgICAgLnByb2R1Y3QtbGlzdC1zZWxlY3RvciAucHJvZHVjdC1jb250IC5mcmVlX3NoaXBwaW5nIHtcbiAgICAgICAgY29sb3I6ICMxNTU3MjQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICNkNGVkZGE7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjM2U2Y2I7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICAgIG1hcmdpbjogMTBweCAwIDAgMDtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICB9XG5cbiAgICAgIC8qIEJlYWNoc2lkZSBBdXRvIFBhcnRzIFByb2R1Y3QgRGV0YWlsIFBhZ2UgVXBkYXRlcyAqL1xuICAgICAgI2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgIH1cblxuICAgICAgLnByb2R1Y3QtZGV0YWlsIC5icmFuZC1sb2dvLWNvbnQgaW1nLFxuICAgICAgLnByb2R1Y3QtZGV0YWlsIC5icmFuZC1sb2dvLWNvbnQgc3ZnIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgfVxuXG4gICAgICAucHJvZHVjdC1kZXRhaWwgYS5hZGQtdG8td2lzaGxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAucHJvZHVjdC1kZXRhaWwgLnByb2R1Y3QtY29udCAucGFydC1udW1iZXItY29udCB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB9XG5cbiAgICAgIC5wcm9kdWN0LWRldGFpbCAucHJvZHVjdC1jb250IC5wcmljaW5nIHNwYW4gbGFiZWwge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgICB9XG5cbiAgICAgIC5wcm9kdWN0LWRldGFpbCAucHJvZHVjdC1jb250IC5wYXJ0LW51bWJlci1jb250IGxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcHg7XG4gICAgICB9XG5cbiAgICAgIC5wcm9kdWN0LWRldGFpbCAucHJvZHVjdC1jb250IC5wYXJ0LW51bWJlci1jb250IHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICB9XG5cbiAgICAgIC5wcm9kdWN0LWRldGFpbCAucHJvZHVjdC1jb250IC5mcmVlX3NoaXBwaW5nIHtcbiAgICAgICAgY29sb3I6ICMxNTU3MjQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICNkNGVkZGE7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjM2U2Y2I7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICAgIG1hcmdpbjogMTBweCAwIDAgMDtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICB9XG5cbiAgICAgIC5wcm9kdWN0LWRldGFpbCAucHJvZHVjdC1jb250IC5wcm9kdWN0LWxpbmVfX3N0b2NrIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLnByb2R1Y3QtZGV0YWlsIC5wcm9kdWN0LWNvbnQgLmJ1eS1idXR0b24tbWFzdGVyLWNvbnQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgfVxufVxuXG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gTU9CSUxFIENBUkQgIChmcm9tIHByb2R1Y3RzLW1vYmlsZS5zY3NzKVxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi5wcm9kdWN0LXZpZXctZGVza3RvcCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucHJvZHVjdC12aWV3LW1vYmlsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5wcm9kdWN0LXZpZXctZGVza3RvcCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5wcm9kdWN0LXZpZXctbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNFQ1RJT04gMjogTU9CSUxFIFBST0RVQ1QgQ0FSRFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuXG4gIC5wcm9kdWN0LWNvbnQtLW1vYmlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNGU0ZTQ7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIG1hcmdpbjogMTJweCAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjA2KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLm1haW4ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIFdJU0hMSVNUIEJVVFRPTiAoYWJzb2x1dGUsIHRvcC1yaWdodClcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIC5wcm9kdWN0LWxpbmVfX3dpc2hsaXN0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTBweDtcbiAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGVhc2U7XG5cbiAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gSEVBREVSOiBJbWFnZSArIEJyYW5kICsgVGl0bGUgKyBLZXkgSW5mb1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgLm1vYmlsZS1oZWFkZXIge1xuICAgICAgcGFkZGluZzogMTJweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjBmMGYwO1xuICAgIH1cblxuICAgIC5tb2JpbGUtaGVhZGVyX190b3Age1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGdhcDogMTJweDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgIC5tb2JpbGUtaGVhZGVyX19pbWFnZSB7XG4gICAgICBmbGV4OiAwIDAgMTAwcHg7XG4gICAgICBtYXgtd2lkdGg6IDEwMHB4O1xuXG4gICAgICAuaW1hZ2UtY29udCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG5cbiAgICAgIC5wcm9kdWN0LWltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBhc3BlY3QtcmF0aW86IDE7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmFmYWZhO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgICAgIHBhZGRpbmc6IDZweDtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmJyYW5kLWxvZ28tY29udCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogNnB4IDAgMDtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAubW9iaWxlLWhlYWRlcl9faW5mbyB7XG4gICAgICBmbGV4OiAxO1xuICAgICAgbWluLXdpZHRoOiAwOyAvLyBhbGxvdyB0ZXh0IHRydW5jYXRpb25cbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7IC8vIHNwYWNlIGZvciB3aXNobGlzdCBoZWFydFxuICAgIH1cblxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gVElUTEVcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIC50aXRsZS1jb250IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDAgMCA4cHg7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4zNTtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIGNvbG9yOiAjMWExYTFhO1xuICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMztcbiAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgLmxpZ2h0ZXIge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gS0VZIElORk8gKFBhcnQgIywgTUZSICMsIEJhZGdlcylcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIC5tb2JpbGUta2V5LWluZm8ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBnYXA6IDRweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgICB9XG5cbiAgICAubW9iaWxlLWtleS1pbmZvX19yb3cge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDZweDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICAubW9iaWxlLWtleS1pbmZvX19sYWJlbCB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6ICM4ODg7XG4gICAgICBmb250LXNpemU6IDAuNjg3NXJlbTsgLy8gMTFweFxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjNweDtcbiAgICB9XG5cbiAgICAubW9iaWxlLWtleS1pbmZvX192YWx1ZSB7XG4gICAgICBjb2xvcjogIzMzMztcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgLy8gMTJweFxuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG5cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIEJBREdFU1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgLm1vYmlsZS1iYWRnZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAzcHggOHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICB9XG5cbiAgICAubW9iaWxlLWJhZGdlLS1wb3NpdGlvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZWVmMGY4O1xuICAgICAgY29sb3I6ICMzZjUxYjU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzVjYWU5O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjNweDtcbiAgICB9XG5cbiAgICAubW9iaWxlLWJhZGdlLS1maXRtZW50IHtcbiAgICAgIGJhY2tncm91bmQ6ICNlOGY1ZTk7XG4gICAgICBjb2xvcjogIzJlN2QzMjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNhNWQ2YTc7XG4gICAgICBnYXA6IDNweDtcbiAgICB9XG5cbiAgICAubW9iaWxlLWJhZGdlX19pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICB9XG5cbiAgICAuZnJlZV9zaGlwcGluZyB7XG4gICAgICBtYXJnaW46IDRweCAwIDA7XG4gICAgICBwYWRkaW5nOiAzcHggOHB4O1xuICAgICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6ICMxNTU3MjQ7XG4gICAgICBiYWNrZ3JvdW5kOiAjZDRlZGRhO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MzZTZjYjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIFBSSUNFICsgQlVZIFNFQ1RJT05cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIC5tb2JpbGUtYnV5LXNlY3Rpb24ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBnYXA6IDEwcHg7XG4gICAgICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjhmOWZhO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMGYwZjA7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuXG4gICAgLnByaWNpbmcge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuXG4gICAgICAuY29yZS1wcmljZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICAgICAgY29sb3I6ICM2NjY7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAucHJpY2Uge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgIGdhcDogMnB4O1xuXG4gICAgICAgIGxhYmVsIHsgZGlzcGxheTogbm9uZTsgfSAvLyBoaWRlIFwiT3VyIFByaWNlOlwiIG9uIG1vYmlsZVxuXG4gICAgICAgIC5wcmljZS1zaWduLFxuICAgICAgICAucHJpY2UtYW1vdW50IHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMzc1cmVtOyAvLyAyMnB4XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBjb2xvcjogI2M2MjgyODtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGBzcGFuLnByaWNlLWN1cnJlbmN5YCAobm90IGp1c3QgYC5wcmljZS1jdXJyZW5jeWApIHNvIHRoaXMgdGllcyB0aGVcbiAgICAgICAgLy8gYnJvYWQgYC5wcmljaW5nIC5wcmljZSBzcGFuIHsgZm9udC1zaXplOjI0cHg7IGZvbnQtd2VpZ2h0OjkwMCB9YCBydWxlIG9uXG4gICAgICAgIC8vIHNwZWNpZmljaXR5IChib3RoIDAsNCwxKSBhbmQgd2lucyBvbiBzb3VyY2Ugb3JkZXIg4oCUIGtlZXBzIFVTRCBzbWFsbCArXG4gICAgICAgIC8vIGdyZXkgd2hpbGUgdGhlIHByaWNlIHZhbHVlIHN0YXlzIHRoZSBwcm9taW5lbnQgYmxhY2sgbnVtYmVyICh1bnRvdWNoZWQpLlxuICAgICAgICBzcGFuLnByaWNlLWN1cnJlbmN5IHtcbiAgICAgICAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICAgICAgICBjb2xvcjogIzg4ODtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAubW9iaWxlLWJ1eS1zZWN0aW9uX19hY3Rpb25zIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiA4cHg7XG4gICAgICBmbGV4OiAxO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG5cbiAgICAucXVhbnRpdHkge1xuICAgICAgdG9wOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZmxvYXQ6IG5vbmU7XG5cbiAgICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICAgIC5pbnB1dC1ncm91cC10ZXh0IHtcbiAgICAgICAgICBwYWRkaW5nOiA2cHggOHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweCAwIDAgNHB4O1xuICAgICAgICAgIGNvbG9yOiAjNjY2O1xuICAgICAgICB9XG5cbiAgICAgICAgLnF0eSB7XG4gICAgICAgICAgd2lkdGg6IDQ0cHg7XG4gICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgNHB4IDRweCAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbi1jb250YWluZXIge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBmbG9hdDogbm9uZTtcblxuICAgICAgLmFkZC10by1vcmRlciB7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgbWluLXdpZHRoOiA0MHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDE0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBnYXA6IDVweDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuXG4gICAgICAgIC5nbHlwaGljb24tc2hvcHBpbmctY2FydCB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbiB0aW55IHNjcmVlbnMsIGhpZGUgXCJBZGQgdG8gQ2FydFwiIHRleHQsIHNob3cgaWNvbiBvbmx5XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM3NHB4KSB7XG4gICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICAgIC5hZGQtdG8tb3JkZXJfX3RleHQgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAub3V0LW9mLXN0b2NrIHtcbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgcGFkZGluZzogMCAxNHB4O1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBBQ0NPUkRJT05cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIC5tb2JpbGUtYWNjb3JkaW9uIHtcbiAgICAgIC8vIG5vIGV4dHJhIG1hcmdpbiBuZWVkZWQgLSBzaXRzIGJlbG93IGJ1eSBzZWN0aW9uXG4gICAgfVxuXG4gICAgLm1vYmlsZS1hY2NvcmRpb25fX2l0ZW0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMGYwZjA7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1vYmlsZS1hY2NvcmRpb25fX2hlYWRlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMTJweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XG4gICAgICAvLyBNaW5pbXVtIHRvdWNoIHRhcmdldFxuICAgICAgbWluLWhlaWdodDogNDRweDtcblxuICAgICAgJjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICAgICAgfVxuXG4gICAgICAvLyBGb2N1c2VkIHN0YXRlIGZvciBrZXlib2FyZCBuYXZpZ2F0aW9uXG4gICAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICBvdXRsaW5lOiAycHggc29saWQgIzIxOTZmMztcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gICAgICB9XG5cbiAgICAgIC8vIE9wZW4gc3RhdGVcbiAgICAgICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmFmYWZhO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U4ZThlODtcblxuICAgICAgICAubW9iaWxlLWFjY29yZGlvbl9fY2hldnJvbiB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1vYmlsZS1hY2NvcmRpb25fX3RpdGxlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIGNvbG9yOiAjMzMzO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjRweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiA2cHg7XG4gICAgfVxuXG4gICAgLm1vYmlsZS1hY2NvcmRpb25fX2ljb24tbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICB9XG5cbiAgICAubW9iaWxlLWFjY29yZGlvbl9fY291bnQge1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAjODg4O1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgLm1vYmlsZS1hY2NvcmRpb25fX2NoZXZyb24ge1xuICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgY29sb3I6ICM5OTk7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXMgZWFzZTtcblxuICAgICAgLy8gQ1NTLW9ubHkgY2hldnJvbiBhcnJvd1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiA3cHg7XG4gICAgICAgIGhlaWdodDogN3B4O1xuICAgICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjOTk5O1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzk5OTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubW9iaWxlLWFjY29yZGlvbl9fY29udGVudCB7XG4gICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4zcyBlYXNlO1xuICAgICAgYmFja2dyb3VuZDogI2ZhZmFmYTtcblxuICAgICAgLy8gT3BlbiBzdGF0ZSAoc2V0IHZpYSBKUylcbiAgICAgICYuaXMtb3BlbiB7XG4gICAgICAgIC8vIG1heC1oZWlnaHQgc2V0IGR5bmFtaWNhbGx5IGJ5IEpTXG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICB9XG5cbiAgICAgIC8vIElubmVyIHBhZGRpbmcgYXBwbGllZCB0byBjb250ZW50LCBub3QgY29udGFpbmVyXG4gICAgICAvLyBUaGlzIHByZXZlbnRzIHBhZGRpbmcgZnJvbSBzaG93aW5nIHdoZW4gY29sbGFwc2VkXG4gICAgICA+ICoge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7IHBhZGRpbmctdG9wOiAxMnB4OyB9XG4gICAgICAgICY6bGFzdC1jaGlsZCB7IHBhZGRpbmctYm90dG9tOiAxMnB4OyB9XG4gICAgICB9XG5cbiAgICAgIC8vIENvbnRlbnQgc3R5bGVzXG4gICAgICB1bC5vdXRlciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjhweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgY29sb3I6ICM0NDQ7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuXG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHVsLmlubmVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAgICAgICBtYXJnaW46IDRweCAwIDA7XG4gICAgICB9XG5cbiAgICAgIC5wYV9sYWJlbCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiAjNTU1O1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIH1cblxuICAgICAgLnBhX3ZhbHVlIHtcbiAgICAgICAgY29sb3I6ICMzMzM7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgfVxuXG4gICAgICAubWFya2V0aW5nLXRleHQge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlOGU4ZTg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBjb2xvcjogIzU1NTtcblxuICAgICAgICBzdHJvbmcge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICAgICAgICBjb2xvcjogIzMzMztcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5tb2JpbGUtYWNjb3JkaW9uX19kZXRhaWwtcm93IHtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIH1cblxuICAgIC5tb2JpbGUtYWNjb3JkaW9uX19kZXRhaWwtbGFiZWwge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGNvbG9yOiAjNTU1O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgfVxuXG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBGSVRNRU5UIENISVBTXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICAubW9iaWxlLWZpdG1lbnQtY2hpcHMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGdhcDogNXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICB9XG5cbiAgICAubW9iaWxlLWZpdG1lbnQtY2hpcCB7XG4gICAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgICAgYmFja2dyb3VuZDogI2UzZjJmZDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNiYmRlZmI7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICAgIGNvbG9yOiAjMTU2NWMwO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLm1vYmlsZS1maXRtZW50LWNoaXAtLW1vcmUge1xuICAgICAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2UwZTBlMDtcbiAgICAgIGNvbG9yOiAjNjY2O1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gU0NST0xMQUJMRSBUQUJMRSBXSVRIIEZBREUgSElOVFNcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIC5tb2JpbGUtdGFibGUtc2Nyb2xsLXdyYXBwZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIH1cblxuICAgIC5tb2JpbGUtdGFibGUtc2Nyb2xsIHtcbiAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNHB4O1xuXG4gICAgICAvLyBTY3JvbGxiYXIgc3R5bGluZ1xuICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICBoZWlnaHQ6IDRweDtcbiAgICAgIH1cbiAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2YwZjBmMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgfVxuICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjY2NjO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmlnaHQgZmFkZSBoaW50IC0gaW5kaWNhdGVzIG1vcmUgY29udGVudCB0byBzY3JvbGxcbiAgICAubW9iaWxlLXRhYmxlLXNjcm9sbC1oaW50IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogNHB4O1xuICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICBjb2xvcjogIzk5OTtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDAgMCA0cHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICAgICAgICBhbmltYXRpb246IGZhZGVIaW50UHVsc2UgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gICAgICB9XG5cbiAgICAgICYtLXJpZ2h0IHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyNTAsIDI1MCwgMjUwLCAwKSAwJSwgcmdiYSgyNTAsIDI1MCwgMjUwLCAwLjk1KSA3MCUpO1xuICAgICAgfVxuXG4gICAgICAmLS1sZWZ0IHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsIHJnYmEoMjUwLCAyNTAsIDI1MCwgMCkgMCUsIHJnYmEoMjUwLCAyNTAsIDI1MCwgMC45NSkgNzAlKTtcbiAgICAgIH1cblxuICAgICAgLy8gSGlkZGVuIHdoZW4gbm90IG5lZWRlZFxuICAgICAgJi5pcy1oaWRkZW4ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBrZXlmcmFtZXMgZmFkZUhpbnRQdWxzZSB7XG4gICAgICAwJSwgMTAwJSB7IG9wYWNpdHk6IDAuNTsgfVxuICAgICAgNTAlIHsgb3BhY2l0eTogMTsgfVxuICAgIH1cblxuICAgIC8vIFRhYmxlIHN0eWxlcyBpbnNpZGUgc2Nyb2xsIGNvbnRhaW5lclxuICAgIC5zdGFja3RhYmxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBtaW4td2lkdGg6IDQwMHB4OyAvLyBmb3JjZSBob3Jpem9udGFsIHNjcm9sbCBvbiBuYXJyb3cgc2NyZWVuc1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgdGgge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZThlOGU4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xuICAgICAgICBwYWRkaW5nOiA2cHggMTBweDtcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2RkZDtcbiAgICAgIH1cblxuICAgICAgdGQge1xuICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7XG4gICAgICAgIGNvbG9yOiAjNDQ0O1xuICAgICAgfVxuXG4gICAgICB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5maXRzLXJvdyB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgIC5oZWFkZXIge1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgICBjb2xvcjogIzMzMztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaW50ZXJjaGFuZ2Utcm93IHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG5cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIFNUQVIgUkFUSU5HXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICAuc3Rhcl9yYXRpbmdfbGlzdCB7XG4gICAgICBwYWRkaW5nOiA4cHggMTJweDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZjBmMGYwO1xuICAgIH1cblxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gUEFSVCBOVU1CRVIgU0VDVElPTiAoaWYgZGlzcGxheWVkIHNlcGFyYXRlbHkpXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICAucGFydC1udW1iZXItY29udCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgY2xlYXI6IG5vbmU7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiAjODg4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIGNvbG9yOiAjNDQ0O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gUFBDIFlFQVIgU0VMRUNUT1IgKG1vYmlsZSlcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIC5wcm9kdWN0LXllYXItc2VsZWN0b3Ige1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiA4cHg7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICBzZWxlY3Qge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNFQ1RJT04gMzogVkVSWSBTTUFMTCBTQ1JFRU5TICgzNjBweCBhbmQgYmVsb3cpXG4vLyBpUGhvbmUgU0UsIG9sZGVyIEFuZHJvaWQgZGV2aWNlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNzRweCkge1xuICAucHJvZHVjdC1jb250LS1tb2JpbGUge1xuICAgIG1hcmdpbjogOHB4IDA7XG5cbiAgICAubW9iaWxlLWhlYWRlciB7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgIH1cblxuICAgIC5tb2JpbGUtaGVhZGVyX19pbWFnZSB7XG4gICAgICBmbGV4OiAwIDAgODBweDtcbiAgICAgIG1heC13aWR0aDogODBweDtcbiAgICB9XG5cbiAgICAudGl0bGUtY29udCBhIC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICB9XG5cbiAgICAucHJpY2luZyAucHJpY2Uge1xuICAgICAgLnByaWNlLXNpZ24sXG4gICAgICAucHJpY2UtYW1vdW50IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU0VDVElPTiA0OiBBQ0NFU1NJQklMSVRZICYgTU9USU9OXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIFJlZHVjZSBtb3Rpb24gZm9yIHVzZXJzIHdobyBwcmVmZXIgaXRcbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5wcm9kdWN0LWNvbnQtLW1vYmlsZSB7XG4gICAgLm1vYmlsZS1hY2NvcmRpb25fX2NvbnRlbnQge1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAubW9iaWxlLWFjY29yZGlvbl9fY2hldnJvbiB7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC5tb2JpbGUtdGFibGUtc2Nyb2xsLWhpbnQgc3BhbiB7XG4gICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIEhpZ2ggY29udHJhc3QgbW9kZVxuQG1lZGlhIChwcmVmZXJzLWNvbnRyYXN0OiBoaWdoKSB7XG4gIC5wcm9kdWN0LWNvbnQtLW1vYmlsZSB7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzAwMDtcblxuICAgIC5tb2JpbGUtYWNjb3JkaW9uX19oZWFkZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM2NjY7XG4gICAgfVxuXG4gICAgLm1vYmlsZS1iYWRnZSB7XG4gICAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICB9XG4gIH1cbn1cblxuLy8g4pSA4pSAIFByb2R1Y3QtY2FyZCBzdG9yZSBzZWxlY3RvciAoc2hhcmVkIHdpdGggdGhlIEJFTSB2YXJpYW50cykg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBUaGUgbGVnYWN5IGNhcmQgcmVuZGVycyB0aGUgc2FtZSBwcy1wY19fc3RvcmUtKiBtYXJrdXAgKHZpYSBzaGlwcGluZy1iYWRnZXMpLFxuLy8gc28gaXQgbmVlZHMgdGhlIHN0b3JlIHNlbGVjdG9yIHN0eWxlcy4gUHVsbCBpbiB0aGUgc2hhcmVkIHRva2VucyArIG1peGlucyxcbi8vIHRoZW4gdGhlIHN0b3JlIHJ1bGVzIHNjb3BlZCB1bmRlciB0aGUgY29tcG9uZW50IHJvb3QgKFNDU1MgZmFsbGJhY2tzIGNvdmVyIHRoZVxuLy8gdGhlbWUgY3VzdG9tLXByb3BlcnRpZXMsIHNvIGl0IHJlbmRlcnMgZXZlbiB0aG91Z2ggbGVnYWN5IGRvZXNuJ3QgZW1pdCB0aGVtKS5cbkBpbXBvcnQgJy4uL19zaGFyZWQvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uL19zaGFyZWQvbWl4aW5zJztcbi5wcy1jb21wb25lbnQtLXByb2R1Y3QtY2FyZCB7XG4gIEBpbXBvcnQgJy4uL19zaGFyZWQvc3RvcmVzJztcbn1cblxuLy8g4pSA4pSAIENoZWNrLVByaWNlIENUQSAoMjAyNi0wOC0wNykg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBUaGUgbGVnYWN5IGNhcmQgbm93IHJlbmRlcnMgdGhlIHNoYXJlZCBfY2hlY2stcHJpY2UgcGFydGlhbCB3aGVuIGEgcHJvZHVjdFxuLy8gaGFzIG5vIHNlbGxhYmxlIHByaWNlIChNQVApIOKAlCBwYXJpdHkgd2l0aCB0aGUgbW9kZXJuIHZhcmlhbnRzLiBUaG9zZSBzdHlsZXNcbi8vIG5vcm1hbGx5IHNoaXAgaW4gdGhlIG1vZGVybiBidW5kbGVzJyBfcGFydGlhbHM7IHRoaXMgaXMgYSBjb21wYWN0IHN0YW5kYWxvbmVcbi8vIHZlcnNpb24gZm9yIHRoZSBsZWdhY3kgYnVuZGxlIChidXR0b24gPSBzaXRlIHByaW1hcnksIGxpa2UgYWRkLXRvLW9yZGVyKS5cbi5wcy1jb21wb25lbnQtLXByb2R1Y3QtY2FyZC5wcy12YXJpYW50LS1sZWdhY3kge1xuICAucHMtcGNfX2NoZWNrLXByaWNlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA4cHg7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG4gIH1cbiAgLnBzLXBjX19sb2NhbC1hcmVhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNnB4O1xuICAgIGZvbnQtc2l6ZTogMTIuNXB4O1xuICAgIGNvbG9yOiAjNDQ0O1xuICB9XG4gIC5wcy1wY19fY2hlY2stcHJpY2UtYnRuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcGFkZGluZzogMTBweCAxOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcy1jb2xvci1wcmltYXJ5LCAkY29sb3JfcHJpbWFyeSk7XG4gICAgJjpob3ZlciB7IG9wYWNpdHk6IC45MjsgfVxuICB9XG4gIC5wcy1wY19fY2hlY2stcHJpY2UtbGFiZWxzIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAucHMtcGNfX2NoZWNrLXByaWNlLXN1YiB7IGZvbnQtc2l6ZTogMTFweDsgZm9udC13ZWlnaHQ6IDQwMDsgb3BhY2l0eTogLjg1OyB9XG59XG5cbi8vIFByb21vdGVkIGF0dHJpYnV0ZXMgbGluZSAoMjAyNi0wOC0wNykg4oCUIGxlZ2FjeSBidW5kbGUgY29weSBvZiB0aGUgbW9kZXJuXG4vLyBfcGFydGlhbHMgcnVsZSAobGVnYWN5IHBhZ2VzIGRvbid0IGxvYWQgdGhlIG1vZGVybiBidW5kbGVzKS5cbi5wcy1jb21wb25lbnQtLXByb2R1Y3QtY2FyZC5wcy12YXJpYW50LS1sZWdhY3kgLnBzLXBjX19wcm9tb3RlZC1hdHRycyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiA0cHggMTJweDtcbiAgbWFyZ2luOiA2cHggMDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMS4zNTtcbiAgY29sb3I6ICM1NTU7XG5cbiAgLnBzLXBjX19wcm9tb3RlZC1hdHRyLWxhYmVsIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMjIyO1xuICB9XG59XG5cbi8vIEhlbHAgcGlsbCAoY29tcHMgMjAyNi0wOC0wOCkg4oCUIGxlZ2FjeSBidW5kbGUgY29weSBvZiB0aGUgbW9kZXJuIF9wYXJ0aWFsc1xuLy8gcnVsZSAobGVnYWN5IHBhZ2VzIGRvbid0IGxvYWQgdGhlIG1vZGVybiBidW5kbGVzKS4gT3B0aW9uYWwgcGVyIGJsb2NrXG4vLyAoc2hvd0hlbHAgc2V0dGluZyk7IGJpbGluZ3VhbCBzdWJsaW5lIGdhdGVkIGJ5IHRoZSBiaWxpbmd1YWwgc2V0dGluZy5cbi5wcy1jb21wb25lbnQtLXByb2R1Y3QtY2FyZC5wcy12YXJpYW50LS1sZWdhY3kge1xuICAucHMtcGNfX2hlbHAgeyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IG1hcmdpbjogOHB4IDA7IH1cbiAgLnBzLXBjX19oZWxwLS1jZW50ZXIgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAucHMtcGNfX2hlbHAtYnRuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA2cHg7IGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXI6IG5vbmU7IGJhY2tncm91bmQ6IHZhcigtLXBzLWNvbG9yLXByaW1hcnksICRjb2xvcl9wcmltYXJ5KTsgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7IHBhZGRpbmc6IDRweCAxMHB4IDRweCA1cHg7XG4gICAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAmOmhvdmVyIHsgb3BhY2l0eTogLjkyOyB9XG4gIH1cbiAgLnBzLXBjX19oZWxwLWRpc2Mge1xuICAgIHdpZHRoOiAxNXB4OyBoZWlnaHQ6IDE1cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsgYmFja2dyb3VuZDogI2ZmZjsgZmxleDogMCAwIGF1dG87XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXdlaWdodDogNzAwOyBmb250LXNpemU6IDlweDsgY29sb3I6IHZhcigtLXBzLWNvbG9yLXByaW1hcnksICRjb2xvcl9wcmltYXJ5KTtcbiAgfVxuICAucHMtcGNfX2hlbHAtbGFiZWxzIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IGxpbmUtaGVpZ2h0OiAxLjE1OyB9XG4gIC5wcy1wY19faGVscC1sYWJlbCB7IGZvbnQtd2VpZ2h0OiA3MDA7IGZvbnQtc2l6ZTogMTFweDsgfVxuICAucHMtcGNfX2hlbHAtc3ViIHsgZm9udC13ZWlnaHQ6IDUwMDsgZm9udC1zaXplOiAxMXB4OyBvcGFjaXR5OiAwLjg1OyB9XG59XG5cbi8vIOKUgOKUgCBMZWdhY3kgYnV5IGNvbnRyb2xzOiBxdHkgc3RlcHBlciArIEFkZCB0byBDYXJ0IGFzIE9ORSBqb2luZWQgcGlsbCDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIChvd25lciAyMDI2LTA4LTE0KVxuLy9cbi8vIFRoZSBsZWdhY3kgY2FyZCB3YXMgYnVpbHQgd2l0aCB0aGUgcXVhbnRpdHkgaW5wdXQgYW5kIHRoZSBidXR0b24gYXMgYSBzaW5nbGVcbi8vIGNvbnRyb2w6IHRoZSBpbnB1dCByb3VuZGVkIG9uIHRoZSBsZWZ0LCBgLmFkZC10by1vcmRlcmAgcm91bmRlZCBvbiB0aGUgcmlnaHRcbi8vIGFuZCBwdWxsZWQgNnB4IGxlZnQgc28gdGhlaXIgYm9yZGVycyBtZXQuIFN3YXBwaW5nIHRoZSBwbGFpbiBpbnB1dCBmb3IgdGhlXG4vLyBzaGFyZWQg4oiSLysgc3RlcHBlciAoLnBzLWNhcnQtcXR5LCBzdHlsZWQgZm9yIHRoZSBDQVJUIHBhZ2U6IGZ1bGwgNHB4IHJhZGl1cyxcbi8vIGl0cyBvd24gYm9yZGVyLCAzMHB4IGJ1dHRvbnMpIGJyb2tlIHRoYXQgc2VhbSwgYW5kIGJlY2F1c2UgdGhlIGF2YWlsYWJpbGl0eVxuLy8gcGFuZWwsIHRoZSBkZWxpdmVyeSBsaW5lIGFuZCB0aGVzZSB0d28gY29udHJvbHMgd2VyZSBhbGwgbG9vc2UgZmxleCBjaGlsZHJlblxuLy8gb2YgLmJ1eS1idXR0b24tbWFzdGVyLWNvbnQsIGEgbmFycm93IGNhcmQgd3JhcHBlZCB0aGUgQlVUVE9OIG9udG8gaXRzIG93blxuLy8gbGluZSDigJQgbGVhdmluZyB0aGUgc3RvcmUgcGFuZWwgc2l0dGluZyBiZXR3ZWVuIHRoZSBxdHkgYm94IGFuZCBBZGQgdG8gQ2FydC5cbi8vXG4vLyBGaXhlcyBoZXJlOiB0aGUgcm93IHdyYXBzIGJ5IGRlc2lnbiwgZXZlcnl0aGluZyB0aGF0IGlzbid0IGEgYnV5IGNvbnRyb2xcbi8vIHRha2VzIGEgZnVsbC13aWR0aCBsaW5lIG9mIGl0cyBvd24sIGFuZCAucHMtbGVnYWN5LWJ1eS1jb250cm9scyBob2xkcyB0aGVcbi8vIHN0ZXBwZXIgKyBidXR0b24gdG9nZXRoZXIgKG5vd3JhcCkgYXMgdGhlIGpvaW5lZCA1MHB4IHBpbGwgYWdhaW4uXG4vL1xuLy8gU2NvcGVkIGJ5IFtkYXRhLXZhcmlhbnQ9J2xlZ2FjeSddIG9uIHRoZSBjYXJkIFJPT1Qg4oCUIG5ldmVyIHRoZVxuLy8gYHBzLWNvbXBvbmVudC0tcHJvZHVjdC1jYXJkIHBzLXZhcmlhbnQtLWxlZ2FjeWAgY2xhc3MgcGFpciwgd2hpY2ggYWxzb1xuLy8gbWF0Y2hlcyB0aGUgYnVpbGRlcidzIGJsb2NrIHdyYXBwZXIgKHNlZSB0aGUgd2lkdGg6MTAwJSB3cmFwLWJlbG93LWZhY2V0c1xuLy8gcmVncmVzc2lvbiBub3RlIGluIHRoZSBUaGVtZSBCdWlsZGVyIGRvY3MpLlxuLnBzLWNvbXBvbmVudC0tcHJvZHVjdC1jYXJkW2RhdGEtdmFyaWFudD0nbGVnYWN5J10ge1xuXG4gIC5idXktYnV0dG9uLW1hc3Rlci1jb250IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgcm93LWdhcDogMTJweDtcblxuICAgIC8vIEF2YWlsYWJpbGl0eSBiYWRnZXMgLyBzdG9yZSBwYW5lbCwgaGVscCBwaWxsIGFuZCB0aGUgZGVsaXZlcnkgbGluZSBlYWNoXG4gICAgLy8gZ2V0IHRoZWlyIG93biBmdWxsLXdpZHRoIHJvdyBBQk9WRSB0aGUgY29udHJvbHMuXG4gICAgPiAucHMtcGNfX2F2YWlsYWJpbGl0eSxcbiAgICA+IC5wcy1wY19faGVscCxcbiAgICA+IC5wcy1wY19fcGFjay1ub3RlLFxuICAgID4gLmNvbC0xMiB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAucHMtbGVnYWN5LWJ1eS1jb250cm9scyB7XG4gICAgLy8gMSAxIDEwMCUsIG5vdCAwIDAgMTAwJTogd2l0aCBzaHJpbmsgZGlzYWJsZWQgdGhlIHJvdyBjb3VsZCBncm93IHBhc3QgaXRzXG4gICAgLy8gb3duIHBhcmVudCB3aGVuIGl0cyBjb250ZW50IGdvdCB3aWRlciDigJQgd2hpY2ggaXMgZXhhY3RseSB3aGF0IGhhcHBlbmVkXG4gICAgLy8gb25jZSBBZGQtdG8tQ2FydCBzcGxpdCBpbnRvIFtBZGRlZF1bVmlldyBDYXJ0XSAoMjAyNi0wOC0xNykuXG4gICAgZmxleDogMSAxIDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7ICAgICAgICAgIC8vIHRoZSBxdHkgYW5kIHRoZSBidXR0b24gbmV2ZXIgc2VwYXJhdGVcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBtYXgtd2lkdGg6IDQyMHB4OyAgICAgICAgICAgLy8gYSBmdWxsLWNhcmQtd2lkdGggYnV5IGJhciBsb29rcyBhYnN1cmRcbiAgICAvLyBUaGUgcm93IG93bnMgdGhlIGhlaWdodC4gQmVsb3cgMTAzMHB4IGEgZGVlcGx5LW5lc3RlZCBsZWdhY3kgcnVsZVxuICAgIC8vICjigKZidXktYnV0dG9uLW1hc3Rlci1jb250IC5idXR0b24tY29udGFpbmVyIC5hZGQtdG8tb3JkZXIpIGZvcmNlc1xuICAgIC8vIGBoZWlnaHQ6YXV0b2AgYW5kIG91dC1zcGVjaWZpZXMgYW55dGhpbmcgc2FuZSB3ZSBjb3VsZCB3cml0ZSBoZXJlIOKAlCBzb1xuICAgIC8vIGluc3RlYWQgb2YgYW4gZXNjYWxhdGluZyBzcGVjaWZpY2l0eSB3YXIgd2UgbGV0IGZsZXggU1RSRVRDSCBzaXplIHRoZVxuICAgIC8vIGJ1dHRvbjogYW4gYXV0by1oZWlnaHQgZmxleCBpdGVtIGZpbGxzIHRoZSBjcm9zcyBheGlzLCBhbmQgdGhlIHN0ZXBwZXJcbiAgICAvLyBiZWxvdyBwaW5zIHRoYXQgYXhpcyB0byA1MHB4LlxuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG5cbiAgICAucXVhbnRpdHkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB0b3A6IDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBMZWZ0IGhhbGYgb2YgdGhlIHBpbGw6IHNxdWFyZSBvZmYgdGhlIHJpZ2h0IGVkZ2UgYW5kIGxldCB0aGUgYnV0dG9uJ3NcbiAgICAvLyBib3JkZXIgc2VydmUgYXMgdGhlIHNlYW0uXG4gICAgLnBzLWNhcnQtcXR5IHtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweCAwIDAgNHB4O1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIH1cbiAgICAucHMtY2FydC1xdHlfX2J0biB7IHdpZHRoOiAzNHB4OyB9XG4gICAgLnBzLWNhcnQtcXR5X19pbnB1dCB7XG4gICAgICB3aWR0aDogNDZweDtcbiAgICAgIGhlaWdodDogNTBweDsgICAgICAgICAgICAgLy8gYmVhdHMgdGhlIGxlZ2FjeSAucXVhbnRpdHkgaW5wdXQgcnVsZVxuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgIH1cblxuICAgIC5idXR0b24tY29udGFpbmVyIHtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAvLyBmbGV4IGNvbnRhaW5lciBzbyB0aGUgYnV0dG9uIHN0cmV0Y2hlcyB0byB0aGUgcm93IGhlaWdodCBldmVuIHdoZW5cbiAgICAgIC8vIHRoZSBsZWdhY3kgbWVkaWEtcXVlcnkgcnVsZSBzZXRzIGl0cyBoZWlnaHQgdG8gYXV0b1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgIC8vIFJpZ2h0IGhhbGYgb2YgdGhlIHBpbGwuIGBsZWZ0OiAtNnB4YCB3YXMgdGhlIG9sZCBvdmVybGFwIGhhY2sgYWdhaW5zdCBhXG4gICAgLy8gYmFyZSBpbnB1dCDigJQgd2l0aCBhIGJvcmRlcmVkIHN0ZXBwZXIgaXQgd291bGQgZWF0IHRoZSBzZWFtLlxuICAgIC5hZGQtdG8tb3JkZXIge1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGdhcDogOHB4O1xuICAgICAgcGFkZGluZzogMCAxNHB4O1xuICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG4gIH1cblxuICAvLyBQaG9uZXM6IHRoZSBtb2JpbGUgY2FyZCBrZWVwcyBpdHMgb3duIHNlcGFyYXRlZCBsb29rICg4cHggZ2FwLCA0MHB4IHRhbGwsXG4gIC8vIGZ1bGx5IHJvdW5kZWQpLCBzbyBvbmx5IHRoZSBzdGVwcGVyIG5lZWRzIHRvIGJlIHNpemVkIHRvIG1hdGNoIHRoZSBidXR0b24uXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAgIC5tb2JpbGUtYnV5LXNlY3Rpb25fX2FjdGlvbnMge1xuICAgICAgLnBzLWNhcnQtcXR5IHtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNjZWQ0ZGE7XG4gICAgICB9XG4gICAgICAucHMtY2FydC1xdHlfX2J0biB7IHdpZHRoOiAyOHB4OyBmb250LXNpemU6IDE1cHg7IH1cbiAgICAgIC5wcy1jYXJ0LXF0eV9faW5wdXQgeyB3aWR0aDogMzhweDsgaGVpZ2h0OiA0MHB4OyBmb250LXNpemU6IDE0cHg7IH1cbiAgICB9XG4gIH1cbn1cblxuLy8gV2hlZWwgJiB0aXJlIHNwZWMgY2FsbG91dCAoMjAyNi0wOC0xOSkg4oCUIGxlZ2FjeSBidW5kbGUgY29weSBvZiB0aGUgbW9kZXJuXG4vLyBfcGFydGlhbHMgcnVsZXMgKGxlZ2FjeSBwYWdlcyBkb24ndCBsb2FkIHRoZSBtb2Rlcm4gYnVuZGxlczsgaGV4IGZhbGxiYWNrc1xuLy8gYmVjYXVzZSBsZWdhY3kgZG9lc24ndCBlbWl0IHRoZSB0b2tlbiBicmlkZ2UpLiBLZWVwIGluIHN5bmMgd2l0aFxuLy8gX3NoYXJlZC9fcGFydGlhbHMuc2NzcyBcIi5wcy1wYy13dFwiIGJsb2NrLlxuLnBzLWNvbXBvbmVudC0tcHJvZHVjdC1jYXJkLnBzLXZhcmlhbnQtLWxlZ2FjeSAucHMtcGMtd3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDZweDtcbiAgbWFyZ2luOiA2cHggMDtcbiAgbWluLXdpZHRoOiAwO1xuXG4gIC5wcy1wYy13dF9fc2VyaWVzIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgbGluZS1oZWlnaHQ6IDEuMjU7IH1cbiAgLnBzLXBjLXd0X19zZXJpZXMtbmFtZSB7IGZvbnQtd2VpZ2h0OiA3MDA7IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6ICMyMjI7IH1cbiAgLnBzLXBjLXd0X19zZXJpZXMtZmluaXNoIHsgZm9udC13ZWlnaHQ6IDYwMDsgZm9udC1zaXplOiAxMnB4OyBjb2xvcjogIzU1NTsgfVxuXG4gIC5wcy1wYy13dF9fY2hpcHMgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LXdyYXA6IHdyYXA7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgZ2FwOiA2cHg7IH1cbiAgLnBzLXBjLXd0X190YWcgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGlubGluZS1mbGV4OyBtYXJnaW4tdG9wOiA4cHg7IH1cbiAgLnBzLXBjLXd0X190YWctaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogLThweDsgbGVmdDogNTAlOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgcGFkZGluZzogMnB4IDZweDsgZm9udC1zaXplOiAxMHB4OyBmb250LXdlaWdodDogNzAwOyBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogI2ZmZjsgYmFja2dyb3VuZDogIzJmMmYyZjtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cbiAgLnBzLXBjLXd0X190YWctaGVhZGVyLS1vZSB7IGJhY2tncm91bmQ6ICMxOTg3NTQ7IH1cbiAgLnBzLXBjLXd0X190YWctaGVhZGVyLS1jb21wYXRpYmxlIHsgYmFja2dyb3VuZDogIzBkNmVmZDsgfVxuICAucHMtcGMtd3RfX3RhZy1oZWFkZXItLW9wdGlvbmFsIHsgYmFja2dyb3VuZDogIzJmMmYyZjsgfVxuICAucHMtcGMtd3RfX3RhZy1oZWFkZXItLXBsdXMgeyBiYWNrZ3JvdW5kOiAjZGMzNTQ1OyB9XG4gIC5wcy1wYy13dF9fdGFnLWJvZHkge1xuICAgIG1pbi13aWR0aDogNTJweDsgcGFkZGluZzogOHB4IDEwcHggNHB4OyBmb250LXNpemU6IDE4cHg7IGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyBjb2xvcjogIzIyMjsgYmFja2dyb3VuZDogI2YwZjBmMDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZGVlMmU2OyBib3JkZXItcmFkaXVzOiA0cHg7XG4gIH1cbiAgLnBzLXBjLXd0X19jaGlwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgcGFkZGluZzogM3B4IDhweDtcbiAgICBmb250LXNpemU6IDExcHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbGV0dGVyLXNwYWNpbmc6IC4wMmVtOyBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiAjMmYyZjJmOyBib3JkZXItcmFkaXVzOiAzcHg7XG4gIH1cbiAgLnBzLXBjLXd0X19jaGlwLS1vZSB7IGJhY2tncm91bmQ6ICMxOTg3NTQ7IH1cbiAgLnBzLXBjLXd0X19jaGlwLS1jb21wYXRpYmxlIHsgYmFja2dyb3VuZDogIzBkNmVmZDsgfVxuICAucHMtcGMtd3RfX2NoaXAtLXBsdXMgeyBiYWNrZ3JvdW5kOiAjZGMzNTQ1OyB9XG4gIC5wcy1wYy13dF9fY2hpcC0tcG9zaXRpb24geyBiYWNrZ3JvdW5kOiAjMTk4NzU0OyB9XG4gIC5wcy1wYy13dF9fY2hpcC0tbW9kcyB7IGJhY2tncm91bmQ6ICNkYzM1NDU7IH1cblxuICAucHMtcGMtd3RfX3NwZWNzIHtcbiAgICBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7IGdhcDogMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47IGJvcmRlcjogMXB4IHNvbGlkICNkZWUyZTY7IGJvcmRlci1yYWRpdXM6IDZweDsgYmFja2dyb3VuZDogI2RlZTJlNjtcbiAgfVxuICAucHMtcGMtd3RfX3NwZWMgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBwYWRkaW5nOiA1cHggOHB4OyBiYWNrZ3JvdW5kOiAjZmZmOyBtaW4td2lkdGg6IDA7IH1cbiAgLnBzLXBjLXd0X19zcGVjLWxhYmVsIHsgZm9udC1zaXplOiAxMHB4OyBmb250LXdlaWdodDogNzAwOyBsZXR0ZXItc3BhY2luZzogLjA0ZW07IGNvbG9yOiAjNzc3OyB9XG4gIC5wcy1wYy13dF9fc3BlYy12YWx1ZSB7IGZvbnQtc2l6ZTogMTNweDsgZm9udC13ZWlnaHQ6IDYwMDsgY29sb3I6ICMyMjI7IG92ZXJmbG93LXdyYXA6IGFueXdoZXJlOyB9XG5cbiAgLnBzLXBjLXd0X19tb2RzIHsgZm9udC1zaXplOiAxMnB4OyBsaW5lLWhlaWdodDogMS4zNTsgY29sb3I6ICM1NTU7IH1cbiAgLnBzLXBjLXd0X19tb2RzLXRpdGxlIHsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6ICNkYzM1NDU7IH1cblxuICAucHMtcGMtd3RfX3Z2c2Uge1xuICAgIHdpZHRoOiAxMDAlOyBtaW4taGVpZ2h0OiAzNnB4OyBwYWRkaW5nOiA2cHggMTBweDsgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGxldHRlci1zcGFjaW5nOiAuMDNlbTtcbiAgICBjb2xvcjogI2ZmZjsgYmFja2dyb3VuZDogIzMzMzsgYm9yZGVyOiAwOyBib3JkZXItcmFkaXVzOiA0cHg7IGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuICAucHMtcGMtd3RfX3Z2c2U6aG92ZXIgeyBmaWx0ZXI6IGJyaWdodG5lc3MoMS4wOCk7IH1cbn1cblxuLy8g4pSA4pSAIE1vYmlsZTogY2F0YWxvZyBibG9ja3MgbXVzdCBub3QgcmVzZXJ2ZSBkZWFkIGZsb3cgc3BhY2Ug4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBgLnByb2R1Y3QtbGlzdC1zZWxlY3RvciB7IG1hcmdpbi10b3A6IHJlbWMoMzApIH1gIChsaW5lIH44MzUgb2YgdGhpcyBmaWxlKVxuLy8gd3JhcHMgQk9USCB0aGUgZmFjZXRzIGJsb2NrIGFuZCB0aGUgcHJvZHVjdC1jYXJkIGJsb2NrIHRoYXQgdGhlIGJ1aWxkZXIgcHV0c1xuLy8gaW4gdGhlIHByb2R1Y3QtbGlzdCByb3cuIE9uIGEgcGhvbmUgdGhlIGZhY2V0cyBibG9jayBpcyBub3RoaW5nIGJ1dCB0aGF0XG4vLyBtYXJnaW4g4oCUIGl0cyBgLmZhY2V0cy1jb250YCBpcyBhIGhpZGRlbiBmaXhlZCBkcmF3ZXIg4oCUIHNvIHRoZSBwYWlyIHByb2R1Y2VkXG4vLyB0d28gMzBweCBibGFuayBiYW5kcyBiZXR3ZWVuIHRoZSBwcm9kdWN0IHRvb2xiYXIgYW5kIHRoZSBmaXJzdCBwcm9kdWN0IGNhcmRcbi8vIChcImEgbG90IG9mIHdoaXRlIHNwYWNlLCB3YXkgdG9vIG11Y2hcIiDigJQgb3duZXIsIDIwMjYtMDktMDMpLlxuLy9cbi8vIDc3NnB4LCBub3QgdGhlIGBsZ2AgZHJhd2VyIGJyZWFrcG9pbnQsIG9uIHB1cnBvc2U6IHRoaXMgaXMgdGhlIHdpZHRoIGF0IHdoaWNoXG4vLyBgcHJvZHVjdC10b29sYmFyL2RlZmF1bHQvaW5kZXguc2Nzc2Agc3dpdGNoZXMgdGhlIHRvb2xiYXIgdG8gaXRzIHN0YWNrZWRcbi8vIG1vYmlsZSBsYXlvdXQsIGFuZCB0aGUgdHdvIGhhdmUgdG8gdGlnaHRlbiB0b2dldGhlci5cbi8vXG4vLyDimqAgTWlycm9yZWQgaW4gcmVzb3VyY2VzL2NvbXBvbmVudHMvcHJvZHVjdC1mYWNldHMvc2lkZWJhci9pbmRleC5zY3NzIChzYW1lXG4vLyBvdmVycmlkZSwgc2FtZSBjb21tZW50KS4gQm90aCBidW5kbGVzIGRlZmluZSB0aGUgYmFzZSBydWxlIGFuZCB0aGVpciByZWxhdGl2ZVxuLy8gPGxpbms+IG9yZGVyIHZhcmllcyBwZXIgcGFnZSwgc28gdGhlIG92ZXJyaWRlIGhhcyB0byBiZSBpbiBib3RoIHRvIHdpbi5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3NnB4KSB7XG4gIC5wcm9kdWN0LWxpc3Qtc2VsZWN0b3IgeyBtYXJnaW4tdG9wOiAwOyB9XG59XG5cbi8vIOKUgOKUgCBVbml2ZXJzYWwgRml0bWVudCBCYWRnaW5nICgyMDI2LTA5LTI4KSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIExlZ2FjeSBoYXMgbm8gZml0bWVudCBzbG90OiBpdCBkcmF3cyBvbmx5IHRoZSBUaWVyIDEgVU5JVkVSU0FMIHRhZyAoUGFydCAjIC9cbi8vIE1hbnVmYWN0dXJlciAjIGxpbmUsIG1vYmlsZSBrZXktaW5mbykgcGx1cyB0aGUgc2hhcmVkIGV4cGxhaW5lciBzaGVldC4gU2FtZVxuLy8gZmlsZSB0aGUgYnVpbGRlciB2YXJpYW50cyBpbXBvcnQ7IHRoZSB0YWcgcnVsZXMgYXJlIHRvcC1sZXZlbCB3aXRoIHNsYXRlXG4vLyBmYWxsYmFja3MgYmVjYXVzZSBsZWdhY3kgZG9lcyBub3QgZW1pdCB0aGUgY2FyZCByb290IHRva2Vucy5cbkBpbXBvcnQgJy4uL19zaGFyZWQvdW5pdmVyc2FsJztcbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFBST0RVQ1RTLVBBR0UgQ0hST01FIOKAlCBzaGFyZWQgcGFydGlhbCAoc2luZ2xlIHNvdXJjZSBvZiB0cnV0aClcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRoZSBgLmJvZHktd3JhcC5wcm9kdWN0c2AgUEFHRSBjaHJvbWUgZm9yIGNhdGFsb2cgbGlzdGluZyBwYWdlczogdGhlXG4vLyBmaXhlZC1oZWFkZXIgY2xlYXJhbmNlIHBhZGRpbmcgKHdpdGggdGhlIDpoYXMoLm5hdi1iYW5uZXIpIGJhbm5lcmxlc3Ncbi8vIGJyYW5jaCksIHRoZSAuY29udGFpbmVyLWZsdWlkIGJhbmQgYmFja2dyb3VuZC9wYWRkaW5nLCBhbmQgdGhlIC12YXItMSAvXG4vLyAtY2hlY2tvdXQgbW9kaWZpZXJzLlxuLy9cbi8vIEhJU1RPUlkgLyBXSFkgVEhJUyBGSUxFIEVYSVNUUyAoMjAyNi0wOC0yOCk6IHRoZXNlIHJ1bGVzIHVzZWQgdG8gbGl2ZSBvbmx5XG4vLyBpbnNpZGUgcHJvZHVjdC1jYXJkL2xlZ2FjeS9pbmRleC5zY3NzLiBUaGUgcHJvZHVjdHMgcGFnZSBuZXZlciBsb2FkcyB0aGVcbi8vIGxlZ2FjeSBjYXJkIGJ1bmRsZSBpdHNlbGYg4oCUIHRoZSBydWxlcyByZWFjaGVkIHRoZSBwYWdlIE9OTFkgYmVjYXVzZSB0aGVcbi8vIHNpdGUtc2VhcmNoIERFRkFVTFQgKGZ1bGxzY3JlZW4pIHZhcmlhbnQgZW1iZWRzIGxlZ2FjeSBwcm9kdWN0IGNhcmRzIGFuZCBzb1xuLy8gZW1pdHMgdGhhdCBidW5kbGUgb24gZXZlcnkgcGFnZS4gU3dpdGNoaW5nIGEgc2l0ZSdzIGhlYWRlciBzZWFyY2ggdG8gdGhlXG4vLyBgY29tcGFjdGAgdmFyaWFudCBzaWxlbnRseSBkcm9wcGVkIHRoZSBidW5kbGUg4oaSIHRoZSBwcm9kdWN0cyBwYWdlIGxvc3QgaXRzXG4vLyBjbGVhcmFuY2UsIHN0YXJ0ZWQgVU5ERVIgdGhlIGZpeGVkIGhlYWRlciwgYW5kIHRoZSBjYXRlZ29yeS1zd2l0Y2hlclxuLy8gbWVhc3VyZWQgYXMgaW5zdGFudGx5IGAuaXMtc3R1Y2tgIChjb2xsYXBzZWQgcmFpbCwgbm8gYnJlYWRjcnVtYnMsIG5vXG4vLyBcIkNoYW5nZSBDYXRlZ29yeSBCZWxvd1wiKS4gUGFnZSBjaHJvbWUgbXVzdCBuZXZlciBkZXBlbmQgb24gd2hpY2ggU0VBUkNIXG4vLyB2YXJpYW50IHRoZSBoZWFkZXIgaGFwcGVucyB0byBlbWJlZC5cbi8vXG4vLyBDT05TVU1FUlMgKGJvdGggaW1wb3J0IHRoaXMgZmlsZTsgaWRlbnRpY2FsIGR1cGxpY2F0ZSBydWxlcyBhcmUgaGFybWxlc3MpOlxuLy8gICAxLiBjYXRhbG9nLWNocm9tZS9kZWZhdWx0IOKAlCB0aGUgY2Fub25pY2FsIGNhcnJpZXI6IGxvYWRlZCBieSBldmVyeVxuLy8gICAgICBjYXRhbG9nIGxpc3RpbmcgcGFnZSByZWdhcmRsZXNzIG9mIGhlYWRlci9zZWFyY2ggdmFyaWFudHMuXG4vLyAgIDIuIHByb2R1Y3QtY2FyZC9sZWdhY3kg4oCUIGtlcHQgZm9yIGNvbXBhdGliaWxpdHk6IG5vbi1jYXRhbG9nIHN1cmZhY2VzXG4vLyAgICAgIChlLmcuIGNoZWNrb3V0J3MgLnByb2R1Y3RzLi1jaGVja291dCwgLmNvbnRhY3QpIHRoYXQgbG9hZCB0aGUgbGVnYWN5XG4vLyAgICAgIGNhcmQgYnVuZGxlIHdpdGhvdXQgY2F0YWxvZy1jaHJvbWUga2VlcCB0aGVpciBjaHJvbWUuXG4vL1xuLy8gRGVwczogJGNvbG9yX3NlY29uZGFyeS8kY29sb3JfbmV1dHJhbC8kY29sb3Jfc2Vjb25kYXJ5X2RhcmtlciArIHJlbWMoKSArXG4vLyBtZWRpYS1icmVha3BvaW50LWRvd24oKSDigJQgdGhlIGltcG9ydGluZyBwYXJlbnQgbXVzdCBAaW1wb3J0XG4vLyAnY29tcG9uZW50cy9fY2F0YWxvZy9nbG9iYWxzJyBmaXJzdCAoYm90aCBjb25zdW1lcnMgYWxyZWFkeSBkbykuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5wcm9kdWN0cyB7XG4gIGNvbG9yOiAkY29sb3Jfc2Vjb25kYXJ5O1xuICAvLyBGaXhlZC1oZWFkZXIgb2Zmc2V0OiAxMDBweCA9IH42OXB4IG5hdmJhciArIH4zMXB4IGFubm91bmNlbWVudCBiYXIuXG4gIC8vIFNpbmNlIDIwMjYtMDgtMTMgdGhlIGFubm91bmNlbWVudCBiYXIgb25seSByZW5kZXJzIHdoZW4gdGhlIHNpdGUtaGVhZGVyXG4gIC8vIGJsb2NrIGNhcnJpZXMgYW5ub3VuY2VtZW50IFRFWFQgKHRoZSBoYXJkY29kZWQgZGVmYXVsdCB3YXMgcmVtb3ZlZCksIHNvXG4gIC8vIGEgYmFubmVybGVzcyBoZWFkZXIgaXMgfjMxcHggc2hvcnRlciDigJQgd2l0aG91dCB0aGlzIDpoYXMoKSBicmFuY2ggZXZlcnlcbiAgLy8gYmFubmVybGVzcyBzaXRlIHNob3dlZCBhIHdoaXRlIGdhcCB1bmRlciB0aGUgZml4ZWQgaGVhZGVyIChmaXJzdCBzZWVuIG9uXG4gIC8vIE5HSyBwcm9kdWN0IGxpc3RzKS5cbiAgcGFkZGluZy10b3A6IHJlbWMoMTAwcHgpO1xuXG4gIGJvZHk6bm90KDpoYXMoLm5hdi1iYW5uZXIpKSAmIHtcbiAgICBwYWRkaW5nLXRvcDogcmVtYyg2OXB4KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgIHBhZGRpbmctdG9wOiByZW1jKDI1cHgpO1xuXG4gICAgYm9keTpub3QoOmhhcygubmF2LWJhbm5lcikpICYge1xuICAgICAgcGFkZGluZy10b3A6IHJlbWMoMjVweCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgcGFkZGluZy10b3A6IHJlbWMoNTBweCk7XG4gIH1cblxuXG4gICYuLWNoZWNrb3V0IHtcbiAgICBwYWRkaW5nLXRvcDogMHJlbTtcbiAgICAvLyBvbiBjaGVja291dFxuICAgICYuLXZhci0xIHtcbiAgICAgIC5jb250YWluZXItZmx1aWQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgI2NvbnRlbnQge1xuICAgICAgcGFkZGluZy10b3A6MDtcbiAgICB9XG4gIH1cblxuICAuY29udGFjdCAmIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX25ldXRyYWw7XG5cbiAgICBwYWRkaW5nLXRvcDogcmVtYygyNTBweCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbWMoNDBweCk7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xuXG4gICAgLy9wYWRkaW5nOiByZW1jKDI1MHB4LCAwLCA0MHB4LCAwKTtcbiAgICAvL2JhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2JhY2tncm91bmRzL3NlcGFyYXRvci10cmFja3MtdG9wLnBuZycpIGNlbnRlciAtMnB4ICRjb2xvcl9uZXV0cmFsO1xuICAgIGJhY2tncm91bmQ6ICRjb2xvcl9uZXV0cmFsO1xuICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bztcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmNvbnRhaW5lci1zcGFjZXIge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW1jKDI1cHgpO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgLnByb2R1Y3QtbGlzdC1zZWxlY3RvciAucHJvZHVjdC1jb250IGEgLnRpdGxlIHtcbiAgICBjb2xvcjogJGNvbG9yX3NlY29uZGFyeV9kYXJrZXI7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICB9XG5cbiAgI2hlYWRlciAjbmF2LWRlc2t0b3AgI25hdmJhck5hdiAubmF2YmFyLW5hdiAubmF2LWl0ZW0gLm5hdi1saW5rIHtcbiAgICBmb250LWZhbWlseTogJ0JsYWNrIE9wcyBPbmUnLCBjdXJzaXZlO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgfVxuXG4gICYuLXZhci0xIHtcbiAgICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICBwYWRkaW5nLXRvcDogNjdweDtcbiAgICB9XG4gIH1cbn1cblxuLy8g4pSA4pSAIFBob25lcy90YWJsZXRzOiBvbmUgbWVhc3VyZWQgY2xlYXJhbmNlLCBubyBkZWFkIGJhbmQg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBPd25lciByZXBvcnQgMjAyNi0wOS0wMzogXCJ0aWdodGVuIHVwIHNwYWNpbmcsIGVzcGVjaWFsbHkgb24gdGhlIG1vYmlsZSB2aWV3XG4vLyBvZiBwcm9kdWN0IGxpc3QgcGFnZSBhbmQgcHJvZHVjdCBkZXRhaWwgcGFnZSwgd2l0aCB0aGUgYnJlYWRjcnVtYnMgYW5kIHRoZVxuLy8gcmVzdCBvZiB0aGUgc2l0ZS5cIlxuLy9cbi8vIFdIQVQgV0FTIFRIRVJFLiBUaGUgZmlyc3QgYnVpbGRlciBzZWN0aW9uIG9uIGEgY2F0YWxvZyBwYWdlIHNhdCB0aGlzIGZhclxuLy8gYmVsb3cgdGhlIGZpeGVkIGhlYWRlciwgYWxsIG9mIGl0IGZyb20gY29uc3RhbnRzIHRoYXQgc3RhY2s6XG4vL1xuLy8gICAgIC5wcm9kdWN0cyAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcCAgIDUwcHggICDihpAgZml4ZWQtaGVhZGVyIGNsZWFyYW5jZVxuLy8gICAgIC5wcm9kdWN0cy4tdmFyLTFcbi8vICAgICAgIC5jb250YWluZXItZmx1aWQgICAgICAgcGFkZGluZy10b3AgICA2N3B4ICAg4oaQIG1vcmUgb2YgdGhlIHNhbWVcbi8vICAgICAjY29udGVudCAgICAgICAgICAgICAgICAgcGFkZGluZyAgICAgIDQzcHggMTBweCAgKGxheW91dC5zY3NzLCBnbG9iYWwpXG4vLyAgICAgLnBzLXNlY3Rpb24tLXNwYWNlLXRvcC1tZCBtYXJnaW4tdG9wICAgMjBweCAgIOKGkCBtZXJjaGFudCdzIG93biBzZXR0aW5nXG4vL1xuLy8gPSAxODBweCBvbiBuZXdwYXJ0c29udGhlZ28sIGFnYWluc3QgYSBoZWFkZXIgdGhhdCBpcyBvbmx5IDEyMnB4IHRhbGwgYXRcbi8vIDM5MHB4IHdpZGUg4oCUIGEgNThweCBiYW5kIG9mIG5vdGhpbmcuIEFuZCB0aGUgc3BsaXQgaXMgbm90IG1lcmVseSB1Z2x5OiB0aGVcbi8vIDUwKzY3ID0gMTE3cHggb2YgXCJjbGVhcmFuY2VcIiBpcyBMRVNTIHRoYW4gdGhlIGhlYWRlciBhdCA3NjhweCAoMTM3cHgpLCBzb1xuLy8gdGhlIHBhZ2UgYWN0dWFsbHkgYmVnYW4gYmVoaW5kIHRoZSBoZWFkZXIgYW5kIG9ubHkgdGhlIDQzcHggb2YgI2NvbnRlbnRcbi8vIHBhZGRpbmcgaGlkIGl0LlxuLy9cbi8vIFdIQVQgSVQgSVMgTk9XLiBPbmUgY2xlYXJhbmNlLCBtZWFzdXJlZCBmcm9tIHRoZSByZWFsIGhlYWRlciBieVxuLy8gc2NyaXB0cy9vbGQtY29tcG9uZW50cy9oZWFkZXIuanMgKC0tcHMtaGRyLWJvdHRvbSksIGFuZCBub3RoaW5nIGVsc2UgYWJvdmVcbi8vIHRoZSBmaXJzdCBzZWN0aW9uIGV4Y2VwdCB0aGUgbWVyY2hhbnQncyBvd24gc2VjdGlvbiBzcGFjaW5nLiBSZXN1bHQgb24gZGV2OlxuLy9cbi8vICAgICBuZXdwYXJ0c29udGhlZ28gIDM5MHB4ICAxODBweCDihpIgMTQycHggICAgICA3NjhweCAgMTgwcHgg4oaSIDE1N3B4ICh3YXNcbi8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyM3B4IEJFSElORCB0aGUgaGVhZGVyKVxuLy8gICAgIG5na3NwYXJrcGx1Z3MgICAgMzkwcHggIDE1NXB4IOKGkiAxMjRweFxuLy9cbi8vIFRoZSAxMTdweCBmYWxsYmFjayBpbiB0aGUgY2FsYygpIGlzIHRoZSBPTEQgdG90YWwsIHNvIGEgcGFnZSB0aGF0IG5ldmVyIHJ1bnNcbi8vIHRoZSBKUyByZW5kZXJzIGV4YWN0bHkgYXMgaXQgZGlkIGJlZm9yZSB0aGlzIGNoYW5nZSDigJQgaW5jbHVkaW5nIGl0cyBidWdzLlxuLy8gRGVsaWJlcmF0ZWx5IG1vYmlsZS1vbmx5OiBgZXNwZWNpYWxseSBvbiB0aGUgbW9iaWxlIHZpZXdgIHdhcyB0aGUgYXNrLCBhbmRcbi8vIGRlc2t0b3AncyBsYXJnZXIgY2FudmFzIGNhcnJpZXMgdGhlIGV4dHJhIGFpciBmaW5lLlxuLy9cbi8vIFNjb3BlZCB0byBgLnByb2R1Y3RzYCAoY2F0YWxvZyBsaXN0aW5nICsgZGV0YWlsIHBhZ2VzKSBvbiBwdXJwb3NlLiAjY29udGVudCdzXG4vLyA0M3B4IGlzIGdsb2JhbCBjaHJvbWUgdGhhdCBldmVyeSBvdGhlciBwYWdlIHN0aWxsIHdhbnRzOyB0aGlzIG9ubHkgdGFrZXMgaXRcbi8vIG9mZiB0aGUgcGFnZXMgdGhlIHJlcG9ydCB3YXMgYWJvdXQuXG4vLyDimqAgVGhlIGJhbm5lcmxlc3MgYnJhbmNoIGhhcyB0byBiZSByZXN0YXRlZCwgbm90IG1lcmVseSBvdmVycmlkZGVuLiBUaGUgYmxvY2tcbi8vIGFib3ZlIHNldHMgdGhlIHBob25lIGNsZWFyYW5jZSB0d2ljZSDigJQgb25jZSBwbGFpbmx5IGFuZCBvbmNlIHVuZGVyXG4vLyBgYm9keTpub3QoOmhhcygubmF2LWJhbm5lcikpICZgLCB3aGljaCBpcyAoMCwyLDEpOiBNT1JFIHNwZWNpZmljIHRoYW4gYSBiYXJlXG4vLyBgLnByb2R1Y3RzLi12YXItMWAgKDAsMiwwKS4gQSBtZWRpYSBxdWVyeSBhZGRzIG5vdGhpbmcuIFNvIG9uIGEgc2l0ZSB3aXRoIG5vXG4vLyBhbm5vdW5jZW1lbnQgYmFyIChldmVyeSBBUFggdGVuYW50KSB0aGUgcGxhaW4gb3ZlcnJpZGUgc2lsZW50bHkgbG9zdCBhbmQgdGhlXG4vLyBwYWdlIGtlcHQgaXRzIDI1cHgg4oCUIG1lYXN1cmVkIG9uIHRoZSBuZ2tzcGFya3BsdWdzIHRlbmFudCwgMjAyNi0wOS0wMywgd2hlcmVcbi8vIHRoaXMgcnVsZSBhcHBlYXJlZCB0byBkbyBub3RoaW5nIGF0IGFsbC4gQm90aCBzZWxlY3RvcnMsIG9yIG5laXRoZXIuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgLnByb2R1Y3RzLi12YXItMSxcbiAgYm9keTpub3QoOmhhcygubmF2LWJhbm5lcikpIC5wcm9kdWN0cy4tdmFyLTEge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuXG4gICAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgICBwYWRkaW5nLXRvcDogdmFyKC0tcHMtaGRyLWJvdHRvbSwgMTE3cHgpO1xuICAgIH1cblxuICAgICNjb250ZW50IHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cblxuICAgIC8vIFRoZSBjaGVja291dCBjaHJvbWUgcmV1c2VzIGAucHJvZHVjdHNgIGFuZCB6ZXJvZXMgaXRzIG93biBjbGVhcmFuY2VcbiAgICAvLyAoYC4tY2hlY2tvdXRgIGFib3ZlKTsgaXQgbXVzdCBub3QgcGljayB1cCB0aGUgaGVhZGVyIG9mZnNldCBoZXJlLlxuICAgICYuLWNoZWNrb3V0IC5jb250YWluZXItZmx1aWQge1xuICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgfVxuICB9XG59XG5cblxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRoZW1lIHBhbGV0dGUg4oCUIFRPS0VOLUJBQ0tFRCAoUm91bmQgMTQsIENPTE9SU19UT0tFTlNfUkVDT05DSUxJQVRJT04ubWQpLlxuLy9cbi8vIEV2ZXJ5ICRjb2xvcl8qIHZhciByZXNvbHZlcyB0byBhIFRoZW1lIEJ1aWxkZXIgZ2xvYmFsIGRlc2lnbiB0b2tlblxuLy8gKHZhcigtLXBzLWNvbG9yLSosIDxicmFuZCBoZXggZmFsbGJhY2s+KSkuIFJlbmRlcmluZyBpcyBJREVOVElDQUwgdG8gdGhlIG9sZFxuLy8gc3RhdGljIHBhbGV0dGUgdW50aWwgdGhlIGJhY2tlbmQgdGhlbWUgZWRpdG9yIHB1Ymxpc2hlcyBhIHRva2VuIHZhbHVlIOKAlCB0aGVuXG4vLyB0aGF0IHZhbHVlIHdpbnMgYWNyb3NzIHRoZSBlbnRpcmUgY29tcGlsZWQgc3R5bGVzaGVldCAoZ2xvYmFsIHNoZWV0IEFORCBldmVyeVxuLy8gY29tcG9uZW50IGJ1bmRsZSwgc2luY2UgdGhleSBhbGwgaW1wb3J0IHRoaXMgZmlsZSB2aWEgX2NhdGFsb2cvZ2xvYmFscykuXG4vL1xuLy8gUlVMRVM6XG4vLyAgLSBTYXNzIGNvbG9yIGZ1bmN0aW9ucyAobGlnaHRlbi9kYXJrZW4vcmdiYS9taXgpIENBTk5PVCBvcGVyYXRlIG9uIHZhcigpLlxuLy8gICAgVXNlIHRoZSAqX2hleCBsaXRlcmFscyBmb3IgdGhvc2Ug4oCUIEJvb3RzdHJhcCdzICR0aGVtZS1jb2xvcnMgbWF0aCBkb2VzXG4vLyAgICAob3ZlcnJpZGVzL192YXJpYWJsZXMuc2NzcyksIGFuZCBzbyBkb2VzIHRoZSBzaXRlLXNlYXJjaCBtb2RhbCBncmFkaWVudC5cbi8vICAtIERlcml2ZWQgc2hhZGVzIGFyZSBOT1QgY29tcHV0ZWQgZnJvbSB0aGUgYmFzZTogZWFjaCBpcyBpdHMgb3duIHRva2VuIHdpdGhcbi8vICAgIGl0cyBvd24gZmFsbGJhY2sgKHRoZSBsZWdhY3kgdmFsdWVzIHdlcmUgbmV2ZXIgYWxnb3JpdGhtaWMgdGludHMpLlxuLy8gIC0gVGhlIEpJUy1mb3NzaWwgdmFycyAoJGNvbG9yX2ppcyopIGFuZCB0aGUgJGNvbG9yX3ByaW1hcnlfbGlnaHRlc3QgYWxpYXNcbi8vICAgIHdlcmUgcmV0aXJlZCBoZXJlICh6ZXJvIGNhbGxlcnMgYWZ0ZXIgdGhlIFJvdW5kIDEzIHN3ZWVwKS5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIOKUgOKUgCBSYXcgYnJhbmQgbGl0ZXJhbHMg4oCUIE9OTFkgZm9yIFNhc3MgY29sb3IgbWF0aCAoQm9vdHN0cmFwIHRoZW1lIGNvbG9ycyxcbi8vICAgIGxpZ2h0ZW4oKS9yZ2JhKCkgY2FsbCBzaXRlcykuIEV2ZXJ5dGhpbmcgZWxzZSB1c2VzIHRoZSB0b2tlbi1iYWNrZWQgdmFycy5cbiRjb2xvcl9wcmltYXJ5X2hleDogICAjMDAxODc3O1xuJGNvbG9yX3NlY29uZGFyeV9oZXg6ICMwOTA5MTc7XG5cbi8vIOKUgOKUgCBQcmltYXJ5IChicmFuZCkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4kY29sb3JfcHJpbWFyeTogICAgICAgICB2YXIoLS1wcy1jb2xvci1wcmltYXJ5LCAjeyRjb2xvcl9wcmltYXJ5X2hleH0pO1xuJGNvbG9yX3ByaW1hcnlfbGlnaHQ6ICAgdmFyKC0tcHMtY29sb3ItcHJpbWFyeS1saWdodCwgI2Y5OWQxYSk7ICAgLy8gb3JhbmdlIGFjY2VudCAobm90IGEgdGludClcbiRjb2xvcl9wcmltYXJ5X2Rhcms6ICAgIHZhcigtLXBzLWNvbG9yLXByaW1hcnktZGFyaywgIzRiODRjMCk7ICAgIC8vIGxpZ2h0ZXIgYmx1ZSAobGVnYWN5IG5hbWluZylcbiRjb2xvcl9wcmltYXJ5X2RhcmtlcjogIHZhcigtLXBzLWNvbG9yLXByaW1hcnktaG92ZXIsICN7JGNvbG9yX3ByaW1hcnlfaGV4fSk7IC8vIGxlZ2FjeSBzZWxmLWFsaWFzIOKGkiBob3ZlciB0b2tlblxuXG4vLyDilIDilIAgU2Vjb25kYXJ5IChkYXJrIGJhbmRzIC8gYmFja2dyb3VuZHMpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuJGNvbG9yX3NlY29uZGFyeTogICAgICAgICB2YXIoLS1wcy1jb2xvci1zZWNvbmRhcnksICN7JGNvbG9yX3NlY29uZGFyeV9oZXh9KTtcbiRjb2xvcl9zZWNvbmRhcnlfZGFya2VyOiAgdmFyKC0tcHMtY29sb3Itc2Vjb25kYXJ5LWRhcmtlciwgIzAwMDAwMCk7XG4kY29sb3Jfc2Vjb25kYXJ5X2Rhcms6ICAgIHZhcigtLXBzLWNvbG9yLXNlY29uZGFyeS1kYXJrLCAjMTQxNjE4KTtcbiRjb2xvcl9zZWNvbmRhcnlfbGlnaHQ6ICAgdmFyKC0tcHMtY29sb3ItdGV4dC0yLCAjNTc1NzU3KTtcbiRjb2xvcl9zZWNvbmRhcnlfbGlnaHRlcjogdmFyKC0tcHMtY29sb3ItdGV4dC0zLCAjN2M3YzdjKTtcblxuLy8g4pSA4pSAIE5ldXRyYWxzIC8gc3VyZmFjZXMgLyBib3JkZXJzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuJGNvbG9yX25ldXRyYWw6ICAgdmFyKC0tcHMtY29sb3ItbmV1dHJhbCwgI2ZmZmZmZik7XG4kY29sb3JfbmV1dHJhbF8xOiB2YXIoLS1wcy1jb2xvci1zdXJmYWNlLWFsdCwgI2YwZjBmMCk7XG4kY29sb3JfbmV1dHJhbF8yOiB2YXIoLS1wcy1jb2xvci1ib3JkZXItMiwgI2E3YTdhNyk7XG4kY29sb3JfbmV1dHJhbF8zOiB2YXIoLS1wcy1jb2xvci1ib3JkZXIsICNkYmRiZGIpO1xuJGNvbG9yLW5ldXRyYWxfNDogdmFyKC0tcHMtY29sb3Itc3VyZmFjZS1hbHQsICNlZmVmZWYpO1xuXG4vLyDilIDilIAgU2VtYW50aWMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4kY29sb3JfcmVkOiAgICAgICAgdmFyKC0tcHMtY29sb3ItZGFuZ2VyLCAjZmYxZTAwKTtcbiRjb2xvcl90ZXh0X2xpZ2h0OiB2YXIoLS1wcy1jb2xvci10ZXh0LWludmVyc2UsICNmZmZmZmYpO1xuXG4vLyBQcmVjb21wdXRlZCB0cmFuc2x1Y2VudCBvdmVybGF5IOKAlCBhIGZpcnN0LWNsYXNzIHRva2VuIChTYXNzIGNhbid0IHJnYmEoKSBhXG4vLyB2YXIoKTsgdGhlIGxlZ2FjeSB2YWx1ZSB3YXMgcmdiYSgkY29sb3Jfc2Vjb25kYXJ5X2RhcmtlciwgLjgpID0gcmdiYSBibGFjaykuXG4kb3ZlcmxheS1kYXJrOiB2YXIoLS1wcy1jb2xvci1vdmVybGF5LWRhcmssIHJnYmEoMCwgMCwgMCwgMC44KSk7XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDQVRBTE9HIOKAlCBnbG9iYWxzIGJyaWRnZSBmb3IgcmVsb2NhdGVkIGxlZ2FjeSBzdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRoZSByZWxvY2F0ZWQgbGVnYWN5IHN0eWxlcyAocHJvZHVjdC10b29sYmFyLCBsZWdhY3kgcHJvZHVjdCBjYXJkLCBhbmQgbGF0ZXJcbi8vIGZhY2V0cy9kZXRhaWwpIHJlZmVyZW5jZSB5b3VyIGZyYW1ld29yaydzIHRoZW1lIENPTE9SIHZhcmlhYmxlcyBwbHVzIGEgZmV3XG4vLyB1dGlsaXRpZXMgKHJlbWMoKSwgbWVkaWEtYnJlYWtwb2ludC1kb3duL3VwLCAlY2hldnJvbiBwbGFjZWhvbGRlcnMpLiBCZWNhdXNlXG4vLyBlYWNoIGNvbXBvbmVudCBjb21waWxlcyBhcyBpdHMgb3duIFdlYnBhY2sgYnVuZGxlLCBlYWNoIG11c3Qgc2VlIHRoZXNlLlxuLy9cbi8vIFRoZXNlIGRlZmluaXRpb25zIGFyZSBzZWxmLWNvbnRhaW5lZCBzbyB0aGUgY29tcG9uZW50cyBjb21waWxlIG9uIHRoZWlyIG93bi5cbi8vIFRoZXkgbGl2ZSBPTkxZIGluc2lkZSB0aGVzZSBjb21wb25lbnQgYnVuZGxlcyBhbmQgZG8gbm90IGFmZmVjdCB5b3VyIGdsb2JhbFxuLy8gYnVpbGQgKHNlcGFyYXRlIGNvbXBpbGF0aW9uIHVuaXRzKS4gSWYgeW91J2QgcmF0aGVyIHVzZSB5b3VyIGZyYW1ld29yaydzXG4vLyB2ZXJzaW9ucywgaW1wb3J0IHRoZW0gaGVyZSDigJQgeW91ciB2YWx1ZXMgdGhlbiB0YWtlIHByZWNlZGVuY2UgZm9yIHRoZSBjb2xvcnNcbi8vICh3aGljaCB1c2UgIWRlZmF1bHQpLCBhbmQgeW91IGNhbiBkZWxldGUgdGhlIG1hdGNoaW5nIHV0aWxpdHkgZGVmaW5pdGlvbnMuXG4vL1xuLy8gICA+Pj4gT1BUSU9OQUw6IEBpbXBvcnQgJy4uLy4uL3N0eWxlcy92YXJpYWJsZXMnOyAgIC8vIHlvdXIgcmVhbCB0aGVtZSB2YXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpbXBvcnQgXCJzdHlsZXMvdmFyaWFudHMvY29sb3JzXCI7XG5cbi8vIOKUgOKUgCBUaGVtZSBjb2xvcnM6IHNpbmdsZSBzb3VyY2Ugb2YgdHJ1dGggaXMgc3R5bGVzL3ZhcmlhbnRzL19jb2xvcnMuc2Nzc1xuLy8gICAgKGltcG9ydGVkIGFib3ZlOyB0b2tlbi1iYWNrZWQgc2luY2UgUm91bmQgMTQg4oCUIGV2ZXJ5ICRjb2xvcl8qIHJlc29sdmVzIHRvXG4vLyAgICB2YXIoLS1wcy1jb2xvci0qLCA8YnJhbmQgaGV4PikpLiBUaGUgb2xkIGR1cGxpY2F0ZSAjMzA1Q0RFIHBhbGV0dGUgdGhhdFxuLy8gICAgbGl2ZWQgaGVyZSB3YXMgZGVhZCB3ZWlnaHQgKHRoZSBpbXBvcnQncyBub24tIWRlZmF1bHQgZGVmaW5pdGlvbnMgYWx3YXlzXG4vLyAgICB3b24pIGFuZCB3YXMgcmVtb3ZlZCBwZXIgQ09MT1JTX1RPS0VOU19SRUNPTkNJTElBVElPTi5tZCBQaGFzZSAyLlxuLy8gICAgT25seSB0aGUgdmFycyB2YXJpYW50cy9jb2xvcnMgZG9lcyBOT1QgZGVmaW5lIHJlbWFpbiwgdG9rZW4tbWFwcGVkIG9udG9cbi8vICAgIHRoZSBwcmltYXJ5IGFjY2VudCBwZXIgdGhlIHJlY29uY2lsaWF0aW9uIHRhYmxlOlxuJGhlYWRlci1tYWluLXRleHQtY29sb3I6ICB2YXIoLS1wcy1jb2xvci1wcmltYXJ5LCAjMzA1Q0RFKSAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcbiRoZWFkZXItYmFzZS1jb2xvcjogICAgICAgdmFyKC0tcHMtY29sb3ItcHJpbWFyeSwgIzMwNUNERSkgIWRlZmF1bHQ7ICAgLy8gY2hlY2tlZC1jaGVja2JveCBmaWxsIChicmFuZClcbiRidXR0b24tZGVmYXVsdC1jb2xvcjogICAgdmFyKC0tcHMtY29sb3ItcHJpbWFyeSwgIzMwNUNERSkgIWRlZmF1bHQ7ICAgLy8gZGVmYXVsdCBjb250cm9sIGFjY2VudFxuXG4vLyDilIDilIAgcmVtYygpOiBweCDihpIgcmVtIChlLmcuIHJlbWMoMTIpIC0+IC43NXJlbTsgcmVtYyg1LDE1KSAtPiAuMzEyNXJlbSAuOTM3NXJlbSlcbkBmdW5jdGlvbiByZW1jKCR2YWx1ZXMuLi4pIHtcbiAgJHJlc3VsdDogKCk7XG4gIEBlYWNoICR2IGluICR2YWx1ZXMge1xuICAgIEBpZiAkdiA9PSAwIHtcbiAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCAwKTtcbiAgICB9IEBlbHNlIGlmIHVuaXRsZXNzKCR2KSB7XG4gICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgKCR2IC8gMTYpICogMXJlbSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgJHYpOyAvLyBhbHJlYWR5IGhhcyBhIHVuaXQg4oCUIHBhc3MgdGhyb3VnaFxuICAgIH1cbiAgfVxuICBAaWYgbGVuZ3RoKCRyZXN1bHQpID09IDEgeyBAcmV0dXJuIG50aCgkcmVzdWx0LCAxKTsgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vIOKUgOKUgCBCb290c3RyYXAtNC1zdHlsZSBicmVha3BvaW50IG1peGlucyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiRncmlkLWJyZWFrcG9pbnRzOiAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIF9icC1taW4oJG5hbWUpIHsgQHJldHVybiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCAkbmFtZSk7IH1cbkBmdW5jdGlvbiBfYnAtbmV4dCgkbmFtZSkge1xuICAkbmFtZXM6IG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKTtcbiAgJGk6IGluZGV4KCRuYW1lcywgJG5hbWUpO1xuICBAaWYgJGkgYW5kICRpIDwgbGVuZ3RoKCRuYW1lcykgeyBAcmV0dXJuIG50aCgkbmFtZXMsICRpICsgMSk7IH1cbiAgQHJldHVybiBudWxsO1xufVxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUpIHtcbiAgJG1pbjogX2JwLW1pbigkbmFtZSk7XG4gIEBpZiAkbWluIGFuZCAkbWluICE9IDAgeyBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgeyBAY29udGVudDsgfSB9XG4gIEBlbHNlIHsgQGNvbnRlbnQ7IH1cbn1cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUpIHtcbiAgJG5leHQ6IF9icC1uZXh0KCRuYW1lKTtcbiAgQGlmICRuZXh0IHtcbiAgICAkbWF4OiBfYnAtbWluKCRuZXh0KSAtIDAuMDJweDtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkgeyBAY29udGVudDsgfVxuICB9IEBlbHNlIHsgQGNvbnRlbnQ7IH1cbn1cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUpIHtcbiAgJG1pbjogX2JwLW1pbigkbmFtZSk7XG4gICRuZXh0OiBfYnAtbmV4dCgkbmFtZSk7XG4gIEBpZiAkbmV4dCB7XG4gICAgJG1heDogX2JwLW1pbigkbmV4dCkgLSAwLjAycHg7XG4gICAgQGlmICRtaW4gYW5kICRtaW4gIT0gMCB7IEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkgeyBAY29udGVudDsgfSB9XG4gICAgQGVsc2UgeyBAbWVkaWEgKG1heC13aWR0aDogJG1heCkgeyBAY29udGVudDsgfSB9XG4gIH0gQGVsc2UgaWYgJG1pbiBhbmQgJG1pbiAhPSAwIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgeyBAY29udGVudDsgfVxuICB9IEBlbHNlIHsgQGNvbnRlbnQ7IH1cbn1cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIpIHtcbiAgJG1pbjogX2JwLW1pbigkbG93ZXIpO1xuICAkbmV4dDogX2JwLW5leHQoJHVwcGVyKTtcbiAgJG1heDogaWYoJG5leHQsIF9icC1taW4oJG5leHQpIC0gMC4wMnB4LCBudWxsKTtcbiAgQGlmICRtaW4gYW5kICRtaW4gIT0gMCBhbmQgJG1heCB7IEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkgeyBAY29udGVudDsgfSB9XG4gIEBlbHNlIGlmICRtYXggeyBAbWVkaWEgKG1heC13aWR0aDogJG1heCkgeyBAY29udGVudDsgfSB9XG4gIEBlbHNlIGlmICRtaW4gYW5kICRtaW4gIT0gMCB7IEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7IEBjb250ZW50OyB9IH1cbiAgQGVsc2UgeyBAY29udGVudDsgfVxufVxuXG4vLyDilIDilIAgQ2hldnJvbiBwbGFjZWhvbGRlcnMgKHVzZWQgYnkgbGF0ZXIgcGhhc2VzOyBoYXJtbGVzcyB0byBrZWVwKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiVjaGV2cm9uIHtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwLjE1ZW0gMC4xNWVtIDAgMDtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAwLjY1ZW07XG4gIGxlZnQ6IDAuMTVlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDAuMTVlbTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgd2lkdGg6IDAuNjVlbTtcbn1cbiVjaGV2cm9uLXJpZ2h0ICB7IGxlZnQ6IDA7IHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuJWNoZXZyb24tYm90dG9tIHsgbGVmdDogMDsgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTsgfVxuJWNoZXZyb24tbGVmdCAgIHsgbGVmdDogMDsgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7IH1cbiIsIkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PUJsYWNrK09wcytPbmUmZGlzcGxheT1zd2FwJyk7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTaXRlIHR5cGUgZmFtaWxpZXMg4oCUIFRPS0VOLUJBQ0tFRCAoMjAyNi0wOS0wNSwgb3duZXIgcmVxdWVzdDogXCJ0aGUgaG9tZXBhZ2Vcbi8vIGhlYWRpbmdzIGFuZCB0aGUgR2V0IEluIFRvdWNoIGJhbmQgc2hvdWxkIHB1bGwgdGhlIHNpdGUncyBoZWFkaW5nIGZvbnRcIikuXG4vL1xuLy8gTWlycm9ycyB2YXJpYW50cy9fY29sb3JzLnNjc3M6IGV2ZXJ5IGZhbWlseSB2YXIgcmVzb2x2ZXMgdG8gYSBUaGVtZSBCdWlsZGVyXG4vLyBHTE9CQUwgdHlwb2dyYXBoeSB0b2tlbiB3aXRoIHRoZSBoaXN0b3JpY2FsIGxpdGVyYWwgYXMgdGhlIHZhcigpIGZhbGxiYWNrLFxuLy8gc28gYSBzaXRlIHRoYXQgaGFzIG5ldmVyIHB1Ymxpc2hlZCBhIGZvbnQgdG9rZW4gcmVuZGVycyBieXRlLWlkZW50aWNhbGx5XG4vLyAoTW9udHNlcnJhdCBoZWFkaW5ncyAvIFBvcHBpbnMgYm9keSkg4oCUIGFuZCBhIHNpdGUgdGhhdCBIQVMgKE5hZGVyOiBCYXJsb3dcbi8vIENvbmRlbnNlZCArIEhvc3QgR3JvdGVzaykgZ2V0cyBpdCBldmVyeXdoZXJlIHRoZSBsYWRkZXIgYmVsb3cgaXMgd29yblxuLy8gKC5mb250LXByaW1hcnktKiAvIC5mb250LXNlY29uZGFyeS0qLCBhbmQgZXZlcnkgYGZvbnQtZmFtaWx5OiAkZm9udC3igKZgKS5cbi8vXG4vLyBNYXBwaW5nIOKAlCB0aGUgYnVpbGRlcidzIHR3byB0b2tlbnMgYXJlIG5hbWVkIGZvciB0aGVpciBST0xFLCB0aGUgU2FzcyB2YXJzXG4vLyBmb3IgdGhlaXIgaGlzdG9yaWNhbCByYW5rLCBhbmQgdGhlIHR3byBkbyBub3QgbGluZSB1cCBieSBuYW1lOlxuLy8gICAkZm9udC1mYW1pbHktcHJpbWFyeSAgIChNb250c2VycmF0LCB0aGUgZGlzcGxheS9oZWFkaW5nIGZhY2UpXG4vLyAgICAgICAgICAgICAgICAgICAgICAgICAgIOKGkCAtLXBzLWZvbnQtaGVhZGluZyAgXCJIZWFkaW5nIEZvbnRcIlxuLy8gICAkZm9udC1mYW1pbHktc2Vjb25kYXJ5IChQb3BwaW5zLCB0aGUgYm9keSBmYWNlKVxuLy8gICAgICAgICAgICAgICAgICAgICAgICAgICDihpAgLS1wcy1mb250LXByaW1hcnkgIFwiUHJpbWFyeSBGb250XCJcbi8vIFRoaXMgaXMgdGhlIHNhbWUgcGFpcmluZyB0aGUgaGVyby1iYW5uZXIgYW5kIHZlaGljbGUtc2VsZWN0IGJyaWRnZXMgYWxyZWFkeVxuLy8gdXNlZCBiZWZvcmUgdGhpcyBmaWxlIHdhcyB0b2tlbml6ZWQuXG4vL1xuLy8gVGhlICotc3RhdGljIGxpdGVyYWxzIGV4aXN0IGZvciB0aGUgZmV3IHBsYWNlcyB0aGF0IG5lZWQgYSBwbGFpbiBmYW1pbHlcbi8vIGxpc3QgcmF0aGVyIHRoYW4gYSB2YXIoKTogY29tcG9uZW50IGJyaWRnZXMgdGhhdCB3cmFwIHRoZSBTQU1FIHRva2VuIGFnYWluXG4vLyAocHJvZHVjdC1jYXJkIC8gdmVoaWNsZS1zZWxlY3QgLyBoZXJvLWJhbm5lciBmYWxsYmFja3Mg4oCUIG5lc3RpbmcgdGhlIHRva2VuXG4vLyBpbnNpZGUgaXRzIG93biBmYWxsYmFjayB3b3VsZCBiZSBjaXJjdWxhci1sb29raW5nIGFuZCBtaXMtc2NvcGUgdGhlXG4vLyBoZWFkaW5nIHRva2VuIG9udG8gYm9keSB0ZXh0IG9uIGEgc2l0ZSB0aGF0IHNldHMgb25seSBvbmUgb2YgdGhlIHR3bykuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuJGZvbnQtZmFtaWx5LXByaW1hcnktc3RhdGljOiAgICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiRmb250LWZhbWlseS1zZWNvbmRhcnktc3RhdGljOiAnUG9wcGlucycsIHNhbnMtc2VyaWY7XG5cbiRmb250LWZhbWlseS1wcmltYXJ5OiAgIHZhcigtLXBzLWZvbnQtaGVhZGluZywgI3skZm9udC1mYW1pbHktcHJpbWFyeS1zdGF0aWN9KTtcbiRmb250LWZhbWlseS1zZWNvbmRhcnk6IHZhcigtLXBzLWZvbnQtcHJpbWFyeSwgI3skZm9udC1mYW1pbHktc2Vjb25kYXJ5LXN0YXRpY30pO1xuJGZvbnQtZmFtaWx5LXNwZWNpYWw6ICdLYXVzaGFuIFNjcmlwdCcsIGN1cnNpdmU7XG4kZm9udC1mYW1pbHktYmxrb3BzOiAnQmxhY2sgT3BzIE9uZScsIGN1cnNpdmU7XG4vLyBMZWdhY3kgYWxpYXMgKG9ubHkgX2NvbnRhY3Quc2NzcyBzdGlsbCByZWFkcyBpdCkg4oCUIHNhbWUgdG9rZW4gYXMgcHJpbWFyeS5cbiRmb250LWhlYWRlcnM6ICRmb250LWZhbWlseS1wcmltYXJ5O1xuXG4uZm9udC1wcmltYXJ5LTEge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktcHJpbWFyeTtcbiAgICBmb250LXNpemU6IHJlbWMoMzBweCk7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDsgLy9leHRyYWJvbGRcbiAgICAmLi12YXJpYW50LTEge1xuICAgICAgICBmb250LXNpemU6IHJlbWMoNjBweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW1jKDYycHgpO1xuICAgIH1cbiAgICAmLi12YXJpYW50LTIge1xuICAgICAgICBmb250LXNpemU6IHJlbWMoOTBweCk7XG4gICAgfVxuICAgICYuLXZhcmlhbnQtMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtYygyNXB4KTtcbiAgICB9XG59XG4uZm9udC1wcmltYXJ5LTIge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktcHJpbWFyeTtcbiAgICBmb250LXNpemU6IHJlbWMoMjRweCk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgLy9yZWd1bGFyXG4gICAgLy9mb250LXN0eWxlOiBpdGFsaWM7XG4gICAgJi4tdmFyaWFudC0xIHtcbiAgICAgICAgZm9udC1zaXplOiByZW1jKDE4cHgpO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgfVxufVxuLmZvbnQtcHJpbWFyeS0zIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXByaW1hcnk7XG4gICAgZm9udC1zaXplOiByZW1jKDIwcHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IC8vbWVkaXVtXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLmZvbnQtcHJpbWFyeS00IHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXByaW1hcnk7XG4gICAgZm9udC1zaXplOiByZW1jKDE0cHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IC8vc2VtaWJvbGRcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi5mb250LXNlY29uZGFyeS0xIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNlY29uZGFyeTtcbiAgICBmb250LXNpemU6IHJlbWMoMTVweCk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgLy9tZWRpdW1cbiAgICAvL2ZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAvL3RleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgJi4tdmFyaWFudC0xIHtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIH1cbiAgICAmLi12YXJpYW50LTIge1xuICAgICAgICBmb250LXNpemU6IHJlbWMoMTBweCk7XG4gICAgfVxufVxuLmZvbnQtc2Vjb25kYXJ5LTIge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Vjb25kYXJ5O1xuICAgIGZvbnQtc2l6ZTogcmVtYygxM3B4KTtcbiAgICBmb250LXdlaWdodDogNDAwOyAvL3JlZ3VsYXJcbiAgICAmLi12YXJpYW50LTEge1xuICAgICAgICBmb250LXNpemU6IHJlbWMoMTZweCk7XG4gICAgfVxufVxuLmZvbnQtc2Vjb25kYXJ5LTMge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Vjb25kYXJ5O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7IC8vbGlnaHRcbn1cblxuLmZvbnQtc3BlY2lhbCB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zcGVjaWFsO1xuICAgIGZvbnQtc2l6ZTogcmVtYyg0MHB4KTtcbiAgICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uZm9udC1zcGVjaWFsMiB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1wcmltYXJ5O1xuICAgIGZvbnQtc2l6ZTogcmVtYyg0MHB4KTtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIGxldHRlci1zcGFjaW5nOiByZW1jKDRweCk7XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQUk9EVUNUIENBUkQg4oCUIFN0b3JlIHNlbGVjdG9yIHN0eWxlcyAoc2hhcmVkKVxuLy9cbi8vIEV4dHJhY3RlZCBmcm9tIF9wYXJ0aWFscy5zY3NzIHNvIGJvdGggdGhlIEJFTSB2YXJpYW50cyAodmlhIF9wYXJ0aWFscykgYW5kIHRoZVxuLy8gbGVnYWN5IGJ1bmRsZSAodmlhIGxlZ2FjeS9pbmRleC5zY3NzKSB1c2UgT05FIGNvcHkuIEV4cGVjdHMgJHBzLXBjLSogdmFyaWFibGVzXG4vLyBhbmQgdGhlIHBzLXBjLXJlc2V0LWJ1dHRvbiBtaXhpbiBpbiBzY29wZSwgYW5kIG11c3QgYmUgQGltcG9ydGVkIElOU0lERSBhXG4vLyAucHMtY29tcG9uZW50LS1wcm9kdWN0LWNhcmQgd3JhcHBlciAoYm90aCBpbXBvcnRlcnMgZG8gdGhpcykuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIOKUgOKUgCBTdG9yZSBhdmFpbGFiaWxpdHkgKGNvbXBhY3QpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAvLyBcIlBpY2t1cCBhdCBOIHN0b3JlcyBuZWFyIHlvdVwiIHN1bW1hcnkgdGhhdCBleHBhbmRzIChhY2NvcmRpb24pIGludG8gYVxuICAvLyBwZXItc3RvcmUgbGlzdC4gRGF0YS1nYXRlZCBieSB0aGUgY2FsbGVyOyBmYWxscyBiYWNrIHRvIHRoZSBkZWxpdmVyeSBzdHJpcFxuICAvLyB3aGVuIG5vIHN0b3JlIGxpc3QgaXMgc3VwcGxpZWQuIFBvcnRlZCBmcm9tIFN0b3JlTWluaSAvIFN0b3JlQXZhaWxhYmlsaXR5LlxuICAvLyBBdmFpbGFiaWxpdHkgd3JhcHBlcjogYmFkZ2VzICsgc3RvcmUgc2VsZWN0b3Igc3RhY2sgd2l0aCBhIGdhcCB3aGVuIGJvdGggc2hvdy5cbiAgLnBzLXBjX19hdmFpbGFiaWxpdHkgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDhweDsgfVxuICAucHMtcGNfX3N0b3JlcyB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5wcy1wY19fc3RvcmUtbWluaSB7XG4gICAgQGluY2x1ZGUgcHMtcGMtcmVzZXQtYnV0dG9uO1xuICAgIHdpZHRoOiAxMDAlOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDsgcGFkZGluZzogMnB4IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgY3Vyc29yOiBwb2ludGVyOyBjb2xvcjogdmFyKC0tcHMtcGMtY29sb3ItaW5mbywgI3skcHMtcGMtY29sb3ItaW5mb30pO1xuICB9XG4gIC5wcy1wY19fc3RvcmUtbWluaS1iYWRnZXMgeyBkaXNwbGF5OiBmbGV4OyBmbGV4OiAwIDAgYXV0bzsgfVxuICAucHMtcGNfX3N0b3JlLWJhZGdlLW1pbmkge1xuICAgIHdpZHRoOiAxOHB4OyBoZWlnaHQ6IDE4cHg7IGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6ICRwcy1wYy1mdy1ib2xkOyBmb250LXNpemU6IDdweDsgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDEuNXB4ICNmZmYsIGluc2V0IDAgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIH1cbiAgLnBzLXBjX19zdG9yZS1taW5pLWxhYmVsIHtcbiAgICBmbGV4OiAxOyBtaW4td2lkdGg6IDA7XG4gICAgZm9udC1zaXplOiAxMS41cHg7IGZvbnQtd2VpZ2h0OiAkcHMtcGMtZnctc2VtaWJvbGQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgb3ZlcmZsb3c6IGhpZGRlbjsgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IHRleHQtdW5kZXJsaW5lLW9mZnNldDogMnB4OyB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAxcHg7XG4gIH1cbiAgLnBzLXBjX19zdG9yZS1taW5pLWNoZXZyb24ge1xuICAgIGZsZXg6IDAgMCBhdXRvOyBkaXNwbGF5OiBibG9jazsgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRwcy1wYy10cmFuc2l0aW9uLWJhc2U7XG4gIH1cbiAgLnBzLXBjX19zdG9yZS1taW5pW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIC5wcy1wY19fc3RvcmUtbWluaS1jaGV2cm9uIHsgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuXG4gIC8vIFZlcnRpY2FsIGluLWNhcmQgbGlzdCAoc3RvcmVMYXlvdXQgJ3ZlcnRpY2FsJywgY29tcHMgcm91bmQgMiAyMDI2LTA4LTA4KTpcbiAgLy8gYm9yZGVyZWQgc3RhY2sgb2Ygcm93cywgZmlyc3Qgcm93cyB2aXNpYmxlLCB0aGUgcmVzdCBiZWhpbmQgYW4gaW5saW5lXG4gIC8vIFwiU2hvdyBOIG1vcmUgc3RvcmVzXCIgZXhwYW5kZXIgKGFjY29yZGlvbiBib2R5IGNvbGxhcHNlKS5cbiAgLnBzLXBjX19zdG9yZS1saXN0LS1jYXJkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1wcy1wYy1jb2xvci1oYWlybGluZSk7IGJvcmRlci1yYWRpdXM6ICRwcy1wYy1yYWRpdXMtbGc7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgYmFja2dyb3VuZDogI2ZmZjtcbiAgfVxuICAucHMtcGNfX3N0b3JlLWV4cGFuZCB7XG4gICAgQGluY2x1ZGUgcHMtcGMtcmVzZXQtYnV0dG9uO1xuICAgIHdpZHRoOiAxMDAlOyBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXBzLXBjLWNvbG9yLWhhaXJsaW5lLTIpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXBzLXBjLWNvbG9yLXN1cmZhY2UtYWx0KTtcbiAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgZ2FwOiA2cHg7XG4gICAgZm9udC1zaXplOiAkcHMtcGMtZnMtc207IGZvbnQtd2VpZ2h0OiAkcHMtcGMtZnctc2VtaWJvbGQ7XG4gICAgY29sb3I6IHZhcigtLXBzLXBjLWNvbG9yLWluZm8pO1xuICAgIHN2ZyB7IHRyYW5zaXRpb246IHRyYW5zZm9ybSAkcHMtcGMtdHJhbnNpdGlvbi1iYXNlOyB9XG4gICAgLnBzLXBjX19zdG9yZS1leHBhbmQtbGVzcyB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICAgIC5wcy1wY19fc3RvcmUtZXhwYW5kLW1vcmUgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgICAucHMtcGNfX3N0b3JlLWV4cGFuZC1sZXNzIHsgZGlzcGxheTogaW5saW5lOyB9XG4gICAgICBzdmcgeyB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzdGFuY2UgY2hpcCAoXCIxMi40IG1pXCIpIOKAlCBmaWxsZWQgaW4gY2xpZW50LXNpZGUgYnkgdGhlIHN0b3JlLWRpc3RhbmNlIEpTXG4gIC8vIHdoZW4gdGhlIHNob3BwZXIncyBsb2NhdGlvbiBpcyBrbm93bjsgaGlkZGVuIG90aGVyd2lzZS5cbiAgLnBzLXBjX19zdG9yZS1kaXN0YW5jZSB7XG4gICAgZm9udC1zaXplOiAxMC41cHg7IGZvbnQtd2VpZ2h0OiAkcHMtcGMtZnctc2VtaWJvbGQ7XG4gICAgY29sb3I6IHZhcigtLXBzLXBjLWNvbG9yLWluZm8pOyB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG5cbiAgLnBzLXBjX19zdG9yZS1pbm5lciB7IHBhZGRpbmc6IDhweCAwIDEycHg7IH1cbiAgLnBzLXBjX19zdG9yZS1zdGF0aWMgPiAucHMtcGNfX3N0b3JlLWlubmVyIHsgcGFkZGluZzogMDsgfVxuICAucHMtcGNfX3N0b3JlLWhlYWQge1xuICAgIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgZ2FwOiA4cHg7IG1hcmdpbi1ib3R0b206IDZweDtcbiAgfVxuICAucHMtcGNfX3N0b3JlLWhlYWQtbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTAuNXB4OyBmb250LXdlaWdodDogJHBzLXBjLWZ3LWJvbGQ7IGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogdmFyKC0tcHMtcGMtY29sb3ItaW5rLTMsICN7JHBzLXBjLWNvbG9yLWluay0zfSk7XG4gIH1cbiAgLnBzLXBjX19zdG9yZS1saXN0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1wcy1wYy1jb2xvci1oYWlybGluZSwgI3skcHMtcGMtY29sb3ItaGFpcmxpbmV9KTtcbiAgICBib3JkZXItcmFkaXVzOiAkcHMtcGMtcmFkaXVzLWxnOyBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1heC1oZWlnaHQ6IDI2NHB4OyBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG4gIC5wcy1wY19fc3RvcmUtcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4OyBnYXA6IDEwcHg7IHBhZGRpbmc6IDlweCAxMXB4IDlweCA4cHg7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXBzLXBjLWNvbG9yLXN1cmZhY2UsICN7JHBzLXBjLWNvbG9yLXN1cmZhY2V9KTtcbiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICYgKyAmIHsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXBzLXBjLWNvbG9yLWhhaXJsaW5lLTIsICN7JHBzLXBjLWNvbG9yLWhhaXJsaW5lLTJ9KTsgfVxuICAgICYuaXMtY3VycmVudCB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcy1wYy1jb2xvci1zdXJmYWNlLWFsdCwgI3skcHMtcGMtY29sb3Itc3VyZmFjZS1hbHR9KTtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1zdG9yZS1hY2NlbnQsIHRyYW5zcGFyZW50KTtcbiAgICB9XG4gIH1cbiAgLnBzLXBjX19zdG9yZS1iYWRnZS13cmFwIHtcbiAgICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDNweDsgZmxleDogMCAwIGF1dG87IHdpZHRoOiAzOHB4O1xuICB9XG4gIC5wcy1wY19fc3RvcmUtYmFkZ2Uge1xuICAgIHdpZHRoOiAzNHB4OyBoZWlnaHQ6IDM0cHg7IGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6ICRwcy1wYy1mdy1ib2xkOyBmb250LXNpemU6IDEwcHg7IGxldHRlci1zcGFjaW5nOiAwLjJweDtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICB9XG4gIC5wcy1wY19fc3RvcmUtcXR5IHtcbiAgICBmb250LWZhbWlseTogJHBzLXBjLWZvbnQtbW9ubzsgZm9udC1zaXplOiA5cHg7IGZvbnQtd2VpZ2h0OiAkcHMtcGMtZnctc2VtaWJvbGQ7IGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiB2YXIoLS1wcy1wYy1jb2xvci1vaywgI3skcHMtcGMtY29sb3Itb2t9KTsgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAmLmlzLW91dCB7IGNvbG9yOiB2YXIoLS1wcy1wYy1jb2xvci1pbmstNCwgI3skcHMtcGMtY29sb3ItaW5rLTR9KTsgfVxuICAgIC8vIEJBQ0tPUkRFUjogb3JkZXJhYmxlIGJ1dCBub3Qgb24gdGhlIHNoZWxmIOKAlCBhbWJlciwgZGVsaWJlcmF0ZWx5IE5PVCB0aGVcbiAgICAvLyBkaW1tZWQgaXMtb3V0IGdyZXkgKDIwMjYtMDgtMjcpLiBBIHNpdGUgd2hvc2UgY29tcGlsZWQgQ1NTIHByZWRhdGVzIHRoaXNcbiAgICAvLyBydWxlIGp1c3QgZmFsbHMgYmFjayB0byB0aGUgYmFzZSBpbi1zdG9jayBjb2xvdXIsIHdoaWNoIHN0aWxsIHJlYWRzIGFzXG4gICAgLy8gYXZhaWxhYmxlIHJhdGhlciB0aGFuIG91dC5cbiAgICAmLmlzLWJhY2tvcmRlciB7IGNvbG9yOiB2YXIoLS1wcy1wYy1jb2xvci13YXJuLCAjeyRwcy1wYy1jb2xvci13YXJufSk7IH1cbiAgfVxuICAucHMtcGNfX3N0b3JlLWluZm8geyBmbGV4OiAxOyBtaW4td2lkdGg6IDA7IH1cbiAgLnBzLXBjX19zdG9yZS1uYW1lLXJvdyB7XG4gICAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA2cHg7IGZsZXgtd3JhcDogd3JhcDsgcm93LWdhcDogMnB4O1xuICB9XG4gIC5wcy1wY19fc3RvcmUtbmFtZSB7XG4gICAgZm9udC13ZWlnaHQ6ICRwcy1wYy1mdy1ib2xkOyBmb250LXNpemU6IDEzcHg7IGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgY29sb3I6IHZhcigtLXBzLXBjLWNvbG9yLWluaywgI3skcHMtcGMtY29sb3ItaW5rfSk7XG4gIH1cbiAgLnBzLXBjX19zdG9yZS10YWcge1xuICAgIGZvbnQtc2l6ZTogOXB4OyBmb250LXdlaWdodDogJHBzLXBjLWZ3LWJvbGQ7IGxldHRlci1zcGFjaW5nOiAwLjVweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogdmFyKC0tcHMtcGMtY29sb3ItaW5rLCAjeyRwcy1wYy1jb2xvci1pbmt9KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcy1wYy1jb2xvci1zdXJmYWNlLCAjeyRwcy1wYy1jb2xvci1zdXJmYWNlfSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcHMtcGMtY29sb3ItaGFpcmxpbmUsICN7JHBzLXBjLWNvbG9yLWhhaXJsaW5lfSk7XG4gICAgcGFkZGluZzogMXB4IDZweDsgYm9yZGVyLXJhZGl1czogNHB4OyBsaW5lLWhlaWdodDogMS40O1xuICB9XG4gIC5wcy1wY19fc3RvcmUtYXZhaWwge1xuICAgIG1hcmdpbi10b3A6IDJweDsgZm9udC1zaXplOiAxMnB4OyBmb250LXdlaWdodDogJHBzLXBjLWZ3LXNlbWlib2xkOyBsaW5lLWhlaWdodDogMS4zO1xuICAgIGNvbG9yOiB2YXIoLS1wcy1wYy1jb2xvci1pbmstMiwgI3skcHMtcGMtY29sb3ItaW5rLTJ9KTtcbiAgICAmLmlzLW91dCB7IGNvbG9yOiB2YXIoLS1wcy1wYy1jb2xvci1pbmstMywgI3skcHMtcGMtY29sb3ItaW5rLTN9KTsgfVxuICB9XG4gIC5wcy1wY19fc3RvcmUtYWRkcmVzcyB7XG4gICAgbWFyZ2luLXRvcDogMXB4OyBmb250LXNpemU6IDExcHg7IGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6IHZhcigtLXBzLXBjLWNvbG9yLWluay0zLCAjeyRwcy1wYy1jb2xvci1pbmstM30pO1xuICB9XG5cbiAgLy8gSW5saW5lIChob3Jpem9udGFsKSBzdG9yZSB0cmVhdG1lbnQg4oCUIFYxL1YyLiBVcCB0byB0d28gc3RvcmUgY2VsbHMgc2lkZSBieVxuICAvLyBzaWRlICsgYW4gXCJOIG1vcmVcIiBidXR0b24gdGhhdCBleHBhbmRzIHRoZSBmdWxsIGxpc3QuXG4gIC8vXG4gIC8vIE5FVkVSIFRSVU5DQVRFIFRIRSBBVkFJTEFCSUxJVFkgKG93bmVyIDIwMjYtMTAtMDcpLiBCb3RoIGxpbmVzIHVzZWQgdG8gYmVcbiAgLy8gZm9yY2VkIG9udG8gb25lIGxpbmUgd2l0aCBhbiBlbGxpcHNpcywgc28gb24gYSBwaG9uZSwgYSB0YWJsZXQgZ3JpZCBvciBhXG4gIC8vIDUtYWNyb3NzIFwiUmVsYXRlZCBwcm9kdWN0c1wiIHJvdyBlYWNoIGNlbGwgaGFkIDkw4oCTMTI1cHggb2YgdGV4dCByb29tIGFuZFxuICAvLyB0aGUgYW5zd2VyIGl0c2VsZiB3YXMgY3V0OiBcIkF2YWlsYWJsZSB0b+KAplwiLCBcIkF2YWlsYWJsZSBpbiAzIGTigKZcIi4gTm93OlxuICAvLyAgIDEuIHRoZSBhdmFpbGFiaWxpdHkgbGluZSB3cmFwcyAobm8gY2xhbXAg4oCUIGl0IGlzIHRoZSBhbnN3ZXIpO1xuICAvLyAgIDIuIHRoZSBhZGRyZXNzIHdyYXBzIHRvIGF0IG1vc3QgdHdvIGxpbmVzIChmdWxsIHRleHQgaW4gdGhlIHRpdGxlKTtcbiAgLy8gICAzLiB0aGUgYm94IGlzIGEgc2l6ZSBjb250YWluZXIgKHBzLXBjX19zdG9yZXMtLWlubGluZSwgc2V0IGJ5XG4gIC8vICAgICAgX3N0b3Jlcy5ibGFkZS5waHApOiB3aGVuIGl0IGlzIHRvbyBuYXJyb3cgZm9yIHR3byByZWFkYWJsZSBjZWxscyBpdFxuICAvLyAgICAgIFNUQUNLUyB0aGVtIGFzIHJvd3Mg4oCUIGJhZGdlIGxlZnQsIHRleHQgZnVsbCB3aWR0aCDigJQgdGhlIHNhbWUgc2hhcGVcbiAgLy8gICAgICBhcyB0aGUgXCJ2ZXJ0aWNhbFwiIHN0b3JlIGxpc3QsIGluc3RlYWQgb2Ygc3F1ZWV6aW5nLlxuICAvLyAgIFNpZGUgYnkgc2lkZSBuZWVkcyDiiYggMTI1cHggb2YgdGV4dCBwZXIgY2VsbDogMiBjZWxscyDih5IgYm94IOKJpSAzNjBweDtcbiAgLy8gICB3aXRoIHRoZSBcIk4gbW9yZVwiIGJ1dHRvbiAoNTRweCkg4oeSIGJveCDiiaUgNDIwcHguXG4gIC8vIEJyb3dzZXJzIHdpdGhvdXQgY29udGFpbmVyIHF1ZXJpZXMgKHByZS0yMDIzKSBrZWVwIHNpZGUgYnkgc2lkZSwgd2l0aFxuICAvLyB0aGUgd3JhcHBpbmcgZnJvbSAxICsgMiDigJQgbmV2ZXIgYW4gZWxsaXBzaXMuXG4gIC5wcy1wY19fc3RvcmVzLS1pbmxpbmUgeyBjb250YWluZXI6IHBzLXBjLXN0b3JlcyAvIGlubGluZS1zaXplOyB9XG4gIC5wcy1wY19fc3RvcmUtaW5saW5lIHtcbiAgICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1wcy1wYy1jb2xvci1oYWlybGluZSwgI3skcHMtcGMtY29sb3ItaGFpcmxpbmV9KTtcbiAgICBib3JkZXItcmFkaXVzOiAkcHMtcGMtcmFkaXVzLWxnOyBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXBzLXBjLWNvbG9yLXN1cmZhY2UsICN7JHBzLXBjLWNvbG9yLXN1cmZhY2V9KTtcbiAgfVxuICAucHMtcGNfX3N0b3JlLWlubGluZS1jZWxsIHtcbiAgICBmbGV4OiAxOyBtaW4td2lkdGg6IDA7IHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4OyBnYXA6IDhweDsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IHBhZGRpbmc6IDhweCA5cHggOXB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXBzLXBjLWNvbG9yLXN1cmZhY2UsICN7JHBzLXBjLWNvbG9yLXN1cmZhY2V9KTtcbiAgICAmICsgJiB7IGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tcHMtcGMtY29sb3ItaGFpcmxpbmUtMiwgI3skcHMtcGMtY29sb3ItaGFpcmxpbmUtMn0pOyB9XG4gICAgJi5pcy1jdXJyZW50IHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXBzLXBjLWNvbG9yLXN1cmZhY2UtYWx0LCAjeyRwcy1wYy1jb2xvci1zdXJmYWNlLWFsdH0pO1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJzsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAwOyByaWdodDogMDsgYm90dG9tOiAwO1xuICAgICAgICBoZWlnaHQ6IDIuNXB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1zdG9yZS1hY2NlbnQsIHRyYW5zcGFyZW50KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnBzLXBjX19zdG9yZS1iYWRnZS13cmFwLS1zbSB7IHdpZHRoOiAzMHB4OyB9XG4gIC5wcy1wY19fc3RvcmUtYmFkZ2UtLXNtIHsgd2lkdGg6IDMwcHg7IGhlaWdodDogMzBweDsgZm9udC1zaXplOiA5cHg7IH1cbiAgLnBzLXBjX19zdG9yZS1pbmxpbmUtaW5mbyB7IGZsZXg6IDE7IG1pbi13aWR0aDogMDsgfVxuICAvLyAtLWNlbGwgPSB0aGUgY3VycmVudCBtYXJrdXA7IC0tbm93cmFwID0gSFRNTCByZW5kZXJlZCBiZWZvcmUgMjAyNi0xMC0wN1xuICAvLyAoY2FjaGVkIHBhZ2VzLCBvciB0aGUgQ1NTIHJlYWNoaW5nIGEgc2VydmVyIGJlZm9yZSB0aGUgQmxhZGUgZG9lcykg4oCUIGJvdGhcbiAgLy8gZ2V0IHRoZSB3cmFwcGluZyBydWxlcyBzbyB0aGUgZGVwbG95IG9yZGVyIG5ldmVyIGJyaW5ncyB0aGUgZWxsaXBzaXMgYmFjay5cbiAgLnBzLXBjX19zdG9yZS1hdmFpbC0tY2VsbCxcbiAgLnBzLXBjX19zdG9yZS1hdmFpbC0tbm93cmFwIHsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsgfVxuICAucHMtcGNfX3N0b3JlLWFkZHJlc3MtLWNlbGwsXG4gIC5wcy1wY19fc3RvcmUtYWRkcmVzcy0tbm93cmFwIHtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OyAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOyAtd2Via2l0LWxpbmUtY2xhbXA6IDI7IG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgLy8gXCJDbG9zZXN0XCIgLyBcIllvdXIgc3RvcmVcIiBhbmQgdGhlIGRpc3RhbmNlIHNoYXJlIG9uZSBsaW5lICh0aGV5IHVzZWQgdG9cbiAgLy8gdGFrZSB0d28sIHdoaWNoIG1hZGUgZXZlcnkgY2VsbCBhIGxpbmUgdGFsbGVyIHRoYW4gaXQgbmVlZGVkIHRvIGJlKS5cbiAgLnBzLXBjX19zdG9yZS10YWctaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IG1hcmdpbjogMnB4IDZweCAwIDA7IGZvbnQtc2l6ZTogOXB4OyBmb250LXdlaWdodDogJHBzLXBjLWZ3LWJvbGQ7IGxldHRlci1zcGFjaW5nOiAwLjRweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogdmFyKC0tcHMtcGMtY29sb3ItaW5rLTIsICN7JHBzLXBjLWNvbG9yLWluay0yfSk7XG4gIH1cbiAgLnBzLXBjX19zdG9yZS1tb3JlIHtcbiAgICBAaW5jbHVkZSBwcy1wYy1yZXNldC1idXR0b247XG4gICAgZmxleDogMCAwIGF1dG87IHdpZHRoOiA1NHB4OyBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1wcy1wYy1jb2xvci1oYWlybGluZS0yLCAjeyRwcy1wYy1jb2xvci1oYWlybGluZS0yfSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcHMtcGMtY29sb3Itc3VyZmFjZS1hbHQsICN7JHBzLXBjLWNvbG9yLXN1cmZhY2UtYWx0fSk7XG4gICAgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGdhcDogMnB4O1xuICAgIGNvbG9yOiB2YXIoLS1wcy1wYy1jb2xvci1pbmZvLCAjeyRwcy1wYy1jb2xvci1pbmZvfSk7XG4gIH1cbiAgLnBzLXBjX19zdG9yZS1tb3JlLWxhYmVsIHsgZm9udC1zaXplOiAxMC41cHg7IGZvbnQtd2VpZ2h0OiAkcHMtcGMtZnctYm9sZDsgbGluZS1oZWlnaHQ6IDE7IH1cblxuICAvLyBOYXJyb3cgY2FyZCDihpIgc3RhY2tlZCByb3dzIChzZWUgdGhlIGJsb2NrIGNvbW1lbnQgb24gLnBzLXBjX19zdG9yZS1pbmxpbmUpLlxuICBAbWl4aW4gcHMtcGMtc3RvcmUtaW5saW5lLXN0YWNrZWQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLnBzLXBjX19zdG9yZS1pbmxpbmUtY2VsbCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bzsgcGFkZGluZzogNnB4IDEwcHg7XG4gICAgICAvLyBjb21wYWN0IHJvd3M6IHRoZSBhZGRyZXNzIGtlZXBzIE9ORSBsaW5lIGhlcmUgKGZ1bGwgdGV4dCBpbiBpdHNcbiAgICAgIC8vIHRpdGxlLCBhbmQgaW4gdGhlIFwiTiBtb3JlXCIgLyBzdG9yZSBvdmVybGF5KTsgdGhlIGF2YWlsYWJpbGl0eSBhYm92ZVxuICAgICAgLy8gaXQgc3RpbGwgd3JhcHMgZnJlZWx5XG4gICAgICAucHMtcGNfX3N0b3JlLWFkZHJlc3MtLWNlbGwsXG4gICAgICAucHMtcGNfX3N0b3JlLWFkZHJlc3MtLW5vd3JhcCB7IC13ZWJraXQtbGluZS1jbGFtcDogMTsgfVxuICAgICAgJiArIC5wcy1wY19fc3RvcmUtaW5saW5lLWNlbGwge1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXBzLXBjLWNvbG9yLWhhaXJsaW5lLTIsICN7JHBzLXBjLWNvbG9yLWhhaXJsaW5lLTJ9KTtcbiAgICAgIH1cbiAgICAgIC8vIHRoZSBcInlvdXIgLyBjbG9zZXN0IHN0b3JlXCIgYWNjZW50IGJlY29tZXMgYSBsZWZ0IGJhciwgbGlrZSB0aGVcbiAgICAgIC8vIHZlcnRpY2FsIGxpc3QncyByb3dzXG4gICAgICAmLmlzLWN1cnJlbnQ6OmFmdGVyIHsgdG9wOiAwOyByaWdodDogYXV0bzsgd2lkdGg6IDNweDsgaGVpZ2h0OiBhdXRvOyB9XG4gICAgfVxuICAgIC5wcy1wY19fc3RvcmUtbW9yZSB7XG4gICAgICB3aWR0aDogYXV0bzsgZmxleC1kaXJlY3Rpb246IHJvdzsgZ2FwOiA2cHg7IHBhZGRpbmc6IDdweCAxMHB4O1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tcHMtcGMtY29sb3ItaGFpcmxpbmUtMiwgI3skcHMtcGMtY29sb3ItaGFpcmxpbmUtMn0pO1xuICAgIH1cbiAgfVxuICAvLyBTdGFja2VkIHJvd3Mgd2l0aCByb29tIHRvIHNwYXJlICjiiaUgMjYwcHgpOiBcIkNMT1NFU1RcIiAvIFwiWW91ciBzdG9yZVwiIGFuZFxuICAvLyB0aGUgZGlzdGFuY2UgbW92ZSB0byBhIHJpZ2h0LWhhbmQgY29sdW1uLCBzbyBhIHJvdyBzdGF5cyB0d28gbGluZXNcbiAgLy8gKGF2YWlsYWJpbGl0eSArIGFkZHJlc3MpIGluc3RlYWQgb2YgdGhyZWUuXG4gIEBtaXhpbiBwcy1wYy1zdG9yZS1pbmxpbmUtbWV0YS1jb2x1bW4ge1xuICAgIC5wcy1wY19fc3RvcmUtaW5saW5lLWluZm8ge1xuICAgICAgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSBhdXRvOyBjb2x1bW4tZ2FwOiAxMHB4OyBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgfVxuICAgIC5wcy1wY19fc3RvcmUtYXZhaWwgeyBncmlkLWNvbHVtbjogMTsgZ3JpZC1yb3c6IDE7IH1cbiAgICAucHMtcGNfX3N0b3JlLWFkZHJlc3MgeyBncmlkLWNvbHVtbjogMTsgZ3JpZC1yb3c6IDI7IH1cbiAgICAucHMtcGNfX3N0b3JlLXRhZy1pbmxpbmUgeyBncmlkLWNvbHVtbjogMjsgZ3JpZC1yb3c6IDE7IGp1c3RpZnktc2VsZjogZW5kOyBtYXJnaW46IDA7IH1cbiAgICAucHMtcGNfX3N0b3JlLWRpc3RhbmNlIHsgZ3JpZC1jb2x1bW46IDI7IGdyaWQtcm93OiAyOyBqdXN0aWZ5LXNlbGY6IGVuZDsgfVxuICB9XG4gIEBjb250YWluZXIgcHMtcGMtc3RvcmVzIChtYXgtd2lkdGg6IDM1OXB4KSB7XG4gICAgLnBzLXBjX19zdG9yZS1pbmxpbmUgeyBAaW5jbHVkZSBwcy1wYy1zdG9yZS1pbmxpbmUtc3RhY2tlZDsgfVxuICAgIC8vIHRoZSBoZWFkJ3MgdGhyZWUgcGFydHMgKGxhYmVsIMK3IE5lYXIgPHppcD4gwrcgVXNlIG15IGxvY2F0aW9uKSBzcXVlZXplZFxuICAgIC8vIGludG8gdGhyZWUgd3JhcHBlZCBjb2x1bW5zIOKAlCBsYWJlbCBvbiBpdHMgb3duIGxpbmUgaW5zdGVhZCAoc2FtZSBhc1xuICAgIC8vIHRoZSBwcm9kdWN0IHBhZ2UncyBwYW5lbClcbiAgICAucHMtcGNfX3N0b3JlLWhlYWQgeyBmbGV4LXdyYXA6IHdyYXA7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgY29sdW1uLWdhcDogMTBweDsgcm93LWdhcDogMnB4OyB9XG4gICAgLnBzLXBjX19zdG9yZS1oZWFkLWxhYmVsIHsgZmxleDogMSAwIDEwMCU7IH1cbiAgICAucHMtcGNfX3ppcC1saW5lLCAucHMtcGNfX3N0b3JlLWxvY2F0ZSBzcGFuIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICB9XG4gIEBjb250YWluZXIgcHMtcGMtc3RvcmVzIChtYXgtd2lkdGg6IDQxOXB4KSB7XG4gICAgLnBzLXBjX19zdG9yZS1pbmxpbmU6aGFzKD4gLnBzLXBjX19zdG9yZS1tb3JlKSB7IEBpbmNsdWRlIHBzLXBjLXN0b3JlLWlubGluZS1zdGFja2VkOyB9XG4gIH1cbiAgQGNvbnRhaW5lciBwcy1wYy1zdG9yZXMgKG1pbi13aWR0aDogMjYwcHgpIGFuZCAobWF4LXdpZHRoOiAzNTlweCkge1xuICAgIC5wcy1wY19fc3RvcmUtaW5saW5lIHsgQGluY2x1ZGUgcHMtcGMtc3RvcmUtaW5saW5lLW1ldGEtY29sdW1uOyB9XG4gIH1cbiAgQGNvbnRhaW5lciBwcy1wYy1zdG9yZXMgKG1pbi13aWR0aDogMzYwcHgpIGFuZCAobWF4LXdpZHRoOiA0MTlweCkge1xuICAgIC5wcy1wY19fc3RvcmUtaW5saW5lOmhhcyg+IC5wcy1wY19fc3RvcmUtbW9yZSkgeyBAaW5jbHVkZSBwcy1wYy1zdG9yZS1pbmxpbmUtbWV0YS1jb2x1bW47IH1cbiAgfVxuXG4gIC8vIOKUgOKUgCBTdG9yZSBPVkVSTEFZIChjb21wcyAyMDI2LTA4LTA4LCBTdG9yZU92ZXJsYXkpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAvLyBUaGUgZnVsbCBzdG9yZSBsaXN0IGFzIGEgbW9kYWwgZGlhbG9nOiBmaXhlZCBzY3JpbSwgYm90dG9tIHNoZWV0IG9uIG1vYmlsZSxcbiAgLy8gY2VudGVyZWQgcGFuZWwgZnJvbSBtZCB1cC4gT3BlbmVkIGJ5IHRoZSBtaW5pIHN1bW1hcnkgLyBpbmxpbmUgXCIrTiBtb3JlXCJcbiAgLy8gKFByb2R1Y3RDYXJkQ29yZS5fYmluZFN0b3JlT3ZlcmxheSBtb3ZlcyBpdCB0byA8Ym9keT4gc28gYW5jZXN0b3JcbiAgLy8gdHJhbnNmb3JtcyBjYW4ndCB0cmFwIHBvc2l0aW9uOmZpeGVkKS5cbiAgLy9cbiAgLy8gQGF0LXJvb3QgT04gUFVSUE9TRTogdGhpcyBmaWxlIGlzIEBpbXBvcnRlZCBJTlNJREUgdGhlXG4gIC8vIC5wcy1jb21wb25lbnQtLXByb2R1Y3QtY2FyZCB3cmFwcGVyLCBidXQgdGhlIG92ZXJsYXkgbGl2ZXMgb24gPGJvZHk+IGFmdGVyXG4gIC8vIHRoZSBKUyBtb3ZlIOKAlCBkZXNjZW5kYW50LXNjb3BlZCBzZWxlY3RvcnMgd291bGQgc3RvcCBtYXRjaGluZyB0aGUgbW9tZW50XG4gIC8vIGl0IG9wZW5zICgyMDI2LTA4LTA4OiB0aGUgb3ZlcmxheSByZW5kZXJlZCBhcyByYXcgdW5zdHlsZWQgdGV4dCBhdCB0aGVcbiAgLy8gcGFnZSBib3R0b20gdW50aWwgdGhpcyB3YXMgdW5zY29wZWQpLlxuICBAYXQtcm9vdCAucHMtcGNfX3N0b3JlLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgaW5zZXQ6IDA7IHotaW5kZXg6IDEwODA7XG4gICAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxMnB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICZbaGlkZGVuXSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgfVxuICBAYXQtcm9vdCAucHMtcGNfX3N0b3JlLW92ZXJsYXktc2NyaW0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7IGJhY2tncm91bmQ6IHJnYmEoMTYsIDE4LCAyMiwgMC40Mik7XG4gIH1cbiAgQGF0LXJvb3QgLnBzLXBjX19zdG9yZS1vdmVybGF5LXNoZWV0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IHdpZHRoOiAxMDAlOyBtYXgtd2lkdGg6IDM4MHB4OyBtYXgtaGVpZ2h0OiA4OCU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjsgYm9yZGVyLXJhZGl1czogMTRweDsgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJveC1zaGFkb3c6IDAgLTJweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgMTZweCA0OHB4IC04cHggcmdiYSgwLCAwLCAwLCAwLjQpO1xuICB9XG4gIEBhdC1yb290IC5wcy1wY19fc3RvcmUtb3ZlcmxheS1oZWFkIHtcbiAgICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogMTNweCAxNHB4OyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tcHMtcGMtY29sb3ItaGFpcmxpbmUsICN7JHBzLXBjLWNvbG9yLWhhaXJsaW5lfSk7XG4gIH1cbiAgQGF0LXJvb3QgLnBzLXBjX19zdG9yZS1vdmVybGF5LXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogJHBzLXBjLWZ3LWJvbGQ7IGZvbnQtc2l6ZTogMTVweDsgY29sb3I6IHZhcigtLXBzLXBjLWNvbG9yLWluaywgI3skcHMtcGMtY29sb3ItaW5rfSk7XG4gIH1cbiAgQGF0LXJvb3QgLnBzLXBjX19zdG9yZS1vdmVybGF5LXN1YiB7XG4gICAgZm9udC1zaXplOiAxMS41cHg7IGZvbnQtd2VpZ2h0OiA1MDA7IG1hcmdpbi10b3A6IDFweDtcbiAgICBjb2xvcjogdmFyKC0tcHMtcGMtY29sb3ItaW5rLTMsICN7JHBzLXBjLWNvbG9yLWluay0zfSk7XG4gICAgLy8gRmxleC1jZW50ZXJlZCBzbyB0aGUgemlwIGJ1dHRvbiBhbmQgdGhlIFwiVXNlIG15IGxvY2F0aW9uXCIgcGlsbCAoaWNvbiArXG4gICAgLy8gdW5kZXJsaW5lZCB0ZXh0KSBzaXQgT04gdGhlIHRleHQgbGluZSDigJQgYXMgaW5saW5lIGNvbnRlbnQgdGhlaXJcbiAgICAvLyBiYXNlbGluZXMgcm9kZSBhIGNvdXBsZSBweCBoaWdoIChvd25lciAyMDI2LTA4LTA4IHNjcmVlbnNob3QpLlxuICAgIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGZsZXgtd3JhcDogd3JhcDsgZ2FwOiAzcHg7XG4gIH1cbiAgQGF0LXJvb3QgLnBzLXBjX19zdG9yZS1vdmVybGF5LXgge1xuICAgIEBpbmNsdWRlIHBzLXBjLXJlc2V0LWJ1dHRvbjtcbiAgICB3aWR0aDogMzBweDsgaGVpZ2h0OiAzMHB4OyBib3JkZXItcmFkaXVzOiA4cHg7IGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1wcy1wYy1jb2xvci1oYWlybGluZSwgI3skcHMtcGMtY29sb3ItaGFpcmxpbmV9KTsgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLXBzLXBjLWNvbG9yLWluay0yLCAjeyRwcy1wYy1jb2xvci1pbmstMn0pO1xuICB9XG4gIEBhdC1yb290IC5wcy1wY19fc3RvcmUtb3ZlcmxheS1ib2R5IHsgcGFkZGluZzogMTJweDsgb3ZlcmZsb3cteTogYXV0bzsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBAYXQtcm9vdCAucHMtcGNfX3N0b3JlLW92ZXJsYXkgeyBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIH1cblxuLy8gU2Nyb2xsIGxvY2sgd2hpbGUgYSBzdG9yZSBvdmVybGF5IGlzIG9wZW4gKGNsYXNzIHNldCBvbiA8aHRtbD4gYnlcbi8vIFByb2R1Y3RDYXJkQ29yZS5fYmluZFN0b3JlT3ZlcmxheSkuIERlbGliZXJhdGVseSBPVVRTSURFIHRoZSBjb21wb25lbnRcbi8vIHdyYXBwZXIg4oCUIGh0bWw6cm9vdCBpcyBuZXZlciBpbnNpZGUgLnBzLWNvbXBvbmVudC0tcHJvZHVjdC1jYXJkLlxuXG5cbiAgLy8gVGhlIHN0b3JlIGxpc3QgaW5zaWRlIHRoZSBNT1ZFRCBvdmVybGF5IGlzIG91dHNpZGUgdGhlIGNhcmQgc2NvcGUgdG9vIOKAlFxuICAvLyByZS1lbWl0IHRoZSByb3cvYmFkZ2UvaGVhZCBydWxlcyB1bmRlciB0aGUgb3ZlcmxheSByb290IChzYW1lIHN0eWxlcyB0aGVcbiAgLy8gc2NvcGVkIHZlcnNpb25zIHByb2R1Y2UgaW5zaWRlIHRoZSBjYXJkKS5cbiAgQGF0LXJvb3QgLnBzLXBjX19zdG9yZS1vdmVybGF5IHtcbiAgICAucHMtcGNfX3N0b3JlLWhlYWQge1xuICAgICAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBnYXA6IDhweDsgbWFyZ2luLWJvdHRvbTogNnB4O1xuICAgIH1cbiAgICAucHMtcGNfX3N0b3JlLWhlYWQtbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAxMC41cHg7IGZvbnQtd2VpZ2h0OiAkcHMtcGMtZnctYm9sZDsgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6ICRwcy1wYy1jb2xvci1pbmstMztcbiAgICB9XG4gICAgLnBzLXBjX19zdG9yZS1saXN0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRwcy1wYy1jb2xvci1oYWlybGluZTsgYm9yZGVyLXJhZGl1czogOHB4OyBvdmVyZmxvdzogaGlkZGVuOyBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIH1cbiAgICAucHMtcGNfX3N0b3JlLXJvdyB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyBnYXA6IDEwcHg7IHBhZGRpbmc6IDlweCAxMXB4IDlweCA4cHg7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjsgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcHMtcGMtY29sb3ItaGFpcmxpbmUtMjtcbiAgICAgICY6bGFzdC1jaGlsZCB7IGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICAgICYuaXMtY3VycmVudCB7IGJhY2tncm91bmQ6ICRwcy1wYy1jb2xvci1zdXJmYWNlLWFsdDsgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLXN0b3JlLWFjY2VudCwgdHJhbnNwYXJlbnQpOyB9XG4gICAgfVxuICAgIC5wcy1wY19fc3RvcmUtYmFkZ2Utd3JhcCB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogM3B4OyBmbGV4OiAwIDAgYXV0bzsgbWluLXdpZHRoOiAzOHB4OyB9XG4gICAgLnBzLXBjX19zdG9yZS1iYWRnZSB7XG4gICAgICB3aWR0aDogMzRweDsgaGVpZ2h0OiAzNHB4OyBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmb250LXdlaWdodDogODAwOyBmb250LXNpemU6IDEwcHg7IGxldHRlci1zcGFjaW5nOiAwLjJweDtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuMTApO1xuICAgICAgZm9udC1mYW1pbHk6ICRwcy1wYy1mb250LXNhbnM7XG4gICAgfVxuICAgIC5wcy1wY19fc3RvcmUtcXR5IHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkcHMtcGMtZm9udC1tb25vOyBmb250LXNpemU6IDlweDsgZm9udC13ZWlnaHQ6IDYwMDsgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBjb2xvcjogJHBzLXBjLWNvbG9yLW9rOyB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgJi5pcy1vdXQgeyBjb2xvcjogJHBzLXBjLWNvbG9yLWluay00OyB9XG4gICAgICAmLmlzLWJhY2tvcmRlciB7IGNvbG9yOiAkcHMtcGMtY29sb3Itd2FybjsgfSAgLy8gc2VlIHRoZSBzaGFyZWQgYmxvY2sgYWJvdmVcbiAgICB9XG4gICAgLnBzLXBjX19zdG9yZS1pbmZvIHsgZmxleDogMTsgbWluLXdpZHRoOiAwOyBmb250LWZhbWlseTogJHBzLXBjLWZvbnQtc2FuczsgfVxuICAgIC5wcy1wY19fc3RvcmUtbmFtZS1yb3cgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDZweDsgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnBzLXBjX19zdG9yZS1uYW1lIHsgZm9udC13ZWlnaHQ6ICRwcy1wYy1mdy1ib2xkOyBmb250LXNpemU6IDEzcHg7IGNvbG9yOiAkcHMtcGMtY29sb3ItaW5rOyBsaW5lLWhlaWdodDogMS4yOyB9XG4gICAgLnBzLXBjX19zdG9yZS10YWcge1xuICAgICAgZm9udC1zaXplOiA5cHg7IGZvbnQtd2VpZ2h0OiAkcHMtcGMtZnctYm9sZDsgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29sb3I6ICRwcy1wYy1jb2xvci1pbms7IGJhY2tncm91bmQ6ICNmZmY7IGJvcmRlcjogMXB4IHNvbGlkICRwcy1wYy1jb2xvci1oYWlybGluZTtcbiAgICAgIHBhZGRpbmc6IDFweCA2cHg7IGJvcmRlci1yYWRpdXM6IDRweDsgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICB9XG4gICAgLnBzLXBjX19zdG9yZS1hdmFpbCB7IG1hcmdpbi10b3A6IDJweDsgZm9udC1zaXplOiAxMnB4OyBmb250LXdlaWdodDogJHBzLXBjLWZ3LXNlbWlib2xkOyBsaW5lLWhlaWdodDogMS4zOyBjb2xvcjogJHBzLXBjLWNvbG9yLWluay0yO1xuICAgICAgJi5pcy1vdXQgeyBjb2xvcjogJHBzLXBjLWNvbG9yLWluay0zOyB9IH1cbiAgICAucHMtcGNfX3N0b3JlLWFkZHJlc3MgeyBtYXJnaW4tdG9wOiAxcHg7IGZvbnQtc2l6ZTogMTFweDsgY29sb3I6ICRwcy1wYy1jb2xvci1pbmstMzsgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAgIC5wcy1wY19femlwIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBib3JkZXI6IDA7IHBhZGRpbmc6IDA7IGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMTEuNXB4OyBmb250LXdlaWdodDogJHBzLXBjLWZ3LWJvbGQ7IGNvbG9yOiAkcHMtcGMtY29sb3ItaW5mbztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDJweDtcbiAgICB9XG4gICAgLnBzLXBjX19zdG9yZS1sb2NhdGUge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGJvcmRlcjogMDsgcGFkZGluZzogMDsgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNHB4O1xuICAgICAgZm9udC1zaXplOiAxMC41cHg7IGZvbnQtd2VpZ2h0OiAkcHMtcGMtZnctc2VtaWJvbGQ7IGNvbG9yOiAkcHMtcGMtY29sb3ItaW5mbztcbiAgICAgIHN2ZyB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICBzcGFuIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IHRleHQtdW5kZXJsaW5lLW9mZnNldDogMnB4OyB9XG4gICAgfVxuICAgIC5wcy1wY19fc3RvcmUtZGlzdGFuY2Uge1xuICAgICAgZm9udC1zaXplOiAxMC41cHg7IGZvbnQtd2VpZ2h0OiAkcHMtcGMtZnctc2VtaWJvbGQ7XG4gICAgICBjb2xvcjogJHBzLXBjLWNvbG9yLWluZm87IHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuICB9XG5cbiAgLy8gXCJVc2UgbXkgbG9jYXRpb25cIiBhZmZvcmRhbmNlIChjb21wcyByb3VuZCAyKSDigJQgcXVpZXQgaW5mby1jb2xvcmVkIHBpbGxcbiAgLy8gbmV4dCB0byB0aGUgXCJOZWFyIDx6aXA+XCIgbGluZSBhbmQgaW4gdGhlIG92ZXJsYXkgc3ViLWxpbmUuXG4gIC5wcy1wY19fc3RvcmUtbG9jYXRlIHtcbiAgICBAaW5jbHVkZSBwcy1wYy1yZXNldC1idXR0b247XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNHB4OyBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAxMC41cHg7IGZvbnQtd2VpZ2h0OiAkcHMtcGMtZnctc2VtaWJvbGQ7XG4gICAgY29sb3I6IHZhcigtLXBzLXBjLWNvbG9yLWluZm8sICN7JHBzLXBjLWNvbG9yLWluZm99KTtcbiAgICBzdmcgeyBkaXNwbGF5OiBibG9jazsgfVxuICAgIHNwYW4geyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAycHg7IH1cbiAgfVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUFJPRFVDVCBDQVJEIOKAlCBTaGFyZWQgU0NTUyBNaXhpbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGltcG9ydCAndmFyaWFibGVzJztcblxuLy8g4pSA4pSAIFJlc3BvbnNpdmUgYnJlYWtwb2ludCBoZWxwZXJzIChtYXRjaCB2ZWhpY2xlLXNlbGVjdCBBUEkpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuQG1peGluIHBzLXBjLW1lZGlhLXVwKCRicCkge1xuICBAaWYgJGJwID09IHNtICB7IEBtZWRpYSAobWluLXdpZHRoOiAkcHMtcGMtYnJlYWtwb2ludC1zbSkgIHsgQGNvbnRlbnQ7IH0gfVxuICBAaWYgJGJwID09IG1kICB7IEBtZWRpYSAobWluLXdpZHRoOiAkcHMtcGMtYnJlYWtwb2ludC1tZCkgIHsgQGNvbnRlbnQ7IH0gfVxuICBAaWYgJGJwID09IGxnICB7IEBtZWRpYSAobWluLXdpZHRoOiAkcHMtcGMtYnJlYWtwb2ludC1sZykgIHsgQGNvbnRlbnQ7IH0gfVxufVxuQG1peGluIHBzLXBjLW1lZGlhLWRvd24oJGJwKSB7XG4gIEBpZiAkYnAgPT0gc20gIHsgQG1lZGlhIChtYXgtd2lkdGg6ICRwcy1wYy1icmVha3BvaW50LXNtIC0gMXB4KSB7IEBjb250ZW50OyB9IH1cbiAgQGlmICRicCA9PSBtZCAgeyBAbWVkaWEgKG1heC13aWR0aDogJHBzLXBjLWJyZWFrcG9pbnQtbWQgLSAxcHgpIHsgQGNvbnRlbnQ7IH0gfVxuICBAaWYgJGJwID09IGxnICB7IEBtZWRpYSAobWF4LXdpZHRoOiAkcHMtcGMtYnJlYWtwb2ludC1sZyAtIDFweCkgeyBAY29udGVudDsgfSB9XG59XG5cbi8vIOKUgOKUgCBSZXNldHMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5AbWl4aW4gcHMtcGMtcmVzZXQtYnV0dG9uIHtcbiAgYXBwZWFyYW5jZTogbm9uZTsgYm9yZGVyOiBub25lOyBiYWNrZ3JvdW5kOiBub25lO1xuICBwYWRkaW5nOiAwOyBtYXJnaW46IDA7IGZvbnQ6IGluaGVyaXQ7IGNvbG9yOiBpbmhlcml0OyBjdXJzb3I6IHBvaW50ZXI7IG91dGxpbmU6IG5vbmU7XG59XG5AbWl4aW4gcHMtcGMtcmVzZXQtbGlzdCB7IGxpc3Qtc3R5bGU6IG5vbmU7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgfVxuQG1peGluIHBzLXBjLXRydW5jYXRlIHsgb3ZlcmZsb3c6IGhpZGRlbjsgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbkBtaXhpbiBwcy1wYy10YWJ1bGFyIHsgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtczsgfVxuXG4vLyDilIDilIAgQ2xhbXAgdGV4dCB0byBOIGxpbmVzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuQG1peGluIHBzLXBjLWxpbmUtY2xhbXAoJGxpbmVzKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAtd2Via2l0LWxpbmUtY2xhbXA6ICRsaW5lcztcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8g4pSA4pSAIEZvY3VzIHJpbmcg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5AbWl4aW4gcHMtcGMtZm9jdXMtcmluZyB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1wcy1wYy1jb2xvci1pbmZvLCAjeyRwcy1wYy1jb2xvci1pbmZvfSk7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi8vIOKUgOKUgCBDU1Mtb25seSBjaGV2cm9uIChkb3duIGJ5IGRlZmF1bHQpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuQG1peGluIHBzLXBjLWNoZXZyb24oJHNpemU6IDdweCwgJHdlaWdodDogMnB4KSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6ICRzaXplOyBoZWlnaHQ6ICRzaXplO1xuICBib3JkZXItcmlnaHQ6ICR3ZWlnaHQgc29saWQgY3VycmVudENvbG9yO1xuICBib3JkZXItYm90dG9tOiAkd2VpZ2h0IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHBzLXBjLXRyYW5zaXRpb24tZmFzdDtcbn1cblxuLy8g4pSA4pSAIFN0cmlwZWQgaW1hZ2UgcGxhY2Vob2xkZXIgKG1hdGNoZXMgZGVzaWduIFBhcnRJbWFnZSkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBVc2VkIGFzIGEgZmFsbGJhY2sgYmFja2dyb3VuZCB3aGVuIG5vIHByb2R1Y3QgaW1hZ2UgaXMgcHJlc2VudC5cbkBtaXhpbiBwcy1wYy1pbWFnZS1wbGFjZWhvbGRlcigkdGludDogJHBzLXBjLWNvbG9yLXN1cmZhY2UtYWx0KSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0aW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdHJhbnNwYXJlbnQgMCA2cHgsIHJnYmEoMCwwLDAsMC4wNCkgNnB4IDdweCk7XG59XG5cbi8vIOKUgOKUgCBSb290IHRva2VuIGJyaWRnZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIERlY2xhcmVzIGFsbCAtLXBzLXBjLSogQ1NTIGN1c3RvbSBwcm9wZXJ0aWVzIG9uIGEgY29tcG9uZW50IHJvb3QsIGVhY2hcbi8vIGZhbGxpbmcgYmFjazogdGhlbWUgb3ZlcnJpZGUgKC0tcHMtY29sb3ItKikg4oaSIGNvbXBvbmVudCBTQ1NTIGRlZmF1bHQuXG4vLyBFdmVyeSB2YXJpYW50IEBpbmNsdWRlcyB0aGlzIGF0IGl0cyByb290IHNvIHRoZW1pbmcgd29ya3MgdW5pZm9ybWx5LlxuQG1peGluIHBzLXBjLXJvb3QtdG9rZW5zIHtcbiAgLS1wcy1wYy1jb2xvci1wcmltYXJ5OiAgICAgICB2YXIoLS1wcy1jb2xvci1wcmltYXJ5LCAgICAgICAgI3skcHMtcGMtY29sb3ItcHJpbWFyeX0pO1xuICAtLXBzLXBjLWNvbG9yLXByaW1hcnktaG92ZXI6IHZhcigtLXBzLWNvbG9yLXByaW1hcnktaG92ZXIsICAjeyRwcy1wYy1jb2xvci1wcmltYXJ5LWhvdmVyfSk7XG5cbiAgLS1wcy1wYy1jb2xvci1iZzogICAgICAgICAgdmFyKC0tcHMtY29sb3ItYmcsICAgICAgICAgICN7JHBzLXBjLWNvbG9yLWJnfSk7XG4gIC0tcHMtcGMtY29sb3Itc3VyZmFjZTogICAgIHZhcigtLXBzLWNvbG9yLXN1cmZhY2UsICAgICAjeyRwcy1wYy1jb2xvci1zdXJmYWNlfSk7XG4gIC0tcHMtcGMtY29sb3Itc3VyZmFjZS1hbHQ6IHZhcigtLXBzLWNvbG9yLXN1cmZhY2UtYWx0LCAjeyRwcy1wYy1jb2xvci1zdXJmYWNlLWFsdH0pO1xuICAtLXBzLXBjLWNvbG9yLWluazogICAgICAgICB2YXIoLS1wcy1jb2xvci10ZXh0LCAgICAgICAgI3skcHMtcGMtY29sb3ItaW5rfSk7XG4gIC0tcHMtcGMtY29sb3ItaW5rLTI6ICAgICAgIHZhcigtLXBzLWNvbG9yLXRleHQtMiwgICAgICAjeyRwcy1wYy1jb2xvci1pbmstMn0pO1xuICAtLXBzLXBjLWNvbG9yLWluay0zOiAgICAgICB2YXIoLS1wcy1jb2xvci10ZXh0LTMsICAgICAgI3skcHMtcGMtY29sb3ItaW5rLTN9KTtcbiAgLS1wcy1wYy1jb2xvci1pbmstNDogICAgICAgdmFyKC0tcHMtY29sb3ItdGV4dC00LCAgICAgICN7JHBzLXBjLWNvbG9yLWluay00fSk7XG4gIC0tcHMtcGMtY29sb3ItaGFpcmxpbmU6ICAgIHZhcigtLXBzLWNvbG9yLWJvcmRlciwgICAgICAjeyRwcy1wYy1jb2xvci1oYWlybGluZX0pO1xuICAtLXBzLXBjLWNvbG9yLWhhaXJsaW5lLTI6ICB2YXIoLS1wcy1jb2xvci1ib3JkZXItMiwgICAgI3skcHMtcGMtY29sb3ItaGFpcmxpbmUtMn0pO1xuXG4gIC0tcHMtcGMtY29sb3ItYWNjZW50OiAgICAgIHZhcigtLXBzLWNvbG9yLWRhbmdlciwgICAgICAjeyRwcy1wYy1jb2xvci1hY2NlbnR9KTtcbiAgLS1wcy1wYy1jb2xvci1hY2NlbnQtaW5rOiAgI3skcHMtcGMtY29sb3ItYWNjZW50LWlua307XG4gIC0tcHMtcGMtY29sb3ItYWNjZW50LWJnOiAgICN7JHBzLXBjLWNvbG9yLWFjY2VudC1iZ307XG4gIC0tcHMtcGMtY29sb3Itb2s6ICAgICAgICAgIHZhcigtLXBzLWNvbG9yLXN1Y2Nlc3MsICAgICAjeyRwcy1wYy1jb2xvci1va30pO1xuICAtLXBzLXBjLWNvbG9yLW9rLWJnOiAgICAgICAjeyRwcy1wYy1jb2xvci1vay1iZ307XG4gIC0tcHMtcGMtY29sb3Itd2FybjogICAgICAgICN7JHBzLXBjLWNvbG9yLXdhcm59O1xuICAtLXBzLXBjLWNvbG9yLWluZm86ICAgICAgICB2YXIoLS1wcy1jb2xvci1saW5rLCAgICAgICAgI3skcHMtcGMtY29sb3ItaW5mb30pO1xuICAtLXBzLXBjLWNvbG9yLWluZm8tYmc6ICAgICAjeyRwcy1wYy1jb2xvci1pbmZvLWJnfTtcbiAgLS1wcy1wYy1jb2xvci1kaWdpdGFsOiAgICAgI3skcHMtcGMtY29sb3ItZGlnaXRhbH07XG4gIC0tcHMtcGMtY29sb3ItZGlnaXRhbC1iZzogICN7JHBzLXBjLWNvbG9yLWRpZ2l0YWwtYmd9O1xuXG4gIC8vIFVuaXZlcnNhbCBGaXRtZW50IEJhZGdpbmcgKDIwMjYtMDktMjgpLiBUaGUgYmFkZ2UgY29sb3VyIHJlYWRzIHRoZVxuICAvLyBTdHlsZS10YWIgb3ZlcnJpZGUgdmFyIC0tcHMtcGMtdW5pdiBGSVJTVDogYSBwZXItYmxvY2sgdG9rZW4gaXMgZW1pdHRlZFxuICAvLyBvbiB0aGUgI2Jsa194IHdyYXBwZXIsIGFuZCBhIHBsYWluIC0tcHMtcGMtY29sb3ItdW5pdiB0b2tlbiB3b3VsZCBsb3NlIHRvXG4gIC8vIHRoaXMgdmVyeSBkZWNsYXJhdGlvbiBvbiBldmVyeSBpbm5lciBjYXJkIChhbiBlbGVtZW50J3Mgb3duIGN1c3RvbVxuICAvLyBwcm9wZXJ0eSBhbHdheXMgYmVhdHMgYW4gaW5oZXJpdGVkIG9uZSDigJQgdGhlIHZlaGljbGUtc2VsZWN0IHJvb3RcbiAgLy8gcmUtZGVjbGFyYXRpb24gdHJhcCwgMjAyNi0wOC0yNykuIFRoZSB3YXNoIGFuZCBoYWlybGluZSBkZXJpdmUgZnJvbSB0aGVcbiAgLy8gaW5rIHdoZXJlIGNvbG9yLW1peCBleGlzdHMsIHNvIG9uZSBtZXJjaGFudCBjb2xvdXIgcmVjb2xvdXJzIGFsbCB0aHJlZS5cbiAgLS1wcy1wYy1jb2xvci11bml2OiAgICAgICAgdmFyKC0tcHMtcGMtdW5pdiwgI3skcHMtcGMtY29sb3ItdW5pdn0pO1xuICAtLXBzLXBjLWNvbG9yLXVuaXYtYmc6ICAgICAjeyRwcy1wYy1jb2xvci11bml2LWJnfTtcbiAgLS1wcy1wYy1jb2xvci11bml2LWxpbmU6ICAgI3skcHMtcGMtY29sb3ItdW5pdi1saW5lfTtcbiAgQHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHJlZCA1MCUsIGJsdWUpKSB7XG4gICAgLS1wcy1wYy1jb2xvci11bml2LWJnOiAgIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1wcy1wYy1jb2xvci11bml2KSAxMSUsICNmZmYpO1xuICAgIC0tcHMtcGMtY29sb3ItdW5pdi1saW5lOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tcHMtcGMtY29sb3ItdW5pdikgMjQlLCB0cmFuc3BhcmVudCk7XG4gIH1cbiAgLy8gXCJWZXJpZnkgZml0bWVudFwiICh1bml2ZXJzYWwgPSAyLCBubyBmaXRtZW50IGRhdGEg4oCUIDIwMjYtMDktMjkpOiBzYW1lXG4gIC8vIG92ZXJyaWRlLXZhciBwYXR0ZXJuLCBTdHlsZS10YWIgdG9rZW4gLS1wcy1wYy12ZXJpZnkuXG4gIC0tcHMtcGMtY29sb3ItdmVyaWZ5OiAgICAgIHZhcigtLXBzLXBjLXZlcmlmeSwgI3skcHMtcGMtY29sb3ItdmVyaWZ5fSk7XG4gIC0tcHMtcGMtY29sb3ItdmVyaWZ5LWJnOiAgICN7JHBzLXBjLWNvbG9yLXZlcmlmeS1iZ307XG4gIC0tcHMtcGMtY29sb3ItdmVyaWZ5LWxpbmU6ICN7JHBzLXBjLWNvbG9yLXZlcmlmeS1saW5lfTtcbiAgQHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHJlZCA1MCUsIGJsdWUpKSB7XG4gICAgLS1wcy1wYy1jb2xvci12ZXJpZnktYmc6ICAgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXBzLXBjLWNvbG9yLXZlcmlmeSkgMTIlLCAjZmZmKTtcbiAgICAtLXBzLXBjLWNvbG9yLXZlcmlmeS1saW5lOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tcHMtcGMtY29sb3ItdmVyaWZ5KSAyOCUsIHRyYW5zcGFyZW50KTtcbiAgfVxuXG4gIC0tcHMtcGMtZm9udC1zYW5zOiAgdmFyKC0tcHMtZm9udC1wcmltYXJ5LCAjeyRwcy1wYy1mb250LXNhbnN9KTtcbiAgLS1wcy1wYy1mb250LW1vbm86ICAjeyRwcy1wYy1mb250LW1vbm99O1xufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUFJPRFVDVCBDQVJEIOKAlCBTaGFyZWQgU0NTUyBWYXJpYWJsZXNcbi8vXG4vLyBCcmlkZ2VzIHRoZSBDbGF1ZGUgRGVzaWduIHRva2VucyB0byB0aGUgc2l0ZSdzIGV4aXN0aW5nIHRoZW1lIHRva2Vucy5cbi8vIE1pcnJvcnMgdGhlIHZlaGljbGUtc2VsZWN0IGNvbXBvbmVudCdzIHZhcmlhYmxlIHN0cmF0ZWd5OiBTQ1NTIGZhbGxiYWNrc1xuLy8gaGVyZSwgcmVhbCBDU1MgY3VzdG9tIHByb3BlcnRpZXMgZGVmaW5lZCBhdCBlYWNoIGNvbXBvbmVudCByb290IHNvIGEgdGhlbWVcbi8vIGNhbiBvdmVycmlkZSB0aGVtIHZpYSBDb21wb25lbnRSZXNvbHZlcjo6cmVuZGVyVGhlbWVUb2tlbnMoKS5cbi8vXG4vLyBJbXBvcnQgcGF0aHMgYXNzdW1lIHRoZSBzYW1lIHNyYy8gbGF5b3V0IGFzIHZlaGljbGUtc2VsZWN0LiBBZGp1c3QgaWYgeW91clxuLy8gcHJvamVjdCBzdHJ1Y3R1cmUgZGlmZmVycy5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGltcG9ydCAnc3R5bGVzL2Jhc2UvZm9udHMnO1xuQGltcG9ydCAnc3R5bGVzL3ZhcmlhbnRzL2NvbG9ycyc7XG5cbi8vIOKUgOKUgCBCcmFuZCAvIHByaW1hcnkgcGFsZXR0ZSAoZmFsbHMgYmFjayB0byBzaXRlIHByaW1hcnkpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuJHBzLXBjLWNvbG9yLXByaW1hcnk6ICAgICAgICAjMzA1Q0RFICFkZWZhdWx0O1xuJHBzLXBjLWNvbG9yLXByaW1hcnktaG92ZXI6ICAjMjU0OWI1ICFkZWZhdWx0O1xuXG4vLyDilIDilIAgU3VyZmFjZXMgJiBpbmsgKHdhcm0gbmV1dHJhbCBzY2FsZSBmcm9tIHRoZSBkZXNpZ24pIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuJHBzLXBjLWNvbG9yLWJnOiAgICAgICAgICAgI2ZhZjlmNiAhZGVmYXVsdDtcbiRwcy1wYy1jb2xvci1zdXJmYWNlOiAgICAgICNmZmZmZmYgIWRlZmF1bHQ7XG4kcHMtcGMtY29sb3Itc3VyZmFjZS1hbHQ6ICAjZjNmMWVjICFkZWZhdWx0O1xuJHBzLXBjLWNvbG9yLWluazogICAgICAgICAgIzEwMTIxNiAhZGVmYXVsdDsgIC8vIHByaW1hcnkgdGV4dFxuJHBzLXBjLWNvbG9yLWluay0yOiAgICAgICAgIzNhM2Q0NCAhZGVmYXVsdDsgIC8vIHNlY29uZGFyeSB0ZXh0XG4kcHMtcGMtY29sb3ItaW5rLTM6ICAgICAgICAjNmI2ZTc2ICFkZWZhdWx0OyAgLy8gbXV0ZWQgdGV4dCAvIGxhYmVsc1xuJHBzLXBjLWNvbG9yLWluay00OiAgICAgICAgIzlhOWRhNCAhZGVmYXVsdDsgIC8vIGZhaW50IHRleHQgLyBzdHJpa2VcbiRwcy1wYy1jb2xvci1oYWlybGluZTogICAgICNlNmUzZGMgIWRlZmF1bHQ7ICAvLyBib3JkZXJzXG4kcHMtcGMtY29sb3ItaGFpcmxpbmUtMjogICAjZWNlYmU2ICFkZWZhdWx0OyAgLy8gaW5uZXIgZGl2aWRlcnNcblxuLy8g4pSA4pSAIFNlbWFudGljIGNvbG9ycyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIERlc2lnbiB1c2VkIG9rbGNoKCk7IHRoZXNlIGFyZSBzUkdCIGVxdWl2YWxlbnRzIGZvciBicm9hZCBicm93c2VyIHN1cHBvcnQuXG4kcHMtcGMtY29sb3ItYWNjZW50OiAgICAgICAjYjQyMzE4ICFkZWZhdWx0OyAgLy8gYXV0b21vdGl2ZSByZWQgKGluLXN0b3JlIC8gc3RyaWtlKVxuJHBzLXBjLWNvbG9yLWFjY2VudC1pbms6ICAgIzdhMTgxMiAhZGVmYXVsdDtcbiRwcy1wYy1jb2xvci1hY2NlbnQtYmc6ICAgICNmYmVhZTggIWRlZmF1bHQ7XG4kcHMtcGMtY29sb3Itb2s6ICAgICAgICAgICAjMmY3ZDRmICFkZWZhdWx0OyAgLy8gaW4tc3RvY2sgLyBmaXRzIGdyZWVuXG4kcHMtcGMtY29sb3Itb2stYmc6ICAgICAgICAjZWFmNWVlICFkZWZhdWx0O1xuLy8gVW5pdmVyc2FsIEZpdG1lbnQgQmFkZ2luZyAoMjAyNi0wOS0yOCk6IHNsYXRlID0gXCJtZXRhZGF0YVwiLCBkZWxpYmVyYXRlbHlcbi8vIG5laXRoZXIgdGhlIGZpdHMgZ3JlZW4gbm9yIGEgd2FybmluZyBhbWJlci4gU2VlIF91bml2ZXJzYWwuc2Nzcy5cbiRwcy1wYy1jb2xvci11bml2OiAgICAgICAgICM0YTU1NjggIWRlZmF1bHQ7ICAvLyB1bml2ZXJzYWwgYmFkZ2UgaW5rXG4kcHMtcGMtY29sb3ItdW5pdi1iZzogICAgICAjZWVmMWY1ICFkZWZhdWx0OyAgLy8gdW5pdmVyc2FsIGJhZGdlIHdhc2hcbiRwcy1wYy1jb2xvci11bml2LWxpbmU6ICAgIHJnYmEoNzQsIDg1LCAxMDQsIDAuMjIpICFkZWZhdWx0O1xuLy8gXCJWZXJpZnkgZml0bWVudFwiICh1bml2ZXJzYWwgPSAyLCBOTyBmaXRtZW50IGRhdGEg4oCUIDIwMjYtMDktMjkpOiBhbWJlciwgYVxuLy8gY2F1dGlvbiByYXRoZXIgdGhhbiBpbmZvcm1hdGlvbiwgYW5kIGRlbGliZXJhdGVseSBub3QgdGhlIHVuaXZlcnNhbCBzbGF0ZVxuLy8gc28gdGhlIHR3byBuZXZlciByZWFkIGFzIHRoZSBzYW1lIHRoaW5nLiBTZWUgX3VuaXZlcnNhbC5zY3NzLlxuJHBzLXBjLWNvbG9yLXZlcmlmeTogICAgICAgI2I0NTMwOSAhZGVmYXVsdDsgIC8vIHZlcmlmeSBiYWRnZSBpbmtcbiRwcy1wYy1jb2xvci12ZXJpZnktYmc6ICAgICNmZGYzZTcgIWRlZmF1bHQ7ICAvLyB2ZXJpZnkgYmFkZ2Ugd2FzaFxuJHBzLXBjLWNvbG9yLXZlcmlmeS1saW5lOiAgcmdiYSgxODAsIDgzLCA5LCAwLjI4KSAhZGVmYXVsdDtcbiRwcy1wYy1jb2xvci13YXJuOiAgICAgICAgICNhNjY2MTYgIWRlZmF1bHQ7ICAvLyB1c2VkLWNvbmRpdGlvbiBhbWJlclxuJHBzLXBjLWNvbG9yLWluZm86ICAgICAgICAgIzJhNWRiMCAhZGVmYXVsdDsgIC8vIGxpbmtzIC8gemlwXG4kcHMtcGMtY29sb3ItaW5mby1iZzogICAgICAjZWFmMGZhICFkZWZhdWx0O1xuJHBzLXBjLWNvbG9yLWRpZ2l0YWw6ICAgICAgIzdjM2FlZCAhZGVmYXVsdDsgIC8vIGRpZ2l0YWwgZG93bmxvYWQgdmlvbGV0IChtYXRjaGVzIGV4aXN0aW5nIGJhZGdlKVxuJHBzLXBjLWNvbG9yLWRpZ2l0YWwtYmc6ICAgI2YzZWJmZSAhZGVmYXVsdDtcblxuLy8g4pSA4pSAIFR5cG9ncmFwaHkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBTdGF0aWMgbGl0ZXJhbCBvbiBwdXJwb3NlOiBfbWl4aW5zLnNjc3Mgd3JhcHMgdGhpcyBhc1xuLy8gdmFyKC0tcHMtZm9udC1wcmltYXJ5LCAjeyRwcy1wYy1mb250LXNhbnN9KTsgc2luY2UgYmFzZS9fZm9udHMgdG9rZW5pemVkXG4vLyAkZm9udC1mYW1pbHktcHJpbWFyeSBvbnRvIC0tcHMtZm9udC1IRUFESU5HICgyMDI2LTA5LTA1KSB1c2luZyBpdCBoZXJlIHdvdWxkXG4vLyBwdXQgdGhlIGhlYWRpbmcgZmFjZSBvbiBjYXJkIGJvZHkgdGV4dCB3aGVuZXZlciBvbmx5IHRoYXQgdG9rZW4gaXMgc2V0LlxuJHBzLXBjLWZvbnQtc2FuczogICAkZm9udC1mYW1pbHktcHJpbWFyeS1zdGF0aWMgIWRlZmF1bHQ7XG4kcHMtcGMtZm9udC1tb25vOiAgIHVpLW1vbm9zcGFjZSwgXCJTRiBNb25vXCIsIFwiSmV0QnJhaW5zIE1vbm9cIiwgTWVubG8sIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuJHBzLXBjLWZzLWhlcm86ICAgICAyMnB4ICFkZWZhdWx0OyAgLy8gYmlnIHByaWNlIC8gaGVybyB0aXRsZVxuJHBzLXBjLWZzLXRpdGxlOiAgICAxN3B4ICFkZWZhdWx0O1xuJHBzLXBjLWZzLXRpdGxlLXNtOiAxNXB4ICFkZWZhdWx0OyAgLy8gdjMgY29tcGFjdCB0aXRsZVxuJHBzLXBjLWZzLWJvZHk6ICAgICAxM3B4ICFkZWZhdWx0O1xuJHBzLXBjLWZzLXNtOiAgICAgICAxMnB4ICFkZWZhdWx0O1xuJHBzLXBjLWZzLXhzOiAgICAgICAxMXB4ICFkZWZhdWx0O1xuJHBzLXBjLWZzLW1vbm86ICAgICAxMC41cHggIWRlZmF1bHQ7IC8vIHBhcnQgbnVtYmVyc1xuJHBzLXBjLWZzLW1pY3JvOiAgICA5LjVweCAhZGVmYXVsdDsgIC8vIGxhYmVsc1xuXG4kcHMtcGMtZnctbm9ybWFsOiAgIDQwMCAhZGVmYXVsdDtcbiRwcy1wYy1mdy1tZWRpdW06ICAgNTAwICFkZWZhdWx0O1xuJHBzLXBjLWZ3LXNlbWlib2xkOiA2MDAgIWRlZmF1bHQ7XG4kcHMtcGMtZnctYm9sZDogICAgIDcwMCAhZGVmYXVsdDtcbiRwcy1wYy1mdy1oZWF2eTogICAgODAwICFkZWZhdWx0O1xuXG4vLyDilIDilIAgU3BhY2luZyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiRwcy1wYy1zcGFjZS14czogIDRweCAhZGVmYXVsdDtcbiRwcy1wYy1zcGFjZS1zbTogIDZweCAhZGVmYXVsdDtcbiRwcy1wYy1zcGFjZS1tZDogIDhweCAhZGVmYXVsdDtcbiRwcy1wYy1zcGFjZS1sZzogIDEycHggIWRlZmF1bHQ7XG4kcHMtcGMtc3BhY2UteGw6ICAxNHB4ICFkZWZhdWx0O1xuJHBzLXBjLXNwYWNlLTJ4bDogMThweCAhZGVmYXVsdDtcblxuLy8g4pSA4pSAIFJhZGlpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuJHBzLXBjLXJhZGl1cy1zbTogNHB4ICFkZWZhdWx0O1xuJHBzLXBjLXJhZGl1cy1tZDogNnB4ICFkZWZhdWx0O1xuJHBzLXBjLXJhZGl1cy1sZzogOHB4ICFkZWZhdWx0O1xuJHBzLXBjLXJhZGl1cy14bDogMTJweCAhZGVmYXVsdDtcblxuLy8g4pSA4pSAIFNoYWRvd3Mg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4kcHMtcGMtc2hhZG93LWNhcmQ6IDAgMXB4IDAgcmdiYSgwLDAsMCwwLjAyKSwgMCA4cHggMjBweCAtMTZweCByZ2JhKDAsMCwwLDAuMTgpICFkZWZhdWx0O1xuJHBzLXBjLXNoYWRvdy1wb3A6ICAwIDEwcHggMjVweCByZ2JhKDAsMCwwLDAuMTUpICFkZWZhdWx0O1xuXG4vLyDilIDilIAgTW90aW9uIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuJHBzLXBjLXRyYW5zaXRpb24tZmFzdDogMTUwbXMgZWFzZSAhZGVmYXVsdDtcbiRwcy1wYy10cmFuc2l0aW9uLWJhc2U6IDI1MG1zIGVhc2UgIWRlZmF1bHQ7XG5cbi8vIOKUgOKUgCBCcmVha3BvaW50cyAobWF0Y2ggdmVoaWNsZS1zZWxlY3QpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuJHBzLXBjLWJyZWFrcG9pbnQtc206IDU3NnB4ICFkZWZhdWx0O1xuJHBzLXBjLWJyZWFrcG9pbnQtbWQ6IDc2OHB4ICFkZWZhdWx0O1xuJHBzLXBjLWJyZWFrcG9pbnQtbGc6IDk5MnB4ICFkZWZhdWx0O1xuXG4vLyDilIDilIAgQ29udHJvbCBzaXppbmcg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4kcHMtcGMtYnV5LWhlaWdodDogICAgNDRweCAhZGVmYXVsdDtcbiRwcy1wYy1idXktaGVpZ2h0LXNtOiAzNnB4ICFkZWZhdWx0O1xuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUFJPRFVDVCBDQVJEIOKAlCBVbml2ZXJzYWwgRml0bWVudCBCYWRnaW5nIChvd25lciBnby1haGVhZCAyMDI2LTA5LTI4KVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRGVzaWduICsgY29tcHM6IHNxdWFyZS5wYXJ0cyBkb2NzL1VuaXZlcnNhbCBGaXRtZW50IEJhZGdpbmcvIChSRUFETUUgwqcz4oCTNSxcbi8vIGNvbXBzL3VuaXZlcnNhbC5jc3Mgd2FzIHRoZSBkcmFmdCB0aGVzZSBydWxlcyB3ZXJlIGxpZnRlZCBmcm9tKS5cbi8vXG4vLyBPbmUgZGF0YSBzb3VyY2UsIHRocmVlIHByZXNlbnRhdGlvbnMgKHRoZSBjYXJkIG5ldmVyIHNob3dzIG1vcmUgdGhhbiBvbmUpOlxuLy8gICBUaWVyIDEgIC5wcy1wY19fdW5pdi10YWcgICAgICAgc21hbGwgVU5JVkVSU0FMIHRhZyBpbiBhIHJvdyB0aGUgY2FyZFxuLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFscmVhZHkgZHJhd3Mg4oCUICswcHggaGVpZ2h0XG4vLyAgIFRpZXIgMiAgLnBzLXBjX19maXRzLS11bml2ZXJzYWwgc2xhdGUgY2hpcCBpbiB0aGUgZml0bWVudCBzbG90LCBzYW1lXG4vLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VvbWV0cnkgYXMgdGhlIGdyZWVuIFwiRml0cyB5b3Vy4oCmXCIgY2hpcFxuLy8gICAgICAgICAgIC5wcy1wYy12M19fZml0cy0tdW5pdmVyc2FsICBWMydzIG93biBvbmUtbGluZSB2ZXJzaW9uXG4vLyAgICsgICAgICAgLnBzLXBjX19maXRzLS11bmxpc3RlZCAgZ3JleSBcIkZpdG1lbnQgbm90IGxpc3RlZFwiIGNoaXBcbi8vICAgUGFnZSAgICAucHMtdW5pdi1vdmVybGF5ICAgICAgICB0aGUgc2hhcmVkIFwiV2hhdCBkb2VzIHVuaXZlcnNhbCBtZWFuP1wiXG4vLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hlZXQgKG1vdmVkIHRvIDxib2R5PiBieSB1bml2ZXJzYWwuanMpXG4vLyBUaGUgdG9vbGJhcidzIGFsbC11bml2ZXJzYWwgbm90ZSBsaXZlcyBpbiBfdW5pdmVyc2FsLW5vdGUuc2NzcyAoaXQgc2hpcHMgaW5cbi8vIHRoZSBwcm9kdWN0LXRvb2xiYXIgYnVuZGxlcywgbm90IGhlcmUpLlxuLy9cbi8vIENPTE9VUjogc2xhdGUg4oCUIG5vdCBncmVlbiAoZ3JlZW4gbWVhbnMgXCJjb25maXJtZWQgdG8gZml0IFlPVVIgdmVoaWNsZVwiKSBhbmRcbi8vIG5vdCBhbWJlci9yZWQgKGEgdW5pdmVyc2FsIHBhcnQgaXMgYSBnb29kIHByb2R1Y3QsIG5vdCBhIHdhcm5pbmcpLiBUaGUgY2FyZFxuLy8gcm9vdCBkZWNsYXJlcyAtLXBzLXBjLWNvbG9yLXVuaXYgLyAtYmcgLyAtbGluZSBpbiBwcy1wYy1yb290LXRva2Vuc1xuLy8gKF9taXhpbnMuc2NzcyksIHJlYWRpbmcgdGhlIFN0eWxlLXRhYiBvdmVycmlkZSB2YXIgLS1wcy1wYy11bml2IGZpcnN0IHNvIGFcbi8vIHBlci1ibG9jayB0b2tlbiBzdXJ2aXZlcyB0aGUgY2FyZCByZS1kZWNsYXJpbmcgaXRzIG93biB0b2tlbnMuXG4vL1xuLy8gU1BFQ0lGSUNJVFk6IFN1bW1pdCByZXN0eWxlcyBgLnBzLXBjX19maXRzYCBhdCAoMCwzLDApIEFGVEVSIHRoaXMgZmlsZSBpc1xuLy8gaW1wb3J0ZWQsIGFuZCB0aGUgYmFzZSBjaGlwIHJ1bGUgaXMgKDAsMiwwKS4gRXZlcnkgc2xvdCBvdmVycmlkZSBiZWxvdyBpc1xuLy8ga2V5ZWQgb24gdGhlIHJvb3QncyBkYXRhLWZpdG1lbnQgYXR0cmlidXRlICsgYSBkb3VibGVkIGNoaXAgY2xhc3Mgc28gaXRcbi8vIHdpbnMgb24gZXZlcnkgdmFyaWFudCByZWdhcmRsZXNzIG9mIG9yZGVyLiBBIGJhcmUgYC5wcy1wY19fZml0cy0tdW5pdmVyc2FsYFxuLy8gbG9zZXMgYW5kIHRoZSBjaGlwIHN0YXlzIGdyZWVuIOKAlCB0aGUgZXhhY3QgYnVnIHRoZSBjb21wIGNhdWdodCAyMDI2LTA5LTA2LlxuLy9cbi8vIEltcG9ydGVkIGJ5OiBfcGFydGlhbHMuc2NzcyAoZXZlcnkgYnVpbGRlciB2YXJpYW50IGJ1bmRsZSkgYW5kXG4vLyBsZWdhY3kvaW5kZXguc2NzcyAodGhlIHRhZyArIG92ZXJsYXkgb25seSDigJQgbGVnYWN5IGhhcyBubyBmaXRtZW50IHNsb3QpLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyDilIDilIAgVGllciAxOiBjb21wYWN0IHRhZyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIFRvcC1sZXZlbCAobm90IGNhcmQtc2NvcGVkKSBzbyB0aGUgbGVnYWN5IGJ1bmRsZSwgd2hpY2ggaGFzIG5vIGNhcmQgc2NvcGVcbi8vIHJ1bGVzLCBzdGlsbCBwYWludHMgaXQ7IHRoZSBkb3VibGVkIHNlbGVjdG9yIG91dC1yYW5rcyBhIHNpdGUncyBnbG9iYWxcbi8vIGBidXR0b24ge31gIHN0eWxpbmcgb24gbGVnYWN5IHBhZ2VzLiBGYWxsYmFjayBjb2xvdXJzIGNvdmVyIGxlZ2FjeSwgd2hlcmVcbi8vIHRoZSBjYXJkIHJvb3QgdG9rZW5zIGFyZSBub3QgZGVjbGFyZWQuXG4ucHMtcGNfX3VuaXYtdGFnLFxuLnBzLWNvbXBvbmVudC0tcHJvZHVjdC1jYXJkIC5wcy1wY19fdW5pdi10YWcge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IGFwcGVhcmFuY2U6IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDRweDtcbiAgbWFyZ2luOiAwOyBwYWRkaW5nOiAxcHggNnB4IDFweCA1cHg7XG4gIGJvcmRlcjogMDsgYm9yZGVyLXJhZGl1czogM3B4OyBib3gtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1wcy1wYy1jb2xvci11bml2LWJnLCAjZWVmMWY1KTtcbiAgY29sb3I6IHZhcigtLXBzLXBjLWNvbG9yLXVuaXYsICM0YTU1NjgpO1xuICBmb250LWZhbWlseTogdmFyKC0tcHMtcGMtZm9udC1zYW5zLCBpbmhlcml0KTtcbiAgZm9udC1zaXplOiA5LjVweDsgZm9udC13ZWlnaHQ6IDcwMDsgbGluZS1oZWlnaHQ6IDEuNTU7XG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBwb2ludGVyOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBzdmcgeyBkaXNwbGF5OiBibG9jazsgZmxleDogMCAwIGF1dG87IG9wYWNpdHk6IDAuOTsgfVxuICAmOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tcHMtcGMtY29sb3ItdW5pdiwgIzRhNTU2OCk7IGNvbG9yOiAjZmZmOyB9XG4gICY6Zm9jdXMtdmlzaWJsZSB7IG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1wcy1wYy1jb2xvci11bml2LCAjNGE1NTY4KTsgb3V0bGluZS1vZmZzZXQ6IDFweDsgfVxufVxuXG4vLyBQbGFjZW1lbnQgdHdlYWtzIHBlciBob3N0IHJvdy5cbi5wcy1jb21wb25lbnQtLXByb2R1Y3QtY2FyZCB7XG4gIC5wcy1wY19fbWV0YSAucHMtcGNfX3VuaXYtdGFnICAgICAgeyBtYXJnaW4tbGVmdDogMnB4OyB9XG4gIC5wcy1wYy1zbV9fZXllYnJvdyAucHMtcGNfX3VuaXYtdGFnIHsgbWFyZ2luLWxlZnQ6IDZweDsgdmVydGljYWwtYWxpZ246IDFweDsgfVxuICAucHMtcGMtdjNfX21mZyAucHMtcGNfX3VuaXYtdGFnICAgIHsgbWFyZ2luLXRvcDogM3B4OyB9XG4gIC5wcy1wYy12Ml9faGVyby1jaGlwcyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZmxleC13cmFwOiB3cmFwOyBnYXA6IDZweDtcbiAgfVxufVxuLm1vYmlsZS1rZXktaW5mb19fcm93IC5wcy1wY19fdW5pdi10YWcgeyBmb250LXNpemU6IDEwcHg7IH1cblxuLy8g4pSA4pSAIFRpZXIgMjogY2hpcCBpbiB0aGUgZml0bWVudCBzbG90IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLnBzLWNvbXBvbmVudC0tcHJvZHVjdC1jYXJkW2RhdGEtZml0bWVudF0ge1xuICAucHMtcGNfX2ZpdHMucHMtcGNfX2ZpdHMtLXVuaXZlcnNhbCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcHMtcGMtY29sb3ItdW5pdi1iZyk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcHMtcGMtY29sb3ItdW5pdi1saW5lKTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIC5wcy1wY19fZml0cy1oZWFkIHsgY3Vyc29yOiBwb2ludGVyOyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgIC5wcy1wY19fZml0cy1oZWFkOmZvY3VzLXZpc2libGUgeyBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tcHMtcGMtY29sb3ItdW5pdik7IG91dGxpbmUtb2Zmc2V0OiAtMnB4OyB9XG4gICAgLnBzLXBjX19maXRzLWNoZWNrIHsgYmFja2dyb3VuZDogdmFyKC0tcHMtcGMtY29sb3ItdW5pdik7IGNvbG9yOiAjZmZmOyB9XG4gICAgLnBzLXBjX19maXRzLWxhYmVsIHsgY29sb3I6IHZhcigtLXBzLXBjLWNvbG9yLXVuaXYpOyB9XG4gICAgLnBzLXBjX19maXRzLXByaW1hcnkgeyBjb2xvcjogdmFyKC0tcHMtcGMtY29sb3ItaW5rLTIpOyBmb250LXdlaWdodDogNTAwOyB9XG4gICAgLnBzLXBjX19maXRzLWhlYWQ6aG92ZXIgLnBzLXBjX19maXRzLWluZm8sXG4gICAgLnBzLXBjX19maXRzLWhlYWQ6Zm9jdXMtdmlzaWJsZSAucHMtcGNfX2ZpdHMtaW5mbyB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcy1wYy1jb2xvci11bml2KTsgY29sb3I6ICNmZmY7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2lyY2xlZCBcImlcIiDigJQgdGhlIHZpc2libGUgcHJvbWlzZSB0aGF0IHRhcHBpbmcgZXhwbGFpbnMgdGhlIGJhZGdlLlxuICAucHMtcGNfX2ZpdHMtaW5mbyB7XG4gICAgZmxleDogMCAwIGF1dG87IHdpZHRoOiAxNXB4OyBoZWlnaHQ6IDE1cHg7IGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcHMtcGMtY29sb3ItdW5pdi1saW5lKTtcbiAgICBjb2xvcjogdmFyKC0tcHMtcGMtY29sb3ItdW5pdik7IGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICBmb250LXNpemU6IDkuNXB4OyBmb250LXdlaWdodDogNzAwOyBmb250LXN0eWxlOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgLy8gXCJGaXRtZW50IG5vdCBsaXN0ZWRcIjogbmV1dHJhbCBncmV5LCBzdGF0aWMgKG5vdGhpbmcgdG8gb3BlbikuXG4gIC5wcy1wY19fZml0cy5wcy1wY19fZml0cy0tdW5saXN0ZWQge1xuICAgIGJhY2tncm91bmQ6ICNmM2YxZWM7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMDcsIDExMCwgMTE4LCAwLjIpO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgLnBzLXBjX19maXRzLWhlYWQgeyBjdXJzb3I6IGRlZmF1bHQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgLnBzLXBjX19maXRzLWNoZWNrIHsgYmFja2dyb3VuZDogIzhhOGQ5NDsgY29sb3I6ICNmZmY7IH1cbiAgICAucHMtcGNfX2ZpdHMtbGFiZWwgeyBjb2xvcjogIzZiNmU3NjsgfVxuICAgIC5wcy1wY19fZml0cy1wcmltYXJ5IHsgY29sb3I6IHZhcigtLXBzLXBjLWNvbG9yLWluay0yKTsgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICB9XG5cbiAgLy8gVjMncyBvd24gb25lLWxpbmVyIChWMyBkb2VzIG5vdCB1c2UgX2ZpdHMpLiBUaGUgdW5pdmVyc2FsIHJvdyBpcyBhXG4gIC8vIDxidXR0b24+LCBzbyBpdCBuZWVkcyBhIGZ1bGwgcmVzZXQgdG8gbG9vayBsaWtlIHRoZSBncmVlbiA8ZGl2PiByb3cuXG4gIC5wcy1wYy12M19fZml0cy5wcy1wYy12M19fZml0cy0tdW5pdmVyc2FsIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7IG1hcmdpbjogMDsgYm9yZGVyOiAwOyB0ZXh0LWFsaWduOiBsZWZ0OyBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcHMtcGMtY29sb3ItdW5pdi1iZyk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXBzLXBjLWNvbG9yLXVuaXYtbGluZSk7XG4gICAgLnBzLXBjLXYzX19maXRzLWNoZWNrIHsgYmFja2dyb3VuZDogdmFyKC0tcHMtcGMtY29sb3ItdW5pdik7IH1cbiAgICAucHMtcGMtdjNfX2ZpdHMtdGV4dCB7IGNvbG9yOiB2YXIoLS1wcy1wYy1jb2xvci1pbmstMik7IGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICAucHMtcGMtdjNfX2ZpdHMtdGV4dCBiIHsgY29sb3I6IHZhcigtLXBzLXBjLWNvbG9yLXVuaXYpOyBmb250LXdlaWdodDogNzAwOyB9XG4gICAgJjpmb2N1cy12aXNpYmxlIHsgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLXBzLXBjLWNvbG9yLXVuaXYpOyBvdXRsaW5lLW9mZnNldDogMXB4OyB9XG4gICAgJjpob3ZlciAucHMtcGNfX2ZpdHMtaW5mbyB7IGJhY2tncm91bmQ6IHZhcigtLXBzLXBjLWNvbG9yLXVuaXYpOyBjb2xvcjogI2ZmZjsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICB9XG4gIC5wcy1wYy12M19fZml0cy5wcy1wYy12M19fZml0cy0tdW5saXN0ZWQge1xuICAgIGJhY2tncm91bmQ6ICNmM2YxZWM7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHJnYmEoMTA3LCAxMTAsIDExOCwgMC4yKTtcbiAgICAucHMtcGMtdjNfX2ZpdHMtY2hlY2sgeyBiYWNrZ3JvdW5kOiAjOGE4ZDk0OyB9XG4gICAgLnBzLXBjLXYzX19maXRzLXRleHQgeyBjb2xvcjogdmFyKC0tcHMtcGMtY29sb3ItaW5rLTIpOyBmb250LXdlaWdodDogNTAwOyB9XG4gICAgLnBzLXBjLXYzX19maXRzLXRleHQgYiB7IGNvbG9yOiAjNmI2ZTc2OyBmb250LXdlaWdodDogNzAwOyB9XG4gIH1cbn1cblxuLy8g4pSA4pSAIFwiVmVyaWZ5IGZpdG1lbnRcIiDigJQgdW5pdmVyc2FsID0gMiwgTk8gZml0bWVudCBkYXRhICgyMDI2LTA5LTI5KSDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIFNhbWUgdGhyZWUgcHJlc2VudGF0aW9ucyBhcyB1bml2ZXJzYWwsIGtleWVkIG9uIGRhdGEtZml0bWVudD1cInVudmVyaWZpZWRcIixcbi8vIGluIHRoZSB2ZXJpZnkgYW1iZXIuIE5ldmVyIHRoZSB1bml2ZXJzYWwgc2xhdGU6IGEgc2hvcHBlciBtdXN0IGJlIGFibGUgdG9cbi8vIHRlbGwgXCJmaXRzIG1hbnkgdmVoaWNsZXNcIiBmcm9tIFwid2UgZG9uJ3Qga25vdyB3aGF0IHRoaXMgZml0c1wiIGF0IGEgZ2xhbmNlLlxuLnBzLXBjX191bml2LXRhZy5wcy1wY19fdW5pdi10YWctLXZlcmlmeSxcbi5wcy1jb21wb25lbnQtLXByb2R1Y3QtY2FyZCAucHMtcGNfX3VuaXYtdGFnLS12ZXJpZnkge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1wcy1wYy1jb2xvci12ZXJpZnktYmcsICNmZGYzZTcpO1xuICBjb2xvcjogdmFyKC0tcHMtcGMtY29sb3ItdmVyaWZ5LCAjYjQ1MzA5KTtcbiAgJjpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLXBzLXBjLWNvbG9yLXZlcmlmeSwgI2I0NTMwOSk7IGNvbG9yOiAjZmZmOyB9XG4gICY6Zm9jdXMtdmlzaWJsZSB7IG91dGxpbmUtY29sb3I6IHZhcigtLXBzLXBjLWNvbG9yLXZlcmlmeSwgI2I0NTMwOSk7IH1cbn1cbi5wcy1jb21wb25lbnQtLXByb2R1Y3QtY2FyZFtkYXRhLWZpdG1lbnRdIHtcbiAgLnBzLXBjX19maXRzLnBzLXBjX19maXRzLS11bnZlcmlmaWVkIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcy1wYy1jb2xvci12ZXJpZnktYmcpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXBzLXBjLWNvbG9yLXZlcmlmeS1saW5lKTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIC5wcy1wY19fZml0cy1oZWFkIHsgY3Vyc29yOiBwb2ludGVyOyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgIC5wcy1wY19fZml0cy1oZWFkOmZvY3VzLXZpc2libGUgeyBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tcHMtcGMtY29sb3ItdmVyaWZ5KTsgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IH1cbiAgICAucHMtcGNfX2ZpdHMtY2hlY2sgeyBiYWNrZ3JvdW5kOiB2YXIoLS1wcy1wYy1jb2xvci12ZXJpZnkpOyBjb2xvcjogI2ZmZjsgfVxuICAgIC5wcy1wY19fZml0cy1sYWJlbCB7IGNvbG9yOiB2YXIoLS1wcy1wYy1jb2xvci12ZXJpZnkpOyB9XG4gICAgLnBzLXBjX19maXRzLXByaW1hcnkgeyBjb2xvcjogdmFyKC0tcHMtcGMtY29sb3ItaW5rLTIpOyBmb250LXdlaWdodDogNTAwOyB9XG4gICAgLnBzLXBjX19maXRzLWluZm8geyBib3JkZXItY29sb3I6IHZhcigtLXBzLXBjLWNvbG9yLXZlcmlmeS1saW5lKTsgY29sb3I6IHZhcigtLXBzLXBjLWNvbG9yLXZlcmlmeSk7IH1cbiAgICAucHMtcGNfX2ZpdHMtaGVhZDpob3ZlciAucHMtcGNfX2ZpdHMtaW5mbyxcbiAgICAucHMtcGNfX2ZpdHMtaGVhZDpmb2N1cy12aXNpYmxlIC5wcy1wY19fZml0cy1pbmZvIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXBzLXBjLWNvbG9yLXZlcmlmeSk7IGNvbG9yOiAjZmZmOyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuICAucHMtcGMtdjNfX2ZpdHMucHMtcGMtdjNfX2ZpdHMtLXVudmVyaWZpZWQge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgYXBwZWFyYW5jZTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTsgbWFyZ2luOiAwOyBib3JkZXI6IDA7IHRleHQtYWxpZ246IGxlZnQ7IGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcy1wYy1jb2xvci12ZXJpZnktYmcpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1wcy1wYy1jb2xvci12ZXJpZnktbGluZSk7XG4gICAgLnBzLXBjLXYzX19maXRzLWNoZWNrIHsgYmFja2dyb3VuZDogdmFyKC0tcHMtcGMtY29sb3ItdmVyaWZ5KTsgfVxuICAgIC5wcy1wYy12M19fZml0cy10ZXh0IHsgY29sb3I6IHZhcigtLXBzLXBjLWNvbG9yLWluay0yKTsgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAgIC5wcy1wYy12M19fZml0cy10ZXh0IGIgeyBjb2xvcjogdmFyKC0tcHMtcGMtY29sb3ItdmVyaWZ5KTsgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5wcy1wY19fZml0cy1pbmZvIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcy1wYy1jb2xvci12ZXJpZnktbGluZSk7IGNvbG9yOiB2YXIoLS1wcy1wYy1jb2xvci12ZXJpZnkpOyB9XG4gICAgJjpmb2N1cy12aXNpYmxlIHsgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLXBzLXBjLWNvbG9yLXZlcmlmeSk7IG91dGxpbmUtb2Zmc2V0OiAxcHg7IH1cbiAgICAmOmhvdmVyIC5wcy1wY19fZml0cy1pbmZvIHsgYmFja2dyb3VuZDogdmFyKC0tcHMtcGMtY29sb3ItdmVyaWZ5KTsgY29sb3I6ICNmZmY7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgfVxufVxuLy8gVGhlIGV4cGxhaW5lciBzaGVldCByZWFkcyAtLXBzLXBjLWNvbG9yLXVuaXY7IHVuaXZlcnNhbC5qcyBjb3BpZXMgdGhlIHZlcmlmeVxuLy8gY29sb3VyIG9udG8gdGhvc2UgdmFycyB3aGVuIHRoZSB2ZXJpZnkgY29weSBpcyBvcGVuLCBzbyBubyBydWxlIGlzIG5lZWRlZC5cblxuLy8g4pSA4pSAIE9wdGlvbmFsIGNhcmQgYWNjZW50ICh1bml2ZXJzYWxBY2NlbnQsIGRlZmF1bHQgbm9uZSkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBBIHBzZXVkby1lbGVtZW50IHJ1bGUvb3V0bGluZSBzbyBuZWl0aGVyIHRvdWNoZXMgdGhlIHZhcmlhbnQncyBvd24gYm9yZGVyIG9yXG4vLyBib3gtc2hhZG93IChTdW1taXQgZHJhd3MgaXRzIGJvcmRlciBBUyBhIGJveC1zaGFkb3cpLiBwb3NpdGlvbjpyZWxhdGl2ZSBpc1xuLy8gc2V0IG9ubHkgb24gYWNjZW50ZWQgdW5pdmVyc2FsIGNhcmRzLlxuLnBzLWNvbXBvbmVudC0tcHJvZHVjdC1jYXJkLnBzLXBjLS11bml2LXJ1bGVbZGF0YS1maXRtZW50PVwidW5pdmVyc2FsXCJdIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMDsgdG9wOiAwOyBib3R0b206IDA7IHdpZHRoOiAzcHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcHMtcGMtY29sb3ItdW5pdik7IHBvaW50ZXItZXZlbnRzOiBub25lOyB6LWluZGV4OiAyO1xuICB9XG59XG4ucHMtY29tcG9uZW50LS1wcm9kdWN0LWNhcmQucHMtcGMtLXVuaXYtb3V0bGluZVtkYXRhLWZpdG1lbnQ9XCJ1bml2ZXJzYWxcIl0ge1xuICBvdXRsaW5lOiAxcHggc29saWQgdmFyKC0tcHMtcGMtY29sb3ItdW5pdik7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xufVxuXG4vLyDilIDilIAgRXhwbGFpbmVyIG92ZXJsYXkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBTYW1lIHNjcmltIC8gc2hlZXQgLyBFc2NhcGUgcGF0dGVybiBhcyB0aGUgY2FyZCdzIHN0b3JlIG92ZXJsYXk7IGxpdmVzIGluXG4vLyA8Ym9keT4gb25jZSBvcGVuZWQsIHNvIGl0IGNhbm5vdCByZWx5IG9uIGNhcmQtc2NvcGVkIHRva2VucyDigJQgdW5pdmVyc2FsLmpzXG4vLyBjb3BpZXMgdGhlIGNsaWNrZWQgY2FyZCdzIC0tcHMtcGMtY29sb3ItdW5pdiBvbnRvIGl0LCBhbmQgZXZlcnkgY29sb3VyIGhlcmVcbi8vIGNhcnJpZXMgdGhlIHNsYXRlIGZhbGxiYWNrLiBDZW50cmVkIGNhcmQgb24gZGVza3RvcCwgYm90dG9tIHNoZWV0IG9uIHBob25lcy5cbkBhdC1yb290IGh0bWwucHMtcGMtb3ZlcmxheS1sb2NrLCBodG1sLnBzLXBjLW92ZXJsYXktbG9jayBib2R5IHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuLnBzLXVuaXYtb3ZlcmxheVtoaWRkZW5dIHsgZGlzcGxheTogbm9uZTsgfVxuLnBzLXVuaXYtb3ZlcmxheSB7XG4gIC8vIEFib3ZlIEVWRVJZVEhJTkcsIHN0aWNreSBoZWFkZXJzIGluY2x1ZGVkOiB0aGUgbGVnYWN5IGhlYWRlcidzIHN0dWNrXG4gIC8vIHNlYXJjaCBiYXIgc2l0cyBhdCB6LWluZGV4IDEwMDAwMSAoc3R5bGVzL2xlZ2FjeS9sYXlvdXQuc2NzcywgaG9tZTguc2NzcylcbiAgLy8gYW5kIHN0YXllZCB1bmRpbW1lZCBvdmVyIGEgOTk5OSBzaGVldCBvbiBOYWRlcidzIHBob25lIHZpZXcgKDIwMjYtMDktMjgpLlxuICBwb3NpdGlvbjogZml4ZWQ7IGluc2V0OiAwOyB6LWluZGV4OiAxMDAwMTA7XG4gIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBwYWRkaW5nOiAyMHB4O1xuICBmb250LWZhbWlseTogdmFyKC0tcHMtZm9udC1wcmltYXJ5LCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIFJvYm90bywgc2Fucy1zZXJpZik7XG59XG4ucHMtdW5pdi1vdmVybGF5X19zY3JpbSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7IGJhY2tncm91bmQ6IHJnYmEoMTYsIDE4LCAyMiwgMC40NSk7IH1cbi5wcy11bml2LW92ZXJsYXlfX3NoZWV0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB3aWR0aDogMTAwJTsgbWF4LXdpZHRoOiA0MjBweDsgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDQwcHgpOyBvdmVyZmxvdzogYXV0bztcbiAgYmFja2dyb3VuZDogI2ZmZjsgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgYm94LXNoYWRvdzogMCAxOHB4IDUwcHggcmdiYSgwLCAwLCAwLCAwLjI4KTtcbiAgZm9udC1zaXplOiAxM3B4OyBsaW5lLWhlaWdodDogMS41OyBjb2xvcjogIzNhM2Q0NDsgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5wcy11bml2LW92ZXJsYXlfX2hlYWQge1xuICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDlweDtcbiAgcGFkZGluZzogMTNweCAxNHB4OyBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VjZWJlNjtcbiAgYmFja2dyb3VuZDogdmFyKC0tcHMtcGMtY29sb3ItdW5pdi1iZywgI2VlZjFmNSk7XG59XG4ucHMtdW5pdi1vdmVybGF5X19iYWRnZSB7XG4gIHdpZHRoOiAyMnB4OyBoZWlnaHQ6IDIycHg7IGJvcmRlci1yYWRpdXM6IDVweDsgZmxleDogMCAwIGF1dG87XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogdmFyKC0tcHMtcGMtY29sb3ItdW5pdiwgIzRhNTU2OCk7IGNvbG9yOiAjZmZmO1xuICBzdmcgeyBkaXNwbGF5OiBibG9jazsgfVxufVxuLnBzLXVuaXYtb3ZlcmxheV9fdGl0bGUgeyBmbGV4OiAxOyBmb250LXNpemU6IDE0LjVweDsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6ICMxMDEyMTY7IH1cbi5wcy11bml2LW92ZXJsYXlfX3gge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7IGJvcmRlcjogMDsgY3Vyc29yOiBwb2ludGVyOyBjb2xvcjogIzZiNmU3NjsgcGFkZGluZzogNHB4OyBtYXJnaW46IC0ycHg7IGxpbmUtaGVpZ2h0OiAwO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDYpOyB9XG4gICY6Zm9jdXMtdmlzaWJsZSB7IG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1wcy1wYy1jb2xvci11bml2LCAjNGE1NTY4KTsgb3V0bGluZS1vZmZzZXQ6IDFweDsgfVxufVxuLnBzLXVuaXYtb3ZlcmxheV9fYm9keSB7IHBhZGRpbmc6IDEzcHggMTRweCAxNXB4OyB9XG4ucHMtdW5pdi1vdmVybGF5X19ib2R5IHAgeyBtYXJnaW46IDAgMCA5cHg7IH1cbi5wcy11bml2LW92ZXJsYXlfX2JvZHkgcDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuLnBzLXVuaXYtb3ZlcmxheV9fdmVoaWNsZSB7XG4gIHBhZGRpbmc6IDhweCAxMHB4OyBib3JkZXItcmFkaXVzOiA2cHg7IGJhY2tncm91bmQ6ICNmM2YxZWM7XG4gIGZvbnQtc2l6ZTogMTIuNXB4OyBjb2xvcjogIzNhM2Q0NDsgbWFyZ2luOiAwIDAgMTBweDtcbn1cbi5wcy11bml2LW92ZXJsYXlfX2xpc3QgeyBtYXJnaW46IDAgMCAxMHB4OyBwYWRkaW5nOiAwOyBsaXN0LXN0eWxlOiBub25lOyB9XG4ucHMtdW5pdi1vdmVybGF5X19saXN0IGxpIHsgcG9zaXRpb246IHJlbGF0aXZlOyBwYWRkaW5nLWxlZnQ6IDE2cHg7IG1hcmdpbi1ib3R0b206IDZweDsgfVxuLnBzLXVuaXYtb3ZlcmxheV9fbGlzdCBsaTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiA0cHg7IHRvcDogN3B4O1xuICB3aWR0aDogNHB4OyBoZWlnaHQ6IDRweDsgYm9yZGVyLXJhZGl1czogNTAlOyBiYWNrZ3JvdW5kOiB2YXIoLS1wcy1wYy1jb2xvci11bml2LCAjNGE1NTY4KTtcbn1cbi5wcy11bml2LW92ZXJsYXlfX2ZpbmUgeyBjb2xvcjogIzZiNmU3NjsgZm9udC1zaXplOiAxMnB4OyBtYXJnaW4tdG9wOiAxMHB4OyB9XG4ucHMtdW5pdi1vdmVybGF5X19mb290IHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlY2ViZTY7IHBhZGRpbmc6IDEwcHggMTRweDtcbiAgZGlzcGxheTogZmxleDsgZ2FwOiA4cHg7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IGJhY2tncm91bmQ6ICNmYWY5ZjY7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAxMnB4IDEycHg7XG59XG4ucHMtdW5pdi1vdmVybGF5X19idG4ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IGFwcGVhcmFuY2U6IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlM2RjOyBiYWNrZ3JvdW5kOiAjZmZmOyBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDdweCAxMnB4OyBmb250OiBpbmhlcml0OyBmb250LXNpemU6IDEyLjVweDsgZm9udC13ZWlnaHQ6IDYwMDsgbGluZS1oZWlnaHQ6IDEuMztcbiAgY3Vyc29yOiBwb2ludGVyOyBjb2xvcjogIzEwMTIxNjsgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAmOmZvY3VzLXZpc2libGUgeyBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tcHMtcGMtY29sb3ItdW5pdiwgIzRhNTU2OCk7IG91dGxpbmUtb2Zmc2V0OiAxcHg7IH1cbn1cbi5wcy11bml2LW92ZXJsYXlfX2J0bltoaWRkZW5dIHsgZGlzcGxheTogbm9uZTsgfVxuLnBzLXVuaXYtb3ZlcmxheV9fYnRuLS1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tcHMtcGMtY29sb3ItdW5pdiwgIzRhNTU2OCk7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGNvbG9yOiAjZmZmO1xuICAmOmhvdmVyIHsgY29sb3I6ICNmZmY7IGZpbHRlcjogYnJpZ2h0bmVzcygxLjA4KTsgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5wcy11bml2LW92ZXJsYXkgeyBhbGlnbi1pdGVtczogZmxleC1lbmQ7IHBhZGRpbmc6IDA7IH1cbiAgLnBzLXVuaXYtb3ZlcmxheV9fc2hlZXQgeyBtYXgtd2lkdGg6IG5vbmU7IGJvcmRlci1yYWRpdXM6IDE0cHggMTRweCAwIDA7IG1heC1oZWlnaHQ6IDg1dmg7IH1cbiAgLnBzLXVuaXYtb3ZlcmxheV9fZm9vdCB7IGJvcmRlci1yYWRpdXM6IDA7IH1cbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/