.alignnone{margin:5px 20px 20px 0}.aligncenter,div.aligncenter{display:block;margin:5px auto 5px auto}.alignright{float:right;margin:5px 0 20px 20px}.alignleft{float:left;margin:5px 20px 20px 0}a img.alignright{float:right;margin:5px 0 20px 20px}a img.alignnone{margin:5px 20px 20px 0}a img.alignleft{float:left;margin:5px 20px 20px 0}a img.aligncenter{display:block;margin-left:auto;margin-right:auto}.wp-caption{background:#fff;border:1px solid #f0f0f0;max-width:96%;padding:5px 3px 10px;text-align:center}.wp-caption.alignnone{margin:5px 20px 20px 0}.wp-caption.alignleft{margin:5px 20px 20px 0}.wp-caption.alignright{margin:5px 0 20px 20px}.wp-caption img{border:0 none;height:auto;margin:0;max-width:98.5%;padding:0;width:auto}.wp-caption p.wp-caption-text{font-size:11px;line-height:17px;margin:0;padding:0 4px 5px}.screen-reader-text{border:0;clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute !important;width:1px;word-wrap:normal !important}.screen-reader-text:focus{background-color:#eee;clip:auto !important;-webkit-clip-path:none;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}.button{background-color:#004084 !important;border-color:#004084 !important;color:#fff !important}.button:hover{background-color:#f60 !important;border-color:#f60 !important;color:#fff !important}.button.orange{background-color:#f60 !important;border-color:#f60 !important;color:#fff !important}.button.orange:hover{background-color:#004084 !important;border-color:#004084 !important;color:#fff !important}.button.white.hollow{background-color:rgba(0,0,0,0) !important;border-color:#fff !important;color:#fff !important}.button.white.hollow:hover{background-color:rgba(0,0,0,0) !important;border-color:#fff !important;color:#fff !important}@font-face{font-family:'Open Sans';font-weight:normal;font-style:normal;src:url("../fonts/opensans/opensans-regular-webfont.eot");src:url("../fonts/opensans/opensans-regular-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/opensans/opensans-regular-webfont.woff2") format("woff2"),url("../fonts/opensans/opensans-regular-webfont.woff") format("woff"),url("../fonts/opensans/opensans-regular-webfont.ttf") format("truetype"),url("../fonts/opensans/opensans-regular-webfont.svg#open_sansregular") format("svg")}@font-face{font-family:'Open Sans';font-weight:normal;font-style:italic;src:url("../fonts/opensans/opensans-italic-webfont.eot");src:url("../fonts/opensans/opensans-italic-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/opensans/opensans-italic-webfont.woff2") format("woff2"),url("../fonts/opensans/opensans-italic-webfont.woff") format("woff"),url("../fonts/opensans/opensans-italic-webfont.ttf") format("truetype"),url("../fonts/opensans/opensans-italic-webfont.svg#open_sansregular") format("svg")}@font-face{font-family:'Open Sans';font-weight:700;font-style:normal;src:url("../fonts/opensans/opensans-bold-webfont.eot");src:url("../fonts/opensans/opensans-bold-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/opensans/opensans-bold-webfont.woff2") format("woff2"),url("../fonts/opensans/opensans-bold-webfont.woff") format("woff"),url("../fonts/opensans/opensans-bold-webfont.ttf") format("truetype"),url("../fonts/opensans/opensans-bold-webfont.svg#open_sansregular") format("svg")}@font-face{font-family:'Open Sans';font-weight:700;font-style:italic;src:url("../fonts/opensans/opensans-bolditalic-webfont.eot");src:url("../fonts/opensans/opensans-bolditalic-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/opensans/opensans-bolditalic-webfont.woff2") format("woff2"),url("../fonts/opensans/opensans-bolditalic-webfont.woff") format("woff"),url("../fonts/opensans/opensans-bolditalic-webfont.ttf") format("truetype"),url("../fonts/opensans/opensans-bolditalic-webfont.svg#open_sansregular") format("svg")}@font-face{font-family:'DINNextLTPro-Condensed';font-weight:normal;font-style:normal;src:url("../fonts/din-next-lt-pro/DINNextLTPro-Condensed.eot");src:url("../fonts/din-next-lt-pro/DINNextLTPro-Condensed.eot?#iefix") format("embedded-opentype"),url("../fonts/din-next-lt-pro/DINNextLTPro-Condensed.woff") format("woff"),url("../fonts/din-next-lt-pro/DINNextLTPro-Condensed.ttf") format("truetype"),url("../fonts/din-next-lt-pro/DINNextLTPro-Condensed.svg#open_sansregular") format("svg")}@font-face{font-family:'Open Sans';font-weight:700;font-style:normal;src:url("../fonts/opensans/opensans-bold-webfont.eot");src:url("../fonts/opensans/opensans-bold-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/opensans/opensans-bold-webfont.woff2") format("woff2"),url("../fonts/opensans/opensans-bold-webfont.woff") format("woff"),url("../fonts/opensans/opensans-bold-webfont.ttf") format("truetype"),url("../fonts/opensans/opensans-bold-webfont.svg#open_sansregular") format("svg")}@font-face{font-family:'Heartwell';font-weight:normal;font-style:normal;src:url("../fonts/heartwell/heartwell-webfont.eot");src:url("../fonts/heartwell/heartwell-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/heartwell/heartwell-webfont.woff2") format("woff2"),url("../fonts/heartwell/heartwell-webfont.woff") format("woff"),url("../fonts/heartwell/heartwell-webfont.ttf") format("truetype"),url("../fonts/heartwell/heartwell-webfont.svg#open_sansregular") format("svg")}body{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-font-smoothing:unset}h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{font-family:"DINNextLTPro-Condensed","Helvetica Neue",Helvetica,Arial,sans-serif;text-transform:uppercase}.post-template-default h2,.post-template-default .h2{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold;font-size:16px;text-transform:none}body{background-color:#f6f7fb}body{opacity:1;-webkit-transition:opacity .1s;transition:opacity .1s}.no-js body{opacity:0}.menu li a{color:#004084}.menu li a:hover{color:#f60;text-decoration:underline}.logo{display:inline-block;width:100%;text-align:center}.see-all-link{text-transform:uppercase;font-family:"DINNextLTPro-Condensed","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:.875em;line-height:1;letter-spacing:0.5px;color:#004084;text-decoration:underline}iframe{max-width:100%}.click-to-tweet{color:#8a8a8a}.click-to-tweet .fa-twitter{color:#55acee}.aspect-ratio-16x9{position:relative;overflow:hidden}.aspect-ratio-16x9:before{display:block;content:"";width:100%;padding-top:56.25%}.aspect-ratio-16x9>.content{position:absolute;top:0;left:0;right:0;bottom:0}.grid-container.single,.grid-container.single-narrow,.grid-container.sidebar{padding-top:1.875em;padding-bottom:1.875em}.grid-container.sidebar .sticky.is-stuck{z-index:4}.grid-container.single-narrow .module.posts-carousel .slides .slide .title-wrap .title,.grid-container.sidebar .module.posts-carousel .slides .slide .title-wrap .title{font-size:1rem}.grid-container.full{overflow-x:hidden}.grid-container .module{margin-bottom:1.875em}.grid-container .module:last-of-type{margin-bottom:0}body.single .grid-container{padding-top:0}body.single .grid-container #sidebar-anchor{background-color:white}body.single .grid-container .title{padding:16px;line-height:1.1;color:#4a4a4a}@media print, screen and (min-width: 40em){body.single .grid-container .title{padding:48px 96px}}body.single .grid-container .title .author-and-date{font-size:0.7em;color:#f60}body.single .grid-container .post-thumb img{width:100%}body.single .grid-container .the-content{padding:16px}body.single .grid-container .the-content .download-video-link{color:#f60}body.single .grid-container .the-content .title-share{text-align:center;font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold}body.single .grid-container .the-content .social-share.partial>a{display:block;margin:1em auto;text-align:center}@media print, screen and (min-width: 40em){body.single .grid-container .the-content{padding:48px 96px}}body.single #mobile-share .sticky{padding-top:.5em;padding-bottom:1.5em;background-color:white;text-align:center}body.single #mobile-share .sticky .title-share{line-height:1}body.single #mobile-share .sticky .social-share.partial .badge{font-size:1em;margin:0 5px}@media screen and (max-width: 63.9375em){body.single #sidebar .is-at-bottom{top:0 !important}}body.single-video .grid-container .player-and-content{background-color:#fff}body.single-video .grid-container h1.title{line-height:1;color:#4a4a4a}@media print, screen and (min-width: 40em){body.single-video .grid-container h1.title{padding:0px 96px}}body.single-video .grid-container .download-video-link{color:#f60}body.single-video .grid-container .post-thumb{position:relative}@media print, screen and (min-width: 40em){body.single-video .grid-container .post-thumb{margin:0 96px}}body.single-video .grid-container .post-thumb:before{display:block;content:"";width:100%;padding-top:56.25%}body.single-video .grid-container .post-thumb>.content{position:absolute;top:0;left:0;right:0;bottom:0}body.single-video .grid-container .post-thumb .content iframe{width:100%;height:100%}body.search-results .title{background-color:white;padding:16px;line-height:1.1;color:#4a4a4a}@media print, screen and (min-width: 40em){body.search-results .title{padding:48px 96px}}body.search-results .title .query-string{font-size:0.7em;color:#f60}body.search-results .title .number-of-result{font-size:0.5em}@media print, screen and (min-width: 40em){body.search-results .posts.with-title{margin-top:-100px}body.search-results .posts .cell{margin-bottom:1.875em}body.search-results .posts .card{height:100%;margin:0}body.search-results .posts .card .date{color:#4a4a4a}}body.error404 .error-message{margin-top:5em;margin-bottom:5em}@media print, screen and (min-width: 40em){body.error404 .error-message{margin-bottom:50vh}}body.error404 .error-message .error-code{font-size:10em;line-height:1;color:#00346b}.partial.nav [data-sticky]{z-index:5;background-color:#004084}@media screen and (max-width: 63.9375em){.partial.nav [data-sticky] #headerRow1 .grid-container{padding:0}}.partial.nav [data-sticky] #headerRow1 .title-bar{background-color:transparent}.partial.nav [data-sticky] #headerRow1 .title-bar .logo img{max-width:125px}@media print, screen and (min-width: 40em){.partial.nav [data-sticky] #headerRow1 .title-bar .logo img{max-width:250px}}.partial.nav [data-sticky] #headerRow1 #headerContainer{background-color:white}@media print, screen and (min-width: 64em){.partial.nav [data-sticky] #headerRow1 #headerContainer{background-color:transparent;padding-top:.625rem;padding-bottom:.625rem}}.partial.nav [data-sticky] #headerRow1 #headerContainer .logo{width:125px}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li{border-bottom:1px solid #054873}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li a{color:#004084;font-weight:bold;font-size:.75em}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li a:hover{text-decoration:underline}@media print, screen and (min-width: 64em){.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li a{color:white}}@media screen and (min-width: 75em){.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li a{font-size:.875em}}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li.is-dropdown-submenu-parent a:after{border-color:#f60 transparent transparent}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li.is-drilldown-submenu-parent a:after{display:inline-block;position:initial;margin-left:.75rem;border-color:transparent transparent transparent #004084}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li.js-drilldown-back a:before{border-color:transparent #004084 transparent transparent}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li .submenu{border-color:#054873}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li .submenu li:hover{background-color:#f60}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li .submenu li:hover.is-dropdown-submenu-parent a:after{border-color:transparent transparent transparent white}@media print, screen and (min-width: 64em){.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li .submenu li:hover>a{color:white}}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li .submenu li.is-dropdown-submenu-parent a:after{border-color:transparent transparent transparent #f60}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li .submenu li a{color:#054873}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerSocialIcons{padding:.625rem 0}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerSocialIcons .social-follow.partial{display:inline-block}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerSocialIcons .badge{font-size:.8em}@media print, screen and (min-width: 64em){.partial.nav [data-sticky] #headerRow1 #headerContainer #headerSocialIcons .badge{background-color:white;color:#004084}}.partial.nav [data-sticky] #headerRow2{background-color:white;border-bottom:2px solid #f60}.partial.nav [data-sticky] #headerRow2 #headerSubscriptionForm,.partial.nav [data-sticky] #headerRow2 .search-form.partial{background-color:white;padding:.625em 0}.partial.nav [data-sticky] #headerRow2 #headerSubscriptionForm label h4,.partial.nav [data-sticky] #headerRow2 #headerSubscriptionForm .input-group,.partial.nav [data-sticky] #headerRow2 .search-form.partial label h4,.partial.nav [data-sticky] #headerRow2 .search-form.partial .input-group{margin-bottom:0;line-height:1}.partial.nav [data-sticky] #headerRow2 #headerSubscriptionForm .button,.partial.nav [data-sticky] #headerRow2 .search-form.partial .button{min-width:120px}.partial.foot{padding:1.75em 0;background-color:white}.partial.foot .logo{width:81px}.partial.foot #footerSubscriptionForm .input-group{margin-bottom:0}.partial.foot #footerMenu .menu li a,.partial.foot #footerMenu .menu li a:hover{color:#5d6777;font-size:.75em;font-weight:bold;text-transform:uppercase}.partial.foot #footerSocialFollow{padding:.875em 0}.partial.foot #footerSocialFollow .social-follow.partial .badge{margin-right:10px}@media print, screen and (min-width: 64em){.partial.foot #footerSocialFollow .social-follow.partial .badge{margin-right:0}}.partial.social-follow .badge{font-size:.8em;background-color:#004084;color:white}.partial.social-share .badge{font-size:.8em;background-color:#004084;color:white}.partial.section-header{position:relative;text-align:center;margin-bottom:1.875em}.partial.section-header:before{content:' ';position:absolute;left:0;top:30%;width:100%;height:.75em}.partial.section-header .title-wrapper{display:inline-block;position:relative;background-color:#f6f7fb;padding:0 1em}.partial.section-header .title-wrapper .title{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold;line-height:1;margin:0}.partial.section-header.blue{color:#004084}.partial.section-header.blue:before{background-color:#004084}.partial.section-header.orange{color:#f60}.partial.section-header.orange:before{background-color:#f60}.partial.subscription-form-popup{position:relative;background-color:white;max-width:700px;margin:0 auto;padding:20px}.module.banner{background-color:#ccc;position:relative}@media screen and (max-width: 39.9375em){.module.banner .slides .slide{position:relative}.module.banner .slides .slide:before{display:block;content:"";width:100%;padding-top:75%}.module.banner .slides .slide>.content{position:absolute;top:0;left:0;right:0;bottom:0}}@media screen and (min-width: 40em) and (max-width: 63.9375em){.module.banner .slides .slide{position:relative}.module.banner .slides .slide:before{display:block;content:"";width:100%;padding-top:31.25%}.module.banner .slides .slide>.content{position:absolute;top:0;left:0;right:0;bottom:0}}.module.banner .slides .slide .content{-webkit-background-size:100% auto;background-size:100% auto}@media print, screen and (min-width: 64em){.module.banner .slides .slide .content{height:320px;-webkit-background-size:cover;background-size:cover;background-position:center}}.module.banner .banner_title{position:absolute;width:100%;text-align:center;top:25%;color:#ffffff}.module.banner .banner_title h1{font-size:5.875rem;font-size:4.75rem}@media print, screen and (min-width: 40em){.module.banner .banner_title h1{font-size:5rem}}.module.banner .banner_title h2{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;text-transform:none}.module.load-more-post .title{background-color:#2ca4d7;font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold;color:white !important;line-height:1;padding-top:1em;padding-bottom:1em}@media print, screen and (min-width: 40em){.module.load-more-post .title{margin-bottom:0;padding-top:50px !important;padding-bottom:120px !important}}@media print, screen and (min-width: 40em){.module.load-more-post .posts.with-title{margin-top:-100px}.module.load-more-post .posts .cell{margin-bottom:1.875em}.module.load-more-post .posts .card{height:100%;margin:0}.module.load-more-post .posts .card .date{color:#4a4a4a}}.module.who-we-are .title{background-color:#2ca4d7;font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold;color:white;line-height:1;padding-top:1em;padding-bottom:1em}@media print, screen and (min-width: 40em){.module.who-we-are .title{margin-bottom:0;padding-top:50px;padding-bottom:120px}}.module.who-we-are .posts .cell .card .card-image img{width:100%}.module.who-we-are .posts .cell .card .card-section .name{color:#4a4a4a;margin-bottom:0;line-height:1}.module.who-we-are .posts .cell .card .card-section .author-title{color:#f60}.module.who-we-are .posts .cell .card .card-section .bio{color:#4a4a4a}@media print, screen and (min-width: 40em){.module.who-we-are .posts .cell{margin-bottom:1.875em}.module.who-we-are .posts .cell .card{height:100%;margin:0}.module.who-we-are .posts.with-title{margin-top:-100px}}@media print, screen and (min-width: 40em){.module.horizontal-card{padding-top:40px;padding-bottom:40px}}.module.horizontal-card .thumb img{width:100%}.module.horizontal-card .text{padding:calc(.9375rem*2)}.module.section-header{margin-top:1.875em;position:relative;text-align:center;margin-bottom:1.875em}.module.section-header:before{content:' ';position:absolute;left:0;top:30%;width:100%;height:.75em}.module.section-header .title-wrapper{display:inline-block;position:relative;background-color:#f6f7fb;padding:0 1em}.module.section-header .title-wrapper .title{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold;line-height:1;margin:0}.module.section-header.blue{color:#004084}.module.section-header.blue:before{background-color:#004084}.module.section-header.orange{color:#f60}.module.section-header.orange:before{background-color:#f60}.module.carousel .slides .slide{position:relative}.module.carousel .slides .slide:before{display:block;content:"";width:100%;padding-top:56.25%}.module.carousel .slides .slide>.content{position:absolute;top:0;left:0;right:0;bottom:0}.module.carousel .slides .slide .content{background-color:#ccc;-webkit-background-size:cover;background-size:cover;background-position:center;padding:2em}.module.carousel .slides .slide .content .overlay{background:-webkit-gradient(linear, left top, left bottom, from(transparent), to(rgba(0,0,0,0.9)));background:-webkit-linear-gradient(transparent, rgba(0,0,0,0.9));background:linear-gradient(transparent, rgba(0,0,0,0.9));-ms-filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#00000000,endColorstr=#E5000000);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#00000000,endColorstr=#E5000000);position:absolute;top:80%;bottom:0;left:0;right:0}.module.carousel .slides .slide .content .overlay .title{position:absolute;left:1em;right:1em;bottom:1em;color:white;margin:0;line-height:1.1}.module.carousel .nav .nav-button{color:white;background-color:#004084;height:100%;padding:2em;margin:0;cursor:pointer;border-left:5px solid #004084}.module.carousel .nav .nav-button.active,.module.carousel .nav .nav-button:hover{background-color:#00346b;border-left:5px solid #f60}@media print, screen and (min-width: 40em){.module.carousel .nav .nav-button{border-top:5px solid #004084;border-left:0}.module.carousel .nav .nav-button.active,.module.carousel .nav .nav-button:hover{border-top:5px solid #f60;border-left:0}}@media print, screen and (min-width: 40em){.module.post-list .posts .cell{margin-bottom:1.875em}.module.post-list .posts .card{height:100%;margin:0}.module.post-list .posts .card .date{color:#4a4a4a}}.module.marquee .marquee-title-bar{color:white;background-color:#2ca4d7;background-position:center right;-webkit-background-size:auto 100%;background-size:auto 100%;background-repeat:no-repeat;height:185px}@media print, screen and (min-width: 40em){.module.marquee .marquee-title-bar{height:auto;background-position:center left}}.module.marquee .marquee-title-bar>.grid-x{padding:1em;height:auto}@media print, screen and (min-width: 40em){.module.marquee .marquee-title-bar>.grid-x{height:130px}}.module.marquee .marquee-title-bar>.grid-x .title{margin:0;font-size:1.9375rem;font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold}.module.marquee .marquee-title-bar>.grid-x .see-all-link{color:white}.module.marquee .posts{background-color:white}.module.marquee .posts .cell{padding-top:.9375rem;padding-bottom:.9375rem}@media print, screen and (min-width: 40em){.module.marquee .posts .cell .card{margin-bottom:0;height:100%}}.module.thumbnails-marquee .thumbnail-marquee{margin-bottom:.875em;position:relative}.module.thumbnails-marquee .thumbnail-marquee:before{display:block;content:"";width:100%;padding-top:56.25%}.module.thumbnails-marquee .thumbnail-marquee>.content{position:absolute;top:0;left:0;right:0;bottom:0}.module.thumbnails-marquee .thumbnail-marquee .content{-webkit-background-size:cover;background-size:cover}.module.thumbnails-marquee .thumbnail-marquee .content .overlay{display:table;width:100%;height:100%}.module.thumbnails-marquee .thumbnail-marquee .content .overlay .title{display:table-cell;text-align:center;vertical-align:middle;color:white;font-weight:bold}.module.posts-carousel .left-col-wrap{background-color:white;height:100%}.module.posts-carousel .left-col-wrap .canvas{position:relative}.module.posts-carousel .left-col-wrap .canvas:before{display:block;content:"";width:100%;padding-top:56.25%}.module.posts-carousel .left-col-wrap .canvas>.content{position:absolute;top:0;left:0;right:0;bottom:0}.module.posts-carousel .left-col-wrap .canvas .content{-webkit-background-size:cover;background-size:cover}.module.posts-carousel .left-col-wrap .canvas .content iframe{width:100%;height:100%}.module.posts-carousel .left-col-wrap .info-box{padding:1em}.module.posts-carousel .left-col-wrap .info-box .title a{color:black}.module.posts-carousel .left-col-wrap .info-box .title a:hover{text-decoration:underline}.module.posts-carousel .left-col-wrap .info-box .share-title{margin-right:.5em;color:#f60}.module.posts-carousel .left-col-wrap .info-box .download-video-link{color:#f60}.module.posts-carousel .slides .slide{padding-bottom:1em;cursor:pointer;border:0}.module.posts-carousel .slides .slide[data-post-type="video"] .thumb .content img{opacity:.6}.module.posts-carousel .slides .slide .thumb{position:relative;z-index:-1}.module.posts-carousel .slides .slide .thumb:before{display:block;content:"";width:100%;padding-top:56.25%}.module.posts-carousel .slides .slide .thumb>.content{position:absolute;top:0;left:0;right:0;bottom:0}.module.posts-carousel .slides .slide .thumb .content{background-color:#ccc;-webkit-background-size:cover;background-size:cover;background-position:center}.module.posts-carousel .slides .slide .thumb .content img{width:30%;height:auto;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);opacity:0}.module.posts-carousel .slides .slide .title-wrap{background-color:rgba(255,255,255,0.5);padding:.5em;width:100%;margin:0 auto;margin-top:0}.module.posts-carousel .slides .slide .title-wrap .title{margin:0;line-height:1}@media screen and (max-width: 63.9375em){.module.posts-carousel .slides .slide{margin:0 !important;padding:0 5px}}.module.photo-button-card .the-card{background-color:white}.module.photo-button-card .the-card .photo{position:relative}.module.photo-button-card .the-card .photo:before{display:block;content:"";width:100%;padding-top:56.25%}.module.photo-button-card .the-card .photo>.content{position:absolute;top:0;left:0;right:0;bottom:0}.module.photo-button-card .the-card .photo .content{-webkit-background-size:cover;background-size:cover}.module.photo-button-card .the-card .button-wrapper{color:#4a4a4a;padding:3em}.module.post-widget{background-color:#004084;color:white;padding:1em 2.5em}.module.post-widget.white{background-color:white;color:#4a4a4a}.module.post-widget.white a{color:#4a4a4a}.module.post-widget.blue{background-color:#004084;color:#f6f7fb}.module.post-widget.blue a{color:white}.module.post-widget a{color:white}.module.post-widget a img{width:100%}.module.post-widget a .post-title{margin:.5em 0 1em 0}.module.ali-views{position:relative}.module.ali-views .content{color:white;position:absolute;top:0;bottom:0;left:0;right:0}.module.ali-views .content>.grid-x{height:100%}.module.ali-views .content .title{font-family:'heartwell';text-transform:capitalize}.module.ali-views .content .button{background-color:rgba(0,0,0,0) !important;border-color:#fff !important;color:#fff !important}.module.ali-views .content .button:hover{background-color:#fff !important;border-color:#fff !important;color:#f60 !important}.module.text-and-button.blue{background-color:#2ca4d7;padding-top:1em}.module.text-and-button.blue .title{color:white;font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif}.module.text-and-button.blue .button{background-color:#fff !important;border-color:#fff !important;color:#2ca4d7 !important}.module.text-and-button.blue .button:hover{background-color:#fff !important;border-color:#fff !important;color:#2ca4d7 !important}.module.text-and-button.no-bg{padding-top:1em;border-top:1px solid #5d6777;border-bottom:1px solid #5d6777}.module.text-and-button.no-bg .title{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold;color:#5d6777}.module.text-and-button.no-bg .button{background-color:#004084 !important;border-color:#004084 !important;color:#fff !important}.module.text-and-button.no-bg .button:hover{background-color:#f60 !important;border-color:#f60 !important;color:#fff !important}.module.external-links{background-color:#eee;padding:1em}.module.external-links .title{color:#004084}.module.external-links .link{color:#4a4a4a}.module.external-links .link:hover{text-decoration:underline}.module.external-links .source{color:#f60;text-transform:uppercase}.module.social-follow{padding:1.875em;background-color:#004084}.module.social-follow .title{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold;color:white}.module.social-follow .partial.social-follow .badge{font-size:1em;background-color:white;color:#004084}.module.signup-widget{padding:.9375em;background-color:#004084}.module.signup-widget .title{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold;color:white}.module.signup-widget .button{background-color:#f60 !important;border-color:#f60 !important;color:#fff !important}.module.signup-widget .button:hover{background-color:#f60 !important;border-color:#f60 !important;color:#fff !important}.module.gmv-2018 .gmv-mob-container{position:relative;width:100%;height:auto;max-width:690px}.module.gmv-2018 img{position:relative;height:auto;max-width:100%}.module.gmv-2018 .sidebar-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;position:absolute;height:100%;width:100%;padding:.5em;z-index:1;-webkit-box-pack:stretch;-webkit-justify-content:stretch;-ms-flex-pack:stretch;justify-content:stretch;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.module.gmv-2018 .sidebar-inner-container{position:relative;color:#fff;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.module.gmv-2018 .sidebar-inner-container-3{-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;-webkit-box-flex:0.2;-webkit-flex:0.2;-ms-flex:0.2;flex:0.2}.module.gmv-2018 .sidebar-inner-container-4{-webkit-box-flex:0.5;-webkit-flex:0.5;-ms-flex:0.5;flex:0.5}.module.gmv-2018 .sidebar-inner-container-5{-webkit-box-flex:0.2;-webkit-flex:0.2;-ms-flex:0.2;flex:0.2}.module.gmv-2018 .sidebar-inner-container-6{-webkit-box-flex:0.5;-webkit-flex:0.5;-ms-flex:0.5;flex:0.5}.module.gmv-2018 .sidebar-container,.module.gmv-2018 .sidebar-inner-container,.module.gmv-2018 .gmv-mob-container h1,.module.gmv-2018 .gmv-mob-container h2,.module.gmv-2018 .gmv-mob-container h3,.module.gmv-2018 .gmv-mob-container h4,.module.gmv-2018 .gmv-mob-container h5,.module.gmv-2018 .gmv-mob-container p{text-align:center;margin:0;font-weight:bold}.module.gmv-2018 .gmv-mob-container h1{font-size:2.5em}.module.gmv-2018 .gmv-mob-container h2{font-size:1.5em}.module.gmv-2018 .gmv-mob-container h3{font-size:1.2em}.module.gmv-2018 .gmv-mob-container h4{font-size:1em}.module.gmv-2018 .gmv-mob-container h5{font-size:0.8em}.module.gmv-2018 .gmv-mob-container p{font-size:0.7em;line-height:1.2}.module.gmv-2018 .gmv-mob-container{font-size:20px}@media screen and (max-width: 650px){.module.gmv-2018 .gmv-mob-container{font-size:35px}}@media screen and (max-width: 600px){.module.gmv-2018 .gmv-mob-container{font-size:32px}}@media screen and (max-width: 550px){.module.gmv-2018 .gmv-mob-container{font-size:29px}}@media screen and (max-width: 500px){.module.gmv-2018 .gmv-mob-container{font-size:26px}}@media screen and (max-width: 450px){.module.gmv-2018 .gmv-mob-container{font-size:23px}}@media screen and (max-width: 400px){.module.gmv-2018 .gmv-mob-container{font-size:20px}}@media screen and (max-width: 350px){.module.gmv-2018 .gmv-mob-container{font-size:15px}}@media print, screen and (min-width: 40em){.module.gmv-2018 .gmv-mob-container{font-size:2.5em}}@media print, screen and (min-width: 64em){.module.gmv-2018 .gmv-mob-container{font-size:1em}}@media screen and (min-width: 75em){.module.gmv-2018 .gmv-mob-container{font-size:1em}}.module.gmv-2018-landscape .gmv-desk-container{position:relative;width:100%;height:auto}.module.gmv-2018-landscape img{position:relative;height:auto;max-width:100%}.module.gmv-2018-landscape .container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;position:absolute;height:100%;width:100%;z-index:1;-webkit-box-pack:stretch;-webkit-justify-content:stretch;-ms-flex-pack:stretch;justify-content:stretch;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.module.gmv-2018-landscape .inner-container{position:relative;color:#fff;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.module.gmv-2018-landscape .inner-container-3{-webkit-box-align:end;-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end}.module.gmv-2018-landscape .inner-block{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;text-align:center;margin:0}.module.gmv-2018-landscape .inner-block img,.module.gmv-2018-landscape .inner-block h1,.module.gmv-2018-landscape .inner-block h2,.module.gmv-2018-landscape .inner-block h3,.module.gmv-2018-landscape .inner-block h4,.module.gmv-2018-landscape .inner-block h5,.module.gmv-2018-landscape .inner-block p,.module.gmv-2018-landscape .inner-block span{position:relative;margin:0}.module.gmv-2018-landscape .gmv-desk-container h1{font-size:2.2em}.module.gmv-2018-landscape .gmv-desk-container h2{font-size:1.5em}.module.gmv-2018-landscape .gmv-desk-container h3{font-size:1.2em}.module.gmv-2018-landscape .gmv-desk-container h4{font-size:1em}.module.gmv-2018-landscape .gmv-desk-container h5{font-size:0.8em}.module.gmv-2018-landscape .gmv-desk-container p{font-size:0.6em;padding-bottom:0.8em;line-height:1.4}.module.gmv-2018-landscape .gmv-desk-container{font-size:22px}@media screen and (max-width: 650px){.module.gmv-2018-landscape .gmv-desk-container{font-size:19px}}@media screen and (max-width: 600px){.module.gmv-2018-landscape .gmv-desk-container{font-size:16px}}@media screen and (max-width: 550px){.module.gmv-2018-landscape .gmv-desk-container{font-size:13px}}@media screen and (max-width: 500px){.module.gmv-2018-landscape .gmv-desk-container{font-size:10px}}@media screen and (max-width: 450px){.module.gmv-2018-landscape .gmv-desk-container{font-size:10px}}@media screen and (max-width: 400px){.module.gmv-2018-landscape .gmv-desk-container{font-size:10px}}@media screen and (max-width: 350px){.module.gmv-2018-landscape .gmv-desk-container{font-size:10px}}.module.gmv-2019{position:relative;color:white;text-align:center}.module.gmv-2019>img{width:100%}.module.gmv-2019 .content-wrapper{position:absolute;width:100%;height:100%;overflow:hidden}.module.gmv-2019 .content-wrapper .aspect-ratio-16x9{position:relative}.module.gmv-2019 .content-wrapper .aspect-ratio-16x9:before{display:block;content:"";width:100%;padding-top:56.25%}.module.gmv-2019 .content-wrapper .aspect-ratio-16x9>.content{position:absolute;top:0;left:0;right:0;bottom:0}.module.gmv-2019 .content-wrapper .dollar-sign{font-size:.5em}.module.gmv-2019 .text-1{font-weight:bold;font-size:5.3vw;line-height:1;margin-top:0.7em}.module.gmv-2019 .text-2{font-family:"DINNextLTPro-Condensed","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold;font-size:13vw;line-height:1;margin-top:0.3em;letter-spacing:0px}.module.gmv-2019 .text-3{font-size:6vw;line-height:0.7}.module.gmv-2019 .text-4{font-family:"DINNextLTPro-Condensed","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold;font-size:13vw;line-height:1;margin-top:0.2em;letter-spacing:0px}.module.gmv-2019 .text-5{font-size:5vw;margin-top:.5em}.module.gmv-2019 .text-5 p{font-size:.8em;line-height:1.2}@media print, screen and (min-width: 64em){.module.gmv-2019 .text-1{font-size:.93em;margin-bottom:.5em}.module.gmv-2019 .text-2{font-size:2.5em}.module.gmv-2019 .text-3{font-size:1.5em;line-height:0.5}.module.gmv-2019 .text-4{font-size:2.5em;margin-top:0.3em}.module.gmv-2019 .text-5{padding:0 0.5em;font-size:0.8em}}.module.gmv-2019-landscape{background-color:purple;position:relative;color:white;text-align:center}.module.gmv-2019-landscape .content-wrapper{position:absolute;width:100%;height:100%;overflow:hidden}.module.gmv-2019-landscape .content-wrapper .dollar-sign{font-size:.5em}.module.gmv-2019-landscape .text-1{font-weight:bold;font-size:2.6vw;line-height:1;margin-top:0.4em}.module.gmv-2019-landscape .text-2{font-family:"DINNextLTPro-Condensed","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold;font-size:5.4vw;line-height:1;margin-top:1.3em;padding:0 1em}.module.gmv-2019-landscape .text-5{font-size:1.5vw;margin-top:2.5em}.module.gmv-2019-landscape .text-5 p{font-size:.8em;line-height:1.2}@media screen and (min-width: 75em){.module.gmv-2019-landscape .text-1{font-size:1.9em}.module.gmv-2019-landscape .text-2{font-size:4em}.module.gmv-2019-landscape .text-5{font-size:1em;margin-top:4em}}#back-to-top{position:fixed;bottom:40px;right:20px;height:25px;width:25px;z-index:90;-webkit-box-shadow:2px 2px 2px rgba(0,0,0,0.35);box-shadow:2px 2px 2px rgba(0,0,0,0.35);color:#234387;background-color:#234387;cursor:pointer;border-radius:80px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#back-to-top>img{padding:6px;width:100%;vertical-align:baseline}.grecaptcha-badge{opacity:0 !important;pointer-events:none !important}.temp-annual{padding:25px 0 25px 25px;text-align:center;-webkit-align-content:space-around;-ms-flex-line-pack:distribute;align-content:space-around}@media screen and (max-width: 640px){.temp-annual{padding:25px 0 0 0}}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFsaXppbGEuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsV0FDSSxzQkFBdUIsQ0FDMUIsNkJBSUcsY0FDQSx3QkFBeUIsQ0FDNUIsWUFHRyxZQUNBLHNCQUF1QixDQUMxQixXQUdHLFdBQ0Esc0JBQXVCLENBQzFCLGlCQUdHLFlBQ0Esc0JBQXVCLENBQzFCLGdCQUdHLHNCQUF1QixDQUMxQixnQkFHRyxXQUNBLHNCQUF1QixDQUMxQixrQkFHRyxjQUNBLGlCQUNBLGlCQUFrQixDQUNyQixZQUdHLGdCQUNBLHlCQUNBLGNBQ0EscUJBQ0EsaUJBQWtCLENBQ3JCLHNCQUdHLHNCQUF1QixDQUMxQixzQkFHRyxzQkFBdUIsQ0FDMUIsdUJBR0csc0JBQXVCLENBQzFCLGdCQUdHLGNBQ0EsWUFDQSxTQUNBLGdCQUNBLFVBQ0EsVUFBVyxDQUNkLDhCQUdHLGVBQ0EsaUJBQ0EsU0FDQSxpQkFBa0IsQ0FDckIsb0JBSUMsU0FDQSw4QkFDQSw2QkFBQSxBQUNBLHFCQUFBLFdBQ0EsWUFDQSxnQkFDQSxVQUNBLDZCQUNBLFVBQ0EsMkJBQTRCLENBQzdCLDBCQUdDLHNCQUNBLHFCQUNBLHVCQUFBLEFBQ0EsZUFBQSxXQUNBLGNBQ0EsY0FDQSxZQUNBLFNBQ0EsbUJBQ0EsdUJBQ0EscUJBQ0EsUUFDQSxXQUNBLGNBQWUsQ0FFaEIsUUFvQ0Msb0NBQ0EsZ0NBQ0EscUJBQXdCLENBTTFCLGNBUkUsaUNBQ0EsNkJBQ0EscUJBQXdCLENBTTFCLGVBUkUsaUNBQ0EsNkJBQ0EscUJBQXdCLENBTTFCLHFCQVJFLG9DQUNBLGdDQUNBLHFCQUF3QixDQU0xQixxQkFSRSwwQ0FDQSw2QkFDQSxxQkFBd0IsQ0FNMUIsMkJBUkUsMENBQ0EsNkJBQ0EscUJBQXdCLENB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TSxjQUNBLGVBQWdCLENBdHhCdEIsMkJBd3hCUSxlQUNBLGVBQWdCLENBQ2pCLDJDQTF4QlAseUJBOHhCUSxnQkFDQSxrQkFBbUIsQ0EveEIzQix5QkFreUJRLGVBQWdCLENBbHlCeEIseUJBcXlCUSxnQkFDQSxlQUFnQixDQXR5QnhCLHlCQXl5QlEsZ0JBQ0EsZ0JBQWlCLENBMXlCekIseUJBNnlCUSxnQkFDQSxlQUFnQixDQUNqQixDQS95QlAsMkJBb3pCSSx3QkFDQSxrQkFDQSxZQUNBLGlCQUFrQixDQXZ6QnRCLDRDQXl6Qk0sa0JBQ0EsV0FDQSxZQUNBLGVBQWdCLENBNXpCdEIseURBOHpCUSxjQUFlLENBOXpCdkIsbUNBbTBCTSxpQkFDQSxnQkFDQSxjQUNBLGdCQUFpQixDQXQwQnZCLG1DQXkwQk0saUZBQ0EsaUJBQ0EsZ0JBQ0EsY0FDQSxpQkFDQSxhQUFjLENBOTBCcEIsbUNBaTFCTSxnQkFDQSxnQkFBaUIsQ0FsMUJ2QixxQ0FvMUJRLGVBQ0EsZUFBZ0IsQ0FDakIsb0NBdDFCUCxtQ0EwMUJRLGVBQWdCLENBMTFCeEIsbUNBNjFCUSxhQUFjLENBNzFCdEIsbUNBZzJCUSxjQUNBLGNBQWUsQ0FDaEIsQ0FJUCxhQUNDLGVBQ0EsWUFDQSxXQUNBLFlBQ0EsV0FDQSxXQUNBLGdEQUFBLEFBQ0Esd0NBQUEsY0FDQSx5QkFDQSxlQUNBLG1CQUNBLHlCQUFBLEFBQWlCLHNCQUFqQixBQUFpQixxQkFBakIsQUFBaUIsZ0JBQUEsQ0FabEIsaUJBY0UsWUFDQSxXQUNBLHVCQUF3QixDQUN4QixrQkFHRCxxQkFDQSw4QkFBK0IsQ0FDL0IsYUFHQyx5QkFDQSxrQkFDQSxtQ0FBQSxBQUEyQiw4QkFBM0IsQUFBMkIsMEJBQUEsQ0FDM0IscUNBSkYsYUFLSSxrQkFBbUIsQ0FFdEIsQ0FBQSIsImZpbGUiOiJhbGl6aWxhLm1pbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0ICdmb3VuZGF0aW9uJztcblxuLyogPVdvcmRQcmVzcyBDb3JlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmFsaWdubm9uZSB7XG4gICAgbWFyZ2luOiA1cHggMjBweCAyMHB4IDA7XG59XG5cbi5hbGlnbmNlbnRlcixcbmRpdi5hbGlnbmNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiA1cHggYXV0byA1cHggYXV0bztcbn1cblxuLmFsaWducmlnaHQge1xuICAgIGZsb2F0OnJpZ2h0O1xuICAgIG1hcmdpbjogNXB4IDAgMjBweCAyMHB4O1xufVxuXG4uYWxpZ25sZWZ0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IDVweCAyMHB4IDIwcHggMDtcbn1cblxuYSBpbWcuYWxpZ25yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbjogNXB4IDAgMjBweCAyMHB4O1xufVxuXG5hIGltZy5hbGlnbm5vbmUge1xuICAgIG1hcmdpbjogNXB4IDIwcHggMjBweCAwO1xufVxuXG5hIGltZy5hbGlnbmxlZnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogNXB4IDIwcHggMjBweCAwO1xufVxuXG5hIGltZy5hbGlnbmNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4ud3AtY2FwdGlvbiB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjBmMGYwO1xuICAgIG1heC13aWR0aDogOTYlOyAvKiBJbWFnZSBkb2VzIG5vdCBvdmVyZmxvdyB0aGUgY29udGVudCBhcmVhICovXG4gICAgcGFkZGluZzogNXB4IDNweCAxMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLndwLWNhcHRpb24uYWxpZ25ub25lIHtcbiAgICBtYXJnaW46IDVweCAyMHB4IDIwcHggMDtcbn1cblxuLndwLWNhcHRpb24uYWxpZ25sZWZ0IHtcbiAgICBtYXJnaW46IDVweCAyMHB4IDIwcHggMDtcbn1cblxuLndwLWNhcHRpb24uYWxpZ25yaWdodCB7XG4gICAgbWFyZ2luOiA1cHggMCAyMHB4IDIwcHg7XG59XG5cbi53cC1jYXB0aW9uIGltZyB7XG4gICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXgtd2lkdGg6IDk4LjUlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi53cC1jYXB0aW9uIHAud3AtY2FwdGlvbi10ZXh0IHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgNHB4IDVweDtcbn1cblxuLyogVGV4dCBtZWFudCBvbmx5IGZvciBzY3JlZW4gcmVhZGVycy4gKi9cbi5zY3JlZW4tcmVhZGVyLXRleHQge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgd29yZC13cmFwOiBub3JtYWwgIWltcG9ydGFudDsgLyogTWFueSBzY3JlZW4gcmVhZGVyIGFuZCBicm93c2VyIGNvbWJpbmF0aW9ucyBhbm5vdW5jZSBicm9rZW4gd29yZHMgYXMgdGhleSB3b3VsZCBhcHBlYXIgdmlzdWFsbHkuICovXG59XG5cbi5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICBjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGNsaXAtcGF0aDogbm9uZTtcbiAgY29sb3I6ICM0NDQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDFlbTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBsZWZ0OiA1cHg7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDE1cHggMjNweCAxNHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRvcDogNXB4O1xuICB3aWR0aDogYXV0bztcbiAgei1pbmRleDogMTAwMDAwO1xuICAvKiBBYm92ZSBXUCB0b29sYmFyLiAqL1xufVxuXG4vLyBcbi8vIENvbG9yIFBhbGV0dGVcbi8vIFxuJGFsaXppbGEtYmx1ZTogIzAwNDA4NDtcbiRhbGl6aWxhLWJsdWUtZGFyazogIzAwMzQ2YjtcbiRhbGl6aWxhLWJsdWUtbGlnaHQ6ICMyY2E0ZDc7XG4kYWxpemlsYS1kYXJrLWJsdWU6ICMwNTQ4NzM7XG4kYWxpemlsYS1vcmFuZ2U6ICNmZjY2MDA7XG4kYWxpemlsYS1ncmV5OiAjNWQ2Nzc3O1xuJGFsaXppbGEtZ3JleS1iZzogI2NjY2NjYztcbiRhbGl6aWxhLWdyZXktbGlnaHQ6ICNlZWVlZWU7XG4kYWxpemlsYS13aGl0ZTogI2Y2ZjdmYjtcbiRhbGl6aWxhLWJsYWNrOiAjNGE0YTRhO1xuXG4vLyBcbi8vIE1peGluc1xuLy8gXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCR3aWR0aCwgJGhlaWdodCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICY6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAoJGhlaWdodCAvICR3aWR0aCkgKiAxMDAlO1xuICB9XG4gID4gLmNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gIH1cbn1cbkBtaXhpbiBidXR0b24oICRiZzogdHJhbnNwYXJlbnQsICRiZHI6ICRzeXUtZ3JlZW4sICRjb2xvcjogJHN5dS1ncmVlbiApIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogJGJkciAhaW1wb3J0YW50O1xuICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG59XG5cbi8vIFxuLy8gQnV0dG9uc1xuLy8gXG4uYnV0dG9uIHtcbiAgQGluY2x1ZGUgYnV0dG9uKCRhbGl6aWxhLWJsdWUsICRhbGl6aWxhLWJsdWUsIHdoaXRlKTtcbiAgJjpob3ZlciB7IEBpbmNsdWRlIGJ1dHRvbigkYWxpemlsYS1vcmFuZ2UsICRhbGl6aWxhLW9yYW5nZSwgd2hpdGUpOyB9XG4gICYub3JhbmdlIHtcbiAgICBAaW5jbHVkZSBidXR0b24oJGFsaXppbGEtb3JhbmdlLCAkYWxpemlsYS1vcmFuZ2UsIHdoaXRlKTtcbiAgICAmOmhvdmVyIHsgQGluY2x1ZGUgYnV0dG9uKCRhbGl6aWxhLWJsdWUsICRhbGl6aWxhLWJsdWUsIHdoaXRlKTsgfVxuICB9XG4gICYud2hpdGUuaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24odHJhbnNwYXJlbnQsIHdoaXRlLCB3aGl0ZSk7XG4gICAgJjpob3ZlciB7IEBpbmNsdWRlIGJ1dHRvbih0cmFuc3BhcmVudCwgd2hpdGUsIHdoaXRlKTsgfVxuICB9XG59XG5cbi8vIFxuLy8gRm9udHNcbi8vIFxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLXJlZ3VsYXItd2ViZm9udC5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xuICBzcmM6IHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3BlbnNhbnMtcmVndWxhci13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cbiAgICAgICB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLXJlZ3VsYXItd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogU3VwZXIgTW9kZXJuIEJyb3dzZXJzICovXG4gICAgICAgdXJsKCcuLi9mb250cy9vcGVuc2Fucy9vcGVuc2Fucy1yZWd1bGFyLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLCAvKiBQcmV0dHkgTW9kZXJuIEJyb3dzZXJzICovXG4gICAgICAgdXJsKCcuLi9mb250cy9vcGVuc2Fucy9vcGVuc2Fucy1yZWd1bGFyLXdlYmZvbnQudHRmJykgIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi9cbiAgICAgICB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLXJlZ3VsYXItd2ViZm9udC5zdmcjb3Blbl9zYW5zcmVndWxhcicpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIHNyYzogdXJsKCcuLi9mb250cy9vcGVuc2Fucy9vcGVuc2Fucy1pdGFsaWMtd2ViZm9udC5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xuICBzcmM6IHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3BlbnNhbnMtaXRhbGljLXdlYmZvbnQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgLyogSUU2LUlFOCAqL1xuICAgICAgIHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3BlbnNhbnMtaXRhbGljLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIC8qIFN1cGVyIE1vZGVybiBCcm93c2VycyAqL1xuICAgICAgIHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3BlbnNhbnMtaXRhbGljLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLCAvKiBQcmV0dHkgTW9kZXJuIEJyb3dzZXJzICovXG4gICAgICAgdXJsKCcuLi9mb250cy9vcGVuc2Fucy9vcGVuc2Fucy1pdGFsaWMtd2ViZm9udC50dGYnKSAgZm9ybWF0KCd0cnVldHlwZScpLCAvKiBTYWZhcmksIEFuZHJvaWQsIGlPUyAqL1xuICAgICAgIHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3BlbnNhbnMtaXRhbGljLXdlYmZvbnQuc3ZnI29wZW5fc2Fuc3JlZ3VsYXInKSBmb3JtYXQoJ3N2ZycpOyAvKiBMZWdhY3kgaU9TICovXG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnO1xuICBmb250LXdlaWdodDogNzAwO1xuICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBzcmM6IHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3BlbnNhbnMtYm9sZC13ZWJmb250LmVvdCcpOyAvKiBJRTkgQ29tcGF0IE1vZGVzICovXG4gIHNyYzogdXJsKCcuLi9mb250cy9vcGVuc2Fucy9vcGVuc2Fucy1ib2xkLXdlYmZvbnQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgLyogSUU2LUlFOCAqL1xuICAgICAgIHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3BlbnNhbnMtYm9sZC13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCAvKiBTdXBlciBNb2Rlcm4gQnJvd3NlcnMgKi9cbiAgICAgICB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLWJvbGQtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIC8qIFByZXR0eSBNb2Rlcm4gQnJvd3NlcnMgKi9cbiAgICAgICB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLWJvbGQtd2ViZm9udC50dGYnKSAgZm9ybWF0KCd0cnVldHlwZScpLCAvKiBTYWZhcmksIEFuZHJvaWQsIGlPUyAqL1xuICAgICAgIHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3BlbnNhbnMtYm9sZC13ZWJmb250LnN2ZyNvcGVuX3NhbnNyZWd1bGFyJykgZm9ybWF0KCdzdmcnKTsgLyogTGVnYWN5IGlPUyAqL1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLWJvbGRpdGFsaWMtd2ViZm9udC5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xuICBzcmM6IHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3BlbnNhbnMtYm9sZGl0YWxpYy13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cbiAgICAgICB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLWJvbGRpdGFsaWMtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogU3VwZXIgTW9kZXJuIEJyb3dzZXJzICovXG4gICAgICAgdXJsKCcuLi9mb250cy9vcGVuc2Fucy9vcGVuc2Fucy1ib2xkaXRhbGljLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLCAvKiBQcmV0dHkgTW9kZXJuIEJyb3dzZXJzICovXG4gICAgICAgdXJsKCcuLi9mb250cy9vcGVuc2Fucy9vcGVuc2Fucy1ib2xkaXRhbGljLXdlYmZvbnQudHRmJykgIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi9cbiAgICAgICB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLWJvbGRpdGFsaWMtd2ViZm9udC5zdmcjb3Blbl9zYW5zcmVndWxhcicpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0RJTk5leHRMVFByby1Db25kZW5zZWQnO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBzcmM6IHVybCgnLi4vZm9udHMvZGluLW5leHQtbHQtcHJvL0RJTk5leHRMVFByby1Db25kZW5zZWQuZW90Jyk7IC8qIElFOSBDb21wYXQgTW9kZXMgKi9cbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL2Rpbi1uZXh0LWx0LXByby9ESU5OZXh0TFRQcm8tQ29uZGVuc2VkLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cbiAgICAgICAvLyB1cmwoJy4uL2ZvbnRzL2Rpbi1uZXh0LWx0LXByby9ESU5OZXh0TFRQcm8tQ29uZGVuc2VkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCAvKiBTdXBlciBNb2Rlcm4gQnJvd3NlcnMgKi9cbiAgICAgICB1cmwoJy4uL2ZvbnRzL2Rpbi1uZXh0LWx0LXByby9ESU5OZXh0TFRQcm8tQ29uZGVuc2VkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogUHJldHR5IE1vZGVybiBCcm93c2VycyAqL1xuICAgICAgIHVybCgnLi4vZm9udHMvZGluLW5leHQtbHQtcHJvL0RJTk5leHRMVFByby1Db25kZW5zZWQudHRmJykgIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi9cbiAgICAgICB1cmwoJy4uL2ZvbnRzL2Rpbi1uZXh0LWx0LXByby9ESU5OZXh0TFRQcm8tQ29uZGVuc2VkLnN2ZyNvcGVuX3NhbnNyZWd1bGFyJykgZm9ybWF0KCdzdmcnKTsgLyogTGVnYWN5IGlPUyAqL1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLWJvbGQtd2ViZm9udC5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xuICBzcmM6IHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3BlbnNhbnMtYm9sZC13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cbiAgICAgICB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLWJvbGQtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogU3VwZXIgTW9kZXJuIEJyb3dzZXJzICovXG4gICAgICAgdXJsKCcuLi9mb250cy9vcGVuc2Fucy9vcGVuc2Fucy1ib2xkLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLCAvKiBQcmV0dHkgTW9kZXJuIEJyb3dzZXJzICovXG4gICAgICAgdXJsKCcuLi9mb250cy9vcGVuc2Fucy9vcGVuc2Fucy1ib2xkLXdlYmZvbnQudHRmJykgIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi9cbiAgICAgICB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLWJvbGQtd2ViZm9udC5zdmcjb3Blbl9zYW5zcmVndWxhcicpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0hlYXJ0d2VsbCc7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHNyYzogdXJsKCcuLi9mb250cy9oZWFydHdlbGwvaGVhcnR3ZWxsLXdlYmZvbnQuZW90Jyk7IC8qIElFOSBDb21wYXQgTW9kZXMgKi9cbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL2hlYXJ0d2VsbC9oZWFydHdlbGwtd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCAvKiBJRTYtSUU4ICovXG4gICAgICAgdXJsKCcuLi9mb250cy9oZWFydHdlbGwvaGVhcnR3ZWxsLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIC8qIFN1cGVyIE1vZGVybiBCcm93c2VycyAqL1xuICAgICAgIHVybCgnLi4vZm9udHMvaGVhcnR3ZWxsL2hlYXJ0d2VsbC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogUHJldHR5IE1vZGVybiBCcm93c2VycyAqL1xuICAgICAgIHVybCgnLi4vZm9udHMvaGVhcnR3ZWxsL2hlYXJ0d2VsbC13ZWJmb250LnR0ZicpICBmb3JtYXQoJ3RydWV0eXBlJyksIC8qIFNhZmFyaSwgQW5kcm9pZCwgaU9TICovXG4gICAgICAgdXJsKCcuLi9mb250cy9oZWFydHdlbGwvaGVhcnR3ZWxsLXdlYmZvbnQuc3ZnI29wZW5fc2Fuc3JlZ3VsYXInKSBmb3JtYXQoJ3N2ZycpOyAvKiBMZWdhY3kgaU9TICovXG59XG5cbiRmb250LWZhbWlseS0xOiBcIk9wZW4gU2Fuc1wiLFwiSGVsdmV0aWNhIE5ldWVcIixIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjtcbiRmb250LWZhbWlseS0yOiBcIkRJTk5leHRMVFByby1Db25kZW5zZWRcIixcIkhlbHZldGljYSBOZXVlXCIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7XG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS0xO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiB1bnNldDtcbn1cbmgxLCAuaDEsIGgyLCAuaDIsIGgzLCAuaDMsIGg0LCAuaDQsIGg1LCAuaDUsIGg2LCAuaDYge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LTI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5wb3N0LXRlbXBsYXRlLWRlZmF1bHQge1xuICBoMiwgLmgyIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LTE7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi8vIFxuLy8gR2VuZXJhbFxuLy8gXG5ib2R5IHsgYmFja2dyb3VuZC1jb2xvcjogJGFsaXppbGEtd2hpdGU7IH1cbmJvZHkgeyBvcGFjaXR5OiAxOyB0cmFuc2l0aW9uOiBvcGFjaXR5IC4xczsgfVxuLm5vLWpzIHsgYm9keSB7IG9wYWNpdHk6IDA7IH0gfVxuLm1lbnUge1xuICBsaSB7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJGFsaXppbGEtYmx1ZTtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGFsaXppbGEtb3JhbmdlO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5sb2dvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnNlZS1hbGwtbGluayB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktMjtcbiAgZm9udC1zaXplOiAuODc1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gIGNvbG9yOiAjMDA0MDg0O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbmlmcmFtZSB7IG1heC13aWR0aDogMTAwJTsgfVxuLmNsaWNrLXRvLXR3ZWV0IHtcbiAgY29sb3I6ICRkYXJrLWdyYXk7XG4gIC5mYS10d2l0dGVyIHtcbiAgICBjb2xvcjogIzU1YWNlZTtcbiAgfVxufVxuLmFzcGVjdC1yYXRpby0xNng5IHtcbiAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvICgxNiw5KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8gXG4vLyBMRVZFTDogUEFHRSBHUklEXG4vLyBcbi5ncmlkLWNvbnRhaW5lciB7XG4gICYuc2luZ2xlLCAmLnNpbmdsZS1uYXJyb3csICYuc2lkZWJhciB7XG4gICAgcGFkZGluZy10b3A6IDEuODc1ZW07XG4gICAgcGFkZGluZy1ib3R0b206IDEuODc1ZW07XG4gIH1cbiAgJi5zaWRlYmFyIHtcbiAgICAuc3RpY2t5LmlzLXN0dWNrIHsgei1pbmRleDogNDsgfVxuICB9XG4gICYuc2luZ2xlLW5hcnJvdywgJi5zaWRlYmFyIHtcbiAgICAubW9kdWxlIHtcbiAgICAgICYucG9zdHMtY2Fyb3VzZWwge1xuICAgICAgICAuc2xpZGVzIHtcbiAgICAgICAgICAuc2xpZGUge1xuICAgICAgICAgICAgLnRpdGxlLXdyYXAge1xuICAgICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmZ1bGwge1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgfVxuICAubW9kdWxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NWVtO1xuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIFxuLy8gTEVWRUw6IFRFTVBMQVRFXG4vLyBcbmJvZHkge1xuICAmLnNpbmdsZSB7XG4gICAgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgI3NpZGViYXItYW5jaG9yIHsgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cbiAgICAgIC50aXRsZSB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xuICAgICAgICAgIHBhZGRpbmc6IDQ4cHggOTZweDtcbiAgICAgICAgfVxuICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgICBjb2xvcjogJGFsaXppbGEtYmxhY2s7XG4gICAgICAgIC5hdXRob3ItYW5kLWRhdGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC43ZW07XG4gICAgICAgICAgY29sb3I6ICRhbGl6aWxhLW9yYW5nZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnBvc3QtdGh1bWIge1xuICAgICAgICBpbWcgeyB3aWR0aDogMTAwJTsgfVxuICAgICAgfVxuICAgICAgLnRoZS1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMTZweDtcbiAgICAgICAgLmRvd25sb2FkLXZpZGVvLWxpbmsge1xuICAgICAgICAgIGNvbG9yOiAkYWxpemlsYS1vcmFuZ2U7XG4gICAgICAgIH1cbiAgICAgICAgLnRpdGxlLXNoYXJlIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS0xO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgICAgIC5zb2NpYWwtc2hhcmUucGFydGlhbCB7XG4gICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDFlbSBhdXRvO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICAgICAgICBwYWRkaW5nOiA0OHB4IDk2cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgI21vYmlsZS1zaGFyZSB7XG4gICAgICAuc3RpY2t5IHtcbiAgICAgICAgcGFkZGluZy10b3A6IC41ZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjVlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLnRpdGxlLXNoYXJlIHsgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAgICAgLnNvY2lhbC1zaGFyZS5wYXJ0aWFsIHtcbiAgICAgICAgICAuYmFkZ2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0gZG93bikge1xuICAgICAgI3NpZGViYXIge1xuICAgICAgICAuaXMtYXQtYm90dG9tIHtcbiAgICAgICAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSAvKiBib2R5LnNpbmdsZSAqL1xuICAmLnNpbmdsZS12aWRlbyB7XG4gICAgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgIC5wbGF5ZXItYW5kLWNvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgfVxuICAgICAgaDEudGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHsgcGFkZGluZzogMHB4IDk2cHg7IH1cbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGNvbG9yOiAkYWxpemlsYS1ibGFjaztcbiAgICAgIH1cbiAgICAgIC5kb3dubG9hZC12aWRlby1saW5rIHtcbiAgICAgICAgY29sb3I6ICRhbGl6aWxhLW9yYW5nZTtcbiAgICAgIH1cbiAgICAgIC5wb3N0LXRodW1iIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7IG1hcmdpbjogMCA5NnB4OyB9XG4gICAgICAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpbyAoMTYsOSk7XG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICBpZnJhbWUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9IC8qIGJvZHkuc2luZ2xlLXZpZGVvICovXG4gICYuc2VhcmNoLXJlc3VsdHMge1xuICAgIC50aXRsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZzogNDhweCA5NnB4O1xuICAgICAgfVxuICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgIGNvbG9yOiAkYWxpemlsYS1ibGFjaztcbiAgICAgIC5xdWVyeS1zdHJpbmcge1xuICAgICAgICBmb250LXNpemU6IDAuN2VtO1xuICAgICAgICBjb2xvcjogJGFsaXppbGEtb3JhbmdlO1xuICAgICAgfVxuICAgICAgLm51bWJlci1vZi1yZXN1bHQge1xuICAgICAgICBmb250LXNpemU6IDAuNWVtOyAgICAgICAgXG4gICAgICB9XG4gICAgfVxuICAgIC5wb3N0cyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICAgICAgJi53aXRoLXRpdGxlIHsgbWFyZ2luLXRvcDogLTEwMHB4OyB9XG4gICAgICAgIC5jZWxsIHsgbWFyZ2luLWJvdHRvbTogMS44NzVlbTsgfVxuICAgICAgICAuY2FyZCB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAuZGF0ZSB7XG4gICAgICAgICAgICBjb2xvcjogJGFsaXppbGEtYmxhY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9IC8qIGJvZHkuc2VhcmNoLXJlc3VsdHMgKi9cbiAgJi5lcnJvcjQwNCB7XG4gICAgLmVycm9yLW1lc3NhZ2Uge1xuICAgICAgbWFyZ2luLXRvcDogNWVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNWVtO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7IG1hcmdpbi1ib3R0b206IDUwdmg7IH1cbiAgICAgIC5lcnJvci1jb2RlIHtcbiAgICAgICAgZm9udC1zaXplOiAxMGVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgY29sb3I6ICRhbGl6aWxhLWJsdWUtZGFyaztcbiAgICAgIH1cbiAgICB9XG4gIH0gLyogYm9keS5lcnJvcjQwNCAqL1xufVxuXG4vLyBcbi8vIExFVkVMOiBNT0RVTEUgLSAncGFydGlhbHMvJ1xuLy8gXG4ucGFydGlhbCB7XG4gICYubmF2IHtcbiAgICBbZGF0YS1zdGlja3ldIHtcbiAgICAgIHotaW5kZXg6IDU7IC8vIFRvIEZpeCB6ZiBEcm9wZG93biBNZW51IGJlaW5nIGhpZGUgdW5kZXIgb3RoZXIgcG9zaXRpb24gcmVsYXRpdmUgZWxlbWVudHNcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGl6aWxhLWJsdWU7XG4gICAgICAjaGVhZGVyUm93MSB7XG4gICAgICAgIFxuICAgICAgICAuZ3JpZC1jb250YWluZXIge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSBkb3duKSB7IHBhZGRpbmc6IDA7IH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLnRpdGxlLWJhciB7XG4gICAgICAgICAgLmxvZ28ge1xuICAgICAgICAgICAgaW1nIHsgbWF4LXdpZHRoOiAxMjVweDsgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7IGltZyB7IG1heC13aWR0aDogMjUwcHg7IH0gfVxuICAgICAgICAgIH1cbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgI2hlYWRlckNvbnRhaW5lciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IC42MjVyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogLjYyNXJlbTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmxvZ28geyB3aWR0aDogMTI1cHg7IH1cbiAgICAgICAgICAjaGVhZGVyTWVudSB7XG4gICAgICAgICAgICAubWVudSB7XG4gICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGFsaXppbGEtZGFyay1ibHVlO1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgY29sb3I6ICRhbGl6aWxhLWJsdWU7XG4gICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogLjc1ZW07XG4gICAgICAgICAgICAgICAgICAmOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7IGNvbG9yOiB3aGl0ZTsgfVxuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoeGxhcmdlKSB7IGZvbnQtc2l6ZTogLjg3NWVtOyB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgICAgICAgICAgICAgYTphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGFsaXppbGEtb3JhbmdlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICAgICAgICAgICAgICBhOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC43NXJlbTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkYWxpemlsYS1ibHVlO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmpzLWRyaWxsZG93bi1iYWNrIHtcbiAgICAgICAgICAgICAgICAgIGE6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkYWxpemlsYS1ibHVlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuc3VibWVudSB7XG4gICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRhbGl6aWxhLWRhcmstYmx1ZTtcbiAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsaXppbGEtb3JhbmdlO1xuICAgICAgICAgICAgICAgICAgICAgICYuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgeyBhOmFmdGVyIHsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB3aGl0ZTsgfSB9XG4gICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHsgJj5hIHsgY29sb3I6IHdoaXRlOyB9IH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHsgYTphZnRlciB7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJGFsaXppbGEtb3JhbmdlOyB9IH1cbiAgICAgICAgICAgICAgICAgICAgYSB7IGNvbG9yOiAkYWxpemlsYS1kYXJrLWJsdWU7IH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgI2hlYWRlclNvY2lhbEljb25zIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IC42MjVyZW0gMDtcbiAgICAgICAgICAgIC5zb2NpYWwtZm9sbG93LnBhcnRpYWwgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgICAgICAgIC5iYWRnZSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogLjhlbTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGFsaXppbGEtYmx1ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgICNoZWFkZXJSb3cyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYWxpemlsYS1vcmFuZ2U7XG4gICAgICAgICNoZWFkZXJTdWJzY3JpcHRpb25Gb3JtLCAuc2VhcmNoLWZvcm0ucGFydGlhbCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgcGFkZGluZzogLjYyNWVtIDA7XG4gICAgICAgICAgbGFiZWwgaDQsIC5pbnB1dC1ncm91cCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMjBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfSAvKiAubmF2LnBhcnRpYWwgKi9cbiAgJi5mb290IHtcbiAgICBwYWRkaW5nOiAxLjc1ZW0gMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAubG9nbyB7IHdpZHRoOiA4MXB4OyB9XG4gICAgI2Zvb3RlclN1YnNjcmlwdGlvbkZvcm0ge1xuICAgICAgLmlucHV0LWdyb3VwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgI2Zvb3Rlck1lbnUge1xuICAgICAgLm1lbnUge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgYSwgYTpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGFsaXppbGEtZ3JleTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjc1ZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICNmb290ZXJTb2NpYWxGb2xsb3cge1xuICAgICAgcGFkZGluZzogLjg3NWVtIDA7XG4gICAgICAuc29jaWFsLWZvbGxvdy5wYXJ0aWFsIHtcbiAgICAgICAgLmJhZGdlIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHsgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gLyogLmZvb3QucGFydGlhbCAqL1xuICAmLnNvY2lhbC1mb2xsb3cge1xuICAgIC5iYWRnZSB7XG4gICAgICBmb250LXNpemU6IC44ZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxpemlsYS1ibHVlO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cbiAgfSAvKiAuc29jaWFsLWZvbGxvdy5wYXJ0aWFsICovXG4gICYuc29jaWFsLXNoYXJlIHtcbiAgICAuYmFkZ2Uge1xuICAgICAgZm9udC1zaXplOiAuOGVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsaXppbGEtYmx1ZTtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG4gIH0gLyogLnNvY2lhbC1zaGFyZS5wYXJ0aWFsICovXG4gICYuc2VjdGlvbi1oZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVlbTtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAzMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogLjc1ZW07XG4gICAgfVxuICAgIC50aXRsZS13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGl6aWxhLXdoaXRlO1xuICAgICAgcGFkZGluZzogMCAxZW07XG4gICAgICAudGl0bGUge1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LTE7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmJsdWUge1xuICAgICAgY29sb3I6ICRhbGl6aWxhLWJsdWU7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGl6aWxhLWJsdWU7XG4gICAgICB9XG4gICAgfVxuICAgICYub3JhbmdlIHtcbiAgICAgIGNvbG9yOiAkYWxpemlsYS1vcmFuZ2U7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGl6aWxhLW9yYW5nZTtcbiAgICAgIH1cbiAgICB9XG4gIH0gLyogLnNlY3Rpb24taGVhZGVyLnBhcnRpYWwgKi9cbiAgJi5zdWJzY3JpcHRpb24tZm9ybS1wb3B1cCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIG1heC13aWR0aDogNzAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMjBweDtcbiAgfVxufVxuXG4vLyBcbi8vIExFVkVMOiBNT0RVTEUgLSAnbW9kdWxlcy8nXG4vLyBcbi5tb2R1bGUge1xuICAvLyBcbiAgLy8gTEVWRUw6IE1PRFVMRSAtICdtb2R1bGVzL2Z1bGwtd2lkdGgvJ1xuICAvLyBcbiAgJi5iYW5uZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGl6aWxhLWdyZXktYmc7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC5zbGlkZXMge1xuICAgICAgLnNsaWRlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGwgb25seSkgeyBAaW5jbHVkZSBhc3BlY3QtcmF0aW8gKDk2MCw3MjApOyB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSBvbmx5KSB7IEBpbmNsdWRlIGFzcGVjdC1yYXRpbyAoMTAyNCwzMjApOyB9XG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgICAgICAgICAgaGVpZ2h0OiAzMjBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5iYW5uZXJfdGl0bGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0b3A6IDI1JTtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgaDEge1xuICAgICAgICBmb250LXNpemU6IDUuODc1cmVtO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChzbWFsbCkgeyBcbiAgICAgICAgICBmb250LXNpemU6IDQuNzVyZW07XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7IFxuICAgICAgICAgIGZvbnQtc2l6ZTogNXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaDIge1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LTE7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IFxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmxvYWQtbW9yZS1wb3N0IHtcbiAgICAudGl0bGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsaXppbGEtYmx1ZS1saWdodDtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktMTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHBhZGRpbmctdG9wOiAxZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMjBweCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgICAucG9zdHMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgICAgICYud2l0aC10aXRsZSB7IG1hcmdpbi10b3A6IC0xMDBweDsgfVxuICAgICAgICAuY2VsbCB7IG1hcmdpbi1ib3R0b206IDEuODc1ZW07IH1cbiAgICAgICAgLmNhcmQge1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgLmRhdGUge1xuICAgICAgICAgICAgY29sb3I6ICRhbGl6aWxhLWJsYWNrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLndoby13ZS1hcmUge1xuICAgIC50aXRsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxpemlsYS1ibHVlLWxpZ2h0O1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS0xO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHBhZGRpbmctdG9wOiAxZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7XG4gICAgICB9XG4gICAgfVxuICAgIC5wb3N0cyB7XG4gICAgICAuY2VsbCB7XG4gICAgICAgIC5jYXJkIHtcbiAgICAgICAgICAuY2FyZC1pbWFnZSB7XG4gICAgICAgICAgICBpbWcgeyB3aWR0aDogMTAwJTsgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1zZWN0aW9uIHtcbiAgICAgICAgICAgIC5uYW1lIHtcbiAgICAgICAgICAgICAgY29sb3I6ICRhbGl6aWxhLWJsYWNrO1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5hdXRob3ItdGl0bGUgeyBjb2xvcjogJGFsaXppbGEtb3JhbmdlOyB9XG4gICAgICAgICAgICAuYmlvIHsgY29sb3I6ICRhbGl6aWxhLWJsYWNrOyB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICAgICAgLmNlbGwge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1ZW07XG4gICAgICAgICAgLmNhcmQge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLndpdGgtdGl0bGUgeyBtYXJnaW4tdG9wOiAtMTAwcHg7IH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5ob3Jpem9udGFsLWNhcmQge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgIH1cbiAgICAudGh1bWIge1xuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICAgIC50ZXh0IHtcbiAgICAgIHBhZGRpbmc6IGNhbGMoLjkzNzVyZW0qMik7XG4gICAgfVxuICAgICYud2l0aC1iYWNrZ3JvdW5kIHtcbiAgICAgIC8vIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgLy8gcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgfVxuICB9XG4gICYuc2VjdGlvbi1oZWFkZXIge1xuICAgIG1hcmdpbi10b3A6IDEuODc1ZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NWVtO1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDMwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAuNzVlbTtcbiAgICB9XG4gICAgLnRpdGxlLXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsaXppbGEtd2hpdGU7XG4gICAgICBwYWRkaW5nOiAwIDFlbTtcbiAgICAgIC50aXRsZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktMTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICAgICYuYmx1ZSB7XG4gICAgICBjb2xvcjogJGFsaXppbGEtYmx1ZTtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsaXppbGEtYmx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5vcmFuZ2Uge1xuICAgICAgY29sb3I6ICRhbGl6aWxhLW9yYW5nZTtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsaXppbGEtb3JhbmdlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBcbiAgLy8gTEVWRUw6IE1PRFVMRSAtICdtb2R1bGVzL21haW4tY29sdW1uLydcbiAgLy8gXG4gICYuY2Fyb3VzZWwge1xuICAgIC5zbGlkZXMge1xuICAgICAgLnNsaWRlIHtcbiAgICAgICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvICgxNiw5KTtcbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGl6aWxhLWdyZXktYmc7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgcGFkZGluZzogMmVtO1xuICAgICAgICAgIC5vdmVybGF5IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgcmdiYSgwLDAsMCwwLjkpKTtcbiAgICAgICAgICAgIC1tcy1maWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSMwMDAwMDAwMCxlbmRDb2xvcnN0cj0jRTUwMDAwMDApO1xuICAgICAgICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0jMDAwMDAwMDAsZW5kQ29sb3JzdHI9I0U1MDAwMDAwKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogODAlOyBib3R0b206IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwO1xuICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICBsZWZ0OiAxZW07XG4gICAgICAgICAgICAgIHJpZ2h0OiAxZW07XG4gICAgICAgICAgICAgIGJvdHRvbTogMWVtO1xuICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLm5hdiB7XG4gICAgICAubmF2LWJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsaXppbGEtYmx1ZTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAyZW07XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICRhbGl6aWxhLWJsdWU7XG4gICAgICAgICYuYWN0aXZlLCAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxpemlsYS1ibHVlLWRhcms7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAkYWxpemlsYS1vcmFuZ2U7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkICRhbGl6aWxhLWJsdWU7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgICAgJi5hY3RpdmUsICY6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkICRhbGl6aWxhLW9yYW5nZTtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSAvKiAuY2Fyb3VzZWwubW9kdWxlICovXG4gIFxuICAmLnBvc3QtbGlzdCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgICAucG9zdHMge1xuICAgICAgICAuY2VsbCB7IG1hcmdpbi1ib3R0b206IDEuODc1ZW07IH1cbiAgICAgICAgLmNhcmQge1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgLmRhdGUge1xuICAgICAgICAgICAgY29sb3I6ICRhbGl6aWxhLWJsYWNrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSAvKiAucG9zdC1saXN0Lm1vZHVsZSAqL1xuXG4gICYubWFycXVlZSB7XG4gICAgLm1hcnF1ZWUtdGl0bGUtYmFyIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGl6aWxhLWJsdWUtbGlnaHQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTAwJTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBoZWlnaHQ6IDE4NXB4O1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQ7XG4gICAgICB9XG4gICAgICA+IC5ncmlkLXgge1xuICAgICAgICBwYWRkaW5nOiAxZW07XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7IGhlaWdodDogMTMwcHg7IH1cbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjkzNzVyZW07XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS0xO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgICAgIC5zZWUtYWxsLWxpbmsgeyBjb2xvcjogd2hpdGU7IH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnBvc3RzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgLmNlbGwge1xuICAgICAgICBwYWRkaW5nLXRvcDogLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAuOTM3NXJlbTtcbiAgICAgICAgLmNhcmQge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gLyogLm1hcnF1ZWUubW9kdWxlICovXG5cbiAgJi50aHVtYm5haWxzLW1hcnF1ZWUge1xuICAgIC50aHVtYm5haWwtbWFycXVlZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAuODc1ZW07XG4gICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8gKDE2LDkpO1xuICAgICAgLmNvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAub3ZlcmxheSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSAvKiAudGh1bWJuYWlscy1tYXJxdWVlLm1vZHVsZSAqL1xuXG4gICYucG9zdHMtY2Fyb3VzZWwge1xuICAgIC5sZWZ0LWNvbC13cmFwIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgLmNhbnZhcyB7XG4gICAgICAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpbyAoMTYsOSk7XG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgIGlmcmFtZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5pbmZvLWJveCB7XG4gICAgICAgIHBhZGRpbmc6IDFlbTtcbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICAgICY6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc2hhcmUtdGl0bGUge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLjVlbTtcbiAgICAgICAgICBjb2xvcjogJGFsaXppbGEtb3JhbmdlO1xuICAgICAgICB9XG4gICAgICAgIC5kb3dubG9hZC12aWRlby1saW5rIHtcbiAgICAgICAgICBjb2xvcjogJGFsaXppbGEtb3JhbmdlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5zbGlkZXMge1xuICAgICAgLnNsaWRlIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxpemlsYS1ncmV5O1xuICAgICAgICB9XG4gICAgICAgICZbZGF0YS1wb3N0LXR5cGU9XCJ2aWRlb1wiXSB7IC50aHVtYiB7IC5jb250ZW50IHsgaW1nIHsgb3BhY2l0eTogLjY7IH0gfSB9IH1cbiAgICAgICAgLnRodW1iIHtcbiAgICAgICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8gKDE2LDkpO1xuICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGl6aWxhLWdyZXktYmc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudGl0bGUtd3JhcCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNSk7XG4gICAgICAgICAgcGFkZGluZzogLjVlbTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSAvKiAucG9zdHMtY2Fyb3VzZWwubW9kdWxlICovXG5cbiAgJi5waG90by1idXR0b24tY2FyZCB7XG4gICAgLnRoZS1jYXJkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgLnBob3RvIHtcbiAgICAgICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvICgxNiw5KTtcbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5idXR0b24td3JhcHBlciB7XG4gICAgICAgIGNvbG9yOiAkYWxpemlsYS1ibGFjaztcbiAgICAgICAgcGFkZGluZzogM2VtO1xuICAgICAgfVxuICAgIH1cbiAgfSAvKiAucGhvdG8tYnV0dG9uLWNhcmQubW9kdWxlICovXG4gIFxuICAvLyBcbiAgLy8gTEVWRUw6IE1PRFVMRSAtICdtb2R1bGVzL3NpZGViYXIvJ1xuICAvLyBcbiAgJi5wb3N0LXdpZGdldCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFsaXppbGEtYmx1ZTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgcGFkZGluZzogMWVtIDIuNWVtO1xuICAgIC8vIHBhZGRpbmctdG9wOiAyLjVlbTtcbiAgICAmLndoaXRlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgY29sb3I6ICRhbGl6aWxhLWJsYWNrO1xuICAgICAgYSB7IGNvbG9yOiAkYWxpemlsYS1ibGFjazsgfVxuICAgIH1cbiAgICAmLmJsdWUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsaXppbGEtYmx1ZTtcbiAgICAgIGNvbG9yOiAkYWxpemlsYS13aGl0ZTtcbiAgICAgIGEgeyBjb2xvcjogd2hpdGU7IH1cbiAgICB9XG4gICAgYSB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBpbWcgeyB3aWR0aDogMTAwJTsgfVxuICAgICAgLnBvc3QtdGl0bGUgeyBtYXJnaW46IC41ZW0gMCAxZW0gMDsgfVxuICAgIH1cbiAgfVxuICAmLmFsaS12aWV3cyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC5jb250ZW50IHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgICYgPiAuZ3JpZC14IHsgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAudGl0bGUge1xuICAgICAgICBmb250LWZhbWlseTogJ2hlYXJ0d2VsbCc7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgfVxuICAgICAgLmJ1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbih0cmFuc3BhcmVudCwgd2hpdGUsIHdoaXRlKTtcbiAgICAgICAgJjpob3ZlciB7IEBpbmNsdWRlIGJ1dHRvbih3aGl0ZSwgd2hpdGUsICRhbGl6aWxhLW9yYW5nZSk7IH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi50ZXh0LWFuZC1idXR0b24ge1xuICAgICYuYmx1ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxpemlsYS1ibHVlLWxpZ2h0O1xuICAgICAgcGFkZGluZy10b3A6IDFlbTtcbiAgICAgIC50aXRsZSB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS0xO1xuICAgICAgfVxuICAgICAgLmJ1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbih3aGl0ZSwgd2hpdGUsICRhbGl6aWxhLWJsdWUtbGlnaHQpO1xuICAgICAgICAmOmhvdmVyIHsgQGluY2x1ZGUgYnV0dG9uKHdoaXRlLCB3aGl0ZSwgJGFsaXppbGEtYmx1ZS1saWdodCk7IH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5uby1iZyB7XG4gICAgICBwYWRkaW5nLXRvcDogMWVtO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRhbGl6aWxhLWdyZXk7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGFsaXppbGEtZ3JleTtcbiAgICAgIC50aXRsZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktMTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGNvbG9yOiAkYWxpemlsYS1ncmV5O1xuICAgICAgfVxuICAgICAgLmJ1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbigkYWxpemlsYS1ibHVlLCAkYWxpemlsYS1ibHVlLCB3aGl0ZSk7XG4gICAgICAgICY6aG92ZXIgeyBAaW5jbHVkZSBidXR0b24oJGFsaXppbGEtb3JhbmdlLCAkYWxpemlsYS1vcmFuZ2UsIHdoaXRlKTsgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmV4dGVybmFsLWxpbmtzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxpemlsYS1ncmV5LWxpZ2h0O1xuICAgIHBhZGRpbmc6IDFlbTtcbiAgICAudGl0bGUgeyBjb2xvcjogJGFsaXppbGEtYmx1ZTsgfVxuICAgIC5saW5rIHtcbiAgICAgIGNvbG9yOiAkYWxpemlsYS1ibGFjaztcbiAgICAgICY6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIH1cbiAgICAuc291cmNlIHtcbiAgICAgIGNvbG9yOiAkYWxpemlsYS1vcmFuZ2U7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgfVxuICAmLnNvY2lhbC1mb2xsb3cge1xuICAgIHBhZGRpbmc6IDEuODc1ZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFsaXppbGEtYmx1ZTtcbiAgICAudGl0bGUge1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS0xO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxuICAgIC5wYXJ0aWFsLnNvY2lhbC1mb2xsb3cgLmJhZGdlIHtcbiAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICBjb2xvcjogJGFsaXppbGEtYmx1ZTtcbiAgICB9XG4gIH1cbiAgJi5zaWdudXAtd2lkZ2V0IHtcbiAgICBwYWRkaW5nOiAuOTM3NWVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGl6aWxhLWJsdWU7XG4gICAgLnRpdGxlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktMTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cbiAgICAuYnV0dG9uIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbigkYWxpemlsYS1vcmFuZ2UsICRhbGl6aWxhLW9yYW5nZSwgd2hpdGUpO1xuICAgICAgJjpob3ZlciB7IEBpbmNsdWRlIGJ1dHRvbigkYWxpemlsYS1vcmFuZ2UsICRhbGl6aWxhLW9yYW5nZSwgd2hpdGUpOyB9XG4gICAgfVxuICB9XG4gICYuZ212LTIwMTgge1xuICAgIC8qIEJhbm5lciBTdHlsZSAqL1xuICAgIC5nbXYtbW9iLWNvbnRhaW5lciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1heC13aWR0aDogNjkwcHg7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC5zaWRlYmFyLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogLjVlbTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzdHJldGNoO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICAuc2lkZWJhci1pbm5lci1jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246ICBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZmxleDogMTtcbiAgICB9XG4gICAgLnNpZGViYXItaW5uZXItY29udGFpbmVyLTMge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBmbGV4OiAwLjI7XG4gICAgfVxuICAgIC5zaWRlYmFyLWlubmVyLWNvbnRhaW5lci00IHtcbiAgICAgICAgZmxleDogMC41O1xuICAgIH1cbiAgICAuc2lkZWJhci1pbm5lci1jb250YWluZXItNSB7XG4gICAgICAgIGZsZXg6IDAuMjtcbiAgICB9XG4gICAgLnNpZGViYXItaW5uZXItY29udGFpbmVyLTYge1xuICAgICAgICBmbGV4OiAwLjU7XG4gICAgfVxuICAgIC5zaWRlYmFyLWNvbnRhaW5lciwgLnNpZGViYXItaW5uZXItY29udGFpbmVyLCAuZ212LW1vYi1jb250YWluZXIgaDEsIC5nbXYtbW9iLWNvbnRhaW5lciBoMiwgIC5nbXYtbW9iLWNvbnRhaW5lciBoMywgIC5nbXYtbW9iLWNvbnRhaW5lciBoNCwgLmdtdi1tb2ItY29udGFpbmVyIGg1LCAuZ212LW1vYi1jb250YWluZXIgcCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cbiAgICAvKiBCYW5uZXIgRm9udCBzaXplIFJlc3BvbnNpdmUgKi8gICBcbiAgICAuZ212LW1vYi1jb250YWluZXIgaDEge1xuICAgICAgZm9udC1zaXplOiAyLjVlbTtcbiAgICB9XG4gICAgLmdtdi1tb2ItY29udGFpbmVyIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgfVxuICAgIC5nbXYtbW9iLWNvbnRhaW5lciBoMyB7XG4gICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIH1cbiAgICAuZ212LW1vYi1jb250YWluZXIgaDQge1xuICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgfVxuICAgIC5nbXYtbW9iLWNvbnRhaW5lciBoNSB7XG4gICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgIH1cbiAgICAuZ212LW1vYi1jb250YWluZXIgcCB7XG4gICAgICBmb250LXNpemU6IDAuN2VtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB9XG4gICAgLmdtdi1tb2ItY29udGFpbmVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NTBweCkge1xuICAgICAgICAuZ212LW1vYi1jb250YWluZXIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICAuZ212LW1vYi1jb250YWluZXIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NTBweCkge1xuICAgICAgICAuZ212LW1vYi1jb250YWluZXIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjlweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgICAgICAuZ212LW1vYi1jb250YWluZXIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NTBweCkge1xuICAgICAgICAuZ212LW1vYi1jb250YWluZXIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MDBweCkge1xuICAgICAgICAuZ212LW1vYi1jb250YWluZXIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNTBweCkge1xuICAgICAgICAuZ212LW1vYi1jb250YWluZXIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICAgIC5nbXYtbW9iLWNvbnRhaW5lciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi41ZW07XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgICAuZ212LW1vYi1jb250YWluZXIge1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoeGxhcmdlKSB7XG4gICAgICAuZ212LW1vYi1jb250YWluZXIge1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgIH1cbiAgICB9XG4gIH0gLyouZ212LTIwMTgubW9kdWxlKi9cbiAgJi5nbXYtMjAxOC1sYW5kc2NhcGUge1xuICAgIC8qIEJhbm5lciBTdHlsZSAqL1xuICAgIC5nbXYtZGVzay1jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAvLyBtYXgtd2lkdGg6IDg0NXB4O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAuY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0cmV0Y2g7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgIC5pbm5lci1jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGZsZXg6IDE7XG5cbiAgICB9XG4gICAgLmlubmVyLWNvbnRhaW5lci0zIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIH1cbiAgICAuaW5uZXItYmxvY2sge1xuICAgICAgZmxleDoxO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICAuaW5uZXItYmxvY2sgaW1nLCAuaW5uZXItYmxvY2sgaDEsICAuaW5uZXItYmxvY2sgaDIsICAuaW5uZXItYmxvY2sgaDMsICAuaW5uZXItYmxvY2sgaDQsICAuaW5uZXItYmxvY2sgaDUsICAuaW5uZXItYmxvY2sgcCwgLmlubmVyLWJsb2NrIHNwYW57XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG5cbiAgICAvKiBCYW5uZXIgRm9udCBzaXplIFJlc3BvbnNpdmUgKi9cbiAgICAuZ212LWRlc2stY29udGFpbmVyIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMi4yZW07XG4gICAgfVxuICAgIC5nbXYtZGVzay1jb250YWluZXIgaDIge1xuICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICB9XG4gICAgLmdtdi1kZXNrLWNvbnRhaW5lciBoMyB7XG4gICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIH1cbiAgICAuZ212LWRlc2stY29udGFpbmVyIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIH1cbiAgICAuZ212LWRlc2stY29udGFpbmVyIGg1IHtcbiAgICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgfVxuICAgIC5nbXYtZGVzay1jb250YWluZXIgcCB7XG4gICAgICBmb250LXNpemU6IDAuNmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuOGVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICB9XG4gICAgLmdtdi1kZXNrLWNvbnRhaW5lciB7XG4gICAgICBmb250LXNpemU6IDIycHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjUwcHgpIHtcbiAgICAgICAgLmdtdi1kZXNrLWNvbnRhaW5lciB7XG4gICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgIC5nbXYtZGVzay1jb250YWluZXIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NTBweCkge1xuICAgICAgICAuZ212LWRlc2stY29udGFpbmVyIHtcbiAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICAgICAgLmdtdi1kZXNrLWNvbnRhaW5lciB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ1MHB4KSB7XG4gICAgICAgIC5nbXYtZGVzay1jb250YWluZXIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MDBweCkge1xuICAgICAgICAuZ212LWRlc2stY29udGFpbmVyIHtcbiAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzUwcHgpIHtcbiAgICAgICAgLmdtdi1kZXNrLWNvbnRhaW5lciB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuICB9IC8qLmdtdi0yMDE4LWxhbmRzY2FwZS5tb2R1bGUqL1xuXG4gICYuZ212LTIwMTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICYgPiBpbWcgeyB3aWR0aDogMTAwJTsgfVxuICAgIC5jb250ZW50LXdyYXBwZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgLmFzcGVjdC1yYXRpby0xNng5IHsgQGluY2x1ZGUgYXNwZWN0LXJhdGlvICgxNiw5KTsgfVxuICAgICAgLmRvbGxhci1zaWduIHsgZm9udC1zaXplOiAuNWVtOyB9XG4gICAgfVxuICAgIC8vIFJlc3BvbnNpdmUgZm9udCBzaXppbmdcbiAgICAudGV4dC0xIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgZm9udC1zaXplOiA1LjN2dztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgbWFyZ2luLXRvcDogMC43ZW07XG4gICAgfVxuICAgIC50ZXh0LTIge1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS0yO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBmb250LXNpemU6IDEzdnc7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIG1hcmdpbi10b3A6IDAuM2VtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDBweDtcbiAgICB9XG4gICAgLnRleHQtMyB7XG4gICAgICBmb250LXNpemU6IDZ2dztcbiAgICAgIGxpbmUtaGVpZ2h0OiAwLjc7XG4gICAgfVxuICAgIC50ZXh0LTQge1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS0yO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBmb250LXNpemU6IDEzdnc7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIG1hcmdpbi10b3A6IDAuMmVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDBweDtcbiAgICB9XG4gICAgLnRleHQtNSB7XG4gICAgICBmb250LXNpemU6IDV2dztcbiAgICAgIG1hcmdpbi10b3A6IC41ZW07XG4gICAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiAuOGVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgICAgLnRleHQtMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogLjkzZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC41ZW07XG4gICAgICB9XG4gICAgICAudGV4dC0yIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjVlbTtcbiAgICAgIH1cbiAgICAgIC50ZXh0LTMge1xuICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMC41O1xuICAgICAgfVxuICAgICAgLnRleHQtNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi41ZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDAuM2VtO1xuICAgICAgfVxuICAgICAgLnRleHQtNSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMC41ZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgICB9XG4gICAgfVxuICB9IC8qLmdtdi0yMDE5Lm1vZHVsZSovXG5cbiAgJi5nbXYtMjAxOS1sYW5kc2NhcGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHB1cnBsZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAuY29udGVudC13cmFwcGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIC5kb2xsYXItc2lnbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogLjVlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gUmVzcG9uc2l2ZSBmb250IHNpemluZ1xuICAgIC50ZXh0LTEge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBmb250LXNpemU6IDIuNnZ3O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBtYXJnaW4tdG9wOiAwLjRlbTtcbiAgICB9XG4gICAgLnRleHQtMiB7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LTI7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogNS40dnc7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIG1hcmdpbi10b3A6IDEuM2VtO1xuICAgICAgcGFkZGluZzogMCAxZW07XG4gICAgfVxuICAgIC50ZXh0LTUge1xuICAgICAgZm9udC1zaXplOiAxLjV2dztcbiAgICAgIG1hcmdpbi10b3A6IDIuNWVtO1xuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogLjhlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoeGxhcmdlKSB7XG4gICAgICAudGV4dC0xIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjllbTtcbiAgICAgIH1cbiAgICAgIC50ZXh0LTIge1xuICAgICAgICBmb250LXNpemU6IDRlbTtcbiAgICAgIH1cbiAgICAgIC50ZXh0LTUge1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogNGVtO1xuICAgICAgfVxuICAgIH1cbiAgfSAvKi5nbXYtMjAxOS1sYW5kc2NhcGUubW9kdWxlKi9cbn1cbiNiYWNrLXRvLXRvcHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHRib3R0b206IDQwcHg7XG5cdHJpZ2h0OiAyMHB4O1xuXHRoZWlnaHQ6IDI1cHg7XG5cdHdpZHRoOiAyNXB4O1xuXHR6LWluZGV4OiA5MDtcblx0Ym94LXNoYWRvdzogMnB4IDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjM1KTtcblx0Y29sb3I6ICMyMzQzODc7XG5cdGJhY2tncm91bmQtY29sb3I6ICMyMzQzODc7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogODBweDtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdD5pbWd7XG5cdFx0cGFkZGluZzogNnB4O1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblx0fVxufVxuLmdyZWNhcHRjaGEtYmFkZ2V7XG5cdG9wYWNpdHk6IDAgIWltcG9ydGFudDtcblx0cG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnRlbXAtYW5udWFse1xuICBwYWRkaW5nOiAyNXB4IDAgMjVweCAyNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpe1xuICAgIHBhZGRpbmc6IDI1cHggMCAwIDA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBmb3JjZS1hdHRyaWJ1dGUtbmVzdGluZywgZm9yY2UtcHNldWRvLW5lc3RpbmcsIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwb3NpdGlvbmluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gQ2FuIGJlIG92ZXJ3cml0dGVuIGF0IGluZGl2aWR1YWwgbWVudSBjb21wb25lbnQgbGV2ZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlZCByZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwcm90b3R5cGVzIGlmIGFwcGxpY2FibGVcbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gY3Vyc29yJ3MgdmFsdWUsIGBhdXRvYCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZSB0aGF0IGNvbnRhaW5zIHRoZSBmbGV4IGp1c3RpZnlpbmcgb3B0aW9uc1xuJC16Zi1mbGV4LWp1c3RpZnk6IC16Zi1mbGV4LWp1c3RpZnkoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbik7XG5cbi8vLyBHbG9iYWwgdG9sZXJhbmNlIGZvciBjb2xvciBwaWNrIGNvbnRyYXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgLXpmLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pZHNcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiAkZ2xvYmFsLWJ1dHRvbi1jdXJzb3I7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRleHQgb3ZlcmZsb3cgb24gcHJlXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyBNYWtlIHJlc2V0IGluaGVyaXQgZm9udC1mYW1pbHkgaW5zdGVhZCBvZiBzZXR0aW5ncyBzYW5zLXNlcmlmXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIExvYWRzIG5vcm1hbGl6ZS5jc3MuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLXpmLW5vcm1hbGl6ZSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZSgpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnWW91ciBzbWFsbGVzdCBicmVha3BvaW50IChkZWZpbmVkIGluICRicmVha3BvaW50cykgbXVzdCBiZSBzZXQgdG8gXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IDA7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBFdmVudHVhbCBvdXRwdXRcbiAgJHN0cjogJyc7XG4gIC8vIElzIGl0IGEgbmFtZWQgbWVkaWEgcXVlcnk/XG4gICRuYW1lZDogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG4gIEBlbHNlIGlmICRicCA9PSAncmV0aW5hJyB7XG4gICAgQHJldHVybiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSc7XG4gIH1cblxuICAvLyBUcnkgdG8gcHVsbCBhIG5hbWVkIGJyZWFrcG9pbnQgb3V0IG9mIHRoZSAkYnJlYWtwb2ludHMgbWFwXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICAgJGJwLW1heDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgIH1cblxuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgICRuYW1lZDogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciAkYnJlYWtwb2ludHMgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbnZlcnQgYW55IHBpeGVsLCByZW0sIG9yIHVuaXRsZXNzIHZhbHVlIHRvIGVtXG4gICRicDogLXpmLWJwLXRvLWVtKCRicCk7XG4gIEBpZiAkYnAtbWF4IHtcbiAgICAkYnAtbWF4OiAtemYtYnAtdG8tZW0oJGJwLW1heCkgLSAoMS8xNik7XG4gIH1cblxuICAvLyBDb25kaXRpb25zIHRvIHNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb25cbiAgLy8gLSBJdCdzIGEgbmFtZWQgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBkb3duXCIgb3IgXCIwIHVwXCJcbiAgLy8gLSBJdCdzIGEgbnVtZXJpYyBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIFwiICsgYW55dGhpbmdcbiAgQGlmICRicCA+IDBlbSBvciAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gYG9ubHlgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbikgYW5kIChtYXgtd2lkdGg6IG4pYFxuICAgIEBpZiAkZGlyID09ICdvbmx5JyB7XG4gICAgICAvLyBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gXCJvbmx5XCIgcmFuZ2VcbiAgICAgIEBpZiAkbmFtZWQgPT0gdHJ1ZSB7XG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWluLXdpZHRoXCIgaWYgdGhlIGZsb29yIGlzIGdyZWF0ZXIgdGhhbiAwXG4gICAgICAgIEBpZiAkYnAgPiAwZW0ge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG5cbiAgICAgICAgICAvLyBPbmx5IGFkZCBcImFuZFwiIHRvIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICAgJHN0cjogJHN0ciArICcgYW5kICc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gT25seSB1c2UgXCJtYXgtd2lkdGhcIiBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JGJwLW1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYGRvd25gIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1heC13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGRpciA9PSAnZG93bicge1xuICAgICAgJG1heDogaWYoJG5hbWVkLCAkYnAtbWF4LCAkYnApO1xuXG4gICAgICAvLyBTa2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uIGlmIGlucHV0IHZhbHVlIGlzIGV4YWN0bHkgXCIwIGRvd25cIixcbiAgICAgIC8vIHVubGVzcyB0aGUgZnVuY3Rpb24gd2FzIGNhbGxlZCBhcyBcInNtYWxsIGRvd25cIiwgaW4gd2hpY2ggY2FzZSBpdCdzIGp1c3QgXCJzbWFsbCBvbmx5XCJcbiAgICAgIEBpZiAkbmFtZWQgb3IgJGJwID4gMGVtIHtcbiAgICAgICAgQGlmICRtYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRtYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgdXBgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGJwID4gMGVtIHtcbiAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcCwgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlKSB7XG4gICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgJGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICR2YWx1ZSk7XG4gICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuXG4gICRvbGQtemYtc2l6ZTogbnVsbDtcblxuICAvLyBNYWtlIGJyZWFrcG9pbnQgc2l6ZSBhdmFpbGFibGUgYXMgYSB2YXJpYWJsZVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICB9XG4gICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xuXG4gIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgQGlmICRzdHIgPT0gJycge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgQGVsc2Uge1xuICAgIC8vIEZvciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHByaW50LWJyZWFrcG9pbnQsIGFkZCBwcmludCB0byB0aGUgbWVkaWEgdHlwZXNcbiAgICBAaWYgJGJwICE9IG51bGwgYW5kICRicCA8PSAkcGJwIHtcbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRvbGQtemYtc2l6ZSAhPSBudWxsIHtcbiAgICAvLyBSZXN0b3JlIHRoZSBvbGQgYnJlYWtwb2ludCBzaXplXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJC16Zi1zaXplOiBudWxsICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIENvbnZlcnMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZF9rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmRfa2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZF9rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2luZyAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbmcuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4kc21hbGwtdXA6ICcnO1xuJHNtYWxsLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG4kbWVkaXVtLXVwOiAnJztcbiRtZWRpdW0tb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuJGxhcmdlLXVwOiAnJztcbiRsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHhsYXJnZS11cDogJyc7XG4keGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4eGxhcmdlLXVwOiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iXX0= */
