.slick-slider{position:relative;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:transparent}.slick-list{position:relative;overflow:hidden;display:block;margin:0;padding:0}.slick-list:focus{outline:none}.slick-list.dragging{cursor:pointer;cursor:hand}.slick-slider .slick-track,.slick-slider .slick-list{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.slick-track{position:relative;left:0;top:0;display:block;margin-left:auto;margin-right:auto}.slick-track:before,.slick-track:after{content:"";display:table}.slick-track:after{clear:both}.slick-loading .slick-track{visibility:hidden}.slick-slide{float:left;height:100%;min-height:1px;display:none}[dir="rtl"] .slick-slide{float:right}.slick-slide img{display:block}.slick-slide.slick-loading img{display:none}.slick-slide.dragging img{pointer-events:none}.slick-initialized .slick-slide{display:block}.slick-loading .slick-slide{visibility:hidden}.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent}.slick-arrow.slick-hidden{display:none}.slick-loading .slick-list{background:#fff url("../../images/ajax-loader.gif") center center no-repeat}@font-face{font-family:"slick";src:url("../../fonts/slick.eot");src:url("../../fonts/slick.eot?#iefix") format("embedded-opentype"),url("../../fonts/slick.woff") format("woff"),url("../../fonts/slick.ttf") format("truetype"),url("../../fonts/slick.svg#slick") format("svg");font-weight:normal;font-style:normal}.slick-prev,.slick-next{position:absolute;display:block;height:20px;width:20px;line-height:0px;font-size:0px;cursor:pointer;background:transparent;color:transparent;top:50%;-webkit-transform:translate(0, -50%);transform:translate(0, -50%);padding:0;border:none;outline:none}.slick-prev:hover,.slick-prev:focus,.slick-next:hover,.slick-next:focus{outline:none;background:transparent;color:transparent}.slick-prev:hover:before,.slick-prev:focus:before,.slick-next:hover:before,.slick-next:focus:before{opacity:1}.slick-prev.slick-disabled:before,.slick-next.slick-disabled:before{opacity:.25}.slick-prev:before,.slick-next:before{font-family:"slick";font-size:20px;line-height:1;color:#fff;opacity:.75;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.slick-prev{left:-25px}[dir="rtl"] .slick-prev{left:auto;right:-25px}.slick-prev:before{content:"←"}[dir="rtl"] .slick-prev:before{content:"→"}.slick-next{right:-25px}[dir="rtl"] .slick-next{left:-25px;right:auto}.slick-next:before{content:"→"}[dir="rtl"] .slick-next:before{content:"←"}.slick-dotted.slick-slider{margin-bottom:30px}.slick-dots{position:absolute;bottom:-25px;list-style:none;display:block;text-align:center;padding:0;margin:0;width:100%}.slick-dots li{position:relative;display:inline-block;height:20px;width:20px;margin:0 5px;padding:0;cursor:pointer}.slick-dots li button{border:0;background:transparent;display:block;height:20px;width:20px;outline:none;line-height:0px;font-size:0px;color:transparent;padding:5px;cursor:pointer}.slick-dots li button:hover,.slick-dots li button:focus{outline:none}.slick-dots li button:hover:before,.slick-dots li button:focus:before{opacity:1}.slick-dots li button:before{position:absolute;top:0;left:0;content:"•";width:20px;height:20px;font-family:"slick";font-size:6px;line-height:20px;text-align:center;color:#000;opacity:.25;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.slick-dots li.slick-active button:before{color:#000;opacity:.75}.page-designer-reference p{margin:0}.page-designer-reference .white{color:#fff !important}.page-designer-reference .white h1{color:#fff !important}.page-designer-reference .white a{color:#fff !important}.page-designer-reference .customCta{display:table;margin:0;height:13px;width:auto;text-align:center;border-bottom:1px solid;white-space:nowrap}.page-designer-reference .customCta a{text-decoration:none;color:var(--text-color)}@media (hover: hover) and (pointer: fine){.page-designer-reference .customCta a:hover{color:var(--text-color);text-decoration:none}}.page-designer-reference .centerCta{margin:0 auto}.page-designer-reference .tiles{margin:10px;text-align:left}.page-designer-reference .vid_container{position:relative}.page-designer-reference .playpause{left:1%;position:absolute;bottom:0}.page-designer-reference .playpause label{display:block;-webkit-box-sizing:border-box;box-sizing:border-box;width:0;height:37px;outline:none;border-color:transparent transparent transparent rgba(255,255,255,0.6);-webkit-transition:100ms all ease;transition:100ms all ease;cursor:pointer;border-style:double;border-width:0 0 0 37px}.page-designer-reference .playpause input[type="checkbox"]{position:absolute;left:-9999px;outline:none}.page-designer-reference .playpause input[type="checkbox"]:checked+label{border-style:solid;outline:none;border-width:18px 0 18px 31px}.page-designer-reference .playpause input[type="checkbox"]:focus+label{-webkit-box-shadow:0 0 5px lightblue;box-shadow:0 0 5px lightblue}.page-designer-reference .volumeonoff{right:1%;position:absolute;bottom:0;width:44px;height:44px}.page-designer-reference .volumeonoff .vol_on{background-image:url(https://theory.a.bigcontent.io/v1/static/sound-on);height:100%;background-repeat:no-repeat;background-size:100%}.page-designer-reference .volumeonoff .vol_off{background-image:url(https://theory.a.bigcontent.io/v1/static/sound-off);height:100%;background-repeat:no-repeat;background-size:100%}.page-designer-reference .threeColumnWithTitle_container .header_title{display:table;width:100%}.page-designer-reference .carousel,.page-designer-reference .carousel-inner,.page-designer-reference .carousel-item{width:100%;height:100%}.page-designer-reference .experience-layouts-1columnbgimage{width:100%;display:table}.page-designer-reference .experience-component{width:100%}.page-designer-reference .colBootstrap1{min-height:200px;display:table;background-size:100%;width:100%;background-repeat:no-repeat}.page-designer-reference .parallaxRow{background-size:cover !important;background-position:top top;background-repeat:no-repeat;background-attachment:fixed;position:relative;margin-bottom:0 !important}.page-designer-reference .parallaxRow .region{display:table-cell;vertical-align:middle}.page-designer-reference .experience-layouts-1colBootstrap{min-width:50px;min-height:50px;width:100%}.page-designer-reference .fullWidth{width:calc(100vw - var(--scroll-bar, 0px)) !important;position:relative;left:50%;right:50%;margin-left:calc(-50vw + var(--scroll-bar, 0px) / 2);margin-right:calc(-50vw + var(--scroll-bar, 0px) / 2)}@media (min-width: 769px){.page-designer-reference .fullWidthDesktop{width:calc(100vw - var(--scroll-bar, 0px)) !important;position:relative;left:50%;right:50%;margin-inline:calc(-50vw + (var(--scroll-bar, 0px) / 2)) !important}}@media (max-width: 768.98px){.page-designer-reference .fullWidthMobile{width:calc(100vw - var(--scroll-bar, 0px)) !important;position:relative;left:50%;right:50%;margin-inline:calc(-50vw + (var(--scroll-bar, 0px) / 2)) !important}}.page-designer-reference .px-2{display:table-cell;vertical-align:middle;margin:0}.page-designer-reference .experience-layouts-1columnbgimage+.experience-layouts-1column{margin-top:40px}.page-designer-reference .region .experience-component{position:relative !important}.page-designer-reference .region_landscape-large::before,.page-designer-reference .region_square::before,.page-designer-reference .region_landscape-small::before{padding-top:0 !important}.page-designer-reference .cta_container .region{padding:0 !important}.page-designer-reference .richtext a{display:table;margin:10px auto;height:13px;width:auto;text-align:center;border-bottom:1px solid}.page-designer-reference .richtext a:hover{text-decoration:none;border-bottom:1px solid}.page-designer-reference .j_media_container{position:relative}.page-designer-reference .j_cta_container{position:absolute;bottom:0;left:0;right:0}.page-designer-reference .ittc_title{left:0;right:0;top:0}.page-designer-reference .threeColumnWithTitle_container .region .experience-component{position:relative}.page-designer-reference .threeColumnWithTitle_container .region_square::before{padding-top:initial !important}.page-designer-reference .experience-layouts-productcarousel .carousel_container{width:100%;overflow:hidden}.page-designer-reference .productCarousel_wrapper .slick-slide:focus{outline:none}.page-designer-reference .productCarousel_wrapper .slick-slide{height:auto;border-right:1px solid #d8d8d8}@media (min-width: 544px){.page-designer-reference .productCarousel_wrapper .slick-slide{background-color:#f6f4f5}}.page-designer-reference .productCarousel_wrapper .slick-prev,.page-designer-reference .productCarousel_wrapper .slick-next{display:block;left:inherit;top:50%}@media (max-width: 768.98px){.page-designer-reference .productCarousel_wrapper .slick-prev,.page-designer-reference .productCarousel_wrapper .slick-next{top:40%}}.page-designer-reference .productCarousel_wrapper .slick-disabled{opacity:0;pointer-events:none}.page-designer-reference .productCarousel_wrapper .slick-prev{left:13px;z-index:1}@media (max-width: 768.98px){.page-designer-reference .productCarousel_wrapper .slick-prev{left:11px}}@media (max-width: 768.98px){.page-designer-reference .productCarousel_wrapper .slick-next{right:11px}}.page-designer-reference .carousel_container:not(.heroCarousel) h2,.page-designer-reference .carousel_container:not(.heroCarousel) h3,.page-designer-reference .carousel_container:not(.heroCarousel) .carousel-title{padding:10px 20px;border-top:1px solid #919191;background-color:#f6f4f5;border-bottom:1px solid #919191;margin:0}.page-designer-reference .carousel_left_text{text-align:left}.page-designer-reference .carousel_right_text{text-align:right}.page-designer-reference .carousel_center_text{text-align:center}.page-designer-reference .layout-overrides .slick-dots{margin-top:0}.page-designer-reference .heroCarousel .slick-prev{border:solid #fff !important;border-width:0 2px 2px 0 !important;display:block;padding:3px;width:18px !important;height:18px !important;transform:rotate(135deg) !important;-webkit-transform:rotate(135deg) !important;right:initial !important;left:27px !important;top:50% !important;z-index:2}.page-designer-reference .slick-prev::before,.page-designer-reference .slick-next::before{display:none !important}.page-designer-reference .heroCarousel .slick-next,.page-designer-reference .heroCarousel .slick-prev{border:solid #fff;border-width:0 2px 2px 0;display:inline-block;padding:3px;width:18px !important;height:18px !important}.page-designer-reference .pCarousel .slick-next,.page-designer-reference .pCarousel .slick-prev{border:solid #000;border-width:0 1px 1px 0;display:inline-block;padding:3px;width:11px !important;height:11px !important}.page-designer-reference .pCarousel .slick-next{right:11px}@media (min-width: 1048px){.page-designer-reference .productCarousel_wrapper .mediaContainer .content_center{width:65%}.page-designer-reference .good_cotton_container{-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);width:90%}.page-designer-reference .gl_title{white-space:nowrap}.page-designer-reference .gl_content{margin:6px 0 44px}.page-designer-reference .white{color:#fff !important}.page-designer-reference .flash_container{width:96%}.page-designer-reference .flash_cta_black{max-width:86% !important}}@media (max-width: 1047.98px){.page-designer-reference .productImg{max-width:none}}.page-designer-reference .slick-prev,.page-designer-reference .heroCarousel .pCarousel .slick-prev{transform:rotate(135deg) !important;-webkit-transform:rotate(135deg) !important}.page-designer-reference .heroCarousel .slick-next{transform:rotate(-45deg);-webkit-transform:rotate(-45deg) !important;display:block;right:27px !important;left:initial !important;top:50% !important}.page-designer-reference .slick-next,.page-designer-reference .heroCarousel .pCarousel .slick-next{transform:rotate(-45deg) !important;-webkit-transform:rotate(-45deg) !important}.page-designer-reference .heroCarousel .slick-dots{position:absolute;bottom:10px}.page-designer-reference .heroCarousel .slick-dots li button{width:25px !important}.page-designer-reference .heroCarousel .slick-dots li button::before{width:10px;height:10px;background:#919191 !important;top:50%;left:50%;content:"";border-radius:8px;margin:-4px 0 0 -4px;opacity:1;position:absolute;font-size:6px;line-height:20px;text-align:center}.page-designer-reference .heroCarousel .slick-dots li .slick-active button::before{background:#fff !important}.page-designer-reference .heroCarousel .mediaContainer .mediaContent{margin:5px}.page-designer-reference .heroCarousel .mediaContainer .mediaContent a{text-decoration:underline;border:none !important;white-space:normal}.page-designer-reference .heroCarousel .img_container .desktop{display:none}.page-designer-reference .heroCarousel .img_container .mobile{display:block}.page-designer-reference .heroCarousel .img_container{display:block;margin:0}.page-designer-reference .heroCarousel .img_container .richtext{width:100% !important;margin-top:73px;padding:0 30px}.page-designer-reference .heroCarousel .pd_cta{margin:auto}.page-designer-reference .heroCarousel .cta_container .experience-component{left:initial !important;right:initial !important}.page-designer-reference .heroCarousel .hero_textAlignment_left .col-8{padding:0}.page-designer-reference .heroCarousel .registration-form-wrapper{padding:30px 25px 50px}.page-designer-reference .heroCarousel .account-signin-options{margin-bottom:40px;padding-bottom:25px;border-bottom:1px solid #fff}.page-designer-reference .heroCarousel .richtext{text-align:center !important}.page-designer-reference .heroCarousel .parallaxRow{background-size:initial;background-position:top}.page-designer-reference .heroCarousel .tiles{margin:5px;text-align:left}.page-designer-reference .category-text_container{position:absolute;top:40%;width:100%}.page-designer-reference .category-text{padding-right:0.5rem;padding-left:0.5rem;background-color:var(--background-color);color:var(--text-color);display:inline-block}@media screen and (max-width: 960px){.page-designer-reference .img_container .desktop{display:none}.page-designer-reference .img_container .mobile{display:block}.page-designer-reference .img_container{display:block;margin:0}.page-designer-reference .img_container .richtext{width:100% !important;margin-top:73px;padding:0 30px}}.page-designer-reference .pd_cta{display:table;margin:37px auto 55px;height:34px;border:1px solid;line-height:34px;font-size:12px;padding:4px 40px;text-align:center}.page-designer-reference .pd_cta a{text-decoration:none}.page-designer-reference .img_container{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.page-designer-reference .img_container .desktop{display:block}.page-designer-reference .img_container .mobile{display:none}.page-designer-reference .img_container li{line-height:19px;height:49px;font-size:15px;font-family:"Helvetica Neue LT Std Bold"}.page-designer-reference .img_container .img_wrapper{display:grid;grid-template-columns:1fr;grid-template-rows:1fr;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%}.page-designer-reference .img_container .richtext>*,.page-designer-reference .img_container .img-overlay>*{margin:0;padding:0;font-size:var(--mb-font-size);line-height:var(--mb-line-height, "normal")}@media (min-width: 1048px){.page-designer-reference .img_container .richtext>*,.page-designer-reference .img_container .img-overlay>*{font-size:var(--dt-font-size);line-height:var(--dt-line-height, "normal")}}.page-designer-reference .img_container .img-overlay,.page-designer-reference .img_container picture{grid-column:1/-1;grid-row:1/-1;width:100%}.page-designer-reference .img_container .img-overlay{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.page-designer-reference .img_container picture{overflow:hidden;height:100%}.page-designer-reference .img_container picture img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}@media (max-width: 1047.98px){.page-designer-reference .experience-layouts-customColumns [class*="col"]{padding:0;margin:0}}@media (max-width: 1047.98px){.page-designer-reference .mb-custom-width{max-width:var(--width-mb) !important}}@media (min-width: 1048px){.page-designer-reference .dt-custom-width{max-width:var(--width-dt) !important}}@media (max-width: 1047.98px){.page-designer-reference .mb-custom-height{height:var(--height-mb) !important}.page-designer-reference .mb-custom-height div{height:100%}}@media (min-width: 1048px){.page-designer-reference .dt-custom-height{height:var(--height-dt) !important}.page-designer-reference .dt-custom-height div{height:100%}}.page-designer-reference .exp-layout{margin-block:var(--mtMb) var(--mbMb) !important}@media (min-width: 1048px){.page-designer-reference .exp-layout{margin-block:var(--mtDt) var(--mbDt) !important}}.page-designer-reference .mobile-1-desktop-2{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}@media (min-width: 769px){.page-designer-reference .mobile-1-desktop-2.columns-equal-height .region{-ms-flex-item-align:stretch;align-self:stretch}}@media (min-width: 769px){.page-designer-reference .mobile-1-desktop-2.columns-equal-height .experience-assets-prefilledCarousel,.page-designer-reference .mobile-1-desktop-2.columns-equal-height .experience-assets-prefilledCarousel>div,.page-designer-reference .mobile-1-desktop-2.columns-equal-height .search-container__main,.page-designer-reference .mobile-1-desktop-2.columns-equal-height .search-result-content,.page-designer-reference .mobile-1-desktop-2.columns-equal-height .defaultCarousel{height:100%}}.page-designer-reference .mobile-1-desktop-2 .region{-ms-flex-item-align:center;align-self:center;padding:var(--padding-mb);width:100%}@media (min-width: 769px){.page-designer-reference .mobile-1-desktop-2 .region{padding:var(--padding-dt)}.page-designer-reference .mobile-1-desktop-2 .region.w-50-dt{width:50%}}@media (max-width: 1047.98px){.page-designer-reference .mobile-1-desktop-2 .reversed{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}}.page-designer-reference .absoluteText .mediaContentContainer{position:absolute;inset:0;width:100%}.page-designer-reference .absoluteText .mediaContentContainer.fixed{position:fixed;height:auto !important;z-index:1}.page-designer-reference .absoluteText .mediaContent{position:absolute;z-index:1}.page-designer-reference .absoluteText .mediaContent.over-absolute-link{z-index:3}.page-designer-reference .absoluteText .content_right,.page-designer-reference .absoluteText .content_left{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.page-designer-reference .absoluteText .content_center{left:50%;top:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}.page-designer-reference .absoluteText .leftCTA .mediaContent{text-align:left;left:20px;top:50%;-webkit-transform:translate(0, -50%);transform:translate(0, -50%);padding:0}@media (min-width: 1048px){.page-designer-reference .absoluteText .leftCTA .mediaContent{left:40px}}.page-designer-reference .absoluteText .rightCTA .mediaContent{text-align:right;right:20px;top:50%;-webkit-transform:translate(0, -50%);transform:translate(0, -50%);left:initial;padding:0}@media (min-width: 1048px){.page-designer-reference .absoluteText .rightCTA .mediaContent{right:40px}}.page-designer-reference .absoluteText .bottom-centerCTA{margin:0 auto}.page-designer-reference .absoluteText .bottom-centerCTA .mediaContent{top:initial;margin:0 auto;padding:0 15px;-webkit-transform:translate(-50%, 0);transform:translate(-50%, 0);bottom:50px;left:50%}@media (min-width: 1048px){.page-designer-reference .absoluteText .bottom-centerCTA .mediaContent{left:50%;bottom:50px;padding:0 20px}}.page-designer-reference .absoluteText .bottom-leftCTA{margin:0}.page-designer-reference .absoluteText .bottom-leftCTA .mediaContent{text-align:left;left:0;top:initial;-webkit-transform:translate(0, 0);transform:translate(0, 0);bottom:50px}@media (min-width: 1048px){.page-designer-reference .absoluteText .bottom-leftCTA .mediaContent{left:50px;bottom:50px}}.page-designer-reference .absoluteText .bottom-rightCTA{margin:0 auto}.page-designer-reference .absoluteText .bottom-rightCTA .mediaContent{text-align:right;top:initial;-webkit-transform:translate(0, 0);transform:translate(0, 0);bottom:20px;right:20px;left:initial;padding:0;margin:0}@media (min-width: 1048px){.page-designer-reference .absoluteText .bottom-rightCTA .mediaContent{right:40px;bottom:40px}}.page-designer-reference .absoluteText .content_topLeft,.page-designer-reference .absoluteText .content_bottomLeft,.page-designer-reference .absoluteText .content_left{left:unset}@media (min-width: 769px){.page-designer-reference .absoluteText .content_topLeft,.page-designer-reference .absoluteText .content_bottomLeft,.page-designer-reference .absoluteText .content_left{left:20px}}.page-designer-reference .absoluteText .content_topRight,.page-designer-reference .absoluteText .content_bottomRight,.page-designer-reference .absoluteText .content_right{right:unset}@media (min-width: 769px){.page-designer-reference .absoluteText .content_topRight,.page-designer-reference .absoluteText .content_bottomRight,.page-designer-reference .absoluteText .content_right{right:20px}}.page-designer-reference .absoluteText .content_topLeft,.page-designer-reference .absoluteText .content_topRight{top:var(--header-height)}.page-designer-reference .absoluteText .content_bottomLeft,.page-designer-reference .absoluteText .content_bottomRight{bottom:0}@media (min-width: 1048px){.page-designer-reference .absoluteText .content_bottomLeft,.page-designer-reference .absoluteText .content_bottomRight{bottom:10px}}.pd_cta{display:table;margin:37px auto 55px;height:32px;font-family:"Helvetica Neue LT Std Bold";letter-spacing:1pt;border:1px solid;text-transform:uppercase;line-height:32px;font-size:12px;padding:4px 40px;text-align:center}.pd_cta a{text-decoration:none}.pd_cta a:hover{text-decoration:none}.richtext{letter-spacing:1px}.richtext h3{font-size:35px;line-height:0.9}.richtext h2{font-size:62px;line-height:0.9}.richtext h4{padding-bottom:20px}@media (max-width: 1047.98px){.richtext{width:100% !important;text-align:left;padding:0 30px}}.page-designer-reference .experience-layouts-blockWithText .block-header,.page-designer-reference .experience-layouts-blockWithText .text-block,.page-designer-reference .experience-layouts-customColumns .block-header,.page-designer-reference .experience-layouts-customColumns .text-block{padding-top:var(--padding-top-mb, 0);padding-bottom:var(--padding-bottom-mb, 0);font-size:var(--mb-font-size);line-height:var(--mb-line-height, 1);max-width:var(--mb-max-width)}@media (min-width: 1048px){.page-designer-reference .experience-layouts-blockWithText .block-header,.page-designer-reference .experience-layouts-blockWithText .text-block,.page-designer-reference .experience-layouts-customColumns .block-header,.page-designer-reference .experience-layouts-customColumns .text-block{padding-top:var(--padding-top-dt, 0);padding-bottom:var(--padding-bottom-dt, 0);font-size:var(--dt-font-size);line-height:var(--dt-line-height, 1);max-width:var(--dt-max-width)}}.page-designer-reference .experience-layouts-blockWithText .block-header p,.page-designer-reference .experience-layouts-blockWithText .text-block p,.page-designer-reference .experience-layouts-customColumns .block-header p,.page-designer-reference .experience-layouts-customColumns .text-block p{margin:0}.page-designer-reference .experience-layouts-blockWithText .block-header a,.page-designer-reference .experience-layouts-blockWithText .text-block a,.page-designer-reference .experience-layouts-customColumns .block-header a,.page-designer-reference .experience-layouts-customColumns .text-block a{color:var(--text-color)}.page-designer-reference .experience-layouts-blockWithText .block-header a:hover,.page-designer-reference .experience-layouts-blockWithText .text-block a:hover,.page-designer-reference .experience-layouts-customColumns .block-header a:hover,.page-designer-reference .experience-layouts-customColumns .text-block a:hover{color:inherit}.page-designer-reference .experience-layouts-blockWithText .pd-bg-black,.page-designer-reference .experience-layouts-customColumns .pd-bg-black{color:#fff}.page-designer-reference .experience-layouts-blockWithText .text-with-heading,.page-designer-reference .experience-layouts-customColumns .text-with-heading{padding:77px 28px 58px}@media (min-width: 1048px){.page-designer-reference .experience-layouts-blockWithText .text-with-heading,.page-designer-reference .experience-layouts-customColumns .text-with-heading{-webkit-padding-before:94px;padding-block-start:94px;-webkit-padding-after:47px;padding-block-end:47px}}.page-designer-reference .experience-layouts-blockWithText .text-with-heading .text-block h3,.page-designer-reference .experience-layouts-customColumns .text-with-heading .text-block h3{font-size:25px;line-height:100%;text-transform:uppercase;-webkit-margin-after:25px;margin-block-end:25px;text-wrap:balance}@media (max-width: 1199.98px){.page-designer-reference .experience-layouts-blockWithText .text-with-heading .text-block h3,.page-designer-reference .experience-layouts-customColumns .text-with-heading .text-block h3{-webkit-margin-after:30px;margin-block-end:30px}}.page-designer-reference .experience-layouts-blockWithText .text-with-heading a,.page-designer-reference .experience-layouts-customColumns .text-with-heading a{letter-spacing:initial}.page-designer-reference .experience-layouts-blockWithText .text-with-heading a span,.page-designer-reference .experience-layouts-customColumns .text-with-heading a span{font-size:var(--mb-font-size)}@media (min-width: 1048px){.page-designer-reference .experience-layouts-blockWithText .text-with-heading a span,.page-designer-reference .experience-layouts-customColumns .text-with-heading a span{font-size:var(--dt-font-size)}}.mediaContainer{position:relative;overflow:hidden;width:100%;z-index:1}.mediaContainer-clickable-areas{position:absolute;left:0;top:0;right:0;bottom:0;z-index:2}.mediaContainer img{width:100%;height:auto}.mediaContainer video{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.mediaContainer .mediaImage picture{display:block;width:100%}.mediaContainer .cta_container{margin:0}.mediaContainer .text_white,.mediaContainer .text_white a,.mediaContainer .text_white p{color:#fff !important}.mediaContainer .text_black,.mediaContainer .text_black a,.mediaContainer .text_black p{color:#000 !important}.mediaContainer .content_center{text-align:center}.mediaContainer .content_topRight,.mediaContainer .content_bottomRight,.mediaContainer .content_right{text-align:right}.mediaContainer .content_bottomLeft,.mediaContainer .content_topLeft,.mediaContainer .content_left{text-align:left}.mediaContainer .mediaContent{margin-top:10px;margin-inline:auto;position:relative;max-width:var(--max-width-mb, unset)}.mediaContainer .mediaContent,.mediaContainer .mediaContent *{pointer-events:none}.mediaContainer .mediaContent a,.mediaContainer .mediaContent button{pointer-events:auto}@media (min-width: 1048px){.mediaContainer .mediaContent{max-width:var(--max-width-dt, unset)}}.mediaContainer .mediaContent .contentWrapper{margin:auto;width:100%;text-transform:none}.mediaContainer .mediaCustomText{z-index:2}.mediaContainer.absoluteText .mediaContentContainer{position:absolute;inset:0}.mediaContainer.absoluteText .mediaContent{position:absolute;z-index:3}.mediaContainer.absoluteText .content_right,.mediaContainer.absoluteText .content_left{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.mediaContainer.absoluteText .content_center{left:50%;top:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}.mediaContainer.absoluteText .content_topLeft,.mediaContainer.absoluteText .content_bottomLeft,.mediaContainer.absoluteText .content_left{left:unset}@media (min-width: 769px){.mediaContainer.absoluteText .content_topLeft,.mediaContainer.absoluteText .content_bottomLeft,.mediaContainer.absoluteText .content_left{left:7%}}.mediaContainer.absoluteText .content_topRight,.mediaContainer.absoluteText .content_bottomRight,.mediaContainer.absoluteText .content_right{right:unset}@media (min-width: 769px){.mediaContainer.absoluteText .content_topRight,.mediaContainer.absoluteText .content_bottomRight,.mediaContainer.absoluteText .content_right{right:7%}}.mediaContainer.absoluteText .content_topLeft,.mediaContainer.absoluteText .content_topRight{top:calc(var(--header-height) + 60px)}@media (min-width: 1048px){.mediaContainer.absoluteText .content_topLeft,.mediaContainer.absoluteText .content_topRight{top:calc(var(--header-height) + 80px)}}.mediaContainer.absoluteText .content_bottomLeft,.mediaContainer.absoluteText .content_bottomRight{bottom:0}@media (min-width: 1048px){.mediaContainer.absoluteText .content_bottomLeft,.mediaContainer.absoluteText .content_bottomRight{bottom:10px}}.productCarousel_wrapper .mediaContainer .content_left{text-align:left;margin:10px 20px 10px}.productCarousel_wrapper .mediaContainer .content_center{text-align:center;margin:0 auto;width:30%}.productCarousel_wrapper .mediaContainer .content_right{text-align:right;margin:0}.productCarousel_wrapper .mediaContainer .contentWrapper p{margin:0}.mediaContainer.hl-grid-shop-now-tile .mediaContent{margin-top:0;padding:12px 10px;background-color:#eff3f4}@media (min-width: 1048px){.mediaContainer.hl-grid-shop-now-tile .mediaContent{padding:15px}}.mediaContainer.hl-grid-shop-now-tile .mediaContainer-abs-link{position:absolute;width:100%;height:100%;left:0;top:0;z-index:1}.mediaContainer.hl-grid-shop-now-tile .contentWrapper{text-transform:uppercase;font-size:13.5px}.mediaContainer.hl-grid-shop-now-tile .contentWrapper p{display:inline-block}.mediaContainer.hl-grid-shop-now-tile .mediaImage{padding-bottom:16px;background-color:#eff3f4}@media (min-width: 1048px){.mediaContainer.hl-grid-shop-now-tile .mediaImage{padding-bottom:40px}}.mediaContainer.hl-grid-shop-now-tile .media-shop-now{display:none}@media (hover: hover) and (pointer: fine) and (min-width: 1048px){.mediaContainer.hl-grid-shop-now-tile:hover .media-shop-now{display:inline-block}}.mediaContainer.showcase-bigtitle .mediaContent,.mediaContainer.showcase-standard .mediaContent{width:100%;padding:0 10px}.mediaContainer.showcase-bigtitle .mediaContent h3,.mediaContainer.showcase-standard .mediaContent h3{font-size:25px;line-height:100%;text-transform:uppercase;margin:0;font-weight:initial}.mediaContainer.showcase-bigtitle .mediaContent h3+p,.mediaContainer.showcase-standard .mediaContent h3+p{-webkit-margin-before:15px;margin-block-start:15px}@media (min-width: 1048px){.mediaContainer.showcase-bigtitle .mediaContent h3+p,.mediaContainer.showcase-standard .mediaContent h3+p{-webkit-margin-before:24px;margin-block-start:24px}}.mediaContainer.showcase-bigtitle .mediaContent p,.mediaContainer.showcase-standard .mediaContent p{font-size:13.5px}@media (min-width: 1048px){.mediaContainer.showcase-bigtitle .mediaContent p,.mediaContainer.showcase-standard .mediaContent p{font-size:15px}}.mediaContainer.showcase-bigtitle .mediaContent .customCta,.mediaContainer.showcase-standard .mediaContent .customCta{border-bottom:0;font-size:var(--mb-font-size, 13.5px)}@media (min-width: 1048px){.mediaContainer.showcase-bigtitle .mediaContent .customCta,.mediaContainer.showcase-standard .mediaContent .customCta{font-size:var(--dt-font-size, 15.5px)}}.mediaContainer.showcase-bigtitle .mediaContent .customCta a,.mediaContainer.showcase-standard .mediaContent .customCta a{text-decoration:none;letter-spacing:initial}.mediaContainer.showcase-bigtitle .mediaContent .customCta a.active-link,.mediaContainer.showcase-standard .mediaContent .customCta a.active-link{border-bottom:0;text-decoration:underline;text-underline-offset:4px;-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.mediaContainer.showcase-bigtitle .mediaContent h3{font-size:40.5px}.shop-the-look-container .shop-the-look-image{width:100%;height:auto}.freeScroll{position:relative;width:100%}@media (max-width: 1047.98px){.freeScroll .carousel-tile-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;-ms-overflow-style:none;scrollbar-width:none;-webkit-overflow-scrolling:touch;overflow-x:scroll;overflow-y:hidden}.freeScroll .product-grid-tile--small{-ms-flex-negative:0;flex-shrink:0}}.experience-assets-prefilledCarousel .search-container.fullTile a,.experience-assets-prefilledCarousel .search-container.fullTile a:hover{color:#fff}.experience-assets-prefilledCarousel .search-container.fullTile a.quickview,.experience-assets-prefilledCarousel .search-container.fullTile a.attribute-value_link,.experience-assets-prefilledCarousel .search-container.fullTile a.link,.experience-assets-prefilledCarousel .search-container.fullTile a:hover.quickview,.experience-assets-prefilledCarousel .search-container.fullTile a:hover.attribute-value_link,.experience-assets-prefilledCarousel .search-container.fullTile a:hover.link{color:#000}.experience-assets-prefilledCarousel .search-container.fullTile h2{font-size:inherit}.experience-assets-prefilledCarousel .search-container.fullTile .tile-body .link{color:currentColor}.experience-assets-prefilledCarousel .search-container.fullTile .tile-body .link:hover{color:currentColor}.experience-assets-prefilledCarousel .search-container.fullTile .tile-body .price del:not(.d-none)+.sales,.experience-assets-prefilledCarousel .search-container.fullTile .tile-body .price{color:currentColor}.experience-assets-prefilledCarousel .search-container.fullTile .tile-body .product-badge,.experience-assets-prefilledCarousel .search-container.fullTile .tile-body .price .strike-through{color:#919191 !important}.experience-assets-prefilledCarousel .search-container:not(.fullTile) .product-grid-tile--small.invisible{visibility:visible !important}@media (max-width: 1199.98px){.experience-assets-prefilledCarousel .search-container:not(.fullTile) .defaultCarousel .product-tile .image-container a .tile-image{aspect-ratio:var(--aspectRatioMb)}}.experience-assets-prefilledCarousel .search-container:not(.fullTile).carouselBackground{background-color:#f1f2f4}@media (min-width: 1048px){.experience-assets-prefilledCarousel .search-container:not(.fullTile).carouselBackground .slick-arrow{top:calc(50% - 50px)}}.experience-assets-prefilledCarousel .search-container:not(.fullTile) .tile-body{padding:15px;background-color:transparent}@media (max-width: 1199.98px){.experience-assets-prefilledCarousel .search-container:not(.fullTile) .tile-body{padding:15px 10px}}@media (max-width: 1199.98px){.experience-assets-prefilledCarousel .search-container:not(.fullTile) .tile-body .link{text-transform:initial}}.experience-assets-prefilledCarousel .search-container:not(.fullTile) .tile-body .price del:not(.d-none)+.sales,.experience-assets-prefilledCarousel .search-container:not(.fullTile) .tile-body .price{color:currentColor}.experience-assets-prefilledCarousel .search-container:not(.fullTile) .tile-body .product-badge,.experience-assets-prefilledCarousel .search-container:not(.fullTile) .tile-body .price .strike-through{color:#919191 !important}.experience-assets-prefilledCarousel .search-container:not(.fullTile) .tileBackgroundDt .product-tile{background-color:#f1f2f4}.experience-assets-prefilledCarousel .search-container:not(.fullTile) .tileBackgroundDt .tile-body{background-color:transparent}@media (max-width: 1199.98px){.experience-assets-prefilledCarousel .search-container:not(.fullTile) .product-tile{background-color:#f1f2f4}}.experience-assets-prefilledCarousel .search-container:not(.fullTile) .product-badges-container .product-badges{display:none}.experience-assets-prefilledCarousel .search-container:not(.fullTile) .product-badges-container.product-badges--absolute{position:relative;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;padding:0}.experience-assets-prefilledCarousel .search-container:not(.fullTile) .product-badges-container.product-badges--absolute .product-badges .product-badge,.experience-assets-prefilledCarousel .search-container:not(.fullTile) .product-badges-container.product-badges--absolute .product-plp-badge{display:block;color:#9f9f9f;padding:0 15px 15px}@media (max-width: 1199.98px){.experience-assets-prefilledCarousel .search-container:not(.fullTile) .product-badges-container.product-badges--absolute .product-badges .product-badge,.experience-assets-prefilledCarousel .search-container:not(.fullTile) .product-badges-container.product-badges--absolute .product-plp-badge{padding:0 10px 15px}}.experience-assets-prefilledCarousel .search-container:not(.fullTile) .product-badges-container.product-badges--absolute>:last-child{margin:calc(-1 * 15px) 0 0 0}@media (max-width: 1199.98px){.experience-assets-prefilledCarousel .search-container:not(.fullTile) .showProductBadgeMb .product-badges-container .product-badges{display:block}}@media (min-width: 1048px){.experience-assets-prefilledCarousel .search-container:not(.fullTile) .showProductBadgeDt .product-badges-container .product-badges{display:block}}@media (min-width: 1048px){.experience-assets-prefilledCarousel .search-container:not(.fullTile) .hideTileTitle .link{display:none}.experience-assets-prefilledCarousel .search-container:not(.fullTile) .hidePrice .price{display:none}.experience-assets-prefilledCarousel .search-container:not(.fullTile) .hideTileTitle.hidePrice .tile-body{display:none}}@media (max-width: 1199.98px){.experience-assets-prefilledCarousel .search-container:not(.fullTile) .hideTileTitleMb .link{display:none}.experience-assets-prefilledCarousel .search-container:not(.fullTile) .hidePriceMb .price{display:none}}@media (min-width: 1048px){.experience-assets-prefilledCarousel .search-container:not(.fullTile) .showTilePriceAndTitleOnHover .price,.experience-assets-prefilledCarousel .search-container:not(.fullTile) .showTilePriceAndTitleOnHover .link{opacity:0}.experience-assets-prefilledCarousel .search-container:not(.fullTile) .showTilePriceAndTitleOnHover:hover .price,.experience-assets-prefilledCarousel .search-container:not(.fullTile) .showTilePriceAndTitleOnHover:hover .link{opacity:1}.experience-assets-prefilledCarousel .search-container:not(.fullTile) .showTilePriceAndTitleOnHover.hideTileTitle .link{display:block}}.experience-assets-prefilledCarousel .search-container:not(.fullTile) .carousel-heading{padding:15px 10px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}@media (min-width: 1048px){.experience-assets-prefilledCarousel .search-container:not(.fullTile) .carousel-heading{padding:15px}}.experience-assets-prefilledCarousel .search-container:not(.fullTile) .carousel-heading-link{text-decoration:underline;color:#000}.experience-assets-prefilledCarousel .search-container:not(.fullTile) .carousel-heading-link:hover{color:black}.experience-assets-prefilledCarousel .search-container:not(.fullTile) .slick-track{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important}.experience-assets-prefilledCarousel .search-container:not(.fullTile) .slick-slide{margin:0 1px;height:inherit !important}@media (min-width: 1048px){.mobile-1-desktop-2 .experience-assets-prefilledCarousel .search-container:not(.fullTile) .slick-slide{margin:0}}@media (max-width: 1199.98px){.experience-assets-prefilledCarousel .search-container:not(.fullTile) .slick-slide{margin:0 calc(var(--slidesGapMb) / 2)}}.experience-assets-prefilledCarousel .search-container:not(.fullTile) .slick-slide>div,.experience-assets-prefilledCarousel .search-container:not(.fullTile) .slick-slide .product-grid-tile--small,.experience-assets-prefilledCarousel .search-container:not(.fullTile) .slick-slide .product-grid-tile--small>div,.experience-assets-prefilledCarousel .search-container:not(.fullTile) .slick-slide .grid-tile{height:100%}.experience-assets-prefilledCarousel .search-container:not(.fullTile) .slick-arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='15' viewBox='0 0 6 15' fill='none'%3E%3Cpath d='M1 14L5 7.25L1 0.5' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:6px 15px;width:6px;height:15px;-webkit-transform:rotate(0) !important;transform:rotate(0) !important;z-index:1;padding:5px;top:calc(50% - 8px)}@media (max-width: 1199.98px){.experience-assets-prefilledCarousel .search-container:not(.fullTile) .slick-arrow{display:none}}.experience-assets-prefilledCarousel .search-container:not(.fullTile) .slick-arrow.slick-prev{left:19px;-webkit-transform:rotate(180deg) !important;transform:rotate(180deg) !important}.experience-assets-prefilledCarousel .search-container:not(.fullTile) .slick-arrow.slick-next{right:19px}.experience-assets-prefilledCarousel .search-container:not(.fullTile) .slick-arrow.slick-disabled{display:none !important}@media (max-width: 1199.98px){.experience-assets-prefilledCarousel .search-container:not(.fullTile) .product-grid--small6 .hidePriceMb.hideTileTitleMb .tile-body{display:none}}@media (min-width: 1048px){.experience-assets-prefilledCarousel .search-container:not(.fullTile) .product-grid--small6 .hidePrice.hideTileTitle .tile-body{display:none}}.grid-layout .grid-element{display:grid;grid-template-columns:repeat(var(--columns-mb, 2), 1fr);-webkit-column-gap:var(--column-gap-mb, 2px);-moz-column-gap:var(--column-gap-mb, 2px);column-gap:var(--column-gap-mb, 2px);row-gap:var(--row-gap-mb, 2px)}@media (min-width: 769px){.grid-layout .grid-element{grid-template-columns:repeat(var(--columns-dt, 4), 1fr);-webkit-column-gap:var(--column-gap-dt, 2px);-moz-column-gap:var(--column-gap-dt, 2px);column-gap:var(--column-gap-dt, 2px);row-gap:var(--row-gap-dt, 2px)}}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvc2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2suc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvc2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2stdGhlbWUuc2NzcyIsIndlYnBhY2s6Ly8vLi9jYXJ0cmlkZ2VzL2FwcF9obC9jYXJ0cmlkZ2UvY2xpZW50L2RlZmF1bHQvc2Nzcy9wYWdlZGVzaWduZXIvX3BhZ2VfZGVzaWduZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9jYXJ0cmlkZ2VzL2FwcF9obC9jYXJ0cmlkZ2UvY2xpZW50L2RlZmF1bHQvc2Nzcy9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9jYXJ0cmlkZ2VzL2FwcF9obC9jYXJ0cmlkZ2UvY2xpZW50L2RlZmF1bHQvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vY2FydHJpZGdlcy9hcHBfaGwvY2FydHJpZGdlL2NsaWVudC9kZWZhdWx0L3Njc3MvcGFnZWRlc2lnbmVyL19jdGEuc2NzcyIsIndlYnBhY2s6Ly8vLi9jYXJ0cmlkZ2VzL2FwcF9obC9jYXJ0cmlkZ2UvY2xpZW50L2RlZmF1bHQvc2Nzcy9wYWdlZGVzaWduZXIvX3JpY2h0ZXh0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vY2FydHJpZGdlcy9hcHBfaGwvY2FydHJpZGdlL2NsaWVudC9kZWZhdWx0L3Njc3MvcGFnZWRlc2lnbmVyL19ibG9ja1dpdGhUZXh0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vY2FydHJpZGdlcy9hcHBfaGwvY2FydHJpZGdlL2NsaWVudC9kZWZhdWx0L3Njc3MvcGFnZWRlc2lnbmVyL19tZWRpYVRpbGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9jYXJ0cmlkZ2VzL2FwcF9obC9jYXJ0cmlkZ2UvY2xpZW50L2RlZmF1bHQvc2Nzcy9wYWdlZGVzaWduZXIvX3Nob3BUaGVMb29rLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vY2FydHJpZGdlcy9hcHBfaGwvY2FydHJpZGdlL2NsaWVudC9kZWZhdWx0L3Njc3MvY29tcG9uZW50cy9jYXJvdXNlbHMvX2ZyZWVTY3JvbGwuc2NzcyIsIndlYnBhY2s6Ly8vLi9jYXJ0cmlkZ2VzL2FwcF9obC9jYXJ0cmlkZ2UvY2xpZW50L2RlZmF1bHQvc2Nzcy9wYWdlZGVzaWduZXIvX3ByZWZpbGxlZENhcm91c2VsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vY2FydHJpZGdlcy9hcHBfaGwvY2FydHJpZGdlL2NsaWVudC9kZWZhdWx0L3Njc3MvcGFnZWRlc2lnbmVyL19ncmlkTGF5b3V0LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsY0FDSSxpQkFBa0IsQ0FDbEIsYUFBYyxDQUNkLDZCQUFzQixDQUF0QixxQkFBc0IsQ0FDdEIsMEJBQTJCLENBQzNCLHdCQUF5QixDQUV6QixxQkFBc0IsQ0FDdEIsb0JBQXFCLENBQ3JCLGdCQUFpQixDQUNqQixzQkFBdUIsQ0FDdkIsa0JBQW1CLENBQ25CLHVDQUF3QyxDQUMzQyxZQUVHLGlCQUFrQixDQUNsQixlQUFnQixDQUNoQixhQUFjLENBQ2QsUUFBUyxDQUNULFNBQVUsQ0FMZCxrQkFRUSxZQUFhLENBUnJCLHFCQVlRLGNBQWUsQ0FDZixXQUFZLENBQ2YscURBSUQsc0NBQXVDLENBSXZDLDhCQUErQixDQUNsQyxhQUdHLGlCQUFrQixDQUNsQixNQUFPLENBQ1AsS0FBTSxDQUNOLGFBQWMsQ0FDZCxnQkFBaUIsQ0FDakIsaUJBQWtCLENBTnRCLHVDQVVRLFVBQVcsQ0FDWCxhQUFjLENBWHRCLG1CQWVRLFVBQVcsQ0FDZCw0QkFHRyxpQkFBa0IsQ0FDckIsYUFHRCxVQUFXLENBQ1gsV0FBWSxDQUNaLGNBQWUsQ0FXZixZQUFhLENBbUJoQix5QkE1Qk8sV0FBWSxDQUxwQixpQkFRUSxhQUFjLENBUnRCLCtCQVdRLFlBQWEsQ0FYckIsMEJBaUJRLG1CQUFvQixDQUN2Qixn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LFNBQ0ksa09BS0EsU0FDSSx5SEFLSixhQUNhLDBGQU16QixpQlA1SEQsQ0FSSixtQk9zSWdCLENQdEloQixtQk9zSWdCLENQdEloQixZT3NJZ0IsQ0FBRSx1QkFDSSxDQURKLG9CQUNJLENBREosc0JBQ0kseUJBQ0ksQ0FESixxQkFDSSxDQURKLDZCQUNJLDRCUnZKVix3RlFtSlgsWUFPZSxDUG5JcEIsOEZPc0lVLHlCQUNvQixXQUNaLENQdE5qQixtR09vTmMsV0FLUyxvRkFNbkIsOEJBQ2EsQ0FEYiw4QkFDYSxDQURiLHVCQUNhLG9GQUdiLFlBQ1ksMEJBQ0EsNEJSOUtELHVHUTRLWCxRQU1ZLGdDUnJLRCxtRlErSlgscUNBV2tCLHFaQU1kLFdBQ1UsQ0FBRSxtRkFJaEIsME5BQ3NCLDRCQUNDLDJCQUNFLHlCQUNKLFVBQ2pCLENBQUssV0FDQyxDQUFFLHNDQUNhLENBRGIsOEJBQ2EsVUFDckIsWUFDQSxDQUFPLG1CQUNGLCtCUi9MRSxtRlFxTFgsWUFhZSxDQUFFLCtGQWJMLFNBaUJBLENQekxqQiwyQ08wTHVDLENQMUx2QyxtQ08wTHVDLCtGQWxCdEIsVUFzQkMsQ1A5TGxCLGtHT3dLaUIsdUJBMEJLLCtCUi9NTixvSVFxTjBCLFlBQ2xCLENBQUUsNEJSbk9WLGdJUXdPc0IsWUFDZCxDQUFFLDRCQ3JTcEIsWUFDRixDQUFFLHVEQUNjLDZDQUNYLENBRFcseUNBQ1gsQ0FEVyxvQ0FDWCwrQkFDSCwyQlR3RFUsMkJTNURWLHVEQU9rQiw2Q0FDWCxDQURXLHlDQUNYLENBRFcsb0NBQ1gsK0JBQ0giLCJmaWxlIjoiZGVmYXVsdFxcY3NzXFxwYWdlX2Rlc2lnbmVyLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIFNsaWRlciAqL1xuXG4uc2xpY2stc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnNsaWNrLWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5kcmFnZ2luZyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY3Vyc29yOiBoYW5kO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zbGljay10cmFjayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG59XG4uc2xpY2stc2xpZGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJi5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuZHJhZ2dpbmcgaW1nIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNsaWNrLWluaXRpYWxpemVkICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5zbGljay12ZXJ0aWNhbCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8gRGVmYXVsdCBWYXJpYWJsZXNcblxuLy8gU2xpY2sgaWNvbiBlbnRpdHkgY29kZXMgb3V0cHV0cyB0aGUgZm9sbG93aW5nXG4vLyBcIlxcMjE5MFwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oaQXCJcbi8vIFwiXFwyMTkyXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLihpJcIlxuLy8gXCJcXDIwMjJcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKAolwiXG5cbiRzbGljay1mb250LXBhdGg6IFwiLi9mb250cy9cIiAhZGVmYXVsdDtcbiRzbGljay1mb250LWZhbWlseTogXCJzbGlja1wiICFkZWZhdWx0O1xuJHNsaWNrLWxvYWRlci1wYXRoOiBcIi4vXCIgIWRlZmF1bHQ7XG4kc2xpY2stYXJyb3ctY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jb2xvcjogYmxhY2sgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNvbG9yLWFjdGl2ZTogJHNsaWNrLWRvdC1jb2xvciAhZGVmYXVsdDtcbiRzbGljay1wcmV2LWNoYXJhY3RlcjogXCJcXDIxOTBcIiAhZGVmYXVsdDtcbiRzbGljay1uZXh0LWNoYXJhY3RlcjogXCJcXDIxOTJcIiAhZGVmYXVsdDtcbiRzbGljay1kb3QtY2hhcmFjdGVyOiBcIlxcMjAyMlwiICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1zaXplOiA2cHggIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1kZWZhdWx0OiAwLjc1ICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktb24taG92ZXI6IDEgIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlOiAwLjI1ICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gc2xpY2staW1hZ2UtdXJsKCR1cmwpIHtcbiAgICBAaWYgZnVuY3Rpb24tZXhpc3RzKGltYWdlLXVybCkge1xuICAgICAgICBAcmV0dXJuIGltYWdlLXVybCgkdXJsKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuIHVybCgkc2xpY2stbG9hZGVyLXBhdGggKyAkdXJsKTtcbiAgICB9XG59XG5cbkBmdW5jdGlvbiBzbGljay1mb250LXVybCgkdXJsKSB7XG4gICAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhmb250LXVybCkge1xuICAgICAgICBAcmV0dXJuIGZvbnQtdXJsKCR1cmwpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gdXJsKCRzbGljay1mb250LXBhdGggKyAkdXJsKTtcbiAgICB9XG59XG5cbi8qIFNsaWRlciAqL1xuXG4uc2xpY2stbGlzdCB7XG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmYgc2xpY2staW1hZ2UtdXJsKFwiYWpheC1sb2FkZXIuZ2lmXCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgIH1cbn1cblxuLyogSWNvbnMgKi9cbkBpZiAkc2xpY2stZm9udC1mYW1pbHkgPT0gXCJzbGlja1wiIHtcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgICAgICAgc3JjOiBzbGljay1mb250LXVybChcInNsaWNrLmVvdFwiKTtcbiAgICAgICAgc3JjOiBzbGljay1mb250LXVybChcInNsaWNrLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2sud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay5zdmcjc2xpY2tcIikgZm9ybWF0KFwic3ZnXCIpO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgfVxufVxuXG4vKiBBcnJvd3MgKi9cblxuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktb24taG92ZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zbGljay1kaXNhYmxlZDpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlO1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkc2xpY2stZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGNvbG9yOiAkc2xpY2stYXJyb3ctY29sb3I7XG4gICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LWRlZmF1bHQ7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbn1cblxuLnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IC0yNXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAtMjVweDtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkc2xpY2stcHJldi1jaGFyYWN0ZXI7XG4gICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICBjb250ZW50OiAkc2xpY2stbmV4dC1jaGFyYWN0ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zbGljay1uZXh0IHtcbiAgICByaWdodDogLTI1cHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgbGVmdDogLTI1cHg7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRzbGljay1uZXh0LWNoYXJhY3RlcjtcbiAgICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRzbGljay1wcmV2LWNoYXJhY3RlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogRG90cyAqL1xuXG4uc2xpY2stZG90dGVkLnNsaWNrLXNsaWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLnNsaWNrLWRvdHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0yNXB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIG1hcmdpbjogMCA1cHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAwcHg7XG4gICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktb24taG92ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAkc2xpY2stZG90LWNoYXJhY3RlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRzbGljay1mb250LWZhbWlseTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzbGljay1kb3Qtc2l6ZTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3I7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3ItYWN0aXZlO1xuICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktZGVmYXVsdDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5wYWdlLWRlc2lnbmVyLXJlZmVyZW5jZSB7XG4gICAgcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAud2hpdGUge1xuICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgaDEge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY3VzdG9tQ3RhIHtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgaGVpZ2h0OiAxM3B4O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGhvdmVyLXN1cHBvcnRlZCgpIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNlbnRlckN0YSB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cblxuICAgIC50aWxlcyB7XG4gICAgICAgIG1hcmdpbjogMTBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICAudmlkX2NvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAucGxheXBhdXNlIHtcbiAgICAgICAgbGVmdDogMSU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5wbGF5cGF1c2UgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMzdweDtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gICAgICAgIHRyYW5zaXRpb246IDEwMG1zIGFsbCBlYXNlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJvcmRlci1zdHlsZTogZG91YmxlO1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAwIDM3cHg7XG4gICAgfVxuXG4gICAgLnBsYXlwYXVzZSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IC05OTk5cHg7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgLnBsYXlwYXVzZSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsIHtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxOHB4IDAgMThweCAzMXB4O1xuICAgIH1cblxuICAgIC5wbGF5cGF1c2UgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmZvY3VzICsgbGFiZWwge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgNXB4IGxpZ2h0Ymx1ZTtcbiAgICB9XG5cbiAgICAudm9sdW1lb25vZmYge1xuICAgICAgICByaWdodDogMSU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogNDRweDtcbiAgICAgICAgaGVpZ2h0OiA0NHB4O1xuICAgIH1cblxuICAgIC52b2x1bWVvbm9mZiAudm9sX29uIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGh0dHBzOi8vdGhlb3J5LmEuYmlnY29udGVudC5pby92MS9zdGF0aWMvc291bmQtb24pO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICB9XG5cbiAgICAudm9sdW1lb25vZmYgLnZvbF9vZmYge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaHR0cHM6Ly90aGVvcnkuYS5iaWdjb250ZW50LmlvL3YxL3N0YXRpYy9zb3VuZC1vZmYpO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICB9XG5cbiAgICAudGhyZWVDb2x1bW5XaXRoVGl0bGVfY29udGFpbmVyIC5oZWFkZXJfdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmNhcm91c2VsLFxuICAgIC5jYXJvdXNlbC1pbm5lcixcbiAgICAuY2Fyb3VzZWwtaXRlbSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLmV4cGVyaWVuY2UtbGF5b3V0cy0xY29sdW1uYmdpbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICAuZXhwZXJpZW5jZS1jb21wb25lbnQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuY29sQm9vdHN0cmFwMSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9XG5cbiAgICAucGFyYWxsYXhSb3cge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCB0b3A7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5wYXJhbGxheFJvdyAucmVnaW9uIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAuZXhwZXJpZW5jZS1sYXlvdXRzLTFjb2xCb290c3RyYXAge1xuICAgICAgICBtaW4td2lkdGg6IDUwcHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5mdWxsV2lkdGgge1xuICAgICAgICB3aWR0aDogY2FsYygxMDB2dyAtIHZhcigtLXNjcm9sbC1iYXIsIDBweCkpICFpbXBvcnRhbnQ7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgbGVuZ3RoLXplcm8tbm8tdW5pdCAqL1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgcmlnaHQ6IDUwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTUwdncgKyB2YXIoLS1zY3JvbGwtYmFyLCAwcHgpIC8gMik7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgbGVuZ3RoLXplcm8tbm8tdW5pdCAqL1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTUwdncgKyB2YXIoLS1zY3JvbGwtYmFyLCAwcHgpIC8gMik7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgbGVuZ3RoLXplcm8tbm8tdW5pdCAqL1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgLmZ1bGxXaWR0aERlc2t0b3Age1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSB2YXIoLS1zY3JvbGwtYmFyLCAwcHgpKSAhaW1wb3J0YW50OyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGxlbmd0aC16ZXJvLW5vLXVuaXQgKi9cbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHJpZ2h0OiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lOiBjYWxjKC01MHZ3ICsgKHZhcigtLXNjcm9sbC1iYXIsIDBweCkgLyAyKSkgIWltcG9ydGFudDsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSBsZW5ndGgtemVyby1uby11bml0ICovXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgLmZ1bGxXaWR0aE1vYmlsZSB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDB2dyAtIHZhcigtLXNjcm9sbC1iYXIsIDBweCkpICFpbXBvcnRhbnQ7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgbGVuZ3RoLXplcm8tbm8tdW5pdCAqL1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgcmlnaHQ6IDUwJTtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IGNhbGMoLTUwdncgKyAodmFyKC0tc2Nyb2xsLWJhciwgMHB4KSAvIDIpKSAhaW1wb3J0YW50OyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGxlbmd0aC16ZXJvLW5vLXVuaXQgKi9cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5weC0yIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5leHBlcmllbmNlLWxheW91dHMtMWNvbHVtbmJnaW1hZ2UgKyAuZXhwZXJpZW5jZS1sYXlvdXRzLTFjb2x1bW4ge1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIH1cblxuICAgIC5yZWdpb24gLmV4cGVyaWVuY2UtY29tcG9uZW50IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnJlZ2lvbl9sYW5kc2NhcGUtbGFyZ2U6OmJlZm9yZSxcbiAgICAucmVnaW9uX3NxdWFyZTo6YmVmb3JlLFxuICAgIC5yZWdpb25fbGFuZHNjYXBlLXNtYWxsOjpiZWZvcmUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jdGFfY29udGFpbmVyIC5yZWdpb24ge1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnJpY2h0ZXh0IGEge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgbWFyZ2luOiAxMHB4IGF1dG87XG4gICAgICAgIGhlaWdodDogMTNweDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICAgIH1cblxuICAgIC5yaWNodGV4dCBhOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgfVxuXG4gICAgLmpfbWVkaWFfY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5qX2N0YV9jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLml0dGNfdGl0bGUge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgIC50aHJlZUNvbHVtbldpdGhUaXRsZV9jb250YWluZXIgLnJlZ2lvbiAuZXhwZXJpZW5jZS1jb21wb25lbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLnRocmVlQ29sdW1uV2l0aFRpdGxlX2NvbnRhaW5lciAucmVnaW9uX3NxdWFyZTo6YmVmb3JlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IGluaXRpYWwgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuZXhwZXJpZW5jZS1sYXlvdXRzLXByb2R1Y3RjYXJvdXNlbCB7XG4gICAgICAgIC5jYXJvdXNlbF9jb250YWluZXIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3RDYXJvdXNlbF93cmFwcGVyIHtcbiAgICAgICAgLnNsaWNrLXNsaWRlOmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stc2xpZGUge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGdyZXk2O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXk4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNsaWNrLXByZXYsXG4gICAgICAgIC5zbGljay1uZXh0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbGVmdDogaW5oZXJpdDtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgICAgICAgICB0b3A6IDQwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGljay1kaXNhYmxlZCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stcHJldiB7XG4gICAgICAgICAgICBsZWZ0OiAxM3B4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSB6LWluZGV4KCdiYXNlJyk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDExcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stbmV4dCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgICAgICAgICByaWdodDogMTFweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJvdXNlbF9jb250YWluZXI6bm90KC5oZXJvQ2Fyb3VzZWwpIHtcbiAgICAgICAgaDIsXG4gICAgICAgIGgzLFxuICAgICAgICAuY2Fyb3VzZWwtdGl0bGUge1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRncmV5MztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5ODtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JleTM7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2Fyb3VzZWxfbGVmdF90ZXh0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICAuY2Fyb3VzZWxfcmlnaHRfdGV4dCB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIC5jYXJvdXNlbF9jZW50ZXJfdGV4dCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAubGF5b3V0LW92ZXJyaWRlcyAuc2xpY2stZG90cyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgLmhlcm9DYXJvdXNlbCAuc2xpY2stcHJldiB7XG4gICAgICAgIGJvcmRlcjogc29saWQgJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAycHggMnB4IDAgIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDNweDtcbiAgICAgICAgd2lkdGg6IDE4cHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZykgIWltcG9ydGFudDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpICFpbXBvcnRhbnQ7XG4gICAgICAgIHJpZ2h0OiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gICAgICAgIGxlZnQ6IDI3cHggIWltcG9ydGFudDtcbiAgICAgICAgdG9wOiA1MCUgIWltcG9ydGFudDtcblxuICAgICAgICBAaW5jbHVkZSB6LWluZGV4KCdzZWNvbmRhcnknKTtcbiAgICB9XG5cbiAgICAuc2xpY2stcHJldjo6YmVmb3JlLFxuICAgIC5zbGljay1uZXh0OjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmhlcm9DYXJvdXNlbCAuc2xpY2stbmV4dCxcbiAgICAuaGVyb0Nhcm91c2VsIC5zbGljay1wcmV2IHtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAkd2hpdGU7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAycHggMnB4IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogM3B4O1xuICAgICAgICB3aWR0aDogMThweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDE4cHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAucENhcm91c2VsIC5zbGljay1uZXh0LFxuICAgIC5wQ2Fyb3VzZWwgLnNsaWNrLXByZXYge1xuICAgICAgICBib3JkZXI6IHNvbGlkICRibGFjaztcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHggMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAzcHg7XG4gICAgICAgIHdpZHRoOiAxMXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMTFweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5wQ2Fyb3VzZWwgLnNsaWNrLW5leHQge1xuICAgICAgICByaWdodDogMTFweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgIC5wcm9kdWN0Q2Fyb3VzZWxfd3JhcHBlciAubWVkaWFDb250YWluZXIgLmNvbnRlbnRfY2VudGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiA2NSU7XG4gICAgICAgIH1cblxuICAgICAgICAuZ29vZF9jb3R0b25fY29udGFpbmVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5nbF90aXRsZSB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmdsX2NvbnRlbnQge1xuICAgICAgICAgICAgbWFyZ2luOiA2cHggMCA0NHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLndoaXRlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mbGFzaF9jb250YWluZXIge1xuICAgICAgICAgICAgd2lkdGg6IDk2JTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mbGFzaF9jdGFfYmxhY2sge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA4NiUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICAucHJvZHVjdEltZyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2xpY2stcHJldixcbiAgICAuaGVyb0Nhcm91c2VsIC5wQ2Fyb3VzZWwgLnNsaWNrLXByZXYge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpICFpbXBvcnRhbnQ7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5oZXJvQ2Fyb3VzZWwgLnNsaWNrLW5leHQge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHJpZ2h0OiAyN3B4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGxlZnQ6IGluaXRpYWwgIWltcG9ydGFudDtcbiAgICAgICAgdG9wOiA1MCUgIWltcG9ydGFudDtcblxuICAgICAgICAvKiB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgIWltcG9ydGFudDsgKi9cbiAgICB9XG5cbiAgICAuc2xpY2stbmV4dCxcbiAgICAuaGVyb0Nhcm91c2VsIC5wQ2Fyb3VzZWwgLnNsaWNrLW5leHQge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpICFpbXBvcnRhbnQ7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5oZXJvQ2Fyb3VzZWwgLnNsaWNrLWRvdHMge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMTBweDtcbiAgICB9XG5cbiAgICAuaGVyb0Nhcm91c2VsIC5zbGljay1kb3RzIGxpIGJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAyNXB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmhlcm9DYXJvdXNlbCAuc2xpY2stZG90cyBsaSBidXR0b246OmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRncmV5MyAhaW1wb3J0YW50O1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIG1hcmdpbjogLTRweCAwIDAgLTRweDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBmb250LXNpemU6IDZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuaGVyb0Nhcm91c2VsIC5zbGljay1kb3RzIGxpIC5zbGljay1hY3RpdmUgYnV0dG9uOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuaGVyb0Nhcm91c2VsIC5tZWRpYUNvbnRhaW5lciAubWVkaWFDb250ZW50IHtcbiAgICAgICAgbWFyZ2luOiA1cHg7XG4gICAgfVxuXG4gICAgLmhlcm9DYXJvdXNlbCAubWVkaWFDb250YWluZXIgLm1lZGlhQ29udGVudCBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC5oZXJvQ2Fyb3VzZWwgLmltZ19jb250YWluZXIgLmRlc2t0b3Age1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5oZXJvQ2Fyb3VzZWwgLmltZ19jb250YWluZXIgLm1vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5oZXJvQ2Fyb3VzZWwgLmltZ19jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5oZXJvQ2Fyb3VzZWwgLmltZ19jb250YWluZXIgLnJpY2h0ZXh0IHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXRvcDogNzNweDtcbiAgICAgICAgcGFkZGluZzogMCAzMHB4O1xuICAgIH1cblxuICAgIC5oZXJvQ2Fyb3VzZWwgLnBkX2N0YSB7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG5cbiAgICAuaGVyb0Nhcm91c2VsIC5jdGFfY29udGFpbmVyIC5leHBlcmllbmNlLWNvbXBvbmVudCB7XG4gICAgICAgIGxlZnQ6IGluaXRpYWwgIWltcG9ydGFudDtcbiAgICAgICAgcmlnaHQ6IGluaXRpYWwgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuaGVyb0Nhcm91c2VsIC5oZXJvX3RleHRBbGlnbm1lbnRfbGVmdCAuY29sLTgge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5oZXJvQ2Fyb3VzZWwgLnJlZ2lzdHJhdGlvbi1mb3JtLXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDI1cHggNTBweDtcbiAgICB9XG5cbiAgICAuaGVyb0Nhcm91c2VsIC5hY2NvdW50LXNpZ25pbi1vcHRpb25zIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkd2hpdGU7XG4gICAgfVxuXG4gICAgLmhlcm9DYXJvdXNlbCAucmljaHRleHQge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuaGVyb0Nhcm91c2VsIC5wYXJhbGxheFJvdyB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogaW5pdGlhbDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wO1xuICAgIH1cblxuICAgIC5oZXJvQ2Fyb3VzZWwgLnRpbGVzIHtcbiAgICAgICAgbWFyZ2luOiA1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgLmNhdGVnb3J5LXRleHRfY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDQwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmNhdGVnb3J5LXRleHQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgLmltZ19jb250YWluZXIgLmRlc2t0b3Age1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbWdfY29udGFpbmVyIC5tb2JpbGUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuaW1nX2NvbnRhaW5lciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbWdfY29udGFpbmVyIC5yaWNodGV4dCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNzNweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wZF9jdGEge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgbWFyZ2luOiAzN3B4IGF1dG8gNTVweDtcbiAgICAgICAgaGVpZ2h0OiAzNHB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgcGFkZGluZzogNHB4IDQwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbWdfY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAuZGVza3RvcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5tb2JpbGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0OXB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuaW1nX3dyYXBwZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAucmljaHRleHQgPiAqLFxuICAgICAgICAuaW1nLW92ZXJsYXkgPiAqIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IHZhcigtLW1iLWZvbnQtc2l6ZSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tbWItbGluZS1oZWlnaHQsIFwibm9ybWFsXCIpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1kdC1mb250LXNpemUpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1kdC1saW5lLWhlaWdodCwgXCJub3JtYWxcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaW1nLW92ZXJsYXksXG4gICAgICAgIHBpY3R1cmUge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEvLTE7XG4gICAgICAgICAgICBncmlkLXJvdzogMS8tMTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmltZy1vdmVybGF5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBwaWN0dXJlIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmV4cGVyaWVuY2UtbGF5b3V0cy1jdXN0b21Db2x1bW5zIHtcbiAgICAgICAgW2NsYXNzKj1cImNvbFwiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tYi1jdXN0b20td2lkdGgge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0td2lkdGgtbWIpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZHQtY3VzdG9tLXdpZHRoIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS13aWR0aC1kdCkgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tYi1jdXN0b20taGVpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IHZhcigtLWhlaWdodC1tYikgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgJiBkaXYge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kdC1jdXN0b20taGVpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgaGVpZ2h0OiB2YXIoLS1oZWlnaHQtZHQpICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICYgZGl2IHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZXhwLWxheW91dCB7XG4gICAgICAgIG1hcmdpbi1ibG9jazogdmFyKC0tbXRNYikgdmFyKC0tbWJNYikgIWltcG9ydGFudDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2s6IHZhcigtLW10RHQpIHZhcigtLW1iRHQpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBtb2JpbGVHcmlkMnIxY1xuICAgIC5tb2JpbGUtMS1kZXNrdG9wLTIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAmLmNvbHVtbnMtZXF1YWwtaGVpZ2h0IHtcbiAgICAgICAgICAgIC5yZWdpb24ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgICAgICAuZXhwZXJpZW5jZS1hc3NldHMtcHJlZmlsbGVkQ2Fyb3VzZWwsXG4gICAgICAgICAgICAgICAgLmV4cGVyaWVuY2UtYXNzZXRzLXByZWZpbGxlZENhcm91c2VsID4gZGl2LFxuICAgICAgICAgICAgICAgIC5zZWFyY2gtY29udGFpbmVyX19tYWluLFxuICAgICAgICAgICAgICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQsXG4gICAgICAgICAgICAgICAgLmRlZmF1bHRDYXJvdXNlbCB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucmVnaW9uIHtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLXBhZGRpbmctbWIpO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiB2YXIoLS1wYWRkaW5nLWR0KTtcblxuICAgICAgICAgICAgICAgICYudy01MC1kdCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnJldmVyc2VkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAtMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hYnNvbHV0ZVRleHQge1xuICAgICAgICAubWVkaWFDb250ZW50Q29udGFpbmVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGluc2V0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IC8vSXBob25lIDExIC8gSU9TIDEzIGZpeFxuXG4gICAgICAgICAgICAmLmZpeGVkIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB6LWluZGV4KCdiYXNlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWVkaWFDb250ZW50IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgei1pbmRleCgnYmFzZScpO1xuXG4gICAgICAgICAgICAmLm92ZXItYWJzb2x1dGUtbGluayB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgei1pbmRleCgndGVydGlhcnknKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250ZW50X3JpZ2h0LFxuICAgICAgICAuY29udGVudF9sZWZ0IHtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRlbnRfY2VudGVyIHtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAubGVmdENUQSB7XG4gICAgICAgICAgICAubWVkaWFDb250ZW50IHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogNDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucmlnaHRDVEEge1xuICAgICAgICAgICAgLm1lZGlhQ29udGVudCB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgICAgICAgICAgICAgbGVmdDogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgICAgICAgICByaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYm90dG9tLWNlbnRlckNUQSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICAgICAgLm1lZGlhQ29udGVudCB7XG4gICAgICAgICAgICAgICAgdG9wOiBpbml0aWFsO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgICAgICAgICAgICAgICBib3R0b206IDUwcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogNTBweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ib3R0b20tbGVmdENUQSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIC5tZWRpYUNvbnRlbnQge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB0b3A6IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICAgICAgICAgICAgYm90dG9tOiA1MHB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MHB4O1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDUwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJvdHRvbS1yaWdodENUQSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICAgICAgLm1lZGlhQ29udGVudCB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgdG9wOiBpbml0aWFsO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiBpbml0aWFsO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgICAgICAgICByaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiA0MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250ZW50X3RvcExlZnQsXG4gICAgICAgIC5jb250ZW50X2JvdHRvbUxlZnQsXG4gICAgICAgIC5jb250ZW50X2xlZnQge1xuICAgICAgICAgICAgbGVmdDogdW5zZXQ7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRlbnRfdG9wUmlnaHQsXG4gICAgICAgIC5jb250ZW50X2JvdHRvbVJpZ2h0LFxuICAgICAgICAuY29udGVudF9yaWdodCB7XG4gICAgICAgICAgICByaWdodDogdW5zZXQ7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250ZW50X3RvcExlZnQsXG4gICAgICAgIC5jb250ZW50X3RvcFJpZ2h0IHtcbiAgICAgICAgICAgIHRvcDogdmFyKC0taGVhZGVyLWhlaWdodCk7XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGVudF9ib3R0b21MZWZ0LFxuICAgICAgICAuY29udGVudF9ib3R0b21SaWdodCB7XG4gICAgICAgICAgICBib3R0b206IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICAgICAgICBib3R0b206IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAbWl4aW4gY2lyY2xlKCRkaWFtZXRlciwgJGNvbG9yKSB7IC8vIFNvdXJjZTogIGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL2tvZ2FrdXJlLzQ3Njk5MDRcbiAgICBib3JkZXI6IDAuMDYzZW0gc29saWQgcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgIHdpZHRoOiAkZGlhbWV0ZXI7XG4gICAgaGVpZ2h0OiAkZGlhbWV0ZXI7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGRpYW1ldGVyLzI7XG4gICAgYm9yZGVyLXJhZGl1czogJGRpYW1ldGVyLzI7XG59XG5cbkBtaXhpbiBzd2F0Y2goJGRpYW1ldGVyLCAkY29sb3IpIHtcbiAgICBAaW5jbHVkZSBjaXJjbGUoJGRpYW1ldGVyLCAkY29sb3IpO1xuICAgIEBpbmNsdWRlIHN3YXRjaC1jaGVjay1tYXJrKCk7XG5cbiAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDI1NSwgMDI1NSwgMjU1LCAxKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbkBtaXhpbiBzd2F0Y2gtY2hlY2stbWFyaygpIHtcbiAgICAmLmNvbG9yLXZhbHVlW2RhdGEtc2VsZWN0ZWQ9dHJ1ZV06OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5jb2xvci12YWx1ZS5zZWxlY3RlZDo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtaXhpbiB0b2FzdC1tZXNzYWdlKCkge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDE1JTtcbiAgICBsZWZ0OiA1MCU7XG59XG5cbkBtaXhpbiB0b2FzdC1hbGVydCgpIHtcbiAgICBhbmltYXRpb246IGZhZGUgNXMgbGluZWFyIGZvcndhcmRzO1xuICAgIGJveC1zaGFkb3c6IDFweCAxcHggNXB4IGdyZXk7XG4gICAgcGFkZGluZzogMWVtO1xuXG4gICAgQGtleWZyYW1lcyBmYWRlIHtcbiAgICAgICAgMCUgeyBvcGFjaXR5OiAwOyB9XG4gICAgICAgIDEwJSB7IG9wYWNpdHk6IDE7IH1cbiAgICAgICAgOTAlIHsgb3BhY2l0eTogMTsgfVxuICAgICAgICAxMDAlIHsgb3BhY2l0eTogMDsgfVxuICAgIH1cblxuICAgICYuc2hvdyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuQG1peGluIGhvdmVyLXN1cHBvcnRlZCgpIHtcbiAgICBAbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBjaGVja291dC1zZWN0aW9uIHtcbiAgICAuY2hlY2tvdXQtY2FyZC1oZWFkZXIge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJsYWNrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICRwLTctNTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIGhlYWRlci1kcm9wZG93bi1oZWlnaHQge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiA2NCU7XG4gICAgbWluLWhlaWdodDogNTAlO1xufVxuXG5AbWl4aW4gYmFja2Ryb3Age1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQ1LCAyNDUsIDI0NSwgMC4xKTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoJGJsdXItcmFkaXVzKTtcbn1cblxuLy8gei1pbmRleCBtYXAsIHN0YXJ0cyBmcm9tIC0xIHRvIGluZmluaXR5XG4kei1pbmRleGVkLWl0ZW1zOlxuICAgICduZWdhdGl2ZScsXG4gICAgJ3plcm8nLFxuICAgICdiYXNlJyxcbiAgICAnc2Vjb25kYXJ5JyxcbiAgICAndGVydGlhcnknLFxuICAgICdxdWF0ZXJuYXJ5JyxcbiAgICAnc2VsZWN0MicsXG4gICAgJ2hlYWRlci11bmRlci1tb2RhbCcsXG4gICAgJ21vZGFsLWJhY2tkcm9wJyxcbiAgICAnbW9kYWwnLFxuICAgICdtb2RhbDInLFxuICAgICdvdmVyLW1vZGFsJyxcbiAgICAnc3Bpbm5lcic7XG4kei1pbmRleC1tYXA6ICgpO1xuJHotY291bnRlcjogLTE7XG5cbkBlYWNoICRpdGVtIGluICR6LWluZGV4ZWQtaXRlbXMge1xuICAgICR6LWluZGV4LW1hcDogbWFwLW1lcmdlKCR6LWluZGV4LW1hcCwgKCRpdGVtOiAkei1jb3VudGVyKSk7XG4gICAgJHotY291bnRlcjogJHotY291bnRlciArIDE7XG59XG5cbkBtaXhpbiB6LWluZGV4KCRrZXkpIHtcbiAgICB6LWluZGV4OiBtYXAtZ2V0KCR6LWluZGV4LW1hcCwgJGtleSk7XG59XG5cbkBtaXhpbiBoaWRlLWZhZGluZyB7XG4gICAgYW5pbWF0aW9uOiBoaWRlIDAuNHMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7XG5cbiAgICBAa2V5ZnJhbWVzIGhpZGUge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRuICE9IG51bGwgYW5kICRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMDJweFxuLy8gdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gLjAyLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9mdW5jdGlvbnNcIjtcblxuLy8gQ29sb3JzXG5cbiR3aGl0ZTogI2ZmZiAhZGVmYXVsdDtcbiRibGFjazogIzAwMCAhZGVmYXVsdDtcbiRibHVlOiAjMDA3MGQyICFkZWZhdWx0O1xuJGJsdWUxOiAjMDAyM2Y1ICFkZWZhdWx0O1xuJGJsdWUyOiAjMDM2NGEwICFkZWZhdWx0O1xuJGdyZWVuOiAjMDA4ODI3ICFkZWZhdWx0O1xuJHJlZDogI2YwMCAhZGVmYXVsdDtcbiRncmV5MTogI2E1YTVhNSAhZGVmYXVsdDtcbiRncmV5MjogIzk2OTY5NiAhZGVmYXVsdDtcbiRncmV5MzogIzkxOTE5MSAhZGVmYXVsdDtcbiRncmV5NDogIzcwNzA3MCAhZGVmYXVsdDtcbiRncmV5NTogI2NlY2VjZSAhZGVmYXVsdDtcbiRncmV5NjogI2Q4ZDhkOCAhZGVmYXVsdDtcbiRncmV5NzogI2U5ZTllOSAhZGVmYXVsdDtcbiRncmV5ODogI2Y2ZjRmNSAhZGVmYXVsdDtcbiRncmV5OTogI2YxZjJmNCAhZGVmYXVsdDtcbiRncmV5MTA6ICM5ZjlmOWYgIWRlZmF1bHQ7XG4kZ3JleTExOiAjZWZmM2Y0ICFkZWZhdWx0O1xuXG4kcHJpbWFyeTogJGJsYWNrICFkZWZhdWx0O1xuJHN1Y2Nlc3M6ICRncmVlbiAhZGVmYXVsdDtcbiRkYW5nZXI6ICRyZWQgIWRlZmF1bHQ7XG4kZXJyb3ItY29sb3I6ICNhZDAwMDA7XG4kY2FsbG91dC1yZWQ6ICRlcnJvci1jb2xvcjtcblxuLy8gRGltZW5zaW9uc1xuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgICB4czogMCxcbiAgICBzbTogNTQ0cHgsXG4gICAgbWQ6IDc2OXB4LFxuICAgIGxnOiAxMDQ4cHgsXG4gICAgeGw6IDEyMDBweCxcbiAgICB4eGw6IDEzMDBweCxcbikgIWRlZmF1bHQ7XG5cbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICAgIG1kOiA3MjBweCxcbiAgICBsZzogOTAwcHgsXG4gICAgeGw6IDEzMDBweCxcbikgIWRlZmF1bHQ7XG5cbiRtaW4td2lkdGgtZGVza3RvcDogOTYwcHg7XG4kbWF4LXdpZHRoLW1vYmlsZTogOTU5cHg7XG5cbi8vIEhlYWRlclxuJGhlYWRlci1oZWlnaHQtbW9iaWxlOiA0NHB4O1xuJGhlYWRlci1oZWlnaHQtZGVza3RvcDogNzRweDtcbiRob21lcGFnZS1oZWFkZXItaGVpZ2h0LWRlc2t0b3A6IDczcHg7XG5cbi8vIEZvbnRzXG4kaGVsdmV0aWNhLW5ldWUtbHQtc3RkOiBcIkhlbHZldGljYSBOZXVlIExUIFN0ZFwiICFkZWZhdWx0O1xuJGhlbHZldGljYS1uZXVlLWx0LXN0ZC1tZWRpdW06IFwiSGVsdmV0aWNhIE5ldWUgTFQgU3RkIE1lZGl1bVwiICFkZWZhdWx0O1xuJGhlbHZldGljYS1uZXVlLWx0LXN0ZC1ib2xkOiBcIkhlbHZldGljYSBOZXVlIExUIFN0ZCBCb2xkXCIgIWRlZmF1bHQ7XG4kYmFzZS1mb250OiAkaGVsdmV0aWNhLW5ldWUtbHQtc3RkLWJvbGQ7XG5cbi8vIEZvbnQgc2l6ZXNcbiRmcy1kZXNrdG9wOiAxMy41cHggIWRlZmF1bHQ7XG4kZnMtbW9iaWxlOiAkZnMtZGVza3RvcCAhZGVmYXVsdDtcblxuLy8gTGluZSBoZWlnaHRcbiRsaC1kZXNrdG9wOiAxN3B4ICFkZWZhdWx0O1xuJGxoLW1vYmlsZTogMTZweCAhZGVmYXVsdDtcblxuLy8gUGFkZGluZ3NcbiRwLTM6IDNweCAhZGVmYXVsdDtcbiRwLTU6IDVweCAhZGVmYXVsdDtcbiRwLTctNTogNy41cHggIWRlZmF1bHQ7XG4kcC04OiA4cHggIWRlZmF1bHQ7XG4kcC04LTU6IDguNXB4ICFkZWZhdWx0O1xuJHAtOTogOXB4ICFkZWZhdWx0O1xuJHAtOS01OiA5LjVweCAhZGVmYXVsdDtcbiRwLTEwOiAxMHB4ICFkZWZhdWx0O1xuJHAtMTE6IDExcHggIWRlZmF1bHQ7XG4kcC0xMS01OiAxMS41cHggIWRlZmF1bHQ7XG4kcC0xMjogMTJweCAhZGVmYXVsdDtcbiRwLTEyLTU6IDEyLjVweCAhZGVmYXVsdDtcbiRwLTEzOiAxM3B4ICFkZWZhdWx0O1xuJHAtMTMtNTogMTMuNXB4ICFkZWZhdWx0O1xuJHAtMTQ6IDE0cHggIWRlZmF1bHQ7XG4kcC0xNTogMTVweCAhZGVmYXVsdDtcbiRwLTE2OiAxNnB4ICFkZWZhdWx0O1xuJHAtMTc6IDE3cHggIWRlZmF1bHQ7XG4kcC0xOTogMTlweCAhZGVmYXVsdDtcbiRwLTIwOiAyMHB4ICFkZWZhdWx0O1xuJHAtMjE6IDIxcHggIWRlZmF1bHQ7XG4kcC0yMi01OiAyMi41cHggIWRlZmF1bHQ7XG4kcC0yMzogMjNweCAhZGVmYXVsdDtcbiRwLTI0OiAyNHB4ICFkZWZhdWx0O1xuJHAtMjQtNTogMjQuNXB4ICFkZWZhdWx0O1xuJHAtMjU6IDI1cHggIWRlZmF1bHQ7XG4kcC0yOTogMjlweCAhZGVmYXVsdDtcbiRwLTMwOiAzMHB4ICFkZWZhdWx0O1xuJHAtMzEtNTogMzEuNXB4ICFkZWZhdWx0O1xuJHAtMzQ6IDM0cHggIWRlZmF1bHQ7XG4kcC0zNTogMzVweCAhZGVmYXVsdDtcbiRwLTM2LTU6IDM2LjVweCAhZGVmYXVsdDtcbiRwLTM3LTU6IDM3LjVweCAhZGVmYXVsdDtcbiRwLTM5OiAzOXB4ICFkZWZhdWx0O1xuJHAtNDA6IDQwcHggIWRlZmF1bHQ7XG4kcC0zODogMzhweCAhZGVmYXVsdDtcbiRwLTM5LTU6IDM5LjVweCAhZGVmYXVsdDtcbiRwLTQzLTU6IDQzLjVweCAhZGVmYXVsdDtcbiRwLTQ0OiA0NHB4ICFkZWZhdWx0O1xuJHAtNDU6IDQ1cHggIWRlZmF1bHQ7XG4kcC00OTogNDlweCAhZGVmYXVsdDtcbiRwLTU5OiA1OXB4ICFkZWZhdWx0O1xuJHAtNjA6IDYwcHggIWRlZmF1bHQ7XG4kcC05MDogOTBweCAhZGVmYXVsdDtcblxuJHAtZGl2aWRlcjogMjRweCAhZGVmYXVsdDtcblxuLy8gRm9ybXNcbiRpbnB1dC1oZWlnaHQ6IDM1cHg7XG4kaW5wdXQtcGFkZGluZzokcC03LTUgJHAtMTA7XG4kYnRuLWhlaWdodDogJGlucHV0LWhlaWdodDtcbiRidG4taGVpZ2h0LWxnOiA0NXB4O1xuJGJ0bi1wYWRkaW5nOiA4cHggJHAtNy01O1xuJGJ0bi1wYWRkaW5nLWxnOiAxM3B4ICRwLTExLTU7XG5cbi8vIFNsaWNrSlMgQ29uZmlnIHZhcmlhYmxlc1xuJHNsaWNrLWZvbnQtcGF0aDogXCIuLi8uLi9mb250cy9cIjtcbiRzbGljay1sb2FkZXItcGF0aDogXCIuLi8uLi9pbWFnZXMvXCI7XG5cbi8vIEZsYWcgaWNvbnMgbG9jYXRpb24gaW4gcmVsYXRpb24gdG8gdGFyZ2V0IGxvY2F0aW9uIG9mIHRoZSBjc3MgZmlsZS5cbiRmbGFnLWljb24tY3NzLXBhdGg6IFwiLi4vZm9udHMvZmxhZ3MvXCIgIWRlZmF1bHQ7XG5cbiRibHVyLXJhZGl1czogNnB4O1xuIiwiLnBkX2N0YSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgbWFyZ2luOiAzN3B4IGF1dG8gNTVweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFwdDtcbiAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwYWRkaW5nOiA0cHggNDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5wZF9jdGEgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ucGRfY3RhIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbiIsIi5yaWNodGV4dCB7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcblxuICAgIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAzNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMC45O1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiA2MnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMC45O1xuICAgIH1cblxuICAgIGg0IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICB9XG59XG4iLCIucGFnZS1kZXNpZ25lci1yZWZlcmVuY2UgLmV4cGVyaWVuY2UtbGF5b3V0cy1ibG9ja1dpdGhUZXh0LFxuLnBhZ2UtZGVzaWduZXItcmVmZXJlbmNlIC5leHBlcmllbmNlLWxheW91dHMtY3VzdG9tQ29sdW1ucyB7XG4gICAgLmJsb2NrLWhlYWRlcixcbiAgICAudGV4dC1ibG9jayB7XG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1wYWRkaW5nLXRvcC1tYiwgMCk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1wYWRkaW5nLWJvdHRvbS1tYiwgMCk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tbWItZm9udC1zaXplKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLW1iLWxpbmUtaGVpZ2h0LCAxKTtcbiAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS1tYi1tYXgtd2lkdGgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1wYWRkaW5nLXRvcC1kdCwgMCk7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tcGFkZGluZy1ib3R0b20tZHQsIDApO1xuICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1kdC1mb250LXNpemUpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWR0LWxpbmUtaGVpZ2h0LCAxKTtcbiAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0tZHQtbWF4LXdpZHRoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBkLWJnLWJsYWNrIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICAudGV4dC13aXRoLWhlYWRpbmcge1xuICAgICAgICBwYWRkaW5nOiA3N3B4IDI4cHggNThweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiA5NHB4O1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jay1lbmQ6IDQ3cHg7XG4gICAgICAgIH1cblxuICAgICAgICAudGV4dC1ibG9jayBoMyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiAyNXB4O1xuICAgICAgICAgICAgdGV4dC13cmFwOiBiYWxhbmNlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogaW5pdGlhbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEgc3BhbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IHZhcigtLW1iLWZvbnQtc2l6ZSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWR0LWZvbnQtc2l6ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIubWVkaWFDb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICAmLWNsaWNrYWJsZS1hcmVhcyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgdmlkZW8ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLm1lZGlhSW1hZ2UgcGljdHVyZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuY3RhX2NvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAudGV4dF93aGl0ZSB7XG4gICAgICAgICYsXG4gICAgICAgIGEsXG4gICAgICAgIHAge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRleHRfYmxhY2sge1xuICAgICAgICAmLFxuICAgICAgICBhLFxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb250ZW50X2NlbnRlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuY29udGVudF90b3BSaWdodCxcbiAgICAuY29udGVudF9ib3R0b21SaWdodCxcbiAgICAuY29udGVudF9yaWdodCB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIC5jb250ZW50X2JvdHRvbUxlZnQsXG4gICAgLmNvbnRlbnRfdG9wTGVmdCxcbiAgICAuY29udGVudF9sZWZ0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICAubWVkaWFDb250ZW50IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXgtd2lkdGg6IHZhcigtLW1heC13aWR0aC1tYiwgdW5zZXQpO1xuXG4gICAgICAgICYsXG4gICAgICAgICoge1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBhLFxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHZhcigtLW1heC13aWR0aC1kdCwgdW5zZXQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRlbnRXcmFwcGVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWVkaWFDdXN0b21UZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgei1pbmRleCgnc2Vjb25kYXJ5Jyk7XG4gICAgfVxuXG4gICAgJi5hYnNvbHV0ZVRleHQge1xuICAgICAgICAubWVkaWFDb250ZW50Q29udGFpbmVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGluc2V0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1lZGlhQ29udGVudCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHotaW5kZXgoJ3RlcnRpYXJ5Jyk7XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGVudF9yaWdodCxcbiAgICAgICAgLmNvbnRlbnRfbGVmdCB7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250ZW50X2NlbnRlciB7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRlbnRfdG9wTGVmdCxcbiAgICAgICAgLmNvbnRlbnRfYm90dG9tTGVmdCxcbiAgICAgICAgLmNvbnRlbnRfbGVmdCB7XG4gICAgICAgICAgICBsZWZ0OiB1bnNldDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDclO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRlbnRfdG9wUmlnaHQsXG4gICAgICAgIC5jb250ZW50X2JvdHRvbVJpZ2h0LFxuICAgICAgICAuY29udGVudF9yaWdodCB7XG4gICAgICAgICAgICByaWdodDogdW5zZXQ7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgICAgICByaWdodDogNyU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGVudF90b3BMZWZ0LFxuICAgICAgICAuY29udGVudF90b3BSaWdodCB7XG4gICAgICAgICAgICB0b3A6IGNhbGModmFyKC0taGVhZGVyLWhlaWdodCkgKyA2MHB4KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgICAgIHRvcDogY2FsYyh2YXIoLS1oZWFkZXItaGVpZ2h0KSArIDgwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRlbnRfYm90dG9tTGVmdCxcbiAgICAgICAgLmNvbnRlbnRfYm90dG9tUmlnaHQge1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3RDYXJvdXNlbF93cmFwcGVyICYge1xuICAgICAgICAuY29udGVudF9sZWZ0IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMjBweCAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRlbnRfY2VudGVyIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250ZW50X3JpZ2h0IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRlbnRXcmFwcGVyIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5obC1ncmlkLXNob3Atbm93LXRpbGUge1xuICAgICAgICAubWVkaWFDb250ZW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAkcC0xMiAkcC0xMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5MTE7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkcC0xNTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tZWRpYUNvbnRhaW5lci1hYnMtbGluayB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHotaW5kZXgoJ2Jhc2UnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250ZW50V3JhcHBlciB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZnMtZGVza3RvcDtcblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1lZGlhSW1hZ2Uge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICRwLTE2O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXkxMTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkcC00MDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tZWRpYS1zaG9wLW5vdyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgaG92ZXItc3VwcG9ydGVkKCkge1xuICAgICAgICAgICAgLm1lZGlhLXNob3Atbm93IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNob3djYXNlLWJpZ3RpdGxlLFxuICAgICYuc2hvd2Nhc2Utc3RhbmRhcmQge1xuICAgICAgICAubWVkaWFDb250ZW50IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuXG4gICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBpbml0aWFsO1xuXG4gICAgICAgICAgICAgICAgKyBwIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAxNXB4O1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogMjRweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMy41cHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jdXN0b21DdGEge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1tYi1mb250LXNpemUsIDEzLjVweCk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZHQtZm9udC1zaXplLCAxNS41cHgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiBpbml0aWFsO1xuXG4gICAgICAgICAgICAgICAgICAgICYuYWN0aXZlLWxpbmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiA0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuc2hvd2Nhc2UtYmlndGl0bGUge1xuICAgICAgICAubWVkaWFDb250ZW50IHtcbiAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDQwLjVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5zaG9wLXRoZS1sb29rLWNvbnRhaW5lciB7XG4gICAgLnNob3AtdGhlLWxvb2staW1hZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbn1cbiIsIi5mcmVlU2Nyb2xsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgLmNhcm91c2VsLXRpbGUtd3JhcHBlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgICAgICAgICBvdmVyZmxvdy14OiBzY3JvbGw7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1ncmlkLXRpbGUtLXNtYWxsIHtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvY2Fyb3VzZWxzL2ZyZWVTY3JvbGxcIjtcblxuLmV4cGVyaWVuY2UtYXNzZXRzLXByZWZpbGxlZENhcm91c2VsIHtcbiAgICAuc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgICAgICYuZnVsbFRpbGUge1xuICAgICAgICAgICAgYSxcbiAgICAgICAgICAgIGE6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgICAgICAgICAmLnF1aWNrdmlldyxcbiAgICAgICAgICAgICAgICAmLmF0dHJpYnV0ZS12YWx1ZV9saW5rLFxuICAgICAgICAgICAgICAgICYubGluayB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGlsZS1ib2R5IHtcbiAgICAgICAgICAgICAgICAubGluayB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnByaWNlIGRlbDpub3QoLmQtbm9uZSkgKyAuc2FsZXMsXG4gICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAucHJvZHVjdC1iYWRnZSxcbiAgICAgICAgICAgICAgICAucHJpY2UgLnN0cmlrZS10aHJvdWdoIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmV5MyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KC5mdWxsVGlsZSkge1xuICAgICAgICAgICAgLnByb2R1Y3QtZ3JpZC10aWxlLS1zbWFsbC5pbnZpc2libGUge1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmRlZmF1bHRDYXJvdXNlbCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgICAgICAgICAgICAgICAgIC5wcm9kdWN0LXRpbGUgLmltYWdlLWNvbnRhaW5lciBhIC50aWxlLWltYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogdmFyKC0tYXNwZWN0UmF0aW9NYik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuY2Fyb3VzZWxCYWNrZ3JvdW5kIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleTk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICAgICAgICAgIC5zbGljay1hcnJvdyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IGNhbGMoNTAlIC0gNTBweCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50aWxlLWJvZHkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRwLTE1O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRwLTE1ICRwLTEwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5wcmljZSBkZWw6bm90KC5kLW5vbmUpICsgLnNhbGVzLFxuICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnByb2R1Y3QtYmFkZ2UsXG4gICAgICAgICAgICAgICAgLnByaWNlIC5zdHJpa2UtdGhyb3VnaCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JleTMgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50aWxlQmFja2dyb3VuZER0IHtcbiAgICAgICAgICAgICAgICAucHJvZHVjdC10aWxlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXk5O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC50aWxlLWJvZHkge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LXRpbGUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleTk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZHVjdC1iYWRnZXMtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAucHJvZHVjdC1iYWRnZXMge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYucHJvZHVjdC1iYWRnZXMtLWFic29sdXRlIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgICAgICAgICAucHJvZHVjdC1iYWRnZXMgLnByb2R1Y3QtYmFkZ2UsXG4gICAgICAgICAgICAgICAgICAgIC5wcm9kdWN0LXBscC1iYWRnZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JleTEwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAkcC0xNSAkcC0xNTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAkcC0xMCAkcC0xNTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBjYWxjKC0xICogI3skcC0xNX0pIDAgMCAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBvcHRpb25hbCBzaG93IHByb2R1Y3QgYmFkZ2VzXG4gICAgICAgICAgICAuc2hvd1Byb2R1Y3RCYWRnZU1iIHtcbiAgICAgICAgICAgICAgICAucHJvZHVjdC1iYWRnZXMtY29udGFpbmVyIC5wcm9kdWN0LWJhZGdlcyB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zaG93UHJvZHVjdEJhZGdlRHQge1xuICAgICAgICAgICAgICAgIC5wcm9kdWN0LWJhZGdlcy1jb250YWluZXIgLnByb2R1Y3QtYmFkZ2VzIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIG9wdGlvbmFsIGhpZGUgdGl0bGUgYW5kIHByaWNlIG9uIGRlc2t0b3BcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICAgICAgICAuaGlkZVRpbGVUaXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIC5saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuaGlkZVByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuaGlkZVRpbGVUaXRsZS5oaWRlUHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAudGlsZS1ib2R5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgICAgICAgICAgICAgIC5oaWRlVGlsZVRpdGxlTWIge1xuICAgICAgICAgICAgICAgICAgICAubGluayB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmhpZGVQcmljZU1iIHtcbiAgICAgICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFRpbGUtUHJpY2Ugb24gSG92ZXJcbiAgICAgICAgICAgIC5zaG93VGlsZVByaWNlQW5kVGl0bGVPbkhvdmVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICAgICAgICAgIC5wcmljZSxcbiAgICAgICAgICAgICAgICAgICAgLmxpbmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgLnByaWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgLmxpbmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLmhpZGVUaWxlVGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgLmxpbmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2Fyb3VzZWwtaGVhZGluZyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJHAtMTUgJHAtMTA7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRwLTE1O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYtbGluayB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBTbGlja1xuICAgICAgICAgICAgLnNsaWNrLXRyYWNrIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zbGljay1zbGlkZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDFweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGluaGVyaXQgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICAgICAgICAgICAgLm1vYmlsZS0xLWRlc2t0b3AtMiAmIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgY2FsYyh2YXIoLS1zbGlkZXNHYXBNYikgLyAyKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICA+IGRpdixcbiAgICAgICAgICAgICAgICAucHJvZHVjdC1ncmlkLXRpbGUtLXNtYWxsLFxuICAgICAgICAgICAgICAgIC5wcm9kdWN0LWdyaWQtdGlsZS0tc21hbGwgPiBkaXYsXG4gICAgICAgICAgICAgICAgLmdyaWQtdGlsZSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zbGljay1hcnJvdyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc2JyBoZWlnaHQ9JzE1JyB2aWV3Qm94PScwIDAgNiAxNScgZmlsbD0nbm9uZSclM0UlM0NwYXRoIGQ9J00xIDE0TDUgNy4yNUwxIDAuNScgc3Ryb2tlPSdibGFjaycgc3Ryb2tlLXdpZHRoPScxLjUnLyUzRSUzQy9zdmclM0VcIik7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA2cHggMTVweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNnB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgICAgIHRvcDogY2FsYyg1MCUgLSA4cHgpO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5zbGljay1wcmV2IHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogJHAtMTk7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZykgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLnNsaWNrLW5leHQge1xuICAgICAgICAgICAgICAgICAgICByaWdodDogJHAtMTk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5zbGljay1kaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LWdyaWQtLXNtYWxsNiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgICAgICAgICAgICAgICAgIC5oaWRlUHJpY2VNYi5oaWRlVGlsZVRpdGxlTWIgLnRpbGUtYm9keSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgICAgICAgICAuaGlkZVByaWNlLmhpZGVUaWxlVGl0bGUgLnRpbGUtYm9keSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmdyaWQtbGF5b3V0IC5ncmlkLWVsZW1lbnQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQodmFyKC0tY29sdW1ucy1tYiwgMiksIDFmcik7XG4gICAgY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcC1tYiwgMnB4KTtcbiAgICByb3ctZ2FwOiB2YXIoLS1yb3ctZ2FwLW1iLCAycHgpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCh2YXIoLS1jb2x1bW5zLWR0LCA0KSwgMWZyKTtcbiAgICAgICAgY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcC1kdCwgMnB4KTtcbiAgICAgICAgcm93LWdhcDogdmFyKC0tcm93LWdhcC1kdCwgMnB4KTtcbiAgICB9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9*/