@charset "UTF-8";/*!
 * inuitcss, by @csswizardry
 *
 * github.com/inuitcss | inuitcss.com
 *//*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */.btn,.layout__item,audio,canvas,progress,video{display:inline-block}.news__link,a{-webkit-transition:all .2s ease;-o-transition:all .2s ease}a,sub,sup{position:relative}progress,sub,sup{vertical-align:baseline}button,hr,input{overflow:visible}.caption,html{letter-spacing:.04em}pre,textarea{overflow:auto}mark,p{color:#000}img,legend{max-width:100%}.flickity-page-dots,.layout,li{list-style:none}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent;-webkit-text-decoration-skip:objects;text-decoration:none;transition:all .2s ease}.page-not-found__title,a::after{-webkit-transition:all .3s ease;-o-transition:all .3s ease}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}dfn{font-style:italic}mark{background-color:#ff0}small{font-size:80%}sub,sup{font-size:75%;line-height:0}.btn,img{vertical-align:middle}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0}button,input,optgroup,select,textarea{font:inherit;margin:0}optgroup{font-weight:700}button,input{}button,select{text-transform:none}.accordion__title,.caption--title,.news__title,.page-foot__header,.site-description,.site-title,.trapezium{text-transform:uppercase}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}ins,pre mark{border-bottom:1px solid}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:ButtonText dotted 1px}fieldset{border:1px solid silver}figure>img,pre{border-radius:3px}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;white-space:normal}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}.flickity-enabled:focus,input:focus,textarea:focus{outline:0}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}h5,html{line-height:1.5}blockquote,body,caption,dd,dl,fieldset,figure,form,h1,h2,h3,h4,h5,h6,hr,legend,ol,p,pre,table,td,th,ul{margin:0;padding:0}abbr[title],dfn[title]{cursor:help}ins,u{text-decoration:none}html{-webkit-box-sizing:border-box;box-sizing:border-box;font-size:1em;overflow-y:scroll;min-height:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;background:#1a1a1a;color:#FFF;font-family:DINMittelschriftStd,sans-serif;-webkit-font-smoothing:inherit!important;-moz-osx-font-smoothing:grayscale}*,:after,:before{-webkit-box-sizing:inherit;box-sizing:inherit}address,blockquote,dl,fieldset,figure,h1,h2,h3,h4,h5,h6,hr,ol,p,pre,table,ul{margin-bottom:1.5rem}dd,ol,ul{margin-left:3rem}h1{font-size:36px;font-size:2.25rem;line-height:1.3333333333}h2{font-size:30px;font-size:1.875rem;line-height:1.6}h3{font-size:24px;font-size:1.5rem;line-height:1}h4{font-size:20px;font-size:1.25rem;line-height:1.2}h5{font-size:16px;font-size:1rem}h6{font-size:14px;font-size:.875rem;line-height:1.7142857143}h1,h2,h3,h4,h5,h6{font-weight:400}.heading{font-size:22px;font-size:1.375rem;line-height:1.0909090909}.heading-sub{font-size:16px;font-size:1rem;line-height:1.5;font-weight:700;margin-bottom:0}figcaption,p{line-height:2}strong{font-family:DINMittelschriftStd,serif;font-weight:400}code,kbd,samp{font-family:Inconsolata,Monaco,Consolas,"Andale Mono","Bitstream Vera Sans Mono","Courier New",Courier,monospace}pre{white-space:pre;word-wrap:normal;padding:12px}figcaption{font-size:12px;font-size:.75rem}@media screen and (min-width:1380px){figure{margin-left:-128px}figcaption{margin-left:128px}}hr{border:none;border-bottom:1px solid #000;margin-bottom:23px}pre mark{background:0 0;color:inherit}.text-banner{text-align:center}@font-face{font-family:DINMittelschriftStd;src:url(/assets/fonts/DINMittelschriftStd/DINMittelschriftStd.eot);src:url(/assets/fonts/DINMittelschriftStd/DINMittelschriftStd.eot?#iefix) format("embedded-opentype"),url(/assets/fonts/DINMittelschriftStd/DINMittelschriftStd.woff) format("woff"),url(/assets/fonts/DINMittelschriftStd/DINMittelschriftStd.ttf) format("truetype"),url(/assets/fonts/DINMittelschriftStd/DINMittelschriftStd.svg#DINMittelschriftStd) format("svg");font-weight:400;font-style:normal}@font-face{font-family:DINEngschriftStd;src:url(/assets/fonts/DINMittelschriftStd/DINMittelschriftStd.eot);src:url(/assets/fonts/DINMittelschriftStd/DINMittelschriftStd.eot?#iefix) format("embedded-opentype"),url(/assets/fonts/DINMittelschriftStd/DINMittelschriftStd.woff) format("woff"),url(/assets/fonts/DINMittelschriftStd/DINMittelschriftStd.ttf) format("truetype"),url(/assets/fonts/DINMittelschriftStd/DINMittelschriftStd.svg#DINMittelschriftStd) format("svg");font-weight:400;font-style:normal}a::after{position:absolute;top:100%;left:0;width:100%;height:1px;content:'';opacity:1;transition:all .3s ease;-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px)}a:focus::after,a:hover::after{-webkit-transform:translateY(1px);-ms-transform:translateY(1px);transform:translateY(1px)}p{font-size:14px;font-size:.875rem}ul{margin-left:0}li>ol,li>ul{margin-bottom:0}img{font-style:italic}.gm-style img,img[height],img[width]{max-width:none}.wrapper{max-width:100%;margin:0 auto;padding-left:24px;padding-right:24px}.wrapper.wrapper--projects,.wrapper.wrapper--video{padding-left:0;padding-right:0}.wrapper.wrapper--arrow{height:30px;position:absolute;top:0;width:100%}.wrapper.wrapper--description-arrow{bottom:-30px;top:inherit}.page-not-found,.pre-loader{position:fixed;top:0;width:100%;height:100%}.wrapper.wrapper--one-column-text,.wrapper.wrapper--two-column-text{padding-top:48px;padding-bottom:48px}.wrapper.wrapper--page-not-found{display:table-cell;text-align:center;vertical-align:middle}.wrapper__inner{max-width:1024px;margin:0 auto}.btn{font:inherit;text-align:center;margin:0;cursor:pointer;overflow:visible;padding:11px 23px;background-color:#4a8ec2;border:1px solid #4a8ec2}.accordion__title,.entry__link,.page-not-found{font-family:DINMittelschriftStd,sans-serif}.btn,.btn:active,.btn:focus,.btn:hover{text-decoration:none;color:#fff}.press-link,a.news__link{text-decoration:underline}.btn::-moz-focus-inner{border:0;padding:0}.layout{margin:0 0 0 -24px;padding:0}.box>:last-child,.media__body,.media__body>:last-child{margin-bottom:0}.layout__item{padding-left:24px;vertical-align:top;width:100%}.block,.block__body,.box,.media,.media__body,.media__img>img{display:block}.accordion__title,.block__img,.entry__link{vertical-align:middle}.layout--small{margin-left:-12px}.layout--small>.layout__item{padding-left:12px}.layout--large{margin-left:-48px}.layout--large>.layout__item{padding-left:48px}.layout--huge{margin-left:-96px}.layout--huge>.layout__item{padding-left:96px}.box{padding:24px}.media__img{float:left;margin-right:24px}.media__body{overflow:hidden}.block__img{margin-bottom:24px}.page-not-found{background:#1a1a1a;display:table;margin:0;overflow:hidden;z-index:100000000000}.page-not-found__title{letter-spacing:.1em;transition:all .3s ease;font-size:100px;font-size:6.25rem;line-height:1}.back-to-home__link,.page-head--toggle{-webkit-transition:all .3s ease;-o-transition:all .3s ease}@media screen and (min-width:720px){.page-not-found__title{font-size:200px;font-size:12.5rem;line-height:1}}.page-not-found__copy{color:#FFF;max-width:400px;margin:0 auto 48px;font-size:20px;font-size:1.25rem;line-height:1.2}.back-to-home__link{border-bottom:1px solid #FFF;color:#FFF;transition:all .3s ease;font-size:20px;font-size:1.25rem;line-height:1.2}.back-to-home__link:hover{border-bottom:1px solid transparent}.pre-loader{left:0;z-index:1000000}.pre-loader__wrapper{display:block;position:relative;left:50%;top:50%;width:50px;height:50px;margin:-25px 0 0 -25px;border-radius:50%;border:3px solid transparent;border-top-color:#FFF;-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite;z-index:1001}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.pre-loader__section{position:fixed;top:0;width:100%;height:100%;background:#1a1a1a;z-index:1000;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}.pre-loader__section--left{left:0}.loaded-contents .pre-loader{visibility:hidden;opacity:0;-webkit-transition:all .5s .5s ease;-o-transition:all .5s .5s ease;transition:all .5s .5s ease}.loaded-contents .pre-loader__wrapper{opacity:0;-webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease}.loaded-contents .pre-loader__section--left{-webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;opacity:0}.container{margin-top:174px}/*! Flickity v1.1.0
http://flickity.metafizzy.co
---------------------------------------------- */.flickity-enabled{position:relative}.flickity-viewport{overflow:hidden;position:relative;height:100%}.flickity-slider{position:absolute;width:100%;height:100%}.flickity-enabled.is-draggable{-webkit-tap-highlight-color:transparent;tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.page-head,ul.page-head--menus{-moz-user-select:none;-ms-user-select:none}.flickity-enabled.is-draggable .flickity-viewport{cursor:move;cursor:-webkit-grab;cursor:grab}.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down{cursor:-webkit-grabbing;cursor:grabbing}.flickity-prev-next-button{position:absolute;top:50%;width:44px;height:44px;border:none;border-radius:50%;background:#fff;background:rgba(255,255,255,.75);cursor:pointer;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.flickity-prev-next-button:hover{background:#fff}.flickity-prev-next-button:focus{outline:0;-webkit-box-shadow:0 0 0 5px #09F;box-shadow:0 0 0 5px #09F}.flickity-prev-next-button:active{filter:alpha(opacity=60);opacity:.6}.flickity-prev-next-button.previous{left:10px}.flickity-prev-next-button.next{right:10px}.flickity-rtl .flickity-prev-next-button.previous{left:auto;right:10px}.flickity-rtl .flickity-prev-next-button.next{right:auto;left:10px}.flickity-prev-next-button:disabled{filter:alpha(opacity=30);opacity:.3;cursor:auto}.flickity-prev-next-button svg{position:absolute;left:20%;top:20%;width:60%;height:60%}.flickity-prev-next-button .arrow{fill:#333}.case-study-carousel .flickity-prev-next-button .arrow,.home-carousel .flickity-prev-next-button .arrow{fill:#FFF}.flickity-prev-next-button.no-svg{color:#333;font-size:26px}.flickity-page-dots{position:absolute;width:100%;padding:0;margin:0;text-align:center;line-height:1}.flickity-rtl .flickity-page-dots{direction:rtl}.flickity-page-dots .dot{display:inline-block;margin:0 8px;border-radius:50%;filter:alpha(opacity=25);cursor:pointer;width:12px;height:12px;opacity:1;background:0 0;border:2px solid #fff}.flickity-page-dots .dot.is-selected{filter:alpha(opacity=100);opacity:1;background:#fff}.home-carousel .flickity-prev-next-button{-webkit-backface-visibility:hidden!important;backface-visibility:hidden!important;border-radius:0;bottom:0;background:0 0;top:inherit;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);opacity:1}.home-carousel .flickity-prev-next-button:hover{background:0 0}.home-carousel .flickity-prev-next-button.previous{border-bottom:40px solid #1a1a1a;border-left:0 solid;border-right:0 solid;padding-left:20px;left:0;width:52%}@media screen and (min-width:560px){.home-carousel .flickity-prev-next-button.previous{width:60px;border-right:45px solid transparent}}.home-carousel .flickity-prev-next-button.next{border-bottom:40px solid #1a1a1a;border-left:0;border-right:0;padding-left:20px;right:0;width:50%}@media screen and (min-width:560px){.home-carousel .flickity-prev-next-button.next{border-left:45px solid transparent;width:320px}}.home-carousel .flickity-prev-next-button svg{position:absolute;z-index:10000;width:20px;height:20px;left:0}.home-carousel .flickity-prev-next-button.previous svg{left:10px;top:20px}.home-carousel .flickity-prev-next-button.next svg{right:10px;top:20px;left:inherit}.flickity-page-dots{bottom:20px}@media screen and (min-width:560px){.flickity-page-dots{bottom:40px}}.case-study-carousel .flickity-prev-next-button{background:0 0;border-radius:inherit;border-top:30px solid transparent;border-bottom:30px solid transparent;position:absolute;height:100px;width:0;padding:0;top:50%}.case-study-carousel .flickity-prev-next-button.previous{border-left:30px solid #1a1a1a;left:0}.case-study-carousel .flickity-prev-next-button.next{border-right:30px solid #1a1a1a;right:0}.case-study-carousel .flickity-prev-next-button:after{content:"";height:0;width:0;padding:0}.case-study-carousel .flickity-prev-next-button:active{opacity:1}.case-study-carousel .flickity-prev-next-button svg{position:absolute;left:0;top:0;width:30px;height:40px}.case-study-carousel .flickity-prev-next-button.previous svg{left:-30px}.case-study-carousel .flickity-page-dots .dot{border-radius:inherit;border:1px solid;cursor:pointer;width:12px;height:12px;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:0 100%;-ms-transform-origin:0 100%;transform-origin:0 100%;margin:0 6px}.frame{background-color:#1a1a1a;display:block;position:fixed;z-index:1000}.frameBottom{height:12px;bottom:0;left:0;right:0}.frameLeft,.frameRight{width:12px;top:0;bottom:0}.frameRight{right:0}.frameLeft{left:0}.caption{display:block;font-size:13px;font-size:.8125rem;line-height:1.2}.page-head{background:#1a1a1a;height:175px;padding:48px 12px 36px;position:absolute;top:0;-webkit-user-select:none;user-select:none;width:100%;z-index:10000000}.page-head--contents h1{color:#FFF;letter-spacing:.06em;text-align:center;margin-bottom:6px;font-size:22px;font-size:1.375rem;line-height:1.0909090909}@media screen and (min-width:720px){.page-head{padding:48px 24px 24px;position:fixed}.page-head--contents h1{letter-spacing:.12em;font-size:24px;font-size:1.5rem;line-height:1}}.page-head--contents h2{color:#a0a0a0;letter-spacing:.1em;margin-bottom:24px;text-align:center;font-size:16px;font-size:1rem;line-height:1.5}.page-head--toggle{background:url(/assets/images/menu--toggle.png) center center no-repeat;cursor:pointer;display:block;height:21px;margin:0 auto;width:21px;transition:all .3s ease}.entry__link,.site-title{-webkit-transition:all .3s ease;-o-transition:all .3s ease}.page-head--toggle:hover{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.page-head--toggle.close{-webkit-transform:rotate(225deg);-ms-transform:rotate(225deg);transform:rotate(225deg)}.site-title{color:#FFF;letter-spacing:.14em;transition:all .3s ease}.site-title:hover{opacity:.7}ul.page-head--menus{background:#1a1a1a;color:#FFF;height:auto;left:0;margin:0;opacity:0;padding-top:12px;padding-bottom:24px;position:absolute;text-align:center;-webkit-user-select:none;user-select:none;visibility:hidden;width:100%;z-index:130}ul.page-head--menus.show{opacity:1;visibility:visible}@media screen and (min-width:720px){.page-head--toggle{display:none}ul.page-head--menus{opacity:1;padding-top:0;padding-bottom:0;position:inherit;top:180px;visibility:visible}}ul.page-head--menus .menu__item{display:block;letter-spacing:.08em;list-style:none;font-size:15px;font-size:.9375rem;line-height:1.6;padding:6px 72px}@media screen and (min-width:720px){ul.page-head--menus .menu__item{background:url(/assets/images/menuSeparator.png) 0 7px no-repeat;display:inline-block;padding-top:0;padding-bottom:0}}ul.page-head--menus .menu__item:first-child{background:none}ul.page-head--menus .menu__link{color:#FFF}ul.page-head--menus .menu__link::after{background-color:#FFF}.hover--border-up::after{opacity:0;-webkit-transform:translateY(6px);-ms-transform:translateY(6px);transform:translateY(6px)}.hover--border-up:focus::after,.hover--border-up:hover::after{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.news__link:hover,.project-details a:hover{opacity:.5}section{margin:0 12px}section.home{position:relative}section.section--page-not-found{background:#1a1a1a}.home__news{background:#a0a0a0;position:absolute;top:0;width:100%;z-index:100;padding:6px 18px}.home__news span{color:#000;margin:0}.home-carousel,.news__cell{margin-right:10px;width:100%}.news__wrapper{margin-bottom:0}.news__title{padding-top:4px;position:absolute;font-size:18px;font-size:1.125rem;line-height:18px}.news__item{padding-left:60px;padding-top:5px;width:100%;font-size:16px;font-size:1rem;line-height:17px}.news__cell{min-height:15px}.home-carousel__img,.home-carousel__link{min-height:100%;min-width:100%;top:0;bottom:0;position:absolute}.news__link{color:#000;transition:all .2s ease}.project-details a,.thumbs__image{-webkit-transition:all .2s ease;-o-transition:all .2s ease}.home-carousel{height:calc(100vh - 186px);overflow:hidden}.home-carousel.bottom-up{height:calc(100vh - 256px)}@media screen and (min-width:560px){.home-carousel.bottom-up{height:calc(100vh - 186px)}}.home-carousel__static-banner{position:absolute;background:0 0;z-index:1;color:#fff;pointer-events:none;bottom:0;text-align:center;width:100%;height:30px}@media screen and (min-width:560px){.home-carousel__static-banner{text-align:left;right:10px;width:260px}}.content__one-column p,.content__two-column p,.project-details p{text-align:justify;font-family:Garamond,Palatino Linotype,Palatino,serif}.home-carousel__cell{width:100%;margin:0;height:100%;overflow:hidden}.home-carousel__img{max-width:inherit;height:auto;width:auto;margin:auto auto auto 50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.project-title{color:#000;font-size:30px;font-size:1.875rem;line-height:1.6}.project-details p{font-size:16px;font-size:1rem;line-height:1.4}.project-details a{border-bottom:1px solid #000;color:inherit;transition:all .2s ease}.trapezium{border-right:45px solid transparent;border-bottom:50px solid;bottom:0;height:50px;position:absolute;width:228px;z-index:90}.trapezium.trapezium--green{border-bottom-color:#479588}.trapezium:hover+.thumbs__image{opacity:0}.trapezium__inner{padding-top:12px;padding-left:12px}.thumbs{margin-bottom:12px;position:relative}.thumbs__item{display:block;background-size:contain;background-repeat:no-repeat}.thumbs__image{opacity:1;transition:all .2s ease;width:100%}@media screen and (min-width:720px){.thumbs__image:hover{opacity:0}}.thumbs__label{color:#FFF;font-weight:500;letter-spacing:0;margin-bottom:0;font-size:11px;font-size:.6875rem;line-height:1.4}.arrow-to-next-block{cursor:pointer;height:30px;left:50%;margin-left:-30px;position:absolute;width:60px;z-index:1000}.arrow-to-next-block.arrow--main-contents{background:url(/assets/images/arrow.png) no-repeat}.arrow-to-next-block.arrow--page-foot{background:url(/assets/images/footer-arrow.png) no-repeat;top:-30px;opacity:1!important}.block--carousel,.block--video{background:#000}.description{padding-top:48px;padding-bottom:48px;position:relative;z-index:1}.content{margin:0 auto;max-width:1024px}.content__video{width:100%;position:relative;padding:56.2% 0 0}.content__iframe{position:absolute;top:0;left:0;width:100%;height:100%}.block,.page-foot{position:relative}.entry__link,.pagination__entry{height:100px}.content__one-column h3,.content__two-column h3{color:#000;display:inline-block;margin-bottom:18px;font-size:22px;font-size:1.375rem;line-height:1.0909090909}.content__one-column p,.content__two-column p{font-size:16px;font-size:1rem;line-height:1.4}.content__one-column a,.content__two-column a{border-bottom:1px solid #000;color:inherit;-webkit-transition:all .2s ease;-o-transition:all .2s ease;transition:all .2s ease}.content__one-column a:hover,.content__two-column a:hover{opacity:.5}.content__two-column p{margin-bottom:24px}.content__one-column{color:#000;margin-bottom:0}@media screen and (min-width:720px){.content__two-column p{margin-bottom:0}.content__one-column{margin-bottom:24px}}.content__one-column h1{color:#000;font-size:24px;font-size:1.5rem;line-height:1}.content__one-column ol li{font-family:Garamond,Palatino Linotype,Palatino,serif;list-style-type:decimal;margin-bottom:24px;font-size:16px;font-size:1rem;line-height:1.4}.block.mb18{margin-bottom:18px}.block--video{width:100%}.block--video.remove-mb{margin-bottom:0}.block--two-column-text{background:#F4F4F4}.block--one-column-text{background:#e5e5e5}.case-study-carousel__cell{width:100%;margin-right:100px;background:#000;counter-increment:gallery-cell}.case-study-carousel__img{display:block;width:100%;max-width:1024px;margin:0 auto;padding-left:0;padding-right:0}.paginations{background:#535353;min-height:100px;padding-left:12px;padding-right:12px;width:100%}.entry--next{float:right}.entry__link{border:none;color:#FFF;display:table-cell;letter-spacing:.06em;max-width:290px;padding-top:4px;transition:all .3s ease;width:auto;font-size:16px;font-size:1rem;line-height:1.4}.entry__link:hover .entry__inner-link{border-bottom:1px solid #fff}.entry__link.entry__link--prev{background:url(/assets/images/arrow-prev.png) left center no-repeat;padding-left:24px}.entry__link.entry__link--next{background:url(/assets/images/arrow-next.png) right center no-repeat;padding-right:24px;text-align:right}.entry__inner-link{border-bottom:1px solid rgba(255,255,255,0);-webkit-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease}.entry__inner-link:hover{border-bottom:1px solid #fff}.about{padding-bottom:48px}.accordion{color:#000}.accordion__wrapper{background:#00f;width:100%;-webkit-transition:all .7s ease;-o-transition:all .7s ease;transition:all .7s ease}.accordion__wrapper:hover{opacity:.94}.accordion__inner-wrapper{max-width:1024px;margin:0 auto;padding-left:24px;padding-right:24px}.accordion__header{cursor:pointer;display:table;width:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.accordion__title{display:table-cell;height:72px;letter-spacing:.1em;margin-bottom:0;padding-top:8px;text-align:center;word-break:normal;font-size:18px;font-size:1.125rem;line-height:1.2}.accordion__item p,.accordion__list span,.page-foot__item p{font-family:Garamond,Palatino Linotype,Palatino,serif}@media screen and (min-width:720px){.accordion__title{text-align:left}}.accordion__item{display:none}.accordion__item p{margin-bottom:0;padding-top:6px;text-align:justify}.accordion__unordered-list{margin-bottom:0;padding-top:36px;padding-bottom:36px}.accordion__list{margin-bottom:12px}.accordion__list span{letter-spacing:.04em;font-size:14px;font-size:.875rem;line-height:2}.press-link{color:#000;-webkit-transition:all .2s ease;-o-transition:all .2s ease;transition:all .2s ease}.page-foot__contact-details li a,.page-foot__link{color:#FFF}.press-link:hover{opacity:.5}.studio p{padding-bottom:48px}@media screen and (min-width:720px){.studio p{padding-bottom:96px}}.studio__image{width:auto;max-width:210px;display:block;margin:0 auto;padding-bottom:48px}@media screen and (min-width:720px){.studio__image{float:left;margin:0 48px 12px 0;padding-bottom:0}}.page-foot{background:#3a3a3a;padding-top:48px;padding-bottom:48px;width:100%}.page-foot.hide{display:none}.page-foot__wrapper{max-width:1024px;padding-left:0;padding-right:0}.page-foot__header{text-align:center;margin-bottom:12px;font-size:20px;font-size:1.25rem;line-height:1.2}@media screen and (min-width:720px){.page-foot__header{text-align:left}}.page-foot__item p{color:#FFF;font-size:14px;letter-spacing:.08em;line-height:1.6em;margin-top:0;text-align:center}.page-foot__link::after{background-color:#FFF}.page-foot__copy-right,.page-foot__quotes{margin-bottom:36px}@media screen and (min-width:720px){.page-foot__item p{text-align:left}.page-foot__copy-right{margin-bottom:24px}}.page-foot__contact-copy p{font-family:DINMittelschriftStd,sans-serif;font-weight:400;margin-bottom:36px}.page-foot__contact-details{margin-bottom:36px}.page-foot__contact-details li{margin-bottom:12px;text-align:center}.page-foot__twitter-widget{border-top:1px solid #FFF;max-width:520px;margin:0 auto}@media screen and (min-width:720px){.page-foot__contact-details li{text-align:left}.page-foot__twitter-widget{margin:inherit}}.quotes{font-family:serif;margin-bottom:0;font-size:15px;font-size:.9375rem;line-height:1.4}.quotes--author{font-family:serif;font-style:italic;text-align:center}#mc_embed_signup_scroll{color:#000;font-family:Garamond,Palatino Linotype,Palatino,serif;font-size:14px;font-weight:700;letter-spacing:.08em;margin-top:0;margin-bottom:36px;line-height:1.6em}#mc_embed_signup .button,#mc_embed_signup input.email{font-family:DINMittelschriftStd,sans-serif;font-weight:400!important}#mc_embed_signup form{padding:0!important}#mc_embed_signup input.email{margin-bottom:18px!important;padding:4px 0!important;width:270px!important}#mc_embed_signup .button{height:26px!important;line-height:30px!important;width:94px!important;-webkit-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease}.box:after,.clearfix:after,.media:after{content:"";display:table;clear:both}.alpha{font-size:36px;font-size:2.25rem;line-height:1.3333333333}.beta{font-size:30px;font-size:1.875rem;line-height:1.6}.gamma{font-size:24px;font-size:1.5rem;line-height:1}.delta{font-size:20px;font-size:1.25rem;line-height:1.2}.epsilon{font-size:16px;font-size:1rem;line-height:1.5}.zeta{font-size:14px;font-size:.875rem;line-height:1.7142857143}.u-1\/1{width:100%!important}.u-1\/2{width:50%!important}.u-1\/3{width:33.3333333333%!important}.u-2\/3{width:66.6666666667%!important}.u-1\/4{width:25%!important}.u-2\/4{width:50%!important}.u-3\/4{width:75%!important}.u-1\/5{width:20%!important}.u-2\/5{width:40%!important}.u-3\/5{width:60%!important}.u-4\/5{width:80%!important}@media screen and (max-width:559px){.u-1\/1-mobile{width:100%!important}.u-1\/2-mobile{width:50%!important}.u-1\/3-mobile{width:33.3333333333%!important}.u-2\/3-mobile{width:66.6666666667%!important}.u-1\/4-mobile{width:25%!important}.u-2\/4-mobile{width:50%!important}.u-3\/4-mobile{width:75%!important}.u-1\/5-mobile{width:20%!important}.u-2\/5-mobile{width:40%!important}.u-3\/5-mobile{width:60%!important}.u-4\/5-mobile{width:80%!important}}@media screen and (min-width:560px){.u-1\/1-mobile-and-up{width:100%!important}.u-1\/2-mobile-and-up{width:50%!important}.u-1\/3-mobile-and-up{width:33.3333333333%!important}.u-2\/3-mobile-and-up{width:66.6666666667%!important}.u-1\/4-mobile-and-up{width:25%!important}.u-2\/4-mobile-and-up{width:50%!important}.u-3\/4-mobile-and-up{width:75%!important}.u-1\/5-mobile-and-up{width:20%!important}.u-2\/5-mobile-and-up{width:40%!important}.u-3\/5-mobile-and-up{width:60%!important}.u-4\/5-mobile-and-up{width:80%!important}}@media screen and (max-width:719px){#mc_embed_signup input.email{margin-left:auto!important;margin-right:auto!important}#mc_embed_signup .button{margin:0 auto!important}.u-1\/1-palm{width:100%!important}.u-1\/2-palm{width:50%!important}.u-1\/3-palm{width:33.3333333333%!important}.u-2\/3-palm{width:66.6666666667%!important}.u-1\/4-palm{width:25%!important}.u-2\/4-palm{width:50%!important}.u-3\/4-palm{width:75%!important}.u-1\/5-palm{width:20%!important}.u-2\/5-palm{width:40%!important}.u-3\/5-palm{width:60%!important}.u-4\/5-palm{width:80%!important}}@media screen and (min-width:720px) and (max-width:1023px){.u-1\/1-lap{width:100%!important}.u-1\/2-lap{width:50%!important}.u-1\/3-lap{width:33.3333333333%!important}.u-2\/3-lap{width:66.6666666667%!important}.u-1\/4-lap{width:25%!important}.u-2\/4-lap{width:50%!important}.u-3\/4-lap{width:75%!important}.u-1\/5-lap{width:20%!important}.u-2\/5-lap{width:40%!important}.u-3\/5-lap{width:60%!important}.u-4\/5-lap{width:80%!important}}@media screen and (min-width:720px){.quotes--author{text-align:left}.u-1\/1-lap-and-up{width:100%!important}.u-1\/2-lap-and-up{width:50%!important}.u-1\/3-lap-and-up{width:33.3333333333%!important}.u-2\/3-lap-and-up{width:66.6666666667%!important}.u-1\/4-lap-and-up{width:25%!important}.u-2\/4-lap-and-up{width:50%!important}.u-3\/4-lap-and-up{width:75%!important}.u-1\/5-lap-and-up{width:20%!important}.u-2\/5-lap-and-up{width:40%!important}.u-3\/5-lap-and-up{width:60%!important}.u-4\/5-lap-and-up{width:80%!important}}@media screen and (max-width:1023px){.u-1\/1-portable{width:100%!important}.u-1\/2-portable{width:50%!important}.u-1\/3-portable{width:33.3333333333%!important}.u-2\/3-portable{width:66.6666666667%!important}.u-1\/4-portable{width:25%!important}.u-2\/4-portable{width:50%!important}.u-3\/4-portable{width:75%!important}.u-1\/5-portable{width:20%!important}.u-2\/5-portable{width:40%!important}.u-3\/5-portable{width:60%!important}.u-4\/5-portable{width:80%!important}}@media screen and (min-width:1024px){.u-1\/1-desk{width:100%!important}.u-1\/2-desk{width:50%!important}.u-1\/3-desk{width:33.3333333333%!important}.u-2\/3-desk{width:66.6666666667%!important}.u-1\/4-desk{width:25%!important}.u-2\/4-desk{width:50%!important}.u-3\/4-desk{width:75%!important}.u-1\/5-desk{width:20%!important}.u-2\/5-desk{width:40%!important}.u-3\/5-desk{width:60%!important}.u-4\/5-desk{width:80%!important}}@media screen and (min-width:1400px){.u-1\/1-wide{width:100%!important}.u-1\/2-wide{width:50%!important}.u-1\/3-wide{width:33.3333333333%!important}.u-2\/3-wide{width:66.6666666667%!important}.u-1\/4-wide{width:25%!important}.u-2\/4-wide{width:50%!important}.u-3\/4-wide{width:75%!important}.u-1\/5-wide{width:20%!important}.u-2\/5-wide{width:40%!important}.u-3\/5-wide{width:60%!important}.u-4\/5-wide{width:80%!important}}@media (-webkit-min-device-pixel-ratio:2),(-o-min-device-pixel-ratio:2/1),(min-resolution:192dpi){.u-1\/1-retina{width:100%!important}.u-1\/2-retina{width:50%!important}.u-1\/3-retina{width:33.3333333333%!important}.u-2\/3-retina{width:66.6666666667%!important}.u-1\/4-retina{width:25%!important}.u-2\/4-retina{width:50%!important}.u-3\/4-retina{width:75%!important}.u-1\/5-retina{width:20%!important}.u-2\/5-retina{width:40%!important}.u-3\/5-retina{width:60%!important}.u-4\/5-retina{width:80%!important}}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL25vZGVfbW9kdWxlcy9pbnVpdC1idXR0b25zL19vYmplY3RzLmJ1dHRvbnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9pbnVpdC1sYXlvdXQvX29iamVjdHMubGF5b3V0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvaW51aXQtbm9ybWFsaXplL19nZW5lcmljLm5vcm1hbGl6ZS5zY3NzIiwibWFpbi5jc3MiLCJfY29tcG9uZW50cy5uZXdzLnNjc3MiLCJfYmFzZS5saW5rcy5zY3NzIiwiX2NvbXBvbmVudHMuY2FwdGlvbnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9pbnVpdC1ib3gtc2l6aW5nL19nZW5lcmljLmJveC1zaXppbmcuc2NzcyIsIl9iYXNlLnBhZ2Uuc2NzcyIsIl9iYXNlLnR5cGUuc2NzcyIsIl9iYXNlLnBhcmFncmFwaC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ludWl0LWltYWdlcy9fYmFzZS5pbWFnZXMuc2NzcyIsIl9jb21wb25lbnRzLmZsaWNraXR5LnNjc3MiLCJfYmFzZS5saXN0cy5zY3NzIiwiX2NvbXBvbmVudHMubWVudXMuc2NzcyIsIl9jb21wb25lbnRzLnBhZ2Utbm90LWZvdW5kLnNjc3MiLCJfY29tcG9uZW50cy5hY2NvcmRpb24uc2NzcyIsIl9jb21wb25lbnRzLnBhZ2UtZm9vdC5zY3NzIiwiX2NvbXBvbmVudHMuc2l0ZS10aXRsZS5zY3NzIiwiX2NvbXBvbmVudHMudHJhcGV6aXVtcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ludWl0LXJlc2V0L19nZW5lcmljLnJlc2V0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvaW51aXQtaGVhZGluZ3MvX2Jhc2UuaGVhZGluZ3Muc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9pbnVpdC1taXhpbnMvX3Rvb2xzLm1peGlucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ludWl0LXBhZ2UvX2Jhc2UucGFnZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ludWl0LXNoYXJlZC9fZ2VuZXJpYy5zaGFyZWQuc2NzcyIsIl90b29scy5taXhpbnMuc2NzcyIsIl9iYXNlLmZvbnRzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvaW51aXQtbGlzdHMvX2Jhc2UubGlzdHMuc2NzcyIsIl9vYmplY3RzLndyYXBwZXJzLnNjc3MiLCJfY29tcG9uZW50cy5wcmUtbG9hZGVyLnNjc3MiLCJfY29tcG9uZW50cy5lbnRyeS1saW5rcy5zY3NzIiwiX2NvbXBvbmVudHMucHJlc3MtbGlua3Muc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9pbnVpdC1ib3gvX29iamVjdHMuYm94LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvaW51aXQtbWVkaWEvX29iamVjdHMubWVkaWEuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9pbnVpdC1ibG9jay9fb2JqZWN0cy5ibG9jay5zY3NzIiwiX2NvbXBvbmVudHMuYmFjay10by1ob21lLnNjc3MiLCJfY29tcG9uZW50cy5wYWdlLWhlYWQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9pbnVpdC1yZXNwb25zaXZlLXRvb2xzL190b29scy5yZXNwb25zaXZlLnNjc3MiLCJfY29tcG9uZW50cy5jb250YWluZXIuc2NzcyIsIl9jb21wb25lbnRzLmZsaWNraXR5LW92ZXJ3cml0ZS5zY3NzIiwiX2NvbXBvbmVudHMuZnJhbWUuc2NzcyIsIl9jb21wb25lbnRzLmhvdmVycy5zY3NzIiwiX2NvbXBvbmVudHMucHJvamVjdHMuc2NzcyIsIl9jb21wb25lbnRzLnNlY3Rpb25zLnNjc3MiLCJfY29tcG9uZW50cy5ob21lLW5ld3Muc2NzcyIsIl9jb21wb25lbnRzLmhvbWUtY2Fyb3VzZWwuc2NzcyIsIl9jb21wb25lbnRzLnRodW1icy5zY3NzIiwiX2NvbXBvbmVudHMuY29udGVudHMuc2NzcyIsIl9jb21wb25lbnRzLmFycm93cy5zY3NzIiwiX2NvbXBvbmVudHMuYmxvY2tzLnNjc3MiLCJfY29tcG9uZW50cy5kZXNjcmlwdGlvbnMuc2NzcyIsIl9jb21wb25lbnRzLnBhZ2luYXRpb25zLnNjc3MiLCJfY29tcG9uZW50cy5jYXNlLXN0dWR5LWNhcm91c2VsLnNjc3MiLCJfY29tcG9uZW50cy5hYm91dC5zY3NzIiwiX2NvbXBvbmVudHMuc3R1ZGlvLnNjc3MiLCJfY29tcG9uZW50cy5xdW90ZXMuc2NzcyIsIl9jb21wb25lbnRzLm1haWxjaGltcC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ludWl0LWNsZWFyZml4L190cnVtcHMuY2xlYXJmaXguc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9pbnVpdC1oZWFkaW5ncy10cnVtcHMvX3RydW1wcy5oZWFkaW5ncy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ludWl0LXRvb2xzLXdpZHRocy9fdG9vbHMud2lkdGhzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs0RUFrREEsS0NhSSxjQ2RKLE1DZ0NBLE9BQ0EsU0FDQSxNRDlCRSxRQUFBLGFFekJGLFlGK0RBLEVHcEZJLG1CQUFBLElBQUEsSUFBQSxLQUFBLGNBQUEsSUFBQSxJQUFBLEtIb0ZKLEVBdUZBLElDVUEsSURORSxTQUFBLFNBakhGLFNBNkdBLElDVUEsSURMRSxlQUFBLFNBK0ZGLE9BcENBLEdDaUNBLE1ES0UsU0FBaUIsUUlwUm5CLFNDTUEsS0NGSSxlQUFBLE1Db0RKLElQMlNBLFNPeFNJLFNBQUEsS1BpR0osS1E1SkEsRUFDSSxNQUFBLEtDTUosSVQrVUEsT1M5VUksVUFBQSxLQ29HSixvQlhoRUEsUVl4Q0ksR0M2QkksV0FBQSxLWnBCUixLQUNFLE9BQUEsRUFZRixRQ2lDQSxNQUNBLFFBQ0EsV0FDQSxPQUNBLE9BQ0EsT0FDQSxLQUNBLEtBQ0EsSUFDQSxRQUNBLFFEL0JFLFFBQWMsTUFrQmhCLHNCQUNFLFFBQUEsS0FDQSxPQUFBLEVDMENGLFNEMUJBLFNBRUUsUUFBQSxLQVdGLEVBQ0UsaUJBQUEsWUFDQSw2QkFBcUMsUUd2Rm5DLGdCQUFBLEtBQ0EsV0FBQSxJQUFBLElBQUEsS1VTQSx1QlZQ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eUJBREosaUJBQ0ksTUFBQSxjQURKLGlCQUNJLE1BQUEsY0FESixpQkFDSSxNQUFBLGNBREosaUJBQ0ksTUFBQSxjQURKLGlCQUNJLE1BQUEsY0FESixpQkFDSSxNQUFBLGNBREosaUJBQ0ksTUFBQSxldEJNUixxQ3NCakJBLGFBQ0ksTUFBQSxlQVNBLGFBQ0ksTUFBQSxjQURKLGFBQ0ksTUFBQSx5QkFESixhQUNJLE1BQUEseUJBREosYUFDSSxNQUFBLGNBREosYUFDSSxNQUFBLGNBREosYUFDSSxNQUFBLGNBREosYUFDSSxNQUFBLGNBREosYUFDSSxNQUFBLGNBREosYUFDSSxNQUFBLGNBREosYUFDSSxNQUFBLGV0Qk1SLHFDc0JqQkEsYUFDSSxNQUFBLGVBU0EsYUFDSSxNQUFBLGNBREosYUFDSSxNQUFBLHlCQURKLGFBQ0ksTUFBQSx5QkFESixhQUNJLE1BQUEsY0FESixhQUNJLE1BQUEsY0FESixhQUNJLE1BQUEsY0FESixhQUNJLE1BQUEsY0FESixhQUNJLE1BQUEsY0FESixhQUNJLE1BQUEsY0FESixhQUNJLE1BQUEsZXRCTVIsa0dzQmpCQSxlQUNJLE1BQUEsZUFTQSxlQUNJLE1BQUEsY0FESixlQUNJLE1BQUEseUJBREosZUFDSSxNQUFBLHlCQURKLGVBQ0ksTUFBQSxjQURKLGVBQ0ksTUFBQSxjQURKLGVBQ0ksTUFBQSxjQURKLGVBQ0ksTUFBQSxjQURKLGVBQ0ksTUFBQSxjQURKLGVBQ0ksTUFBQSxjQURKLGVBQ0ksTUFBQSIsImZpbGUiOiJtYWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgI0JVVFRPTlNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qKlxuICogQSBzaW1wbGUgYnV0dG9uIG9iamVjdC5cbiAqL1xuXG4vLyBQcmVkZWZpbmUgdGhlIHZhcmlhYmxlcyBiZWxvdyBpbiBvcmRlciB0byBhbHRlciBhbmQgZW5hYmxlIHNwZWNpZmljIGZlYXR1cmVzLlxuJGludWl0LWJ0bi1uYW1lc3BhY2U6ICAgICAgICRpbnVpdC1uYW1lc3BhY2UgIWRlZmF1bHQ7XG5cbiRpbnVpdC1idG4tcGFkZGluZzogICAgICAgICBoYWx2ZSgkaW51aXQtYmFzZS1zcGFjaW5nLXVuaXQpICFkZWZhdWx0O1xuJGludWl0LWJ0bi1wYWRkaW5nLS1zbWFsbDogIGhhbHZlKCRpbnVpdC1idG4tcGFkZGluZykgIWRlZmF1bHQ7XG4kaW51aXQtYnRuLXBhZGRpbmctLWxhcmdlOiAgZG91YmxlKCRpbnVpdC1idG4tcGFkZGluZykgIWRlZmF1bHQ7XG4kaW51aXQtYnRuLWJhY2tncm91bmQ6ICAgICAgIzRhOGVjMiAhZGVmYXVsdDtcbiRpbnVpdC1idG4tY29sb3I6ICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGludWl0LWJ0bi1ib3JkZXItd2lkdGg6ICAgIDFweCAhZGVmYXVsdDtcbiRpbnVpdC1idG4tYm9yZGVyLXN0eWxlOiAgICBzb2xpZCAhZGVmYXVsdDtcbiRpbnVpdC1idG4tYm9yZGVyLWNvbG9yOiAgICAkaW51aXQtYnRuLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW51aXQtYnRuLXJhZGl1czogICAgICAgICAgMCAhZGVmYXVsdDtcblxuJGludWl0LWVuYWJsZS1idG4tLXNtYWxsOiAgIGZhbHNlICFkZWZhdWx0O1xuJGludWl0LWVuYWJsZS1idG4tLWxhcmdlOiAgIGZhbHNlICFkZWZhdWx0O1xuJGludWl0LWVuYWJsZS1idG4tLWZ1bGw6ICAgIGZhbHNlICFkZWZhdWx0O1xuJGludWl0LWVuYWJsZS1idG4tLXBpbGw6ICAgIGZhbHNlICFkZWZhdWx0O1xuXG5cblxuXG5cbi8vIEhlcmUgd2Ugc2V0IGEgdmFyaWFibGUgYXNzdW1pbmcgdGhhdCBgYm94LXNpemluZzogYm9yZGVyLWJveDtgIGlzIG5vdCBzZXRcbi8vIGdsb2JhbGx5LiBJZiBpdCBoYXMgYmVlbiBwcmV2aW91c2x5IGJlZW4gZGVmaW5lZCwgdGhlIGZvbGxvd2luZyB2YXJpYWJsZSB3aWxsXG4vLyBiZSBvdmVycmlkZW4gYW5kIHdpbGwgYmUgc2V0IHRvIGB0cnVlYC5cbiRpbnVpdC1nbG9iYWwtYm9yZGVyLWJveDogZmFsc2UgIWRlZmF1bHQ7XG5cblxuXG5cblxuLyoqXG4gKiAxLiBBbGxvdyB1cyB0byBzdHlsZSBib3ggbW9kZWwgcHJvcGVydGllcy5cbiAqIDIuIExpbmUgZGlmZmVyZW50IHNpemVkIGJ1dHRvbnMgdXAgYSBsaXR0bGUgbmljZXIuXG4gKiAzLiBNYWtlIGJ1dHRvbnMgaW5oZXJpdCBmb250IHN0eWxlcyAob2Z0ZW4gbmVjZXNzYXJ5IHdoZW4gc3R5bGluZyBgaW5wdXRgcyBhc1xuICogICAgYnV0dG9ucykuXG4gKiA0LiBSZXNldC9ub3JtYWxpemUgc29tZSBzdHlsZXMuXG4gKiA1LiBGb3JjZSBhbGwgYnV0dG9uLXN0eWxlZCBlbGVtZW50cyB0byBhcHBlYXIgY2xpY2thYmxlLlxuICogNi4gRml4ZXMgb2RkIGlubmVyIHNwYWNpbmcgaW4gSUU3LlxuICogNy4gU3VidHJhY3QgdGhlIGJvcmRlciBzaXplIGZyb20gdGhlIHBhZGRpbmcgdmFsdWUgc28gdGhhdCBidXR0b25zIGRvIG5vdFxuICogICAgZ3JvdyBsYXJnZXIgYXMgd2UgYWRkIGJvcmRlcnMuXG4gKi9cbi4jeyRpbnVpdC1idG4tbmFtZXNwYWNlfWJ0bixcbiUjeyRpbnVpdC1idG4tbmFtZXNwYWNlfWJ0biB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiBbMV0gKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvKiBbMl0gKi9cbiAgICBmb250OiBpbmhlcml0OyAvKiBbM10gKi9cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IC8qIFs0XSAqL1xuICAgIG1hcmdpbjogIDA7IC8qIFs0XSAqL1xuICAgIGN1cnNvcjogcG9pbnRlcjsgLyogWzVdICovXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIFs2XSAqL1xuICAgIHBhZGRpbmc6ICRpbnVpdC1idG4tcGFkZGluZyAtICRpbnVpdC1idG4tYm9yZGVyLXdpZHRoICBkb3VibGUoJGludWl0LWJ0bi1wYWRkaW5nKSAtICRpbnVpdC1idG4tYm9yZGVyLXdpZHRoOyAvKiBbN10gKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW51aXQtYnRuLWJhY2tncm91bmQ7XG5cbiAgICBAaWYoJGludWl0LWJ0bi1ib3JkZXItd2lkdGggIT0gMCkge1xuICAgICAgICBib3JkZXI6ICRpbnVpdC1idG4tYm9yZGVyLXdpZHRoICRpbnVpdC1idG4tYm9yZGVyLXN0eWxlICRpbnVpdC1idG4tYm9yZGVyLWNvbG9yO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBib3JkZXI6IG5vbmU7IC8qIFs0XSAqL1xuICAgIH1cblxuICAgIEBpZigkaW51aXQtYnRuLXJhZGl1cyAhPSAwKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRpbnVpdC1idG4tcmFkaXVzO1xuICAgIH1cblxuICAgICYsXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyAvKiBbNF0gKi9cbiAgICAgICAgY29sb3I6ICRpbnVpdC1idG4tY29sb3I7XG4gICAgfVxuXG59XG5cbi8qKlxuICogRml4IGEgRmlyZWZveCBidWcgd2hlcmVieSBgaW5wdXQgdHlwZT1cInN1Ym1pdFwiYCBnYWlucyAycHggZXh0cmEgcGFkZGluZy5cbiAqL1xuLiN7JGludWl0LWJ0bi1uYW1lc3BhY2V9YnRuOjotbW96LWZvY3VzLWlubmVyLFxuJSN7JGludWl0LWJ0bi1uYW1lc3BhY2V9YnRuOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6ICAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cblxuXG5cblxuQGlmICgkaW51aXQtZW5hYmxlLWJ0bi0tc21hbGwgPT0gdHJ1ZSkge1xuXG4gICAgLyoqXG4gICAgICogU21hbGwgYnV0dG9ucy5cbiAgICAgKi9cblxuICAgIC4jeyRpbnVpdC1idG4tbmFtZXNwYWNlfWJ0bi0tc21hbGwsXG4gICAgJSN7JGludWl0LWJ0bi1uYW1lc3BhY2V9YnRuLS1zbWFsbCB7XG4gICAgICAgIHBhZGRpbmc6ICRpbnVpdC1idG4tcGFkZGluZy0tc21hbGwgLSAkaW51aXQtYnRuLWJvcmRlci13aWR0aCAgZG91YmxlKCRpbnVpdC1idG4tcGFkZGluZy0tc21hbGwpIC0gJGludWl0LWJ0bi1ib3JkZXItd2lkdGg7IC8qIFs3XSAqL1xuICAgIH1cblxufVxuXG5AaWYgKCRpbnVpdC1lbmFibGUtYnRuLS1sYXJnZSA9PSB0cnVlKSB7XG5cbiAgICAvKipcbiAgICAgKiBMYXJnZSBidXR0b25zLlxuICAgICAqL1xuXG4gICAgLiN7JGludWl0LWJ0bi1uYW1lc3BhY2V9YnRuLS1sYXJnZSxcbiAgICAlI3skaW51aXQtYnRuLW5hbWVzcGFjZX1idG4tLWxhcmdlIHtcbiAgICAgICAgcGFkZGluZzogJGludWl0LWJ0bi1wYWRkaW5nLS1sYXJnZSAtICRpbnVpdC1idG4tYm9yZGVyLXdpZHRoICBkb3VibGUoJGludWl0LWJ0bi1wYWRkaW5nLS1sYXJnZSkgLSAkaW51aXQtYnRuLWJvcmRlci13aWR0aDsgLyogWzddICovXG4gICAgfVxuXG59XG5cblxuXG5cblxuQGlmICgkaW51aXQtZW5hYmxlLWJ0bi0tZnVsbCA9PSB0cnVlKSB7XG5cbiAgICAvKipcbiAgICAgKiBGdWxsLXdpZHRoIGJ1dHRvbnMuXG4gICAgICovXG5cbiAgICAuI3skaW51aXQtYnRuLW5hbWVzcGFjZX1idG4tLWZ1bGwsXG4gICAgJSN7JGludWl0LWJ0bi1uYW1lc3BhY2V9YnRuLS1mdWxsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGlmICRpbnVpdC1nbG9iYWwtYm9yZGVyLWJveCA9PSBmYWxzZSB7XG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFJlbW92ZSBwYWRkaW5ncyBzbyB0aGF0IHdpZHRocyBhbmQgcGFkZGluZ3MgZG9u4oCZdCBjb25mbGljdC5cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogIDA7XG4gICAgICAgIH1cblxuICAgIH1cblxufVxuXG5cblxuXG5cbkBpZiAoJGludWl0LWVuYWJsZS1idG4tLXBpbGwgPT0gdHJ1ZSkge1xuXG4gICAgLyoqXG4gICAgICogUm91bmQtZW5kZWQgYnV0dG9ucy5cbiAgICAgKlxuICAgICAqIDEuIE92ZXJseS1sYXJnZSB2YWx1ZSB0byBlbnN1cmUgdGhlIHJhZGl1cyByb3VuZHMgdGhlIHdob2xlIGVuZCBvZiB0aGVcbiAgICAgKiAgICBidXR0b24uXG4gICAgICovXG5cbiAgICAuI3skaW51aXQtYnRuLW5hbWVzcGFjZX1idG4tLXBpbGwsXG4gICAgJSN7JGludWl0LWJ0bi1uYW1lc3BhY2V9YnRuLS1waWxsIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7IC8qIFsxXSAqL1xuICAgIH1cblxufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAjTEFZT1VUXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKipcbiAqIFRoZSBpbnVpdGNzcyBsYXlvdXQgc3lzdGVtIHVzZXMgYGJveC1zaXppbmc6IGJvcmRlci1ib3g7YCBhbmRcbiAqIGBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7YCB0byBjcmVhdGUgYW4gZXh0cmVtZWx5IHBvd2VyZnVsLCBmbGV4aWJsZVxuICogYWx0ZXJuYXRpdmUgdG8gdGhlIHRyYWRpdGlvbmFsIGdyaWQgc3lzdGVtLiBDb21iaW5lIHRoZSBsYXlvdXQgaXRlbXMgd2l0aFxuICogdGhlIHdpZHRocyBmb3VuZCBpbiBgdHJ1bXBzLndpZHRoc2AuXG4gKi9cblxuLy8gUHJlZGVmaW5lIHRoZSB2YXJpYWJsZXMgYmVsb3cgaW4gb3JkZXIgdG8gYWx0ZXIgYW5kIGVuYWJsZSBzcGVjaWZpYyBmZWF0dXJlcy5cbiRpbnVpdC1sYXlvdXQtbmFtZXNwYWNlOiAgICAgICAgJGludWl0LW5hbWVzcGFjZSAhZGVmYXVsdDtcblxuJGludWl0LWxheW91dC1ndXR0ZXI6ICAgICAgICAgICAkaW51aXQtYmFzZS1zcGFjaW5nLXVuaXQgIWRlZmF1bHQ7XG4kaW51aXQtbGF5b3V0LWd1dHRlci0tdGlueTogICAgICAgcXVhcnRlcigkaW51aXQtbGF5b3V0LWd1dHRlcikgIWRlZmF1bHQ7XG4kaW51aXQtbGF5b3V0LWd1dHRlci0tc21hbGw6ICAgICAgICBoYWx2ZSgkaW51aXQtbGF5b3V0LWd1dHRlcikgIWRlZmF1bHQ7XG4kaW51aXQtbGF5b3V0LWd1dHRlci0tbGFyZ2U6ICAgICAgIGRvdWJsZSgkaW51aXQtbGF5b3V0LWd1dHRlcikgIWRlZmF1bHQ7XG4kaW51aXQtbGF5b3V0LWd1dHRlci0taHVnZTogICAgIHF1YWRydXBsZSgkaW51aXQtbGF5b3V0LWd1dHRlcikgIWRlZmF1bHQ7XG5cbiRpbnVpdC1lbmFibGUtbGF5b3V0LS10aW55OiAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kaW51aXQtZW5hYmxlLWxheW91dC0tc21hbGw6ICAgIGZhbHNlICFkZWZhdWx0O1xuJGludWl0LWVuYWJsZS1sYXlvdXQtLWxhcmdlOiAgICBmYWxzZSAhZGVmYXVsdDtcbiRpbnVpdC1lbmFibGUtbGF5b3V0LS1odWdlOiAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kaW51aXQtZW5hYmxlLWxheW91dC0tZmx1c2g6ICAgIGZhbHNlICFkZWZhdWx0O1xuJGludWl0LWVuYWJsZS1sYXlvdXQtLXJldjogICAgICBmYWxzZSAhZGVmYXVsdDtcbiRpbnVpdC1lbmFibGUtbGF5b3V0LS1taWRkbGU6ICAgZmFsc2UgIWRlZmF1bHQ7XG4kaW51aXQtZW5hYmxlLWxheW91dC0tYm90dG9tOiAgIGZhbHNlICFkZWZhdWx0O1xuJGludWl0LWVuYWJsZS1sYXlvdXQtLXJpZ2h0OiAgICBmYWxzZSAhZGVmYXVsdDtcbiRpbnVpdC1lbmFibGUtbGF5b3V0LS1jZW50ZXI6ICAgZmFsc2UgIWRlZmF1bHQ7XG4kaW51aXQtZW5hYmxlLWxheW91dC0tYXV0bzogICAgIGZhbHNlICFkZWZhdWx0O1xuXG5cblxuXG5cbi8vIEhlcmUgd2Ugc2V0IGEgdmFyaWFibGUgYXNzdW1pbmcgdGhhdCBgYm94LXNpemluZzogYm9yZGVyLWJveDtgIGlzIG5vdCBzZXRcbi8vIGdsb2JhbGx5LiBJZiBpdCBoYXMgYmVlbiBwcmV2aW91c2x5IGJlZW4gZGVmaW5lZCwgdGhlIGZvbGxvd2luZyB2YXJpYWJsZSB3aWxsXG4vLyBiZSBvdmVycmlkZW4gYW5kIHdpbGwgYmUgc2V0IHRvIGB0cnVlYC5cbiRpbnVpdC1nbG9iYWwtYm9yZGVyLWJveDogZmFsc2UgIWRlZmF1bHQ7XG5cblxuXG5cblxuLyoqXG4gKiBCZWdpbiBhIGxheW91dCBncm91cC5cbiAqL1xuLiN7JGludWl0LWxheW91dC1uYW1lc3BhY2V9bGF5b3V0LFxuJSN7JGludWl0LWxheW91dC1uYW1lc3BhY2V9bGF5b3V0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogIDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tbGVmdDogLSRpbnVpdC1sYXlvdXQtZ3V0dGVyO1xufVxuXG4gICAgLyoqXG4gICAgICogMS4gQ2F1c2UgY29sdW1ucyB0byBzdGFjayBzaWRlLWJ5LXNpZGUuXG4gICAgICogMi4gU3BhY2UgY29sdW1ucyBhcGFydC5cbiAgICAgKiAzLiBBbGlnbiBjb2x1bW5zIHRvIHRoZSB0b3BzIG9mIGVhY2ggb3RoZXIuXG4gICAgICogNC4gRnVsbC13aWR0aCB1bmxlc3MgdG9sZCB0byBiZWhhdmUgb3RoZXJ3aXNlLlxuICAgICAqIDUuIFJlcXVpcmVkIHRvIGNvbWJpbmUgZmx1aWQgd2lkdGhzIGFuZCBmaXhlZCBndXR0ZXJzLlxuICAgICAqL1xuICAgIC4jeyRpbnVpdC1sYXlvdXQtbmFtZXNwYWNlfWxheW91dF9faXRlbSxcbiAgICAlI3skaW51aXQtbGF5b3V0LW5hbWVzcGFjZX1sYXlvdXRfX2l0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIFsxXSAqL1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRpbnVpdC1sYXlvdXQtZ3V0dGVyOyAvKiBbMl0gKi9cbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgLyogWzNdICovXG4gICAgICAgIHdpZHRoOiAxMDAlOyAvKiBbNF0gKi9cblxuICAgICAgICBAaWYgJGludWl0LWdsb2JhbC1ib3JkZXItYm94ID09IGZhbHNlIHtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogWzVdICovXG4gICAgICAgICAgICAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIFs1XSAqL1xuICAgICAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiBbNV0gKi9cbiAgICAgICAgfVxuXG4gICAgfVxuXG5cblxuXG5cbkBpZiAoJGludWl0LWVuYWJsZS1sYXlvdXQtLXRpbnkgPT0gdHJ1ZSkge1xuXG4gICAgLyoqXG4gICAgICogTGF5b3V0cyB3aXRoIHRpbnkgZ3V0dGVycy5cbiAgICAgKi9cblxuICAgIC4jeyRpbnVpdC1sYXlvdXQtbmFtZXNwYWNlfWxheW91dC0tdGlueSxcbiAgICAlI3skaW51aXQtbGF5b3V0LW5hbWVzcGFjZX1sYXlvdXQtLXRpbnkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLSgkaW51aXQtbGF5b3V0LWd1dHRlci0tdGlueSk7XG5cbiAgICAgICAgPiAuI3skaW51aXQtbGF5b3V0LW5hbWVzcGFjZX1sYXlvdXRfX2l0ZW0sXG4gICAgICAgID4gJSN7JGludWl0LWxheW91dC1uYW1lc3BhY2V9bGF5b3V0X19pdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGludWl0LWxheW91dC1ndXR0ZXItLXRpbnk7XG4gICAgICAgIH1cblxuICAgIH1cblxufVxuXG5AaWYgKCRpbnVpdC1lbmFibGUtbGF5b3V0LS1zbWFsbCA9PSB0cnVlKSB7XG5cbiAgICAvKipcbiAgICAgKiBMYXlvdXRzIHdpdGggc21hbGwgZ3V0dGVycy5cbiAgICAgKi9cblxuICAgIC4jeyRpbnVpdC1sYXlvdXQtbmFtZXNwYWNlfWxheW91dC0tc21hbGwsXG4gICAgJSN7JGludWl0LWxheW91dC1uYW1lc3BhY2V9bGF5b3V0LS1zbWFsbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtKCRpbnVpdC1sYXlvdXQtZ3V0dGVyLS1zbWFsbCk7XG5cbiAgICAgICAgPiAuI3skaW51aXQtbGF5b3V0LW5hbWVzcGFjZX1sYXlvdXRfX2l0ZW0sXG4gICAgICAgID4gJSN7JGludWl0LWxheW91dC1uYW1lc3BhY2V9bGF5b3V0X19pdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGludWl0LWxheW91dC1ndXR0ZXItLXNtYWxsO1xuICAgICAgICB9XG5cbiAgICB9XG5cbn1cblxuQGlmICgkaW51aXQtZW5hYmxlLWxheW91dC0tbGFyZ2UgPT0gdHJ1ZSkge1xuXG4gICAgLyoqXG4gICAgICogTGF5b3V0cyB3aXRoIGxhcmdlIGd1dHRlcnMuXG4gICAgICovXG5cbiAgICAuI3skaW51aXQtbGF5b3V0LW5hbWVzcGFjZX1sYXlvdXQtLWxhcmdlLFxuICAgICUjeyRpbnVpdC1sYXlvdXQtbmFtZXNwYWNlfWxheW91dC0tbGFyZ2Uge1xuICAgICAgICBtYXJnaW4tbGVmdDogLSgkaW51aXQtbGF5b3V0LWd1dHRlci0tbGFyZ2UpO1xuXG4gICAgICAgID4gLiN7JGludWl0LWxheW91dC1uYW1lc3BhY2V9bGF5b3V0X19pdGVtLFxuICAgICAgICA+ICUjeyRpbnVpdC1sYXlvdXQtbmFtZXNwYWNlfWxheW91dF9faXRlbSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRpbnVpdC1sYXlvdXQtZ3V0dGVyLS1sYXJnZTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cbkBpZiAoJGludWl0LWVuYWJsZS1sYXlvdXQtLWh1Z2UgPT0gdHJ1ZSkge1xuXG4gICAgLyoqXG4gICAgICogTGF5b3V0cyB3aXRoIGh1Z2UgZ3V0dGVycy5cbiAgICAgKi9cblxuICAgIC4jeyRpbnVpdC1sYXlvdXQtbmFtZXNwYWNlfWxheW91dC0taHVnZSxcbiAgICAlI3skaW51aXQtbGF5b3V0LW5hbWVzcGFjZX1sYXlvdXQtLWh1Z2Uge1xuICAgICAgICBtYXJnaW4tbGVmdDogLSgkaW51aXQtbGF5b3V0LWd1dHRlci0taHVnZSk7XG5cbiAgICAgICAgPiAuI3skaW51aXQtbGF5b3V0LW5hbWVzcGFjZX1sYXlvdXRfX2l0ZW0sXG4gICAgICAgID4gJSN7JGludWl0LWxheW91dC1uYW1lc3BhY2V9bGF5b3V0X19pdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGludWl0LWxheW91dC1ndXR0ZXItLWh1Z2U7XG4gICAgICAgIH1cblxuICAgIH1cblxufVxuXG5cblxuXG5cbkBpZiAoJGludWl0LWVuYWJsZS1sYXlvdXQtLWZsdXNoID09IHRydWUpIHtcblxuICAgIC8qKlxuICAgICAqIExheW91dHMgd2l0aCBubyBndXR0ZXJzLlxuICAgICAqL1xuXG4gICAgLiN7JGludWl0LWxheW91dC1uYW1lc3BhY2V9bGF5b3V0LS1mbHVzaCxcbiAgICAlI3skaW51aXQtbGF5b3V0LW5hbWVzcGFjZX1sYXlvdXQtLWZsdXNoIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAgICAgPiAuI3skaW51aXQtbGF5b3V0LW5hbWVzcGFjZX1sYXlvdXRfX2l0ZW0sXG4gICAgICAgID4gJSN7JGludWl0LWxheW91dC1uYW1lc3BhY2V9bGF5b3V0X19pdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cblxuXG5cblxuQGlmICgkaW51aXQtZW5hYmxlLWxheW91dC0tcmV2ID09IHRydWUpIHtcblxuICAgIC8qKlxuICAgICAqIFJldmVyc2VkIHJlbmRlcmVkIG9yZGVyIG9mIGxheW91dCBpdGVtcywgZS5nLiBpdGVtcyAxLCAyLCAzLCA0IGluIHlvdXJcbiAgICAgKiBtYXJrdXAgd2lsbCBkaXNwbGF5IGluIG9yZGVyIDQsIDMsIDIsIDEgb24geW91ciBwYWdlLlxuICAgICAqL1xuXG4gICAgLiN7JGludWl0LWxheW91dC1uYW1lc3BhY2V9bGF5b3V0LS1yZXYsXG4gICAgJSN7JGludWl0LWxheW91dC1uYW1lc3BhY2V9bGF5b3V0LS1yZXYge1xuICAgICAgICBkaXJlY3Rpb246IHJ0bDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICA+IC4jeyRpbnVpdC1sYXlvdXQtbmFtZXNwYWNlfWxheW91dF9faXRlbSxcbiAgICAgICAgPiAlI3skaW51aXQtbGF5b3V0LW5hbWVzcGFjZX1sYXlvdXRfX2l0ZW0ge1xuICAgICAgICAgICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICB9XG5cbn1cblxuXG5cblxuXG5AaWYgKCRpbnVpdC1lbmFibGUtbGF5b3V0LS1taWRkbGUgPT0gdHJ1ZSkge1xuXG4gICAgLyoqXG4gICAgICogQWxpZ24gbGF5b3V0IGl0ZW1zIHRvIHRoZSB2ZXJ0aWNhbCBjZW50ZXJzIG9mIGVhY2ggb3RoZXIuXG4gICAgICovXG5cbiAgICAuI3skaW51aXQtbGF5b3V0LW5hbWVzcGFjZX1sYXlvdXQtLW1pZGRsZSxcbiAgICAlI3skaW51aXQtbGF5b3V0LW5hbWVzcGFjZX1sYXlvdXQtLW1pZGRsZSB7XG5cbiAgICAgICAgPiAuI3skaW51aXQtbGF5b3V0LW5hbWVzcGFjZX1sYXlvdXRfX2l0ZW0sXG4gICAgICAgID4gJSN7JGludWl0LWxheW91dC1uYW1lc3BhY2V9bGF5b3V0X19pdGVtIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIH1cblxuICAgIH1cblxufVxuXG5AaWYgKCRpbnVpdC1lbmFibGUtbGF5b3V0LS1ib3R0b20gPT0gdHJ1ZSkge1xuXG4gICAgLyoqXG4gICAgICogQWxpZ24gbGF5b3V0IGl0ZW1zIHRvIHRoZSB2ZXJ0aWNhbCBib3R0b21zIG9mIGVhY2ggb3RoZXIuXG4gICAgICovXG5cbiAgICAuI3skaW51aXQtbGF5b3V0LW5hbWVzcGFjZX1sYXlvdXQtLWJvdHRvbSxcbiAgICAlI3skaW51aXQtbGF5b3V0LW5hbWVzcGFjZX1sYXlvdXQtLWJvdHRvbSB7XG5cbiAgICAgICAgPiAuI3skaW51aXQtbGF5b3V0LW5hbWVzcGFjZX1sYXlvdXRfX2l0ZW0sXG4gICAgICAgID4gJSN7JGludWl0LWxheW91dC1uYW1lc3BhY2V9bGF5b3V0X19pdGVtIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICAgIH1cblxuICAgIH1cblxufVxuXG5cblxuXG5cbkBpZiAoJGludWl0LWVuYWJsZS1sYXlvdXQtLXJpZ2h0ID09IHRydWUpIHtcblxuICAgIC8qKlxuICAgICAqIE1ha2UgdGhlIGxheW91dCBpdGVtcyBmaWxsIHVwIGZyb20gdGhlIHJpZ2h0IGhhbmQgc2lkZS5cbiAgICAgKi9cblxuICAgIC4jeyRpbnVpdC1sYXlvdXQtbmFtZXNwYWNlfWxheW91dC0tcmlnaHQsXG4gICAgJSN7JGludWl0LWxheW91dC1uYW1lc3BhY2V9bGF5b3V0LS1yaWdodCB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgID4gLiN7JGludWl0LWxheW91dC1uYW1lc3BhY2V9bGF5b3V0X19pdGVtLFxuICAgICAgICA+ICUjeyRpbnVpdC1sYXlvdXQtbmFtZXNwYWNlfWxheW91dF9faXRlbSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICB9XG5cbn1cblxuQGlmICgkaW51aXQtZW5hYmxlLWxheW91dC0tY2VudGVyID09IHRydWUpIHtcblxuICAgIC8qKlxuICAgICAqIE1ha2UgdGhlIGxheW91dCBpdGVtcyBmaWxsIHVwIGZyb20gdGhlIGNlbnRlciBvdXR3YXJkLlxuICAgICAqL1xuXG4gICAgLiN7JGludWl0LWxheW91dC1uYW1lc3BhY2V9bGF5b3V0LS1jZW50ZXIsXG4gICAgJSN7JGludWl0LWxheW91dC1uYW1lc3BhY2V9bGF5b3V0LS1jZW50ZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgPiAuI3skaW51aXQtbGF5b3V0LW5hbWVzcGFjZX1sYXlvdXRfX2l0ZW0sXG4gICAgICAgID4gJSN7JGludWl0LWxheW91dC1uYW1lc3BhY2V9bGF5b3V0X19pdGVtIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cblxuICAgIH1cblxufVxuXG5cblxuXG5cbkBpZiAoJGludWl0LWVuYWJsZS1sYXlvdXQtLWF1dG8gPT0gdHJ1ZSkge1xuXG4gICAgLyoqXG4gICAgICogQ2F1c2UgbGF5b3V0IGl0ZW1zIHRvIHRha2UgdXAgYSBub24tZXhwbGljaXQgYW1vdW50IG9mIHdpZHRoLlxuICAgICAqL1xuICAgIC4jeyRpbnVpdC1sYXlvdXQtbmFtZXNwYWNlfWxheW91dC0tYXV0byxcbiAgICAlI3skaW51aXQtbGF5b3V0LW5hbWVzcGFjZX1sYXlvdXQtLWF1dG8ge1xuXG4gICAgICAgID4gLiN7JGludWl0LWxheW91dC1uYW1lc3BhY2V9bGF5b3V0X19pdGVtLFxuICAgICAgICA+ICUjeyRpbnVpdC1sYXlvdXQtbmFtZXNwYWNlfWxheW91dF9faXRlbSB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2NC4xLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBJRSBhbmQgaU9TLlxuICovXG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscywgLyogMSAqL1xuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbm1haW4sIC8qIDIgKi9cbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7IC8qIDEgKi9cbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxudGVtcGxhdGUsIC8qIDEgKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogTGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lLXdpZHRoOiAwO1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gKi9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qKlxuICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gKi9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udDogaW5oZXJpdDsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb250IHdlaWdodCB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSB0ZXh0IHN0eWxlIG9mIHBsYWNlaG9sZGVycyBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIG9wYWNpdHk6IDAuNTQ7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyoqXG4gKiAjU0VUVElOR1NcbiAqL1xuLyohXG4gKiBpbnVpdGNzcywgYnkgQGNzc3dpemFyZHJ5XG4gKlxuICogZ2l0aHViLmNvbS9pbnVpdGNzcyB8IGludWl0Y3NzLmNvbVxuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2V0dGluZ3MvR2xvYmFsXG4gICA9PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNldHRpbmdzL0ZvbnRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNldHRpbmdzL0NvbG9yc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09XG4gICBTZXR0aW5ncy9NYXggV2lkdGhcbiAgID09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2V0dGluZ3MvVHJhbnNpdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqICNUT09MU1xuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PVxuICAgVG9vbHMvTWl4aW5zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRvb2xzL0FsaWFzZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqICNHRU5FUklDXG4gKi9cbi8qISBub3JtYWxpemUuY3NzIHY0LjEuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBJRSBhbmQgaU9TLlxuICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cbnRlbXBsYXRlLFxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lLXdpZHRoOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDEgKi9cbiAgaGVpZ2h0OiAwO1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiAyICovIH1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250OiBpbmhlcml0O1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9udCB3ZWlnaHQgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cbmJ1dHRvbixcbmlucHV0IHtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5idXR0b24sXG5zZWxlY3Qge1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxuICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG4vKipcbiAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHRleHQgc3R5bGUgb2YgcGxhY2Vob2xkZXJzIGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIG9wYWNpdHk6IDAuNTQ7IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqLyB9XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgI1JFU0VUXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBBcyB3ZWxsIGFzIHVzaW5nIG5vcm1hbGl6ZS5jc3MsIGl0IGlzIG9mdGVuIGFkdmFudGFnZW91cyB0byByZW1vdmUgYWxsXG4gKiBtYXJnaW5zIGZyb20gY2VydGFpbiBlbGVtZW50cy5cbiAqL1xuYm9keSxcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXG5wLCBibG9ja3F1b3RlLCBwcmUsXG5kbCwgZGQsIG9sLCB1bCxcbmZvcm0sIGZpZWxkc2V0LCBsZWdlbmQsXG5maWd1cmUsXG50YWJsZSwgdGgsIHRkLCBjYXB0aW9uLFxuaHIge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXG4gKiBHaXZlIGEgaGVscCBjdXJzb3IgdG8gZWxlbWVudHMgdGhhdCBnaXZlIGV4dHJhIGluZm8gb24gYDpob3ZlcmAuXG4gKi9cbmFiYnJbdGl0bGVdLFxuZGZuW3RpdGxlXSB7XG4gIGN1cnNvcjogaGVscDsgfVxuXG4vKipcbiAqIFJlbW92ZSB1bmRlcmxpbmVzIGZyb20gcG90ZW50aWFsbHkgdHJvdWJsZXNvbWUgZWxlbWVudHMuXG4gKi9cbnUsXG5pbnMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLyoqXG4gKiBBcHBseSBmYXV4IHVuZGVybGluZXMgdG8gaW5zZXJ0ZWQgdGV4dCB2aWEgYGJvcmRlci1ib3R0b21gLlxuICovXG5pbnMge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7IH1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAjQk9YLVNJWklOR1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogU2V0IHRoZSBnbG9iYWwgYGJveC1zaXppbmdgIHN0YXRlIHRvIGBib3JkZXItYm94YC5cbiAqXG4gKiBjc3MtdHJpY2tzLmNvbS9pbmhlcml0aW5nLWJveC1zaXppbmctcHJvYmFibHktc2xpZ2h0bHktYmV0dGVyLWJlc3QtcHJhY3RpY2VcbiAqIHBhdWxpcmlzaC5jb20vMjAxMi9ib3gtc2l6aW5nLWJvcmRlci1ib3gtZnR3XG4gKi9cbmh0bWwge1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4qLCAqOmJlZm9yZSwgKjphZnRlciB7XG4gIC13ZWJraXQtYm94LXNpemluZzogaW5oZXJpdDtcbiAgLW1vei1ib3gtc2l6aW5nOiBpbmhlcml0O1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgI1NIQVJFRFxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogV2hlcmUgYG1hcmdpbi1ib3R0b21gIGlzIGNvbmNlcm5lZCx0aGlzIHZhbHVlIHdpbGwgYmUgdGhlIHNhbWUgYXMgdGhlXG4gKiBiYXNlIGxpbmUtaGVpZ2h0LiBUaGlzIGFsbG93cyB1cyB0byBrZWVwIGEgY29uc2lzdGVudCB2ZXJ0aWNhbCByaHl0aG0uXG4gKiBBcyBwZXI6IGNzc3dpemFyZHJ5LmNvbS8yMDEyLzA2L3NpbmdsZS1kaXJlY3Rpb24tbWFyZ2luLWRlY2xhcmF0aW9uc1xuICovXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxudWwsIG9sLCBkbCxcbmJsb2NrcXVvdGUsIHAsIGFkZHJlc3MsXG5ocixcbnRhYmxlLFxuZmllbGRzZXQsIGZpZ3VyZSxcbnByZSB7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuXG4vKipcbiAqIFdoZXJlIGBtYXJnaW4tbGVmdGAgaXMgY29uY2VybmVkIHdlIHdhbnQgdG8gdHJ5IGFuZCBpbmRlbnQgY2VydGFpbiBlbGVtZW50c1xuICogYnkgYSBjb25zaXN0ZW50IGFtb3VudC4gRGVmaW5lIHRoYXQgYW1vdW50IG9uY2UsaGVyZS5cbiAqL1xudWwsIG9sLCBkZCB7XG4gIG1hcmdpbi1sZWZ0OiA0OHB4O1xuICBtYXJnaW4tbGVmdDogM3JlbTsgfVxuXG4vKipcbiAqICNCQVNFXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgI1BBR0VcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIEhpZ2gtLCBwYWdlLWxldmVsIHN0eWxpbmcuXG4gKlxuICogMS4gU2V0IHRoZSBkZWZhdWx0IGBmb250LXNpemVgIGFuZCBgbGluZS1oZWlnaHRgIGZvciB0aGUgZW50aXJlIHByb2plY3QsXG4gKiAgICBzb3VyY2VkIGZyb20gb3VyIGRlZmF1bHQgdmFyaWFibGVzLiBUaGUgYGZvbnQtc2l6ZWAgaXMgY2FsY3VsYXRlZCB0byBleGlzdFxuICogICAgaW4gZW1zLCB0aGUgYGxpbmUtaGVpZ2h0YCBpcyBjYWxjdWxhdGVkIHRvIGV4aXN0IHVuaXRsZXNzbHkuXG4gKiAyLiBGb3JjZSBzY3JvbGxiYXJzIHRvIGFsd2F5cyBiZSB2aXNpYmxlIHRvIHByZXZlbnQgYXdrd2FyZCDigJhqdW1wc+KAmSB3aGVuXG4gKiAgICBuYXZpZ2F0aW5nIGJldHdlZW4gcGFnZXMgdGhhdCBkby9kbyBub3QgaGF2ZSBlbm91Z2ggY29udGVudCB0byBwcm9kdWNlXG4gKiAgICBzY3JvbGxiYXJzIG5hdHVyYWxseS5cbiAqIDMuIEVuc3VyZSB0aGUgcGFnZSBhbHdheXMgZmlsbHMgYXQgbGVhc3QgdGhlIGVudGlyZSBoZWlnaHQgb2YgdGhlIHZpZXdwb3J0LlxuICogNC4gUHJldmVudCBjZXJ0YWluIG1vYmlsZSBicm93c2VycyBmcm9tIGF1dG9tYXRpY2FsbHkgem9vbWluZyBmb250cy5cbiAqIDUuIEZvbnRzIG9uIE9TWCB3aWxsIGxvb2sgbW9yZSBjb25zaXN0ZW50IHdpdGggb3RoZXIgc3lzdGVtcyB0aGF0IGRvIG5vdFxuICogICAgcmVuZGVyIHRleHQgdXNpbmcgc3ViLXBpeGVsIGFudGktYWxpYXNpbmcuXG4gKi9cbmh0bWwge1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogWzFdICovXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIC8qIFsxXSAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogIzMzMztcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAvKiBbMl0gKi9cbiAgbWluLWhlaWdodDogMTAwJTtcbiAgLyogWzNdICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogWzRdICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiBbNF0gKi9cbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLyogWzVdICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAvKiBbNV0gKi8gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzZS9QYWdlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PSAqL1xuaHRtbCB7XG4gIGJhY2tncm91bmQ6ICMxYTFhMWE7XG4gIGNvbG9yOiAjRkZGO1xuICBmb250LWZhbWlseTogXCJESU5NaXR0ZWxzY2hyaWZ0U3RkXCIsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICNIRUFESU5HU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogSGVhZGluZ3MgMeKAkzYuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAzNnB4O1xuICBmb250LXNpemU6IDIuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzMzMzM7IH1cblxuaDIge1xuICBmb250LXNpemU6IDMwcHg7XG4gIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxuaDMge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yOyB9XG5cbmg1IHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cblxuaDYge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjcxNDI4NTcxNDM7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2UvVHlwZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogVHlwb2dyYXBoaWNhbCBiYXNlIHNlbGVjdG9ycy5cbiAqL1xuLyoqXG4gKiBIZWFkaW5ncyAx4oCTNi5cbiAqL1xuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLyoqXG4gKiBBIGdlbmVyaWMgaGVhZGluZyBzdHlsZSB3aGljaCBjYW4gYmUgYXBwbGllZCB0byBhbnkgaGVhZGluZ3MuXG4gKi9cbi5oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBmb250LXNpemU6IDEuMzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4wOTA5MDkwOTA5OyB9XG5cbi5oZWFkaW5nLXN1YiB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qKlxuICogRW1ib2xkZW5lZCBlbGVtZW50cy5cbiAqL1xuc3Ryb25nIHtcbiAgZm9udC1mYW1pbHk6IERJTk1pdHRlbHNjaHJpZnRTdGQsIHNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi8qKlxuICogQ29kZS1saWtlIGVsZW1lbnRzLlxuICovXG5jb2RlLCBrYmQsIHNhbXAge1xuICBmb250LWZhbWlseTogSW5jb25zb2xhdGEsIE1vbmFjbywgQ29uc29sYXMsIFwiQW5kYWxlIE1vbm9cIiwgXCJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7IH1cblxucHJlIHtcbiAgd2hpdGUtc3BhY2U6IHByZTtcbiAgd29yZC13cmFwOiBub3JtYWw7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBwYWRkaW5nOiAxMnB4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7IH1cblxuLyoqXG4gKiBGaWd1cmVzLlxuICpcbiAqIDEuIE91dGRlbnQgZmlndXJlcyBieSBhbiBhcmJpdHJhcnkgYW1vdW50IGF0IHRoZSByZWxldmFudCB2aWV3cG9ydCBzaXplLlxuICogMi4gUmVpbmRlbnQgZmlnY2FwdGlvbnMuXG4gKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzODBweCkge1xuICBmaWd1cmUge1xuICAgIG1hcmdpbi1sZWZ0OiAtMTI4cHg7XG4gICAgLyogWzFdICovIH0gfVxuZmlndXJlID4gaW1nIHtcbiAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG5cbmZpZ2NhcHRpb24ge1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM4MHB4KSB7XG4gICAgZmlnY2FwdGlvbiB7XG4gICAgICBtYXJnaW4tbGVmdDogMTI4cHg7XG4gICAgICAvKiBbMl0gKi8gfSB9XG5cbi8qKlxuICogSG9yaXpvbnRhbCBydWxlcy5cbiAqL1xuaHIge1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xuICBtYXJnaW4tYm90dG9tOiAyM3B4OyB9XG5cbi8qKlxuICogSGlnaGxpZ2h0ZWQgdGV4dC5cbiAqL1xucHJlIG1hcmsge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG5cbi8qKlxuICogVGV4dC1hbGlnbm1lbnQuXG4gKi9cbi50ZXh0LWJhbm5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4vKipcbiAqIEZvcm0uXG4gKi9cbnRleHRhcmVhOmZvY3VzLCBpbnB1dDpmb2N1cyB7XG4gIG91dGxpbmU6IDA7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2UvRm9udHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09ICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRElOTWl0dGVsc2NocmlmdFN0ZFwiO1xuICBzcmM6IHVybChcIi9hc3NldHMvZm9udHMvRElOTWl0dGVsc2NocmlmdFN0ZC9ESU5NaXR0ZWxzY2hyaWZ0U3RkLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIvYXNzZXRzL2ZvbnRzL0RJTk1pdHRlbHNjaHJpZnRTdGQvRElOTWl0dGVsc2NocmlmdFN0ZC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIvYXNzZXRzL2ZvbnRzL0RJTk1pdHRlbHNjaHJpZnRTdGQvRElOTWl0dGVsc2NocmlmdFN0ZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi9hc3NldHMvZm9udHMvRElOTWl0dGVsc2NocmlmdFN0ZC9ESU5NaXR0ZWxzY2hyaWZ0U3RkLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiL2Fzc2V0cy9mb250cy9ESU5NaXR0ZWxzY2hyaWZ0U3RkL0RJTk1pdHRlbHNjaHJpZnRTdGQuc3ZnI0RJTk1pdHRlbHNjaHJpZnRTdGRcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJESU5FbmdzY2hyaWZ0U3RkXCI7XG4gIHNyYzogdXJsKFwiL2Fzc2V0cy9mb250cy9ESU5NaXR0ZWxzY2hyaWZ0U3RkL0RJTk1pdHRlbHNjaHJpZnRTdGQuZW90XCIpO1xuICBzcmM6IHVybChcIi9hc3NldHMvZm9udHMvRElOTWl0dGVsc2NocmlmdFN0ZC9ESU5NaXR0ZWxzY2hyaWZ0U3RkLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi9hc3NldHMvZm9udHMvRElOTWl0dGVsc2NocmlmdFN0ZC9ESU5NaXR0ZWxzY2hyaWZ0U3RkLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiL2Fzc2V0cy9mb250cy9ESU5NaXR0ZWxzY2hyaWZ0U3RkL0RJTk1pdHRlbHNjaHJpZnRTdGQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIvYXNzZXRzL2ZvbnRzL0RJTk1pdHRlbHNjaHJpZnRTdGQvRElOTWl0dGVsc2NocmlmdFN0ZC5zdmcjRElOTWl0dGVsc2NocmlmdFN0ZFwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuLyogPT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2UvTGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09ICovXG5hIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOyB9XG4gIGE6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgY29udGVudDogJyc7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTsgfVxuICBhOmhvdmVyOjphZnRlciwgYTpmb2N1czo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNlL1BhcmFncmFwaHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09ICovXG5wIHtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDI7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2UvTGlzdHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09ICovXG51bCB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbmxpIHtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICNMSVNUU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogUmVtb3ZlIGV4dHJhIHZlcnRpY2FsIHNwYWNpbmcgd2hlbiBuZXN0aW5nIGxpc3RzLlxuICovXG5saSA+IHVsLFxubGkgPiBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAjSU1BR0VTXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiAxLiBGbHVpZCBpbWFnZXMgZm9yIHJlc3BvbnNpdmUgcHVycG9zZXMuXG4gKiAyLiBPZmZzZXQgYGFsdGAgdGV4dCBmcm9tIHN1cnJvdW5kaW5nIGNvcHkuXG4gKiAzLiBTZXR0aW5nIGB2ZXJ0aWNhbC1hbGlnbmAgcmVtb3ZlcyB0aGUgd2hpdGVzcGFjZSB0aGF0IGFwcGVhcnMgdW5kZXIgYGltZ2BcbiAqICAgIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgZHJvcHBlZCBpbnRvIGEgcGFnZSBhcy1pcy4gU2FmZXIgYWx0ZXJuYXRpdmUgdG9cbiAqICAgIHVzaW5nIGBkaXNwbGF5OiBibG9jaztgLlxuICovXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIFsxXSAqL1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIC8qIFsyXSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAvKiBbM10gKi8gfVxuXG4vKipcbiAqIDEuIEdvb2dsZSBNYXBzIGJyZWFrcyBpZiBgbWF4LXdpZHRoOiAxMDAlYCBhY3RzIHVwb24gaXQ7IHVzZSB0aGVpciBzZWxlY3RvclxuICogICAgdG8gcmVtb3ZlIHRoZSBlZmZlY3RzLlxuICogMi4gSWYgYSBgd2lkdGhgIGFuZC9vciBgaGVpZ2h0YCBhdHRyaWJ1dGUgaGF2ZSBiZWVuIGV4cGxpY2l0bHkgZGVmaW5lZCwgbGV04oCZc1xuICogICAgbm90IG1ha2UgdGhlIGltYWdlIGZsdWlkLlxuICovXG4uZ20tc3R5bGUgaW1nLFxuaW1nW3dpZHRoXSxcbmltZ1toZWlnaHRdIHtcbiAgLyogWzJdICovXG4gIG1heC13aWR0aDogbm9uZTsgfVxuXG4vKipcbiAqICNPQkpFQ1RTXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgI1dSQVBQRVJTXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLndyYXBwZXIge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDI0cHg7IH1cbiAgLndyYXBwZXIud3JhcHBlci0tcHJvamVjdHMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC53cmFwcGVyLndyYXBwZXItLWFycm93IHtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAud3JhcHBlci53cmFwcGVyLS1kZXNjcmlwdGlvbi1hcnJvdyB7XG4gICAgYm90dG9tOiAtMzBweDtcbiAgICB0b3A6IGluaGVyaXQ7IH1cbiAgLndyYXBwZXIud3JhcHBlci0tdmlkZW8ge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC53cmFwcGVyLndyYXBwZXItLXR3by1jb2x1bW4tdGV4dCwgLndyYXBwZXIud3JhcHBlci0tb25lLWNvbHVtbi10ZXh0IHtcbiAgICBwYWRkaW5nLXRvcDogNDhweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDhweDsgfVxuICAud3JhcHBlci53cmFwcGVyLS1wYWdlLW5vdC1mb3VuZCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4ud3JhcHBlcl9faW5uZXIge1xuICBtYXgtd2lkdGg6IDEwMjRweDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAjQlVUVE9OU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogQSBzaW1wbGUgYnV0dG9uIG9iamVjdC5cbiAqL1xuLyoqXG4gKiAxLiBBbGxvdyB1cyB0byBzdHlsZSBib3ggbW9kZWwgcHJvcGVydGllcy5cbiAqIDIuIExpbmUgZGlmZmVyZW50IHNpemVkIGJ1dHRvbnMgdXAgYSBsaXR0bGUgbmljZXIuXG4gKiAzLiBNYWtlIGJ1dHRvbnMgaW5oZXJpdCBmb250IHN0eWxlcyAob2Z0ZW4gbmVjZXNzYXJ5IHdoZW4gc3R5bGluZyBgaW5wdXRgcyBhc1xuICogICAgYnV0dG9ucykuXG4gKiA0LiBSZXNldC9ub3JtYWxpemUgc29tZSBzdHlsZXMuXG4gKiA1LiBGb3JjZSBhbGwgYnV0dG9uLXN0eWxlZCBlbGVtZW50cyB0byBhcHBlYXIgY2xpY2thYmxlLlxuICogNi4gRml4ZXMgb2RkIGlubmVyIHNwYWNpbmcgaW4gSUU3LlxuICogNy4gU3VidHJhY3QgdGhlIGJvcmRlciBzaXplIGZyb20gdGhlIHBhZGRpbmcgdmFsdWUgc28gdGhhdCBidXR0b25zIGRvIG5vdFxuICogICAgZ3JvdyBsYXJnZXIgYXMgd2UgYWRkIGJvcmRlcnMuXG4gKi9cbi5idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIFsxXSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAvKiBbMl0gKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogWzNdICovXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLyogWzRdICovXG4gIG1hcmdpbjogMDtcbiAgLyogWzRdICovXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLyogWzVdICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiBbNl0gKi9cbiAgcGFkZGluZzogMTFweCAyM3B4O1xuICAvKiBbN10gKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogIzRhOGVjMjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzRhOGVjMjsgfVxuICAuYnRuLCAuYnRuOmhvdmVyLCAuYnRuOmFjdGl2ZSwgLmJ0bjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIC8qIFs0XSAqL1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi8qKlxuICogRml4IGEgRmlyZWZveCBidWcgd2hlcmVieSBgaW5wdXQgdHlwZT1cInN1Ym1pdFwiYCBnYWlucyAycHggZXh0cmEgcGFkZGluZy5cbiAqL1xuLmJ0bjo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICNMQVlPVVRcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIFRoZSBpbnVpdGNzcyBsYXlvdXQgc3lzdGVtIHVzZXMgYGJveC1zaXppbmc6IGJvcmRlci1ib3g7YCBhbmRcbiAqIGBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7YCB0byBjcmVhdGUgYW4gZXh0cmVtZWx5IHBvd2VyZnVsLCBmbGV4aWJsZVxuICogYWx0ZXJuYXRpdmUgdG8gdGhlIHRyYWRpdGlvbmFsIGdyaWQgc3lzdGVtLiBDb21iaW5lIHRoZSBsYXlvdXQgaXRlbXMgd2l0aFxuICogdGhlIHdpZHRocyBmb3VuZCBpbiBgdHJ1bXBzLndpZHRoc2AuXG4gKi9cbi8qKlxuICogQmVnaW4gYSBsYXlvdXQgZ3JvdXAuXG4gKi9cbi5sYXlvdXQge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1sZWZ0OiAtMjRweDsgfVxuXG4vKipcbiAqIDEuIENhdXNlIGNvbHVtbnMgdG8gc3RhY2sgc2lkZS1ieS1zaWRlLlxuICogMi4gU3BhY2UgY29sdW1ucyBhcGFydC5cbiAqIDMuIEFsaWduIGNvbHVtbnMgdG8gdGhlIHRvcHMgb2YgZWFjaCBvdGhlci5cbiAqIDQuIEZ1bGwtd2lkdGggdW5sZXNzIHRvbGQgdG8gYmVoYXZlIG90aGVyd2lzZS5cbiAqIDUuIFJlcXVpcmVkIHRvIGNvbWJpbmUgZmx1aWQgd2lkdGhzIGFuZCBmaXhlZCBndXR0ZXJzLlxuICovXG4ubGF5b3V0X19pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiBbMV0gKi9cbiAgcGFkZGluZy1sZWZ0OiAyNHB4O1xuICAvKiBbMl0gKi9cbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgLyogWzNdICovXG4gIHdpZHRoOiAxMDAlO1xuICAvKiBbNF0gKi8gfVxuXG4vKipcbiAqIExheW91dHMgd2l0aCBzbWFsbCBndXR0ZXJzLlxuICovXG4ubGF5b3V0LS1zbWFsbCB7XG4gIG1hcmdpbi1sZWZ0OiAtMTJweDsgfVxuICAubGF5b3V0LS1zbWFsbCA+IC5sYXlvdXRfX2l0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogMTJweDsgfVxuXG4vKipcbiAqIExheW91dHMgd2l0aCBsYXJnZSBndXR0ZXJzLlxuICovXG4ubGF5b3V0LS1sYXJnZSB7XG4gIG1hcmdpbi1sZWZ0OiAtNDhweDsgfVxuICAubGF5b3V0LS1sYXJnZSA+IC5sYXlvdXRfX2l0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogNDhweDsgfVxuXG4vKipcbiAqIExheW91dHMgd2l0aCBodWdlIGd1dHRlcnMuXG4gKi9cbi5sYXlvdXQtLWh1Z2Uge1xuICBtYXJnaW4tbGVmdDogLTk2cHg7IH1cbiAgLmxheW91dC0taHVnZSA+IC5sYXlvdXRfX2l0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogOTZweDsgfVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICNCT1hcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIFRoZSBib3ggb2JqZWN0IHNpbXBseSBib3hlcyBvZmYgY29udGVudC5cbiAqL1xuLyoqXG4gKiAxLiBTbyB3ZSBjYW4gYXBwbHkgdGhlIGAuYm94YCBjbGFzcyB0byBuYXR1cmFsbHktaW5saW5lIGVsZW1lbnRzLlxuICovXG4uYm94IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC8qIFsxXSAqL1xuICBwYWRkaW5nOiAyNHB4OyB9XG4gIC5ib3ggPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICNNRURJQVxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogUGxhY2UgYW55IGltYWdlLSBhbmQgdGV4dC1saWtlIGNvbnRlbnQgc2lkZS1ieS1zaWRlLCBhcyBwZXI6XG4gKiBzdHViYm9ybmVsbGEub3JnL2NvbnRlbnQvMjAxMC8wNi8yNS90aGUtbWVkaWEtb2JqZWN0LXNhdmVzLWh1bmRyZWRzLW9mLWxpbmVzLW9mLWNvZGVcbiAqL1xuLm1lZGlhIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLm1lZGlhX19pbWcge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAyNHB4OyB9XG4gIC5tZWRpYV9faW1nID4gaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4ubWVkaWFfX2JvZHkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jazsgfVxuICAubWVkaWFfX2JvZHksXG4gIC5tZWRpYV9fYm9keSA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgI0JMT0NLXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBUaGUgYmxvY2sgb2JqZWN0IHNpbXBseSBzdGFja3MgYW4gaW1hZ2Ugb24gdG9wIG9mIHNvbWUgdGV4dC1saWtlIGNvbnRlbnQuXG4gKi9cbi8qKlxuICogU3RhY2tlZCBpbWFnZS13aXRoLXRleHQgb2JqZWN0LiBBIHNpbXBsZSBhYnN0cmFjdGlvbiB0byBjb3ZlciBhIHZlcnkgY29tbW9ubHlcbiAqIG9jY3VycmluZyBkZXNpZ24gcGF0dGVybi5cbiAqL1xuLmJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gKiAxLiBFbGltaW5hdGUgd2hpdGVzcGFjZSBhcm91bmQgaW1hZ2VzLlxuICovXG4uYmxvY2tfX2ltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC8qIFsxXSAqL1xuICBtYXJnaW4tYm90dG9tOiAyNHB4OyB9XG5cbi8qKlxuICogVGV4dC1jb250ZW50LlxuICovXG4uYmxvY2tfX2JvZHkge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAqICNDT01QT05FTlRTXG4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzLzQwNCBwYWdlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnBhZ2Utbm90LWZvdW5kIHtcbiAgYmFja2dyb3VuZDogIzFhMWExYTtcbiAgZGlzcGxheTogdGFibGU7XG4gIGZvbnQtZmFtaWx5OiBcIkRJTk1pdHRlbHNjaHJpZnRTdGRcIiwgc2Fucy1zZXJpZjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTAwMDAwMDAwMDAwOyB9XG5cbi5wYWdlLW5vdC1mb3VuZF9fdGl0bGUge1xuICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlO1xuICBmb250LXNpemU6IDEwMHB4O1xuICBmb250LXNpemU6IDYuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gICAgLnBhZ2Utbm90LWZvdW5kX190aXRsZSB7XG4gICAgICBmb250LXNpemU6IDIwMHB4O1xuICAgICAgZm9udC1zaXplOiAxMi41cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH0gfVxuXG4ucGFnZS1ub3QtZm91bmRfX2NvcHkge1xuICBjb2xvcjogI0ZGRjtcbiAgbWF4LXdpZHRoOiA0MDBweDtcbiAgbWFyZ2luOiAwIGF1dG8gNDhweDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHMvQmFjayB0byBob21lXG4gICA9PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmJhY2stdG8taG9tZV9fbGluayB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRkZGO1xuICBjb2xvcjogI0ZGRjtcbiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yOyB9XG4gIC5iYWNrLXRvLWhvbWVfX2xpbms6aG92ZXIge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy9QcmUtbG9hZGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnByZS1sb2FkZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTAwMDAwMDsgfVxuXG4ucHJlLWxvYWRlcl9fd3JhcHBlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIG1hcmdpbjogLTI1cHggMCAwIC0yNXB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlcjogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wLWNvbG9yOiAjRkZGO1xuICBhbmltYXRpb246IHNwaW4gMXMgbGluZWFyIGluZmluaXRlO1xuICB6LWluZGV4OiAxMDAxOyB9XG5cbkBrZXlmcmFtZXMgc3BpbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cbi5wcmUtbG9hZGVyX19zZWN0aW9uIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMxYTFhMWE7XG4gIHotaW5kZXg6IDEwMDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4ucHJlLWxvYWRlcl9fc2VjdGlvbi0tbGVmdCB7XG4gIGxlZnQ6IDA7IH1cblxuLyogTG9hZGVkICovXG4ubG9hZGVkLWNvbnRlbnRzIC5wcmUtbG9hZGVyIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyAuNXMgZWFzZTsgfVxuLmxvYWRlZC1jb250ZW50cyAucHJlLWxvYWRlcl9fd3JhcHBlciB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7IH1cbi5sb2FkZWQtY29udGVudHMgLnByZS1sb2FkZXJfX3NlY3Rpb24tLWxlZnQge1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlOyB9XG4ubG9hZGVkLWNvbnRlbnRzIC5wcmUtbG9hZGVyX19zZWN0aW9uLS1sZWZ0IHtcbiAgb3BhY2l0eTogMDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy9Db250YWluZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY29udGFpbmVyIHtcbiAgbWFyZ2luLXRvcDogMTc0cHg7IH1cblxuLyohIEZsaWNraXR5IHYxLjEuMFxuaHR0cDovL2ZsaWNraXR5Lm1ldGFmaXp6eS5jb1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmZsaWNraXR5LWVuYWJsZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmZsaWNraXR5LWVuYWJsZWQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi5mbGlja2l0eS12aWV3cG9ydCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5mbGlja2l0eS1zbGlkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLyogZHJhZ2dhYmxlICovXG4uZmxpY2tpdHktZW5hYmxlZC5pcy1kcmFnZ2FibGUge1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4uZmxpY2tpdHktZW5hYmxlZC5pcy1kcmFnZ2FibGUgLmZsaWNraXR5LXZpZXdwb3J0IHtcbiAgY3Vyc29yOiBtb3ZlO1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcbiAgY3Vyc29yOiBncmFiOyB9XG5cbi5mbGlja2l0eS1lbmFibGVkLmlzLWRyYWdnYWJsZSAuZmxpY2tpdHktdmlld3BvcnQuaXMtcG9pbnRlci1kb3duIHtcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nO1xuICBjdXJzb3I6IGdyYWJiaW5nOyB9XG5cbi8qIC0tLS0gcHJldmlvdXMvbmV4dCBidXR0b25zIC0tLS0gKi9cbi5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8qIHZlcnRpY2FsbHkgY2VudGVyICovXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTsgfVxuXG4uZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDVweCAjMDlGOyB9XG5cbi5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uOmFjdGl2ZSB7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT02MCk7XG4gIC8qIElFOCAqL1xuICBvcGFjaXR5OiAwLjY7IH1cblxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ucHJldmlvdXMge1xuICBsZWZ0OiAxMHB4OyB9XG5cbi5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLm5leHQge1xuICByaWdodDogMTBweDsgfVxuXG4vKiByaWdodCB0byBsZWZ0ICovXG4uZmxpY2tpdHktcnRsIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLnByZXZpb3VzIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDEwcHg7IH1cblxuLmZsaWNraXR5LXJ0bCAuZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbi5uZXh0IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDEwcHg7IH1cblxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b246ZGlzYWJsZWQge1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MzApO1xuICAvKiBJRTggKi9cbiAgb3BhY2l0eTogMC4zO1xuICBjdXJzb3I6IGF1dG87IH1cblxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24gc3ZnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAyMCU7XG4gIHRvcDogMjAlO1xuICB3aWR0aDogNjAlO1xuICBoZWlnaHQ6IDYwJTsgfVxuXG4uZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbiAuYXJyb3cge1xuICBmaWxsOiAjMzMzOyB9XG5cbi8qIGNvbG9yICYgc2l6ZSBpZiBubyBTVkcgLSBJRTggYW5kIEFuZHJvaWQgMi4zICovXG4uZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbi5uby1zdmcge1xuICBjb2xvcjogIzMzMztcbiAgZm9udC1zaXplOiAyNnB4OyB9XG5cbi8qIC0tLS0gcGFnZSBkb3RzIC0tLS0gKi9cbi5mbGlja2l0eS1wYWdlLWRvdHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBib3R0b206IC0yNXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLmZsaWNraXR5LXJ0bCAuZmxpY2tpdHktcGFnZS1kb3RzIHtcbiAgZGlyZWN0aW9uOiBydGw7IH1cblxuLmZsaWNraXR5LXBhZ2UtZG90cyAuZG90IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxMHB4O1xuICBtYXJnaW46IDAgOHB4O1xuICBiYWNrZ3JvdW5kOiAjMzMzO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0yNSk7XG4gIC8qIElFOCAqL1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmZsaWNraXR5LXBhZ2UtZG90cyAuZG90LmlzLXNlbGVjdGVkIHtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XG4gIC8qIElFOCAqL1xuICBvcGFjaXR5OiAxOyB9XG5cbi8qIHBvc2l0aW9uIGRvdHMgaW4gZ2FsbGVyeSAqL1xuLmZsaWNraXR5LXBhZ2UtZG90cyB7XG4gIGJvdHRvbTogMHB4OyB9XG5cbi8qIHdoaXRlIGNpcmNsZXMgKi9cbi5mbGlja2l0eS1wYWdlLWRvdHMgLmRvdCB7XG4gIHdpZHRoOiAxMnB4O1xuICBoZWlnaHQ6IDEycHg7XG4gIG9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTsgfVxuXG4vKiBmaWxsLWluIHNlbGVjdGVkIGRvdCAqL1xuLmZsaWNraXR5LXBhZ2UtZG90cyAuZG90LmlzLXNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7IH1cblxuLmhvbWUtY2Fyb3VzZWwgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ge1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm90dG9tOiAwO1xuICB0b3A6IGluaGVyaXQ7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHRvcDogaW5oZXJpdDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICBvcGFjaXR5OiAxOyB9XG4gIC5ob21lLWNhcm91c2VsIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuLmhvbWUtY2Fyb3VzZWwgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ucHJldmlvdXMge1xuICBib3JkZXItYm90dG9tOiA0MHB4IHNvbGlkICMxYTFhMWE7XG4gIGJvcmRlci1sZWZ0OiAwIHNvbGlkO1xuICBib3JkZXItcmlnaHQ6IDBweCBzb2xpZDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogNTIlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU2MHB4KSB7XG4gICAgLmhvbWUtY2Fyb3VzZWwgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ucHJldmlvdXMge1xuICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICBib3JkZXItcmlnaHQ6IDQ1cHggc29saWQgdHJhbnNwYXJlbnQ7IH0gfVxuLmhvbWUtY2Fyb3VzZWwgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ubmV4dCB7XG4gIGJvcmRlci1ib3R0b206IDQwcHggc29saWQgIzFhMWExYTtcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICByaWdodDogMDtcbiAgd2lkdGg6IDUwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NjBweCkge1xuICAgIC5ob21lLWNhcm91c2VsIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLm5leHQge1xuICAgICAgYm9yZGVyLWxlZnQ6IDQ1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICB3aWR0aDogMzIwcHg7IH0gfVxuLmhvbWUtY2Fyb3VzZWwgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24gLmFycm93IHtcbiAgZmlsbDogI0ZGRjsgfVxuLmhvbWUtY2Fyb3VzZWwgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24gc3ZnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDAwMDtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgbGVmdDogMDsgfVxuLmhvbWUtY2Fyb3VzZWwgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ucHJldmlvdXMgc3ZnIHtcbiAgbGVmdDogMTBweDtcbiAgdG9wOiAyMHB4OyB9XG4uaG9tZS1jYXJvdXNlbCAuZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbi5uZXh0IHN2ZyB7XG4gIHJpZ2h0OiAxMHB4O1xuICB0b3A6IDIwcHg7XG4gIGxlZnQ6IGluaGVyaXQ7IH1cblxuLmZsaWNraXR5LXBhZ2UtZG90cyB7XG4gIGJvdHRvbTogMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NjBweCkge1xuICAgIC5mbGlja2l0eS1wYWdlLWRvdHMge1xuICAgICAgYm90dG9tOiA0MHB4OyB9IH1cblxuLmNhc2Utc3R1ZHktY2Fyb3VzZWwgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgYm9yZGVyLXRvcDogMzBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMzBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDEwMHB4O1xuICB3aWR0aDogMHB4O1xuICBwYWRkaW5nOiAwcHg7XG4gIHRvcDogNTAlOyB9XG4gIC5jYXNlLXN0dWR5LWNhcm91c2VsIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLnByZXZpb3VzIHtcbiAgICBib3JkZXItbGVmdDogMzBweCBzb2xpZCAjMWExYTFhO1xuICAgIGxlZnQ6IDBweDsgfVxuICAuY2FzZS1zdHVkeS1jYXJvdXNlbCAuZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbi5uZXh0IHtcbiAgICBib3JkZXItcmlnaHQ6IDMwcHggc29saWQgIzFhMWExYTtcbiAgICByaWdodDogMDsgfVxuICAuY2FzZS1zdHVkeS1jYXJvdXNlbCAuZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBoZWlnaHQ6IDBweDtcbiAgICB3aWR0aDogMHB4O1xuICAgIHBhZGRpbmc6IDBweDsgfVxuICAuY2FzZS1zdHVkeS1jYXJvdXNlbCAuZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbjphY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7IH1cbi5jYXNlLXN0dWR5LWNhcm91c2VsIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uIHN2ZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiA0MHB4OyB9XG4uY2FzZS1zdHVkeS1jYXJvdXNlbCAuZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbi5wcmV2aW91cyBzdmcge1xuICBsZWZ0OiAtMzBweDsgfVxuLmNhc2Utc3R1ZHktY2Fyb3VzZWwgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24gLmFycm93IHtcbiAgZmlsbDogI0ZGRjsgfVxuLmNhc2Utc3R1ZHktY2Fyb3VzZWwgLmZsaWNraXR5LXBhZ2UtZG90cyAuZG90IHtcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6IDEycHg7XG4gIGhlaWdodDogMTJweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAxMDAlO1xuICBtYXJnaW46IDBweCA2cHg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHMvRnJhbWVcbiAgID09PT09PT09PT09PT09PT09PT09PT09ICovXG4uZnJhbWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWExYTFhO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMDAwOyB9XG5cbi5mcmFtZUJvdHRvbSB7XG4gIGhlaWdodDogMTJweDsgfVxuXG4uZnJhbWVMZWZ0LCAuZnJhbWVSaWdodCB7XG4gIHdpZHRoOiAxMnB4OyB9XG5cbi5mcmFtZUxlZnQsIC5mcmFtZVJpZ2h0IHtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7IH1cblxuLmZyYW1lUmlnaHQge1xuICByaWdodDogMDsgfVxuXG4uZnJhbWVCb3R0b20ge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwOyB9XG5cbi5mcmFtZUxlZnQge1xuICBsZWZ0OiAwOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzL0NhcHRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmNhcHRpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGV0dGVyLXNwYWNpbmc6IC4wNGVtO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yOyB9XG5cbi5jYXB0aW9uLS10aXRsZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHMvUGFnZSBIZWFkXG4gICA9PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnBhZ2UtaGVhZCB7XG4gIGJhY2tncm91bmQ6ICMxYTFhMWE7XG4gIGhlaWdodDogMTc1cHg7XG4gIHBhZGRpbmc6IDEycHg7XG4gIHBhZGRpbmctdG9wOiA0OHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMzZweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTAwMDAwMDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgICAucGFnZS1oZWFkIHtcbiAgICAgIHBhZGRpbmc6IDI0cHg7XG4gICAgICBwYWRkaW5nLXRvcDogNDhweDtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDsgfSB9XG5cbi5wYWdlLWhlYWQtLWNvbnRlbnRzIGgxIHtcbiAgY29sb3I6ICNGRkY7XG4gIGxldHRlci1zcGFjaW5nOiAuMDZlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMDkwOTA5MDkwOTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAgIC5wYWdlLWhlYWQtLWNvbnRlbnRzIGgxIHtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAuMTJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH0gfVxuLnBhZ2UtaGVhZC0tY29udGVudHMgaDIge1xuICBjb2xvcjogI2EwYTBhMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi5wYWdlLWhlYWQtLXRvZ2dsZSB7XG4gIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9tZW51LS10b2dnbGUucG5nKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAyMXB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDIxcHg7XG4gIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gICAgLnBhZ2UtaGVhZC0tdG9nZ2xlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAucGFnZS1oZWFkLS10b2dnbGU6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfVxuICAucGFnZS1oZWFkLS10b2dnbGUuY2xvc2Uge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDIyNWRlZyk7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHMvU2l0ZSBUaXRsZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5zaXRlLXRpdGxlIHtcbiAgY29sb3I6ICNGRkY7XG4gIGxldHRlci1zcGFjaW5nOiAwLjE0ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlOyB9XG4gIC5zaXRlLXRpdGxlOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjc7IH1cblxuLnNpdGUtZGVzY3JpcHRpb24ge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzL01lbnVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PSAqL1xudWwucGFnZS1oZWFkLS1tZW51cyB7XG4gIGJhY2tncm91bmQ6ICMxYTFhMWE7XG4gIGNvbG9yOiAjRkZGO1xuICBoZWlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgb3BhY2l0eTogMDtcbiAgcGFkZGluZy10b3A6IDEycHg7XG4gIHBhZGRpbmctYm90dG9tOiAyNHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEzMDsgfVxuICB1bC5wYWdlLWhlYWQtLW1lbnVzLnNob3cge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAgIHVsLnBhZ2UtaGVhZC0tbWVudXMge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBwb3NpdGlvbjogaW5oZXJpdDtcbiAgICAgIHRvcDogMTgwcHg7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9IH1cbiAgdWwucGFnZS1oZWFkLS1tZW51cyAubWVudV9faXRlbSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4wOGVtO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiA3MnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDcycHg7XG4gICAgcGFkZGluZy10b3A6IDZweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNnB4O1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgICAgIHVsLnBhZ2UtaGVhZC0tbWVudXMgLm1lbnVfX2l0ZW0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWFnZXMvbWVudVNlcGFyYXRvci5wbmcpIG5vLXJlcGVhdCBzY3JvbGwgMHB4IDdweCB0cmFuc3BhcmVudDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuICAgIHVsLnBhZ2UtaGVhZC0tbWVudXMgLm1lbnVfX2l0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgYmFja2dyb3VuZDogbm9uZSByZXBlYXQgc2Nyb2xsIDAgMCB0cmFuc3BhcmVudDsgfVxuICB1bC5wYWdlLWhlYWQtLW1lbnVzIC5tZW51X19saW5rIHtcbiAgICBjb2xvcjogI0ZGRjsgfVxuICAgIHVsLnBhZ2UtaGVhZC0tbWVudXMgLm1lbnVfX2xpbms6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHMvSG92ZXJzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmhvdmVyLS1ib3JkZXItdXA6OmFmdGVyIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7IH1cbi5ob3Zlci0tYm9yZGVyLXVwOmhvdmVyOjphZnRlciwgLmhvdmVyLS1ib3JkZXItdXA6Zm9jdXM6OmFmdGVyIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHMvU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09ICovXG5zZWN0aW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gIG1hcmdpbi1yaWdodDogMTJweDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBzZWN0aW9uLmhvbWUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBzZWN0aW9uLnNlY3Rpb24tLXBhZ2Utbm90LWZvdW5kIHtcbiAgICBiYWNrZ3JvdW5kOiAjMWExYTFhOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzL0hvbWUgTmV3c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5ob21lX19uZXdzIHtcbiAgYmFja2dyb3VuZDogI2EwYTBhMDtcbiAgcGFkZGluZy10b3A6IDZweDtcbiAgcGFkZGluZy1ib3R0b206IDZweDtcbiAgcGFkZGluZy1sZWZ0OiAxOHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxOHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwMDsgfVxuICAuaG9tZV9fbmV3cyBzcGFuIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBtYXJnaW46IDA7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHMvTmV3c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5uZXdzX193cmFwcGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ubmV3c19fdGl0bGUge1xuICBwYWRkaW5nLXRvcDogNHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7IH1cblxuLm5ld3NfX2l0ZW0ge1xuICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gIHBhZGRpbmctdG9wOiA1cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE3cHg7IH1cblxuLm5ld3NfX2NlbGwge1xuICBtaW4taGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG5cbi5uZXdzX19saW5rIHtcbiAgY29sb3I6ICMwMDA7XG4gIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOyB9XG4gIC5uZXdzX19saW5rOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjU7IH1cblxuYS5uZXdzX19saW5rIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHMvSG9tZSBDYXJvdXNlbFxuICAgPT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5ob21lLWNhcm91c2VsIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTg2cHgpO1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5ob21lLWNhcm91c2VsLmJvdHRvbS11cCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjU2cHgpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTYwcHgpIHtcbiAgICAgIC5ob21lLWNhcm91c2VsLmJvdHRvbS11cCB7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDE4NnB4KTsgfSB9XG5cbi5ob21lLWNhcm91c2VsX19zdGF0aWMtYmFubmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgei1pbmRleDogMTtcbiAgY29sb3I6ICNmZmY7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBib3R0b206IDBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAzMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU2MHB4KSB7XG4gICAgLmhvbWUtY2Fyb3VzZWxfX3N0YXRpYy1iYW5uZXIge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgd2lkdGg6IDI2MHB4OyB9IH1cblxuLmhvbWUtY2Fyb3VzZWxfX2NlbGwge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uaG9tZS1jYXJvdXNlbF9fbGluayB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDsgfVxuXG4uaG9tZS1jYXJvdXNlbF9faW1nIHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IGluaGVyaXQ7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIG1hcmdpbjogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzL1Byb2plY3RzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnByb2plY3QtdGl0bGUge1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAzMHB4O1xuICBmb250LXNpemU6IDEuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbi5wcm9qZWN0LWRldGFpbHMgcCB7XG4gIGZvbnQtZmFtaWx5OiBHYXJhbW9uZCwgUGFsYXRpbm8gTGlub3R5cGUsIFBhbGF0aW5vLCBzZXJpZjtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cblxuLnByb2plY3QtZGV0YWlscyBhIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsgfVxuICAucHJvamVjdC1kZXRhaWxzIGE6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuNTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy9UcmFwZXppdW1cbiAgID09PT09PT09PT09PT09PT09PT09PT09ICovXG4udHJhcGV6aXVtIHtcbiAgYm9yZGVyLXJpZ2h0OiA0NXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiA1MHB4IHNvbGlkO1xuICBib3R0b206IDA7XG4gIGhlaWdodDogNTBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB3aWR0aDogMjI4cHg7XG4gIHotaW5kZXg6IDkwOyB9XG4gIC50cmFwZXppdW0udHJhcGV6aXVtLS1ncmVlbiB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzQ3OTU4ODsgfVxuICAudHJhcGV6aXVtOmhvdmVyICsgLnRodW1ic19faW1hZ2Uge1xuICAgIG9wYWNpdHk6IDA7IH1cblxuLnRyYXBleml1bV9faW5uZXIge1xuICBwYWRkaW5nLXRvcDogMTJweDtcbiAgcGFkZGluZy1sZWZ0OiAxMnB4OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzL0NhcHRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRodW1icyB7XG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4udGh1bWJzX19pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4udGh1bWJzX19pbWFnZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAgIC50aHVtYnNfX2ltYWdlOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4udGh1bWJzX19sYWJlbCB7XG4gIGNvbG9yOiAjRkZGO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy9BcnJvd3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYXJyb3ctdG8tbmV4dC1ibG9jayB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgaGVpZ2h0OiAzMHB4O1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogNjBweDtcbiAgei1pbmRleDogMTAwMDsgfVxuICAuYXJyb3ctdG8tbmV4dC1ibG9jay5hcnJvdy0tbWFpbi1jb250ZW50cyB7XG4gICAgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvaW1hZ2VzL2Fycm93LnBuZykgbm8tcmVwZWF0OyB9XG4gIC5hcnJvdy10by1uZXh0LWJsb2NrLmFycm93LS1wYWdlLWZvb3Qge1xuICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9mb290ZXItYXJyb3cucG5nKSBuby1yZXBlYXQ7XG4gICAgdG9wOiAtMzBweDtcbiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHMvRGVzY3JpcHRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmRlc2NyaXB0aW9uIHtcbiAgcGFkZGluZy10b3A6IDQ4cHg7XG4gIHBhZGRpbmctYm90dG9tOiA0OHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHMvQ29udGVudHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY29udGVudCB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMjRweDsgfVxuXG4uY29udGVudF9fdmlkZW8ge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLXRvcDogNTYuMiU7IH1cblxuLmNvbnRlbnRfX2lmcmFtZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5jb250ZW50X190d28tY29sdW1uIGgzLCAuY29udGVudF9fb25lLWNvbHVtbiBoMyB7XG4gIGNvbG9yOiAjMDAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMDkwOTA5MDkwOTsgfVxuLmNvbnRlbnRfX3R3by1jb2x1bW4gcCwgLmNvbnRlbnRfX29uZS1jb2x1bW4gcCB7XG4gIGZvbnQtZmFtaWx5OiBHYXJhbW9uZCwgUGFsYXRpbm8gTGlub3R5cGUsIFBhbGF0aW5vLCBzZXJpZjtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbi5jb250ZW50X190d28tY29sdW1uIGEsIC5jb250ZW50X19vbmUtY29sdW1uIGEge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOyB9XG4gIC5jb250ZW50X190d28tY29sdW1uIGE6aG92ZXIsIC5jb250ZW50X19vbmUtY29sdW1uIGE6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuNTsgfVxuXG4uY29udGVudF9fdHdvLWNvbHVtbiBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAgIC5jb250ZW50X190d28tY29sdW1uIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbi5jb250ZW50X19vbmUtY29sdW1uIHtcbiAgY29sb3I6ICMwMDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgICAuY29udGVudF9fb25lLWNvbHVtbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OyB9IH1cbiAgLmNvbnRlbnRfX29uZS1jb2x1bW4gaDEge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuY29udGVudF9fb25lLWNvbHVtbiBvbCBsaSB7XG4gICAgZm9udC1mYW1pbHk6IEdhcmFtb25kLCBQYWxhdGlubyBMaW5vdHlwZSwgUGFsYXRpbm8sIHNlcmlmO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy9CbG9ja3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYmxvY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmJsb2NrLm1iMTgge1xuICAgIG1hcmdpbi1ib3R0b206IDE4cHg7IH1cblxuLmJsb2NrLS12aWRlbyB7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMDAwOyB9XG4gIC5ibG9jay0tdmlkZW8ucmVtb3ZlLW1iIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5ibG9jay0tY2Fyb3VzZWwge1xuICBiYWNrZ3JvdW5kOiAjMDAwOyB9XG5cbi5ibG9jay0tdHdvLWNvbHVtbi10ZXh0IHtcbiAgYmFja2dyb3VuZDogI0Y0RjRGNDsgfVxuXG4uYmxvY2stLW9uZS1jb2x1bW4tdGV4dCB7XG4gIGJhY2tncm91bmQ6ICNlNWU1ZTU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHMvQ2FzZSBTdHVkeSBDYXJvdXNlbFxuICAgPT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jYXNlLXN0dWR5LWNhcm91c2VsX19jZWxsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogMTAwcHg7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGNvdW50ZXItaW5jcmVtZW50OiBnYWxsZXJ5LWNlbGw7IH1cblxuLmNhc2Utc3R1ZHktY2Fyb3VzZWxfX2ltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDI0cHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHMvUGFnaW5hdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucGFnaW5hdGlvbnMge1xuICBiYWNrZ3JvdW5kOiAjNTM1MzUzO1xuICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xuICB3aWR0aDogMTAwJTsgfVxuXG4ucGFnaW5hdGlvbl9fZW50cnkge1xuICBoZWlnaHQ6IDEwMHB4OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzL0VudHJ5IGxpbmtcbiAgID09PT09PT09PT09PT09PT09PT09PT09ICovXG4uZW50cnktLW5leHQge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLmVudHJ5X19saW5rIHtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogI0ZGRjtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgZm9udC1mYW1pbHk6IFwiRElOTWl0dGVsc2NocmlmdFN0ZFwiLCBzYW5zLXNlcmlmO1xuICBoZWlnaHQ6IDEwMHB4O1xuICBsZXR0ZXItc3BhY2luZzogLjA2ZW07XG4gIG1heC13aWR0aDogMjkwcHg7XG4gIHBhZGRpbmctdG9wOiA0cHg7XG4gIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IGF1dG87XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS40OyB9XG4gIC5lbnRyeV9fbGluazpob3ZlciAuZW50cnlfX2lubmVyLWxpbmsge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB3aGl0ZTsgfVxuICAuZW50cnlfX2xpbmsuZW50cnlfX2xpbmstLXByZXYge1xuICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9hcnJvdy1wcmV2LnBuZykgbm8tcmVwZWF0IGxlZnQgY2VudGVyO1xuICAgIHBhZGRpbmctbGVmdDogMjRweDsgfVxuICAuZW50cnlfX2xpbmsuZW50cnlfX2xpbmstLW5leHQge1xuICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9hcnJvdy1uZXh0LnBuZykgbm8tcmVwZWF0IHJpZ2h0IGNlbnRlcjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi5lbnRyeV9faW5uZXItbGluayB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsgfVxuICAuZW50cnlfX2lubmVyLWxpbms6aG92ZXIge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB3aGl0ZTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy9BYm91dFxuICAgPT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5hYm91dCB7XG4gIHBhZGRpbmctYm90dG9tOiA0OHB4OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzL0FjY29yZGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5hY2NvcmRpb24ge1xuICBjb2xvcjogIzAwMDsgfVxuXG4uYWNjb3JkaW9uX193cmFwcGVyIHtcbiAgYmFja2dyb3VuZDogYmx1ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRyYW5zaXRpb246IGFsbCA3MDBtcyBlYXNlOyB9XG4gIC5hY2NvcmRpb25fX3dyYXBwZXI6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuOTQ7IH1cblxuLmFjY29yZGlvbl9faW5uZXItd3JhcHBlciB7XG4gIG1heC13aWR0aDogMTAyNHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZy1sZWZ0OiAyNHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyNHB4OyB9XG5cbi5hY2NvcmRpb25fX2hlYWRlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4uYWNjb3JkaW9uX190aXRsZSB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGhlaWdodDogNzJweDtcbiAgZm9udC1mYW1pbHk6IFwiRElOTWl0dGVsc2NocmlmdFN0ZFwiLCBzYW5zLXNlcmlmO1xuICBsZXR0ZXItc3BhY2luZzogLjFlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy10b3A6IDhweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAgIC5hY2NvcmRpb25fX3RpdGxlIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4uYWNjb3JkaW9uX19pdGVtIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAuYWNjb3JkaW9uX19pdGVtIHAge1xuICAgIGZvbnQtZmFtaWx5OiBHYXJhbW9uZCwgUGFsYXRpbm8gTGlub3R5cGUsIFBhbGF0aW5vLCBzZXJpZjtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiA2cHg7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuXG4uYWNjb3JkaW9uX191bm9yZGVyZWQtbGlzdCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctdG9wOiAzNnB4O1xuICBwYWRkaW5nLWJvdHRvbTogMzZweDsgfVxuXG4uYWNjb3JkaW9uX19saXN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDsgfVxuICAuYWNjb3JkaW9uX19saXN0IHNwYW4ge1xuICAgIGZvbnQtZmFtaWx5OiBHYXJhbW9uZCwgUGFsYXRpbm8gTGlub3R5cGUsIFBhbGF0aW5vLCBzZXJpZjtcbiAgICBsZXR0ZXItc3BhY2luZzogLjA0ZW07XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDI7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHMvUHJlc3MgTGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucHJlc3MtbGluayB7XG4gIGNvbG9yOiAjMDAwO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7IH1cbiAgLnByZXNzLWxpbms6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuNTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy9TdHVkaW9cbiAgID09PT09PT09PT09PT09PT09PT09PT09ICovXG4uc3R1ZGlvIHAge1xuICBwYWRkaW5nLWJvdHRvbTogNDhweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAgIC5zdHVkaW8gcCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogOTZweDsgfSB9XG5cbi5zdHVkaW9fX2ltYWdlIHtcbiAgd2lkdGg6IGF1dG87XG4gIG1heC13aWR0aDogMjEwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZy1ib3R0b206IDQ4cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgICAuc3R1ZGlvX19pbWFnZSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbjogMCA0OHB4IDEycHggMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHMvUGFnZSBGb290XG4gICA9PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnBhZ2UtZm9vdCB7XG4gIGJhY2tncm91bmQ6ICMzYTNhM2E7XG4gIHBhZGRpbmctdG9wOiA0OHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDhweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTsgfVxuICAucGFnZS1mb290LmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBhZ2UtZm9vdF9fd3JhcHBlciB7XG4gIG1heC13aWR0aDogMTAyNHB4O1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLnBhZ2UtZm9vdF9faGVhZGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAgIC5wYWdlLWZvb3RfX2hlYWRlciB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuLnBhZ2UtZm9vdF9faXRlbSBwIHtcbiAgY29sb3I6ICNGRkY7XG4gIGZvbnQtZmFtaWx5OiBHYXJhbW9uZCwgUGFsYXRpbm8gTGlub3R5cGUsIFBhbGF0aW5vLCBzZXJpZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsZXR0ZXItc3BhY2luZzogLjA4ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjZlbTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gICAgLnBhZ2UtZm9vdF9faXRlbSBwIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4ucGFnZS1mb290X19saW5rIHtcbiAgY29sb3I6ICNGRkY7IH1cbiAgLnBhZ2UtZm9vdF9fbGluazo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7IH1cblxuLnBhZ2UtZm9vdF9fcXVvdGVzIHtcbiAgbWFyZ2luLWJvdHRvbTogMzZweDsgfVxuXG4ucGFnZS1mb290X19jb3B5LXJpZ2h0IHtcbiAgbWFyZ2luLWJvdHRvbTogMzZweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAgIC5wYWdlLWZvb3RfX2NvcHktcmlnaHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsgfSB9XG5cbi5wYWdlLWZvb3RfX2NvbnRhY3QtY29weSBwIHtcbiAgZm9udC1mYW1pbHk6IFwiRElOTWl0dGVsc2NocmlmdFN0ZFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBtYXJnaW4tYm90dG9tOiAzNnB4OyB9XG5cbi5wYWdlLWZvb3RfX2NvbnRhY3QtZGV0YWlscyB7XG4gIG1hcmdpbi1ib3R0b206IDM2cHg7IH1cblxuLnBhZ2UtZm9vdF9fY29udGFjdC1kZXRhaWxzIGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gICAgLnBhZ2UtZm9vdF9fY29udGFjdC1kZXRhaWxzIGxpIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4ucGFnZS1mb290X19jb250YWN0LWRldGFpbHMgbGkgYSB7XG4gIGNvbG9yOiAjRkZGOyB9XG5cbi5wYWdlLWZvb3RfX3R3aXR0ZXItd2lkZ2V0IHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNGRkY7XG4gIG1heC13aWR0aDogNTIwcHg7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gICAgLnBhZ2UtZm9vdF9fdHdpdHRlci13aWRnZXQge1xuICAgICAgbWFyZ2luOiBpbmhlcml0OyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHMvUXVvdGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnF1b3RlcyB7XG4gIGZvbnQtZmFtaWx5OiBzZXJpZjtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuXG4ucXVvdGVzLS1hdXRob3Ige1xuICBmb250LWZhbWlseTogc2VyaWY7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gICAgLnF1b3Rlcy0tYXV0aG9yIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy9NYWlsY2hpbXBcbiAgID09PT09PT09PT09PT09PT09PT09PT09ICovXG4jbWNfZW1iZWRfc2lnbnVwX3Njcm9sbCB7XG4gIGNvbG9yOiBibGFjaztcbiAgZm9udC1mYW1pbHk6IEdhcmFtb25kLCBQYWxhdGlubyBMaW5vdHlwZSwgUGFsYXRpbm8sIHNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsZXR0ZXItc3BhY2luZzogLjA4ZW07XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDM2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjZlbTsgfVxuXG4jbWNfZW1iZWRfc2lnbnVwIGZvcm0ge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cblxuI21jX2VtYmVkX3NpZ251cCBpbnB1dC5lbWFpbCB7XG4gIGZvbnQtZmFtaWx5OiBcIkRJTk1pdHRlbHNjaHJpZnRTdGRcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAxOHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDRweCAwICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAyNzBweCAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcxOXB4KSB7XG4gICAgI21jX2VtYmVkX3NpZ251cCBpbnB1dC5lbWFpbCB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0byAgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0byAgIWltcG9ydGFudDsgfSB9XG5cbiNtY19lbWJlZF9zaWdudXAgLmJ1dHRvbiB7XG4gIGhlaWdodDogMjZweCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMzBweCAhaW1wb3J0YW50O1xuICB3aWR0aDogOTRweCAhaW1wb3J0YW50O1xuICBmb250LWZhbWlseTogXCJESU5NaXR0ZWxzY2hyaWZ0U3RkXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcbiAgICAjbWNfZW1iZWRfc2lnbnVwIC5idXR0b24ge1xuICAgICAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDsgfSB9XG5cbi8qKlxuICogI1RSVU1QU1xuICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICNDTEVBUkZJWFxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogTWljcm8gY2xlYXJmaXgsIGFzIHBlcjogY3NzLTEwMS5vcmcvYXJ0aWNsZXMvY2xlYXJmaXgvbGF0ZXN0LW5ldy1jbGVhcmZpeC1zby1mYXIucGhwXG4gKiBFeHRlbmQgdGhlIGNsZWFyZml4IGNsYXNzIHdpdGggU2FzcyB0byBhdm9pZCB0aGUgYC5jbGVhcmZpeGAgY2xhc3MgYXBwZWFyaW5nXG4gKiBvdmVyIGFuZCBvdmVyIGluIHlvdXIgbWFya3VwLlxuICovXG4uY2xlYXJmaXg6YWZ0ZXIsXG4uYm94OmFmdGVyLFxuLm1lZGlhOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgI1NQQUNJTkdcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIE1hcmdpbiBhbmQgcGFkZGluZyBoZWxwZXIgY2xhc3Nlcy4gVXNlIHRoZXNlIHRvIHR3ZWFrIGxheW91dCBvbiBhIG1pY3JvXG4gKiBsZXZlbC5cbiAqXG4gKiBgLihtfHApKHR8cnxifGx8aHx2KSgtfCt8MCkge31gID0gbWFyZ2luL3BhZGRpbmcgdG9wL3JpZ2h0L2JvdHRvbS9sZWZ0L2hvcml6b250YWwvdmVydGljYWwgbGVzcy9tb3JlL25vbmVcbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAjU1BBQ0lORy1SRVNQT05TSVZFXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBNYXJnaW4gYW5kIHBhZGRpbmcgaGVscGVyIGNsYXNzZXMuIFVzZSB0aGVzZSB0byB0d2VhayBsYXlvdXQgb24gYSBtaWNyb1xuICogbGV2ZWwuXG4gKlxuICogYC4obXxwKSh0fHJ8YnxsfGh8dikoLXwrfDApIHt9YCA9IG1hcmdpbi9wYWRkaW5nIHRvcC9yaWdodC9ib3R0b20vbGVmdC9ob3Jpem9udGFsL3ZlcnRpY2FsIGxlc3MvbW9yZS9ub25lXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgI0hFQURJTkdTXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBIZWFkaW5ncyAx4oCTNuKAmXMgY29ycmVzcG9uZGluZyBHcmVlay1hbHBoYWJldCBhYnN0cmFjdCBjbGFzc2VzIGZvciBkb3VibGUtXG4gKiBzdHJhbmRlZCBoZWFkaW5nIGhpZXJhcmNoeTogY3Nzd2l6YXJkcnkuY29tLzIwMTIvMDIvcHJhZ21hdGljLXByYWN0aWNhbC1mb250LXNpemluZy1pbi1jc3NcbiAqXG4gKiBVc2UgdGhlc2UgaGVscGVyIGNsYXNzZXMgdG8gY2F1c2Ugb3RoZXIgZWxlbWVudHMgdG8gYWRvcHQgdGhlIHN0eWxpbmcgb2YgdGhlXG4gKiByZXNwZWN0aXZlIGhlYWRpbmcsIGUuZy46XG4gKlxuICAgPGgyIGNsYXNzPVwiYWxwaGFcIj5Mb3JlbSBpcHN1bTwvaDI+XG4gKlxuICovXG4uYWxwaGEge1xuICBmb250LXNpemU6IDM2cHg7XG4gIGZvbnQtc2l6ZTogMi4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMzMzMzsgfVxuXG4uYmV0YSB7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4uZ2FtbWEge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuXG4uZGVsdGEge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuXG4uZXBzaWxvbiB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi56ZXRhIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS43MTQyODU3MTQzOyB9XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgI1dJRFRIU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogQSBzZXJpZXMgb2Ygd2lkdGggaGVscGVyIGNsYXNzZXMgdGhhdCB5b3UgY2FuIHVzZSB0byBzaXplIHRoaW5ncyBsaWtlIGdyaWRcbiAqIHN5c3RlbXMuIENsYXNzZXMgY2FuIHRha2UgYSBmcmFjdGlvbi1saWtlIGZvcm1hdCAoZS5nLiBgLnUtMi8zYCkgb3IgYSBzcG9rZW4tXG4gKiB3b3JkIGZvcm1hdCAoZS5nLiBgLnUtMi1vZi0zYCkuIFVzZSB0aGVzZSBpbiB5b3VyIG1hcmt1cDpcbiAqXG4gKiA8ZGl2IGNsYXNzPVwidS03LzEyXCI+XG4gKi9cbi51LTFcXC8xIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4udS0xXFwvMiB7XG4gIHdpZHRoOiA1MCUgIWltcG9ydGFudDsgfVxuXG4udS0xXFwvMyB7XG4gIHdpZHRoOiAzMy4zMzMzMzMzMzMzJSAhaW1wb3J0YW50OyB9XG5cbi51LTJcXC8zIHtcbiAgd2lkdGg6IDY2LjY2NjY2NjY2NjclICFpbXBvcnRhbnQ7IH1cblxuLnUtMVxcLzQge1xuICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7IH1cblxuLnUtMlxcLzQge1xuICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7IH1cblxuLnUtM1xcLzQge1xuICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7IH1cblxuLnUtMVxcLzUge1xuICB3aWR0aDogMjAlICFpbXBvcnRhbnQ7IH1cblxuLnUtMlxcLzUge1xuICB3aWR0aDogNDAlICFpbXBvcnRhbnQ7IH1cblxuLnUtM1xcLzUge1xuICB3aWR0aDogNjAlICFpbXBvcnRhbnQ7IH1cblxuLnUtNFxcLzUge1xuICB3aWR0aDogODAlICFpbXBvcnRhbnQ7IH1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAjV0lEVEhTLVJFU1BPTlNJVkVcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIFJlc3BvbnNpdmUgd2lkdGggY2xhc3NlcyBiYXNlZCBvbiB5b3VyIHJlc3BvbnNpdmUgc2V0dGluZ3MuXG4gKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU1OXB4KSB7XG4gIC51LTFcXC8xLW1vYmlsZSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gIC51LTFcXC8yLW1vYmlsZSB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50OyB9XG5cbiAgLnUtMVxcLzMtbW9iaWxlIHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyUgIWltcG9ydGFudDsgfVxuXG4gIC51LTJcXC8zLW1vYmlsZSB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclICFpbXBvcnRhbnQ7IH1cblxuICAudS0xXFwvNC1tb2JpbGUge1xuICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDsgfVxuXG4gIC51LTJcXC80LW1vYmlsZSB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50OyB9XG5cbiAgLnUtM1xcLzQtbW9iaWxlIHtcbiAgICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7IH1cblxuICAudS0xXFwvNS1tb2JpbGUge1xuICAgIHdpZHRoOiAyMCUgIWltcG9ydGFudDsgfVxuXG4gIC51LTJcXC81LW1vYmlsZSB7XG4gICAgd2lkdGg6IDQwJSAhaW1wb3J0YW50OyB9XG5cbiAgLnUtM1xcLzUtbW9iaWxlIHtcbiAgICB3aWR0aDogNjAlICFpbXBvcnRhbnQ7IH1cblxuICAudS00XFwvNS1tb2JpbGUge1xuICAgIHdpZHRoOiA4MCUgIWltcG9ydGFudDsgfSB9XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NjBweCkge1xuICAudS0xXFwvMS1tb2JpbGUtYW5kLXVwIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgLnUtMVxcLzItbW9iaWxlLWFuZC11cCB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50OyB9XG5cbiAgLnUtMVxcLzMtbW9iaWxlLWFuZC11cCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlICFpbXBvcnRhbnQ7IH1cblxuICAudS0yXFwvMy1tb2JpbGUtYW5kLXVwIHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyUgIWltcG9ydGFudDsgfVxuXG4gIC51LTFcXC80LW1vYmlsZS1hbmQtdXAge1xuICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDsgfVxuXG4gIC51LTJcXC80LW1vYmlsZS1hbmQtdXAge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDsgfVxuXG4gIC51LTNcXC80LW1vYmlsZS1hbmQtdXAge1xuICAgIHdpZHRoOiA3NSUgIWltcG9ydGFudDsgfVxuXG4gIC51LTFcXC81LW1vYmlsZS1hbmQtdXAge1xuICAgIHdpZHRoOiAyMCUgIWltcG9ydGFudDsgfVxuXG4gIC51LTJcXC81LW1vYmlsZS1hbmQtdXAge1xuICAgIHdpZHRoOiA0MCUgIWltcG9ydGFudDsgfVxuXG4gIC51LTNcXC81LW1vYmlsZS1hbmQtdXAge1xuICAgIHdpZHRoOiA2MCUgIWltcG9ydGFudDsgfVxuXG4gIC51LTRcXC81LW1vYmlsZS1hbmQtdXAge1xuICAgIHdpZHRoOiA4MCUgIWltcG9ydGFudDsgfSB9XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1xuICAudS0xXFwvMS1wYWxtIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgLnUtMVxcLzItcGFsbSB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50OyB9XG5cbiAgLnUtMVxcLzMtcGFsbSB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlICFpbXBvcnRhbnQ7IH1cblxuICAudS0yXFwvMy1wYWxtIHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyUgIWltcG9ydGFudDsgfVxuXG4gIC51LTFcXC80LXBhbG0ge1xuICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDsgfVxuXG4gIC51LTJcXC80LXBhbG0ge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDsgfVxuXG4gIC51LTNcXC80LXBhbG0ge1xuICAgIHdpZHRoOiA3NSUgIWltcG9ydGFudDsgfVxuXG4gIC51LTFcXC81LXBhbG0ge1xuICAgIHdpZHRoOiAyMCUgIWltcG9ydGFudDsgfVxuXG4gIC51LTJcXC81LXBhbG0ge1xuICAgIHdpZHRoOiA0MCUgIWltcG9ydGFudDsgfVxuXG4gIC51LTNcXC81LXBhbG0ge1xuICAgIHdpZHRoOiA2MCUgIWltcG9ydGFudDsgfVxuXG4gIC51LTRcXC81LXBhbG0ge1xuICAgIHdpZHRoOiA4MCUgIWltcG9ydGFudDsgfSB9XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAudS0xXFwvMS1sYXAge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAudS0xXFwvMi1sYXAge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDsgfVxuXG4gIC51LTFcXC8zLWxhcCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlICFpbXBvcnRhbnQ7IH1cblxuICAudS0yXFwvMy1sYXAge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JSAhaW1wb3J0YW50OyB9XG5cbiAgLnUtMVxcLzQtbGFwIHtcbiAgICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7IH1cblxuICAudS0yXFwvNC1sYXAge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDsgfVxuXG4gIC51LTNcXC80LWxhcCB7XG4gICAgd2lkdGg6IDc1JSAhaW1wb3J0YW50OyB9XG5cbiAgLnUtMVxcLzUtbGFwIHtcbiAgICB3aWR0aDogMjAlICFpbXBvcnRhbnQ7IH1cblxuICAudS0yXFwvNS1sYXAge1xuICAgIHdpZHRoOiA0MCUgIWltcG9ydGFudDsgfVxuXG4gIC51LTNcXC81LWxhcCB7XG4gICAgd2lkdGg6IDYwJSAhaW1wb3J0YW50OyB9XG5cbiAgLnUtNFxcLzUtbGFwIHtcbiAgICB3aWR0aDogODAlICFpbXBvcnRhbnQ7IH0gfVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgLnUtMVxcLzEtbGFwLWFuZC11cCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gIC51LTFcXC8yLWxhcC1hbmQtdXAge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDsgfVxuXG4gIC51LTFcXC8zLWxhcC1hbmQtdXAge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJSAhaW1wb3J0YW50OyB9XG5cbiAgLnUtMlxcLzMtbGFwLWFuZC11cCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclICFpbXBvcnRhbnQ7IH1cblxuICAudS0xXFwvNC1sYXAtYW5kLXVwIHtcbiAgICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7IH1cblxuICAudS0yXFwvNC1sYXAtYW5kLXVwIHtcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7IH1cblxuICAudS0zXFwvNC1sYXAtYW5kLXVwIHtcbiAgICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7IH1cblxuICAudS0xXFwvNS1sYXAtYW5kLXVwIHtcbiAgICB3aWR0aDogMjAlICFpbXBvcnRhbnQ7IH1cblxuICAudS0yXFwvNS1sYXAtYW5kLXVwIHtcbiAgICB3aWR0aDogNDAlICFpbXBvcnRhbnQ7IH1cblxuICAudS0zXFwvNS1sYXAtYW5kLXVwIHtcbiAgICB3aWR0aDogNjAlICFpbXBvcnRhbnQ7IH1cblxuICAudS00XFwvNS1sYXAtYW5kLXVwIHtcbiAgICB3aWR0aDogODAlICFpbXBvcnRhbnQ7IH0gfVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC51LTFcXC8xLXBvcnRhYmxlIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgLnUtMVxcLzItcG9ydGFibGUge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDsgfVxuXG4gIC51LTFcXC8zLXBvcnRhYmxlIHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyUgIWltcG9ydGFudDsgfVxuXG4gIC51LTJcXC8zLXBvcnRhYmxlIHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyUgIWltcG9ydGFudDsgfVxuXG4gIC51LTFcXC80LXBvcnRhYmxlIHtcbiAgICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7IH1cblxuICAudS0yXFwvNC1wb3J0YWJsZSB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50OyB9XG5cbiAgLnUtM1xcLzQtcG9ydGFibGUge1xuICAgIHdpZHRoOiA3NSUgIWltcG9ydGFudDsgfVxuXG4gIC51LTFcXC81LXBvcnRhYmxlIHtcbiAgICB3aWR0aDogMjAlICFpbXBvcnRhbnQ7IH1cblxuICAudS0yXFwvNS1wb3J0YWJsZSB7XG4gICAgd2lkdGg6IDQwJSAhaW1wb3J0YW50OyB9XG5cbiAgLnUtM1xcLzUtcG9ydGFibGUge1xuICAgIHdpZHRoOiA2MCUgIWltcG9ydGFudDsgfVxuXG4gIC51LTRcXC81LXBvcnRhYmxlIHtcbiAgICB3aWR0aDogODAlICFpbXBvcnRhbnQ7IH0gfVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC51LTFcXC8xLWRlc2sge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAudS0xXFwvMi1kZXNrIHtcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7IH1cblxuICAudS0xXFwvMy1kZXNrIHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyUgIWltcG9ydGFudDsgfVxuXG4gIC51LTJcXC8zLWRlc2sge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JSAhaW1wb3J0YW50OyB9XG5cbiAgLnUtMVxcLzQtZGVzayB7XG4gICAgd2lkdGg6IDI1JSAhaW1wb3J0YW50OyB9XG5cbiAgLnUtMlxcLzQtZGVzayB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50OyB9XG5cbiAgLnUtM1xcLzQtZGVzayB7XG4gICAgd2lkdGg6IDc1JSAhaW1wb3J0YW50OyB9XG5cbiAgLnUtMVxcLzUtZGVzayB7XG4gICAgd2lkdGg6IDIwJSAhaW1wb3J0YW50OyB9XG5cbiAgLnUtMlxcLzUtZGVzayB7XG4gICAgd2lkdGg6IDQwJSAhaW1wb3J0YW50OyB9XG5cbiAgLnUtM1xcLzUtZGVzayB7XG4gICAgd2lkdGg6IDYwJSAhaW1wb3J0YW50OyB9XG5cbiAgLnUtNFxcLzUtZGVzayB7XG4gICAgd2lkdGg6IDgwJSAhaW1wb3J0YW50OyB9IH1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAudS0xXFwvMS13aWRlIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgLnUtMVxcLzItd2lkZSB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50OyB9XG5cbiAgLnUtMVxcLzMtd2lkZSB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlICFpbXBvcnRhbnQ7IH1cblxuICAudS0yXFwvMy13aWRlIHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyUgIWltcG9ydGFudDsgfVxuXG4gIC51LTFcXC80LXdpZGUge1xuICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDsgfVxuXG4gIC51LTJcXC80LXdpZGUge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDsgfVxuXG4gIC51LTNcXC80LXdpZGUge1xuICAgIHdpZHRoOiA3NSUgIWltcG9ydGFudDsgfVxuXG4gIC51LTFcXC81LXdpZGUge1xuICAgIHdpZHRoOiAyMCUgIWltcG9ydGFudDsgfVxuXG4gIC51LTJcXC81LXdpZGUge1xuICAgIHdpZHRoOiA0MCUgIWltcG9ydGFudDsgfVxuXG4gIC51LTNcXC81LXdpZGUge1xuICAgIHdpZHRoOiA2MCUgIWltcG9ydGFudDsgfVxuXG4gIC51LTRcXC81LXdpZGUge1xuICAgIHdpZHRoOiA4MCUgIWltcG9ydGFudDsgfSB9XG5AbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gIC51LTFcXC8xLXJldGluYSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gIC51LTFcXC8yLXJldGluYSB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50OyB9XG5cbiAgLnUtMVxcLzMtcmV0aW5hIHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyUgIWltcG9ydGFudDsgfVxuXG4gIC51LTJcXC8zLXJldGluYSB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclICFpbXBvcnRhbnQ7IH1cblxuICAudS0xXFwvNC1yZXRpbmEge1xuICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDsgfVxuXG4gIC51LTJcXC80LXJldGluYSB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50OyB9XG5cbiAgLnUtM1xcLzQtcmV0aW5hIHtcbiAgICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7IH1cblxuICAudS0xXFwvNS1yZXRpbmEge1xuICAgIHdpZHRoOiAyMCUgIWltcG9ydGFudDsgfVxuXG4gIC51LTJcXC81LXJldGluYSB7XG4gICAgd2lkdGg6IDQwJSAhaW1wb3J0YW50OyB9XG5cbiAgLnUtM1xcLzUtcmV0aW5hIHtcbiAgICB3aWR0aDogNjAlICFpbXBvcnRhbnQ7IH1cblxuICAudS00XFwvNS1yZXRpbmEge1xuICAgIHdpZHRoOiA4MCUgIWltcG9ydGFudDsgfSB9XG5cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHMvTmV3c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm5ld3NfX3dyYXBwZXIge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ubmV3c19fdGl0bGUge1xuICBwYWRkaW5nLXRvcDogNHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxOHB4LCAxOHB4KTtcbn1cblxuLm5ld3NfX2l0ZW0ge1xuICBwYWRkaW5nLWxlZnQ6ICRzcGFjaW5nLXVuaXQtLXNtYWxsICogNTtcbiAgcGFkZGluZy10b3A6IDVweDtcbiAgd2lkdGg6IDEwMCU7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNnB4LCAxN3B4KTtcbn1cblxuLm5ld3NfX2NlbGwge1xuICBtaW4taGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4ubmV3c19fbGluayB7XG4gIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlO1xuXG4gICY6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgfVxufVxuXG5hLm5ld3NfX2xpbmsge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNlL0xpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5hIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgfVxuICAgIFxuICAgICY6aG92ZXI6OmFmdGVyLFxuICAgICY6Zm9jdXM6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7XG4gICAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHMvQ2FwdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jYXB0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsZXR0ZXItc3BhY2luZzogLjA0ZW07XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDEzcHgsIDEuMik7XG59XG5cbi5jYXB0aW9uLS10aXRsZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn0iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICNCT1gtU0laSU5HXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKipcbiAqIFNldCB0aGUgZ2xvYmFsIGBib3gtc2l6aW5nYCBzdGF0ZSB0byBgYm9yZGVyLWJveGAuXG4gKlxuICogY3NzLXRyaWNrcy5jb20vaW5oZXJpdGluZy1ib3gtc2l6aW5nLXByb2JhYmx5LXNsaWdodGx5LWJldHRlci1iZXN0LXByYWN0aWNlXG4gKiBwYXVsaXJpc2guY29tLzIwMTIvYm94LXNpemluZy1ib3JkZXItYm94LWZ0d1xuICovXG5odG1sIHtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuKiB7XG5cbiAgICAmLFxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgICAgICAgIC1tb3otYm94LXNpemluZzogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICAgICAgICB9XG5cbn1cblxuXG5cblxuXG4vLyBJZiB3ZSBoYXZlIGluY2x1ZGVkIHRoaXMgZmlsZSwgc2V0IGEgdmFyaWFibGUgdG8gdGVsbCB0aGUgcmVzdCBvZiB0aGVcbi8vIGZyYW1ld29yayB0aGF0IGdsb2JhbCBgYm94LXNpemluZzogYm9yZGVyLWJveGAgaGFzIGJlZW4gc2V0LlxuJGludWl0LWdsb2JhbC1ib3JkZXItYm94OiB0cnVlO1xuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2UvUGFnZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuaHRtbCB7XG4gICAgYmFja2dyb3VuZDogJGJhc2UtYmFja2dyb3VuZC1jb2xvcjtcbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgIGZvbnQtZmFtaWx5OiAkc2Fucy1zZXJpZjtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuXG5cdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGluaGVyaXQgIWltcG9ydGFudDtcblx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNlL1R5cGVcbiAgID09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogVHlwb2dyYXBoaWNhbCBiYXNlIHNlbGVjdG9ycy5cbiAqL1xuXG4vKipcbiAqIEhlYWRpbmdzIDHigJM2LlxuICovXG5AaW5jbHVkZSBoZWFkaW5ncygpIHtcbiAgICBAaW5jbHVkZSBmb250LXdlaWdodChyZWd1bGFyKTtcbn1cblxuXG5cblxuXG4vKipcbiAqIEEgZ2VuZXJpYyBoZWFkaW5nIHN0eWxlIHdoaWNoIGNhbiBiZSBhcHBsaWVkIHRvIGFueSBoZWFkaW5ncy5cbiAqL1xuLmhlYWRpbmcge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMnB4KTtcbn1cblxuLmhlYWRpbmctc3ViIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTZweCk7XG4gICAgQGluY2x1ZGUgZm9udC13ZWlnaHQoYm9sZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuXG5cblxuXG4vKipcbiAqIEVtYm9sZGVuZWQgZWxlbWVudHMuXG4gKi9cbmEsXG5zdHJvbmcsIGIsXG5kdCB7XG4gICAgQGluY2x1ZGUgZm9udC13ZWlnaHQobm9ybWFsKTtcbn1cblxuc3Ryb25nIHtcbiAgICBmb250LWZhbWlseTogRElOTWl0dGVsc2NocmlmdFN0ZCwgc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuXG5cblxuLyoqXG4gKiBDb2RlLWxpa2UgZWxlbWVudHMuXG4gKi9cbmNvZGUsIGtiZCwgc2FtcCB7XG4gICAgZm9udC1mYW1pbHk6IEluY29uc29sYXRhLCBNb25hY28sIENvbnNvbGFzLCBcIkFuZGFsZSBNb25vXCIsIFwiQml0c3RyZWFtIFZlcmEgU2FucyBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgQ291cmllciwgbW9ub3NwYWNlO1xufVxuXG5wcmUge1xuICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gICAgd29yZC13cmFwOiBub3JtYWw7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgcGFkZGluZzogJHNwYWNpbmctdW5pdC0tc21hbGw7XG4gICAgYm9yZGVyLXJhZGl1czogJGJhc2Utcm91bmQ7XG59XG5cblxuXG5cblxuLyoqXG4gKiBGaWd1cmVzLlxuICpcbiAqIDEuIE91dGRlbnQgZmlndXJlcyBieSBhbiBhcmJpdHJhcnkgYW1vdW50IGF0IHRoZSByZWxldmFudCB2aWV3cG9ydCBzaXplLlxuICogMi4gUmVpbmRlbnQgZmlnY2FwdGlvbnMuXG4gKi9cbmZpZ3VyZSB7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzgwcHgpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMjhweDsgLyogWzFdICovXG4gICAgfVxuXG4gICAgPiBpbWcge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYmFzZS1yb3VuZDtcbiAgICB9XG5cbn1cblxuZmlnY2FwdGlvbiB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDEycHgpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM4MHB4KSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMjhweDsgLyogWzJdICovXG4gICAgfVxuXG59XG5cblxuXG5cblxuLyoqXG4gKiBIb3Jpem9udGFsIHJ1bGVzLlxuICovXG5ociB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItYmxhY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctdW5pdCAtIDFweDtcbn1cblxuXG5cblxuXG4vKipcbiAqIEhpZ2hsaWdodGVkIHRleHQuXG4gKi9cbm1hcmsge1xuXG4gICAgcHJlICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxufVxuXG5cblxuXG5cbi8qKlxuICogVGV4dC1hbGlnbm1lbnQuXG4gKi9cbi50ZXh0LWJhbm5lciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5cblxuXG5cbi8qKlxuICogRm9ybS5cbiAqL1xudGV4dGFyZWE6Zm9jdXMsIGlucHV0OmZvY3Vze1xuICAgIG91dGxpbmU6IDA7XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2UvUGFyYWdyYXBoc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxucCB7XG4gICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTRweCwgMi4wKTtcbn0iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICNJTUFHRVNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qKlxuICogMS4gRmx1aWQgaW1hZ2VzIGZvciByZXNwb25zaXZlIHB1cnBvc2VzLlxuICogMi4gT2Zmc2V0IGBhbHRgIHRleHQgZnJvbSBzdXJyb3VuZGluZyBjb3B5LlxuICogMy4gU2V0dGluZyBgdmVydGljYWwtYWxpZ25gIHJlbW92ZXMgdGhlIHdoaXRlc3BhY2UgdGhhdCBhcHBlYXJzIHVuZGVyIGBpbWdgXG4gKiAgICBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGRyb3BwZWQgaW50byBhIHBhZ2UgYXMtaXMuIFNhZmVyIGFsdGVybmF0aXZlIHRvXG4gKiAgICB1c2luZyBgZGlzcGxheTogYmxvY2s7YC5cbiAqL1xuaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIFsxXSAqL1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgLyogWzJdICovXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogWzNdICovXG59XG5cblxuXG4vKipcbiAqIDEuIEdvb2dsZSBNYXBzIGJyZWFrcyBpZiBgbWF4LXdpZHRoOiAxMDAlYCBhY3RzIHVwb24gaXQ7IHVzZSB0aGVpciBzZWxlY3RvclxuICogICAgdG8gcmVtb3ZlIHRoZSBlZmZlY3RzLlxuICogMi4gSWYgYSBgd2lkdGhgIGFuZC9vciBgaGVpZ2h0YCBhdHRyaWJ1dGUgaGF2ZSBiZWVuIGV4cGxpY2l0bHkgZGVmaW5lZCwgbGV04oCZc1xuICogICAgbm90IG1ha2UgdGhlIGltYWdlIGZsdWlkLlxuICovXG4uZ20tc3R5bGUgaW1nLCAvKiBbMV0gKi9cbmltZ1t3aWR0aF0sIC8qIFsyXSAqL1xuaW1nW2hlaWdodF0geyAgLyogWzJdICovXG4gICAgbWF4LXdpZHRoOiBub25lO1xufVxuIiwiLyohIEZsaWNraXR5IHYxLjEuMFxuaHR0cDovL2ZsaWNraXR5Lm1ldGFmaXp6eS5jb1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uZmxpY2tpdHktZW5hYmxlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmZsaWNraXR5LWVuYWJsZWQ6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG5cbi5mbGlja2l0eS12aWV3cG9ydCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uZmxpY2tpdHktc2xpZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4vKiBkcmFnZ2FibGUgKi9cblxuLmZsaWNraXR5LWVuYWJsZWQuaXMtZHJhZ2dhYmxlIHtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICB0YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLmZsaWNraXR5LWVuYWJsZWQuaXMtZHJhZ2dhYmxlIC5mbGlja2l0eS12aWV3cG9ydCB7XG4gIGN1cnNvcjogbW92ZTtcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XG4gIGN1cnNvcjogZ3JhYjtcbn1cblxuLmZsaWNraXR5LWVuYWJsZWQuaXMtZHJhZ2dhYmxlIC5mbGlja2l0eS12aWV3cG9ydC5pcy1wb2ludGVyLWRvd24ge1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYmJpbmc7XG4gIGN1cnNvcjogZ3JhYmJpbmc7XG59XG5cbi8qIC0tLS0gcHJldmlvdXMvbmV4dCBidXR0b25zIC0tLS0gKi9cblxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJhY2tncm91bmQ6IGhzbGEoMCwgMCUsIDEwMCUsIDAuNzUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8qIHZlcnRpY2FsbHkgY2VudGVyICovXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uOmhvdmVyIHsgYmFja2dyb3VuZDogd2hpdGU7IH1cblxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiAwIDAgMCA1cHggIzA5Rjtcbn1cblxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b246YWN0aXZlIHtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTYwKTsgLyogSUU4ICovXG4gIG9wYWNpdHk6IDAuNjtcbn1cblxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ucHJldmlvdXMgeyBsZWZ0OiAxMHB4OyB9XG4uZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbi5uZXh0IHsgcmlnaHQ6IDEwcHg7IH1cbi8qIHJpZ2h0IHRvIGxlZnQgKi9cbi5mbGlja2l0eS1ydGwgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ucHJldmlvdXMge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMTBweDtcbn1cbi5mbGlja2l0eS1ydGwgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ubmV4dCB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxMHB4O1xufVxuXG4uZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbjpkaXNhYmxlZCB7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0zMCk7IC8qIElFOCAqL1xuICBvcGFjaXR5OiAwLjM7XG4gIGN1cnNvcjogYXV0bztcbn1cblxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24gc3ZnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAyMCU7XG4gIHRvcDogMjAlO1xuICB3aWR0aDogNjAlO1xuICBoZWlnaHQ6IDYwJTtcbn1cblxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24gLmFycm93IHtcbiAgZmlsbDogIzMzMztcbn1cblxuLyogY29sb3IgJiBzaXplIGlmIG5vIFNWRyAtIElFOCBhbmQgQW5kcm9pZCAyLjMgKi9cbi5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLm5vLXN2ZyB7XG4gIGNvbG9yOiAjMzMzO1xuICBmb250LXNpemU6IDI2cHg7XG59XG5cbi8qIC0tLS0gcGFnZSBkb3RzIC0tLS0gKi9cblxuLmZsaWNraXR5LXBhZ2UtZG90cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvdHRvbTogLTI1cHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmZsaWNraXR5LXJ0bCAuZmxpY2tpdHktcGFnZS1kb3RzIHsgZGlyZWN0aW9uOiBydGw7IH1cblxuLmZsaWNraXR5LXBhZ2UtZG90cyAuZG90IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxMHB4O1xuICBtYXJnaW46IDAgOHB4O1xuICBiYWNrZ3JvdW5kOiAjMzMzO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0yNSk7IC8qIElFOCAqL1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5mbGlja2l0eS1wYWdlLWRvdHMgLmRvdC5pcy1zZWxlY3RlZCB7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApOyAvKiBJRTggKi9cbiAgb3BhY2l0eTogMTtcbn1cblxuXG4vKiBwb3NpdGlvbiBkb3RzIGluIGdhbGxlcnkgKi9cbi5mbGlja2l0eS1wYWdlLWRvdHMge1xuICBib3R0b206IDBweDtcbn1cbi8qIHdoaXRlIGNpcmNsZXMgKi9cbi5mbGlja2l0eS1wYWdlLWRvdHMgLmRvdCB7XG4gIHdpZHRoOiAxMnB4O1xuICBoZWlnaHQ6IDEycHg7XG4gIG9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTtcbn1cbi8qIGZpbGwtaW4gc2VsZWN0ZWQgZG90ICovXG4uZmxpY2tpdHktcGFnZS1kb3RzIC5kb3QuaXMtc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzZS9MaXN0c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxudWwge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4gICAgbGkge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy9NZW51c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxudWwucGFnZS1oZWFkLS1tZW51cyB7XG4gICAgYmFja2dyb3VuZDogJGJhc2UtYmFja2dyb3VuZC1jb2xvcjtcbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBhZGRpbmctdG9wOiAkc3BhY2luZy11bml0LS1zbWFsbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctdW5pdDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAxMzA7XG5cbiAgICAmLnNob3cge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5KGxhcC1hbmQtdXApIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBwb3NpdGlvbjogaW5oZXJpdDtcbiAgICAgICAgdG9wOiAxODBweDtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAubWVudV9faXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLjA4ZW07XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHNwYWNpbmctdW5pdCAqIDM7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRzcGFjaW5nLXVuaXQgKiAzO1xuICAgICAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctdW5pdC0tdGlueTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLXVuaXQtLXRpbnk7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNXB4KTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeShsYXAtYW5kLXVwKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWFnZXMvbWVudVNlcGFyYXRvci5wbmcpIG5vLXJlcGVhdCBzY3JvbGwgMHB4IDdweCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZSByZXBlYXQgc2Nyb2xsIDAgMCB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZW51X19saW5rIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICB9XG4gICAgfVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzLzQwNCBwYWdlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnBhZ2Utbm90LWZvdW5kIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmFzZS1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGZvbnQtZmFtaWx5OiAkc2Fucy1zZXJpZjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAxMDAwMDAwMDAwMDA7XG59XG5cbiAgICAucGFnZS1ub3QtZm91bmRfX3RpdGxlIHtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDEwMHB4LCAxKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeShsYXAtYW5kLXVwKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjAwcHgsIDEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhZ2Utbm90LWZvdW5kX19jb3B5IHtcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gJHNwYWNpbmctdW5pdC0tbGFyZ2U7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMHB4KTtcbiAgICB9IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHMvQWNjb3JkaW9uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmFjY29yZGlvbiB7XG4gICAgY29sb3I6ICRjb2xvci1ibGFjaztcbn1cblxuICAgIC5hY2NvcmRpb25fX3dyYXBwZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBibHVlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDcwMG1zIGVhc2U7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjk0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgICAgIC5hY2NvcmRpb25fX2lubmVyLXdyYXBwZXIge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRzcGFjaW5nLXVuaXQ7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkc3BhY2luZy11bml0O1xuICAgICAgICB9XG5cbiAgICAgICAgICAgIC5hY2NvcmRpb25fX2hlYWRlciB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5hY2NvcmRpb25fX3RpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA3MnB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAuMWVtO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogOHB4O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE4cHgsIDEuMik7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5KGxhcC1hbmQtdXApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5hY2NvcmRpb25fX2l0ZW0ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IEdhcmFtb25kLCBQYWxhdGlubyBMaW5vdHlwZSwgUGFsYXRpbm8sIHNlcmlmO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctdW5pdC0tdGlueTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuYWNjb3JkaW9uX191bm9yZGVyZWQtbGlzdCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkc3BhY2luZy11bml0LS1zbWFsbCAqIDM7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy11bml0LS1zbWFsbCAqIDM7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5hY2NvcmRpb25fX2xpc3Qge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctdW5pdC0tc21hbGw7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2VyaWY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4wNGVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNHB4LCAyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzL1BhZ2UgRm9vdFxuICAgPT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnBhZ2UtZm9vdCB7XG4gICAgYmFja2dyb3VuZDogJGZvb3Rlci1jb2xvcjtcbiAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctdW5pdC0tbGFyZ2U7XG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLXVuaXQtLWxhcmdlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYuaGlkZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4gICAgLnBhZ2UtZm9vdF9fd3JhcHBlciB7XG4gICAgICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgICAgICAucGFnZS1mb290X19oZWFkZXIge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXVuaXQtLXNtYWxsO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIwcHgpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnkobGFwLWFuZC11cCkge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucGFnZS1mb290X19pdGVtIHAge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2VyaWY7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLjA4ZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS42ZW07XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnkobGFwLWFuZC11cCkge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAgICAgLnBhZ2UtZm9vdF9fbGluayB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgLnBhZ2UtZm9vdF9fcXVvdGVzIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXVuaXQtLXNtYWxsICogMztcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYWdlLWZvb3RfX2NvcHktcmlnaHQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctdW5pdC0tc21hbGwgKiAzO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnkobGFwLWFuZC11cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXVuaXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucGFnZS1mb290X19jb250YWN0LWNvcHkgcCB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJHNhbnMtc2VyaWY7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJG5vcm1hbC13ZWlnaHQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy11bml0LS1zbWFsbCAqIDM7XG4gICAgICAgIH1cblxuICAgICAgICAucGFnZS1mb290X19jb250YWN0LWRldGFpbHMge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctdW5pdC0tc21hbGwgKiAzO1xuICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wYWdlLWZvb3RfX2NvbnRhY3QtZGV0YWlscyBsaSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctdW5pdC0tc21hbGw7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5KGxhcC1hbmQtdXApIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAucGFnZS1mb290X19jb250YWN0LWRldGFpbHMgbGkgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgIC5wYWdlLWZvb3RfX3R3aXR0ZXItd2lkZ2V0IHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDUyMHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5KGxhcC1hbmQtdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IGluaGVyaXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy9TaXRlIFRpdGxlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnNpdGUtdGl0bGUge1xuICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMTRlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICB9XG59XG5cbi5zaXRlLWRlc2NyaXB0aW9uIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzL1RyYXBleml1bVxuICAgPT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnRyYXBleml1bSB7XG4gICAgYm9yZGVyLXJpZ2h0OiA0NXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDUwcHggc29saWQ7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogNTBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB3aWR0aDogMjI4cHg7XG4gICAgei1pbmRleDogOTA7XG5cbiAgICAmLnRyYXBleml1bS0tZ3JlZW4ge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3ItZ3JlZW47XG4gICAgfVxuXG4gICAgJjpob3ZlciArIC50aHVtYnNfX2ltYWdlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5cbiAgICAudHJhcGV6aXVtX19pbm5lciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkc3BhY2luZy11bml0LS1zbWFsbDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkc3BhY2luZy11bml0LS1zbWFsbDtcbiAgICB9IiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAjUkVTRVRcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qKlxuICogQXMgd2VsbCBhcyB1c2luZyBub3JtYWxpemUuY3NzLCBpdCBpcyBvZnRlbiBhZHZhbnRhZ2VvdXMgdG8gcmVtb3ZlIGFsbFxuICogbWFyZ2lucyBmcm9tIGNlcnRhaW4gZWxlbWVudHMuXG4gKi9cbmJvZHksXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxucCwgYmxvY2txdW90ZSwgcHJlLFxuZGwsIGRkLCBvbCwgdWwsXG5mb3JtLCBmaWVsZHNldCwgbGVnZW5kLFxuZmlndXJlLFxudGFibGUsIHRoLCB0ZCwgY2FwdGlvbixcbmhyIHtcbiAgICBtYXJnaW46ICAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cblxuXG5cblxuLyoqXG4gKiBHaXZlIGEgaGVscCBjdXJzb3IgdG8gZWxlbWVudHMgdGhhdCBnaXZlIGV4dHJhIGluZm8gb24gYDpob3ZlcmAuXG4gKi9cbmFiYnJbdGl0bGVdLFxuZGZuW3RpdGxlXSB7XG4gICAgY3Vyc29yOiBoZWxwO1xufVxuXG5cblxuXG5cbi8qKlxuICogUmVtb3ZlIHVuZGVybGluZXMgZnJvbSBwb3RlbnRpYWxseSB0cm91Ymxlc29tZSBlbGVtZW50cy5cbiAqL1xudSxcbmlucyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5cblxuXG5cbi8qKlxuICogQXBwbHkgZmF1eCB1bmRlcmxpbmVzIHRvIGluc2VydGVkIHRleHQgdmlhIGBib3JkZXItYm90dG9tYC5cbiAqL1xuaW5zIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICNIRUFESU5HU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyoqXG4gKiBIZWFkaW5ncyAx4oCTNi5cbiAqL1xuXG4vLyBQcmVkZWZpbmUgdGhlIHZhcmlhYmxlcyBiZWxvdyBpbiBvcmRlciB0byBhbHRlciBhbmQgZW5hYmxlIHNwZWNpZmljIGZlYXR1cmVzLlxuJGludWl0LWhlYWRpbmctc2l6ZS0xOiAgMzZweCAhZGVmYXVsdDtcbiRpbnVpdC1oZWFkaW5nLXNpemUtMjogIDMwcHggIWRlZmF1bHQ7XG4kaW51aXQtaGVhZGluZy1zaXplLTM6ICAyNHB4ICFkZWZhdWx0O1xuJGludWl0LWhlYWRpbmctc2l6ZS00OiAgMjBweCAhZGVmYXVsdDtcbiRpbnVpdC1oZWFkaW5nLXNpemUtNTogIDE2cHggIWRlZmF1bHQ7XG4kaW51aXQtaGVhZGluZy1zaXplLTY6ICAxNHB4ICFkZWZhdWx0O1xuXG5oMSB7XG4gICAgQGluY2x1ZGUgaW51aXQtZm9udC1zaXplKCRpbnVpdC1oZWFkaW5nLXNpemUtMSk7XG59XG5cbmgyIHtcbiAgICBAaW5jbHVkZSBpbnVpdC1mb250LXNpemUoJGludWl0LWhlYWRpbmctc2l6ZS0yKTtcbn1cblxuaDMge1xuICAgIEBpbmNsdWRlIGludWl0LWZvbnQtc2l6ZSgkaW51aXQtaGVhZGluZy1zaXplLTMpO1xufVxuXG5oNCB7XG4gICAgQGluY2x1ZGUgaW51aXQtZm9udC1zaXplKCRpbnVpdC1oZWFkaW5nLXNpemUtNCk7XG59XG5cbmg1IHtcbiAgICBAaW5jbHVkZSBpbnVpdC1mb250LXNpemUoJGludWl0LWhlYWRpbmctc2l6ZS01KTtcbn1cblxuaDYge1xuICAgIEBpbmNsdWRlIGludWl0LWZvbnQtc2l6ZSgkaW51aXQtaGVhZGluZy1zaXplLTYpO1xufVxuIiwiLy8vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuLy8gICAgI01JWElOU1xuLy9cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vLyBpbnVpdGNzcyBoYXMgYSBudW1iZXIgb2YgZGVmYXVsdCBtaXhpbnMgdGhhdCB0aGUgZnJhbWV3b3JrLCBhbmQgZGV2ZWxvcGVyc1xuLy8gd29ya2luZyB3aXRoIGl0LCBjYW4gbWFrZSB1c2Ugb2YuXG5cblxuXG5cblxuLy8gQ3JlYXRlIGEgZnVsbHkgZm9ybWVkIHR5cGUgc3R5bGUgKHNpemluZyBhbmQgdmVydGljYWwgcmh5dGhtKSBieSBwYXNzaW5nIGluIGFcbi8vIHNpbmdsZSB2YWx1ZSwgZS5nLjpcbi8vXG4vLyAuZm9vIHtcbi8vICAgICBAaW5jbHVkZSBpbnVpdC1mb250LXNpemUoMTJweCk7XG4vLyB9XG4vL1xuLy8gVGhpcyB3aWxsIGdlbmVyYXRlIGEgcmVtLWJhc2VkIGZvbnQtc2l6ZSB3aXRoIGl0cyBwaXhlbCBmYWxsYmFjaywgYXMgd2VsbCBhc1xuLy8gYSB1bml0bGVzcyBsaW5lLWhlaWdodCB3aGljaCB3aWxsIHBsYWNlIHRoZSBlbGVtZW50IG9uIHlvdXIgYmFzZWxpbmUsIGUuZy46XG4vL1xuLy8gLmZvbyB7XG4vLyAgICAgZm9udC1zaXplOiAxMnB4O1xuLy8gICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbi8vICAgICBsaW5lLWhlaWdodDogMjtcbi8vIH1cbi8vXG4vLyBJZiB5b3UgZG8gbm90IHdhbnQgaW51aXRjc3MgdG8gZ2VuZXJhdGUgeW91IGEgbGluZS1oZWlnaHQgYXV0b21hdGljYWxseSwgeW91XG4vLyBzaW1wbHkgcGFzcyBpbiB5b3VyIG93biBhcyBhIHNlY29uZCBwYXJhbWF0ZXI6XG4vL1xuLy8gLmZvbyB7XG4vLyAgICAgQGluY2x1ZGUgaW51aXQtZm9udC1zaXplKDEycHgsIDEuNSk7XG4vLyB9XG4vL1xuLy8gVGhpcyB3aWxsIHlpZWxkOlxuLy9cbi8vIC5mb28ge1xuLy8gICAgIGZvbnQtc2l6ZTogMTJweDtcbi8vICAgICBmb250LXNpemU6IDAuNzVyZW07XG4vLyAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbi8vIH1cbi8vXG4vLyBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYW55IGludGVnZXIsIOKAmGluaGVyaXTigJksIG9yIOKAmG5vcm1hbOKAmS4gSWYgeW91IGRvbuKAmXQgd2FudFxuLy8gYSBsaW5lLWhlaWdodCBhdCBhbGwsIHBhc3MgaW4gYSBzZWNvbmQgcGFyYW1hdGVyIG9mIOKAmG5vbmXigJkgb3Ig4oCYZmFsc2XigJk6XG4vL1xuLy8gLmZvbyB7XG4vLyAgICAgQGluY2x1ZGUgaW51aXQtZm9udC1zaXplKDEycHgsIG5vbmUpO1xuLy8gfVxuLy9cbi8vIFRoaXMgd2lsbCB5aWVsZDpcbi8vXG4vLyAuZm9vIHtcbi8vICAgICBmb250LXNpemU6IDEycHg7XG4vLyAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuLy8gfVxuXG5AbWl4aW4gaW51aXQtZm9udC1zaXplKCRpbnVpdC1mb250LXNpemUsICRpbnVpdC1saW5lLWhlaWdodDogYXV0bykge1xuICAgIGZvbnQtc2l6ZTogJGludWl0LWZvbnQtc2l6ZTtcbiAgICBmb250LXNpemU6ICgkaW51aXQtZm9udC1zaXplIC8gJGludWl0LWJhc2UtZm9udC1zaXplKSAqIDFyZW07XG5cbiAgICBAaWYgJGludWl0LWxpbmUtaGVpZ2h0ID09IGF1dG8ge1xuICAgICAgICBsaW5lLWhlaWdodDogY2VpbCgkaW51aXQtZm9udC1zaXplIC8gJGludWl0LWJhc2UtbGluZS1oZWlnaHQpICogKCRpbnVpdC1iYXNlLWxpbmUtaGVpZ2h0IC8gJGludWl0LWZvbnQtc2l6ZSk7XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuXG4gICAgICAgIEBpZiAodHlwZS1vZigkaW51aXQtbGluZS1oZWlnaHQpID09IG51bWJlciBvciAkaW51aXQtbGluZS1oZWlnaHQgPT0gaW5oZXJpdCBvciAkaW51aXQtbGluZS1oZWlnaHQgPT0gbm9ybWFsKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGludWl0LWxpbmUtaGVpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgQGVsc2VpZiAoJGludWl0LWxpbmUtaGVpZ2h0ICE9IG5vbmUgYW5kICRpbnVpdC1saW5lLWhlaWdodCAhPSBmYWxzZSkge1xuICAgICAgICAgICAgQHdhcm4gXCJE4oCZb2ghIOKAmCN7JGludWl0LWxpbmUtaGVpZ2h0feKAmSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgYGxpbmUtaGVpZ2h0YC5cIlxuICAgICAgICB9XG5cbiAgICB9XG5cbn1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgI1BBR0VcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qKlxuICogSGlnaC0sIHBhZ2UtbGV2ZWwgc3R5bGluZy5cbiAqXG4gKiAxLiBTZXQgdGhlIGRlZmF1bHQgYGZvbnQtc2l6ZWAgYW5kIGBsaW5lLWhlaWdodGAgZm9yIHRoZSBlbnRpcmUgcHJvamVjdCxcbiAqICAgIHNvdXJjZWQgZnJvbSBvdXIgZGVmYXVsdCB2YXJpYWJsZXMuIFRoZSBgZm9udC1zaXplYCBpcyBjYWxjdWxhdGVkIHRvIGV4aXN0XG4gKiAgICBpbiBlbXMsIHRoZSBgbGluZS1oZWlnaHRgIGlzIGNhbGN1bGF0ZWQgdG8gZXhpc3QgdW5pdGxlc3NseS5cbiAqIDIuIEZvcmNlIHNjcm9sbGJhcnMgdG8gYWx3YXlzIGJlIHZpc2libGUgdG8gcHJldmVudCBhd2t3YXJkIOKAmGp1bXBz4oCZIHdoZW5cbiAqICAgIG5hdmlnYXRpbmcgYmV0d2VlbiBwYWdlcyB0aGF0IGRvL2RvIG5vdCBoYXZlIGVub3VnaCBjb250ZW50IHRvIHByb2R1Y2VcbiAqICAgIHNjcm9sbGJhcnMgbmF0dXJhbGx5LlxuICogMy4gRW5zdXJlIHRoZSBwYWdlIGFsd2F5cyBmaWxscyBhdCBsZWFzdCB0aGUgZW50aXJlIGhlaWdodCBvZiB0aGUgdmlld3BvcnQuXG4gKiA0LiBQcmV2ZW50IGNlcnRhaW4gbW9iaWxlIGJyb3dzZXJzIGZyb20gYXV0b21hdGljYWxseSB6b29taW5nIGZvbnRzLlxuICogNS4gRm9udHMgb24gT1NYIHdpbGwgbG9vayBtb3JlIGNvbnNpc3RlbnQgd2l0aCBvdGhlciBzeXN0ZW1zIHRoYXQgZG8gbm90XG4gKiAgICByZW5kZXIgdGV4dCB1c2luZyBzdWItcGl4ZWwgYW50aS1hbGlhc2luZy5cbiAqL1xuaHRtbCB7XG4gICAgZm9udC1zaXplOiAoJGludWl0LWJhc2UtZm9udC1zaXplIC8gMTZweCkgKiAxZW07IC8qIFsxXSAqL1xuICAgIGxpbmUtaGVpZ2h0OiAkaW51aXQtYmFzZS1saW5lLWhlaWdodCAvICRpbnVpdC1iYXNlLWZvbnQtc2l6ZTsgLyogWzFdICovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGludWl0LWJhc2UtYmFja2dyb3VuZC1jb2xvcjtcbiAgICBjb2xvcjogJGludWl0LWJhc2UtdGV4dC1jb2xvcjtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7IC8qIFsyXSAqL1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7IC8qIFszXSAqL1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogWzRdICovXG4gICAgICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiBbNF0gKi9cbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyAvKiBbNV0gKi9cbiAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC8qIFs1XSAqL1xufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAjU0hBUkVEXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKipcbiAqIFdoZXJlIGBtYXJnaW4tYm90dG9tYCBpcyBjb25jZXJuZWQsdGhpcyB2YWx1ZSB3aWxsIGJlIHRoZSBzYW1lIGFzIHRoZVxuICogYmFzZSBsaW5lLWhlaWdodC4gVGhpcyBhbGxvd3MgdXMgdG8ga2VlcCBhIGNvbnNpc3RlbnQgdmVydGljYWwgcmh5dGhtLlxuICogQXMgcGVyOiBjc3N3aXphcmRyeS5jb20vMjAxMi8wNi9zaW5nbGUtZGlyZWN0aW9uLW1hcmdpbi1kZWNsYXJhdGlvbnNcbiAqL1xuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbnVsLCBvbCwgZGwsXG5ibG9ja3F1b3RlLCBwLCBhZGRyZXNzLFxuaHIsXG50YWJsZSxcbmZpZWxkc2V0LCBmaWd1cmUsXG5wcmUsXG4lbWFyZ2luLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGludWl0LWJhc2Utc3BhY2luZy11bml0O1xuICAgIG1hcmdpbi1ib3R0b206ICgkaW51aXQtYmFzZS1zcGFjaW5nLXVuaXQgLyAkaW51aXQtYmFzZS1mb250LXNpemUpICogMXJlbTtcbn1cblxuXG5cblxuXG4vKipcbiAqIFdoZXJlIGBtYXJnaW4tbGVmdGAgaXMgY29uY2VybmVkIHdlIHdhbnQgdG8gdHJ5IGFuZCBpbmRlbnQgY2VydGFpbiBlbGVtZW50c1xuICogYnkgYSBjb25zaXN0ZW50IGFtb3VudC4gRGVmaW5lIHRoYXQgYW1vdW50IG9uY2UsaGVyZS5cbiAqL1xudWwsIG9sLCBkZCxcbiVtYXJnaW4tbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDIgKiAkaW51aXQtYmFzZS1zcGFjaW5nLXVuaXQ7XG4gICAgbWFyZ2luLWxlZnQ6ICgyICogJGludWl0LWJhc2Utc3BhY2luZy11bml0IC8gJGludWl0LWJhc2UtZm9udC1zaXplKSAqIDFyZW07XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PVxuICAgVG9vbHMvTWl4aW5zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBTcGl0IG91dCB2ZW5kb3IgcHJlZml4ZXMgaW4gb25lIGdvLiBWZXJ5IHByYWdtYXRpYywgZmFyIGZyb20gcGVyZmVjdC5cbkBtaXhpbiB2ZW5kb3IoJHByb3BlcnR5LCAkdmFsdWUuLi4pIHtcbiAgICAtd2Via2l0LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgIC1tb3otI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XG59XG5cbi8vIEFwcGx5IOKAmGF0dGVudGlvbuKAmSBzdHlsZXMgaW4gb25lIGdvLlxuQG1peGluIGF0dGVudGlvbigkc2VsZjogZmFsc2UpIHtcblxuICAgIEBpZigkc2VsZiAhPSBmYWxzZSkge1xuXG4gICAgICAgICYsXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6YWN0aXZlLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICBAZWxzZSB7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cblxuICAgIH1cblxufVxuXG4vLyBHZW5lcmF0ZSBIZWx2ZXRpY2EgTmV1ZeKAmXMgbnVtYmVyZWQgZm9udC13ZWlnaHRzIGZyb20gdGhlaXIgYWxpYXNlcy5cbkBtaXhpbiBmb250LXdlaWdodCgkZm9udC13ZWlnaHQpIHtcblxuICAgIEBpZiAoJGZvbnQtd2VpZ2h0ID09IFwicmVndWxhclwiKSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgfVxuXG4gICAgQGlmICgkZm9udC13ZWlnaHQgPT0gXCJib2xkXCIpIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG5cbn1cblxuLy8gQ3JlYXRlIGFsbCBzcGVjaWZpZWQgaGVhZGluZyBzdHlsZXMgaW4gb25lIGdvLlxuQG1peGluIGhlYWRpbmdzKCRmcm9tOiAxLCAkdG86IDYpIHtcblxuICAgICViYXNlLWhlYWRpbmcge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICBAaWYgJGZyb20gPj0gMSBhbmQgJHRvIDw9IDZ7XG5cbiAgICAgICAgQGZvciAkaSBmcm9tICRmcm9tIHRocm91Z2ggJHRve1xuXG4gICAgICAgICAgICBoI3skaX0ge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgJWJhc2UtaGVhZGluZztcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG5cbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzZS9Gb250c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiRElOTWl0dGVsc2NocmlmdFN0ZFwiO1xuICAgIHNyYzogIHVybChcIi9hc3NldHMvZm9udHMvRElOTWl0dGVsc2NocmlmdFN0ZC9ESU5NaXR0ZWxzY2hyaWZ0U3RkLmVvdFwiKTtcbiAgICBzcmM6ICB1cmwoXCIvYXNzZXRzL2ZvbnRzL0RJTk1pdHRlbHNjaHJpZnRTdGQvRElOTWl0dGVsc2NocmlmdFN0ZC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxuICAgIHVybChcIi9hc3NldHMvZm9udHMvRElOTWl0dGVsc2NocmlmdFN0ZC9ESU5NaXR0ZWxzY2hyaWZ0U3RkLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcbiAgICB1cmwoXCIvYXNzZXRzL2ZvbnRzL0RJTk1pdHRlbHNjaHJpZnRTdGQvRElOTWl0dGVsc2NocmlmdFN0ZC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXG4gICAgdXJsKFwiL2Fzc2V0cy9mb250cy9ESU5NaXR0ZWxzY2hyaWZ0U3RkL0RJTk1pdHRlbHNjaHJpZnRTdGQuc3ZnI0RJTk1pdHRlbHNjaHJpZnRTdGRcIikgZm9ybWF0KFwic3ZnXCIpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJESU5FbmdzY2hyaWZ0U3RkXCI7XG4gICAgc3JjOiAgdXJsKFwiL2Fzc2V0cy9mb250cy9ESU5NaXR0ZWxzY2hyaWZ0U3RkL0RJTk1pdHRlbHNjaHJpZnRTdGQuZW90XCIpO1xuICAgIHNyYzogIHVybChcIi9hc3NldHMvZm9udHMvRElOTWl0dGVsc2NocmlmdFN0ZC9ESU5NaXR0ZWxzY2hyaWZ0U3RkLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXG4gICAgdXJsKFwiL2Fzc2V0cy9mb250cy9ESU5NaXR0ZWxzY2hyaWZ0U3RkL0RJTk1pdHRlbHNjaHJpZnRTdGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgIHVybChcIi9hc3NldHMvZm9udHMvRElOTWl0dGVsc2NocmlmdFN0ZC9ESU5NaXR0ZWxzY2hyaWZ0U3RkLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcbiAgICB1cmwoXCIvYXNzZXRzL2ZvbnRzL0RJTk1pdHRlbHNjaHJpZnRTdGQvRElOTWl0dGVsc2NocmlmdFN0ZC5zdmcjRElOTWl0dGVsc2NocmlmdFN0ZFwiKSBmb3JtYXQoXCJzdmdcIik7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICNMSVNUU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyoqXG4gKiBSZW1vdmUgZXh0cmEgdmVydGljYWwgc3BhY2luZyB3aGVuIG5lc3RpbmcgbGlzdHMuXG4gKi9cbmxpIHtcblxuICAgID4gdWwsXG4gICAgPiBvbCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICNXUkFQUEVSU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLndyYXBwZXIge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nLWxlZnQ6ICRzcGFjaW5nLXVuaXQ7XG4gICAgcGFkZGluZy1yaWdodDogJHNwYWNpbmctdW5pdDtcblxuICAgICYud3JhcHBlci0tcHJvamVjdHMge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgJi53cmFwcGVyLS1hcnJvdyB7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICYud3JhcHBlci0tZGVzY3JpcHRpb24tYXJyb3cge1xuICAgICAgICBib3R0b206IC0zMHB4O1xuICAgICAgICB0b3A6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgJi53cmFwcGVyLS12aWRlbyB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbiAgICAmLndyYXBwZXItLXR3by1jb2x1bW4tdGV4dCwgJi53cmFwcGVyLS1vbmUtY29sdW1uLXRleHQge1xuICAgICAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctdW5pdC0tbGFyZ2U7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy11bml0LS1sYXJnZTtcbiAgICB9XG5cbiAgICAmLndyYXBwZXItLXBhZ2Utbm90LWZvdW5kIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbn1cblxuICAgIC53cmFwcGVyX19pbm5lciB7XG4gICAgICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzL1ByZS1sb2FkZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucHJlLWxvYWRlciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAxMDAwMDAwO1xufVxuXG4gICAgLnByZS1sb2FkZXJfX3dyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICBtYXJnaW46IC0yNXB4IDAgMCAtMjVweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICBhbmltYXRpb246IHNwaW4gMXMgbGluZWFyIGluZmluaXRlO1xuICAgICAgICB6LWluZGV4OiAxMDAxO1xuICAgIH1cblxuICAgIEBrZXlmcmFtZXMgc3BpbiB7XG4gICAgICAgIDAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAgICAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxuICAgIH1cblxuICAgIC5wcmUtbG9hZGVyX19zZWN0aW9uIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICRiYXNlLWJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIHotaW5kZXg6IDEwMDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG5cbiAgICAucHJlLWxvYWRlcl9fc2VjdGlvbi0tbGVmdCB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLyogTG9hZGVkICovXG4gICAgLmxvYWRlZC1jb250ZW50cyB7XG4gICAgICAgIC5wcmUtbG9hZGVyIHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyAuNXMgZWFzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmUtbG9hZGVyX193cmFwcGVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByZS1sb2FkZXJfX3NlY3Rpb24tLWxlZnQge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmUtbG9hZGVyX19zZWN0aW9uLS1sZWZ0IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICB9XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy9FbnRyeSBsaW5rXG4gICA9PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmVudHJ5LS1uZXh0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG59XG5cbiAgICAuZW50cnlfX2xpbmsge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkc2Fucy1zZXJpZjtcbiAgICAgICAgaGVpZ2h0OiAkcGFnaW5hdGlvbi1oZWlnaHQ7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAuMDZlbTtcbiAgICAgICAgbWF4LXdpZHRoOiAyOTBweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDRweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2cHgsIDEuNCk7XG4gICAgXG4gICAgICAgICY6aG92ZXIgLmVudHJ5X19pbm5lci1saW5rIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDEpO1xuICAgICAgICB9XG4gICAgXG4gICAgICAgICYuZW50cnlfX2xpbmstLXByZXYge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvaW1hZ2VzL2Fycm93LXByZXYucG5nKSBuby1yZXBlYXQgbGVmdCBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRzcGFjaW5nLXVuaXQ7XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgJi5lbnRyeV9fbGluay0tbmV4dCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWFnZXMvYXJyb3ctbmV4dC5wbmcpIG5vLXJlcGVhdCByaWdodCBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkc3BhY2luZy11bml0O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgICAgIC5lbnRyeV9faW5uZXItbGluayB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy9QcmVzcyBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnByZXNzLWxpbmsge1xuICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgIH1cbn0iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICNCT1hcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qKlxuICogVGhlIGJveCBvYmplY3Qgc2ltcGx5IGJveGVzIG9mZiBjb250ZW50LlxuICovXG5cbi8vIFByZWRlZmluZSB0aGUgdmFyaWFibGVzIGJlbG93IGluIG9yZGVyIHRvIGFsdGVyIGFuZCBlbmFibGUgc3BlY2lmaWMgZmVhdHVyZXMuXG4kaW51aXQtYm94LW5hbWVzcGFjZTogICAgICAgJGludWl0LW5hbWVzcGFjZSAhZGVmYXVsdDtcblxuJGludWl0LWJveC1wYWRkaW5nOiAgICAgICAgICRpbnVpdC1iYXNlLXNwYWNpbmctdW5pdCAhZGVmYXVsdDtcbiRpbnVpdC1ib3gtcGFkZGluZy0tdGlueTogICAgIHF1YXJ0ZXIoJGludWl0LWJveC1wYWRkaW5nKSAhZGVmYXVsdDtcbiRpbnVpdC1ib3gtcGFkZGluZy0tc21hbGw6ICAgICAgaGFsdmUoJGludWl0LWJveC1wYWRkaW5nKSAhZGVmYXVsdDtcbiRpbnVpdC1ib3gtcGFkZGluZy0tbGFyZ2U6ICAgICBkb3VibGUoJGludWl0LWJveC1wYWRkaW5nKSAhZGVmYXVsdDtcbiRpbnVpdC1ib3gtcGFkZGluZy0taHVnZTogICBxdWFkcnVwbGUoJGludWl0LWJveC1wYWRkaW5nKSAhZGVmYXVsdDtcblxuJGludWl0LWVuYWJsZS1ib3gtLWZsdXNoOiAgIGZhbHNlICFkZWZhdWx0O1xuJGludWl0LWVuYWJsZS1ib3gtLXRpbnk6ICAgIGZhbHNlICFkZWZhdWx0O1xuJGludWl0LWVuYWJsZS1ib3gtLXNtYWxsOiAgIGZhbHNlICFkZWZhdWx0O1xuJGludWl0LWVuYWJsZS1ib3gtLWxhcmdlOiAgIGZhbHNlICFkZWZhdWx0O1xuJGludWl0LWVuYWJsZS1ib3gtLWh1Z2U6ICAgIGZhbHNlICFkZWZhdWx0O1xuXG5cblxuXG5cbi8qKlxuICogMS4gU28gd2UgY2FuIGFwcGx5IHRoZSBgLmJveGAgY2xhc3MgdG8gbmF0dXJhbGx5LWlubGluZSBlbGVtZW50cy5cbiAqL1xuLiN7JGludWl0LWJveC1uYW1lc3BhY2V9Ym94LFxuJSN7JGludWl0LWJveC1uYW1lc3BhY2V9Ym94IHtcbiAgICBAZXh0ZW5kICVjbGVhcmZpeDtcbiAgICBkaXNwbGF5OiBibG9jazsgLyogWzFdICovXG4gICAgcGFkZGluZzogJGludWl0LWJveC1wYWRkaW5nO1xuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG59XG5cblxuXG5cblxuQGlmICgkaW51aXQtZW5hYmxlLWJveC0tZmx1c2ggPT0gdHJ1ZSkge1xuXG4gICAgLyoqXG4gICAgICogRmx1c2ggKGkuZS4gbm8gcGFkZGluZykgYm94LlxuICAgICAqL1xuXG4gICAgLiN7JGludWl0LWJveC1uYW1lc3BhY2V9Ym94LS1mbHVzaCxcbiAgICAlI3skaW51aXQtYm94LW5hbWVzcGFjZX1ib3gtLWZsdXNoIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbn1cblxuQGlmICgkaW51aXQtZW5hYmxlLWJveC0tdGlueSA9PSB0cnVlKSB7XG5cbiAgICAvKipcbiAgICAgKiBUaW55IGJveC5cbiAgICAgKi9cblxuICAgIC4jeyRpbnVpdC1ib3gtbmFtZXNwYWNlfWJveC0tdGlueSxcbiAgICAlI3skaW51aXQtYm94LW5hbWVzcGFjZX1ib3gtLXRpbnkge1xuICAgICAgICBwYWRkaW5nOiAkaW51aXQtYm94LXBhZGRpbmctLXRpbnk7XG4gICAgfVxuXG59XG5cbkBpZiAoJGludWl0LWVuYWJsZS1ib3gtLXNtYWxsID09IHRydWUpIHtcblxuICAgIC8qKlxuICAgICAqIFNtYWxsIGJveC5cbiAgICAgKi9cblxuICAgIC4jeyRpbnVpdC1ib3gtbmFtZXNwYWNlfWJveC0tc21hbGwsXG4gICAgJSN7JGludWl0LWJveC1uYW1lc3BhY2V9Ym94LS1zbWFsbCB7XG4gICAgICAgIHBhZGRpbmc6ICRpbnVpdC1ib3gtcGFkZGluZy0tc21hbGw7XG4gICAgfVxuXG59XG5cbkBpZiAoJGludWl0LWVuYWJsZS1ib3gtLWxhcmdlID09IHRydWUpIHtcblxuICAgIC8qKlxuICAgICAqIExhcmdlIGJveC5cbiAgICAgKi9cblxuICAgIC4jeyRpbnVpdC1ib3gtbmFtZXNwYWNlfWJveC0tbGFyZ2UsXG4gICAgJSN7JGludWl0LWJveC1uYW1lc3BhY2V9Ym94LS1sYXJnZSB7XG4gICAgICAgIHBhZGRpbmc6ICRpbnVpdC1ib3gtcGFkZGluZy0tbGFyZ2U7XG4gICAgfVxuXG59XG5cbkBpZiAoJGludWl0LWVuYWJsZS1ib3gtLWh1Z2UgPT0gdHJ1ZSkge1xuXG4gICAgLyoqXG4gICAgICogSHVnZSBib3guXG4gICAgICovXG5cbiAgICAuI3skaW51aXQtYm94LW5hbWVzcGFjZX1ib3gtLWh1Z2UsXG4gICAgJSN7JGludWl0LWJveC1uYW1lc3BhY2V9Ym94LS1odWdlIHtcbiAgICAgICAgcGFkZGluZzogJGludWl0LWJveC1wYWRkaW5nLS1odWdlO1xuICAgIH1cblxufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAjTUVESUFcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qKlxuICogUGxhY2UgYW55IGltYWdlLSBhbmQgdGV4dC1saWtlIGNvbnRlbnQgc2lkZS1ieS1zaWRlLCBhcyBwZXI6XG4gKiBzdHViYm9ybmVsbGEub3JnL2NvbnRlbnQvMjAxMC8wNi8yNS90aGUtbWVkaWEtb2JqZWN0LXNhdmVzLWh1bmRyZWRzLW9mLWxpbmVzLW9mLWNvZGVcbiAqL1xuXG4vLyBQcmVkZWZpbmUgdGhlIHZhcmlhYmxlcyBiZWxvdyBpbiBvcmRlciB0byBhbHRlciBhbmQgZW5hYmxlIHNwZWNpZmljIGZlYXR1cmVzLlxuJGludWl0LW1lZGlhLW5hbWVzcGFjZTogICAgICAgICAgICAgJGludWl0LW5hbWVzcGFjZSAhZGVmYXVsdDtcblxuJGludWl0LW1lZGlhLWd1dHRlcjogICAgICAgICAgICAgICAgJGludWl0LWJhc2Utc3BhY2luZy11bml0ICFkZWZhdWx0O1xuJGludWl0LW1lZGlhLWd1dHRlci0tdGlueTogICAgICAgICAgICBxdWFydGVyKCRpbnVpdC1tZWRpYS1ndXR0ZXIpICFkZWZhdWx0O1xuJGludWl0LW1lZGlhLWd1dHRlci0tc21hbGw6ICAgICAgICAgICAgIGhhbHZlKCRpbnVpdC1tZWRpYS1ndXR0ZXIpICFkZWZhdWx0O1xuJGludWl0LW1lZGlhLWd1dHRlci0tbGFyZ2U6ICAgICAgICAgICAgZG91YmxlKCRpbnVpdC1tZWRpYS1ndXR0ZXIpICFkZWZhdWx0O1xuJGludWl0LW1lZGlhLWd1dHRlci0taHVnZTogICAgICAgICAgcXVhZHJ1cGxlKCRpbnVpdC1tZWRpYS1ndXR0ZXIpICFkZWZhdWx0O1xuXG4kaW51aXQtZW5hYmxlLW1lZGlhLS10aW55OiAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRpbnVpdC1lbmFibGUtbWVkaWEtLXNtYWxsOiAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGludWl0LWVuYWJsZS1tZWRpYS0tbGFyZ2U6ICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kaW51aXQtZW5hYmxlLW1lZGlhLS1odWdlOiAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRpbnVpdC1lbmFibGUtbWVkaWEtLXJldjogICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGludWl0LWVuYWJsZS1tZWRpYS0tZmx1c2g6ICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kaW51aXQtZW5hYmxlLW1lZGlhLS1yZXNwb25zaXZlOiAgICBmYWxzZSAhZGVmYXVsdDtcbiRpbnVpdC1tZWRpYS1jb2xsYXBzZS1hdDogICAgICAgICAgIDcyMHB4ICFkZWZhdWx0O1xuXG5cblxuXG5cbi4jeyRpbnVpdC1tZWRpYS1uYW1lc3BhY2V9bWVkaWEsXG4lI3skaW51aXQtbWVkaWEtbmFtZXNwYWNlfW1lZGlhIHtcbiAgICBAZXh0ZW5kICVjbGVhcmZpeDtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuICAgIC4jeyRpbnVpdC1tZWRpYS1uYW1lc3BhY2V9bWVkaWFfX2ltZyxcbiAgICAlI3skaW51aXQtbWVkaWEtbmFtZXNwYWNlfW1lZGlhX19pbWcge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkaW51aXQtbWVkaWEtZ3V0dGVyO1xuXG4gICAgICAgID4gaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuI3skaW51aXQtbWVkaWEtbmFtZXNwYWNlfW1lZGlhX19ib2R5LFxuICAgICUjeyRpbnVpdC1tZWRpYS1uYW1lc3BhY2V9bWVkaWFfX2JvZHkge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAmLFxuICAgICAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgIH1cblxuXG5cblxuXG5AaWYgKCRpbnVpdC1lbmFibGUtbWVkaWEtLXRpbnkgPT0gdHJ1ZSkge1xuXG4gICAgLyoqXG4gICAgICogVGlueSBtZWRpYSBvYmplY3RzLlxuICAgICAqL1xuXG4gICAgLiN7JGludWl0LW1lZGlhLW5hbWVzcGFjZX1tZWRpYS0tdGlueSxcbiAgICAlI3skaW51aXQtbWVkaWEtbmFtZXNwYWNlfW1lZGlhLS10aW55IHtcblxuICAgICAgICA+IC4jeyRpbnVpdC1tZWRpYS1uYW1lc3BhY2V9bWVkaWFfX2ltZyxcbiAgICAgICAgPiAlI3skaW51aXQtbWVkaWEtbmFtZXNwYWNlfW1lZGlhX19pbWcge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkaW51aXQtbWVkaWEtZ3V0dGVyLS10aW55O1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkaW51aXQtZW5hYmxlLW1lZGlhLS1yZXYgPT0gdHJ1ZSkge1xuXG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFRpbnkgcmV2ZXJzZWQgbWVkaWEgb2JqZWN0cy5cbiAgICAgICAgICAgICAqL1xuXG4gICAgICAgICAgICAmLiN7JGludWl0LW1lZGlhLW5hbWVzcGFjZX1tZWRpYS0tcmV2LFxuICAgICAgICAgICAgJiUjeyRpbnVpdC1tZWRpYS1uYW1lc3BhY2V9bWVkaWEtLXJldiB7XG5cbiAgICAgICAgICAgICAgICA+IC4jeyRpbnVpdC1tZWRpYS1uYW1lc3BhY2V9bWVkaWFfX2ltZyxcbiAgICAgICAgICAgICAgICA+ICUjeyRpbnVpdC1tZWRpYS1uYW1lc3BhY2V9bWVkaWFfX2ltZyB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICAkaW51aXQtbWVkaWEtZ3V0dGVyLS10aW55O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cblxufVxuXG5AaWYgKCRpbnVpdC1lbmFibGUtbWVkaWEtLXNtYWxsID09IHRydWUpIHtcblxuICAgIC8qKlxuICAgICAqIFNtYWxsIG1lZGlhIG9iamVjdHMuXG4gICAgICovXG5cbiAgICAuI3skaW51aXQtbWVkaWEtbmFtZXNwYWNlfW1lZGlhLS1zbWFsbCxcbiAgICAlI3skaW51aXQtbWVkaWEtbmFtZXNwYWNlfW1lZGlhLS1zbWFsbCB7XG5cbiAgICAgICAgPiAuI3skaW51aXQtbWVkaWEtbmFtZXNwYWNlfW1lZGlhX19pbWcsXG4gICAgICAgID4gJSN7JGludWl0LW1lZGlhLW5hbWVzcGFjZX1tZWRpYV9faW1nIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGludWl0LW1lZGlhLWd1dHRlci0tc21hbGw7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCRpbnVpdC1lbmFibGUtbWVkaWEtLXJldiA9PSB0cnVlKSB7XG5cbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogU21hbGwgcmV2ZXJzZWQgbWVkaWEgb2JqZWN0cy5cbiAgICAgICAgICAgICAqL1xuXG4gICAgICAgICAgICAmLiN7JGludWl0LW1lZGlhLW5hbWVzcGFjZX1tZWRpYS0tcmV2LFxuICAgICAgICAgICAgJiUjeyRpbnVpdC1tZWRpYS1uYW1lc3BhY2V9bWVkaWEtLXJldiB7XG5cbiAgICAgICAgICAgICAgICA+IC4jeyRpbnVpdC1tZWRpYS1uYW1lc3BhY2V9bWVkaWFfX2ltZyxcbiAgICAgICAgICAgICAgICA+ICUjeyRpbnVpdC1tZWRpYS1uYW1lc3BhY2V9bWVkaWFfX2ltZyB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICAkaW51aXQtbWVkaWEtZ3V0dGVyLS1zbWFsbDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG5cbn1cblxuQGlmICgkaW51aXQtZW5hYmxlLW1lZGlhLS1sYXJnZSA9PSB0cnVlKSB7XG5cbiAgICAvKipcbiAgICAgKiBMYXJnZSBtZWRpYSBvYmplY3RzLlxuICAgICAqL1xuXG4gICAgLiN7JGludWl0LW1lZGlhLW5hbWVzcGFjZX1tZWRpYS0tbGFyZ2UsXG4gICAgJSN7JGludWl0LW1lZGlhLW5hbWVzcGFjZX1tZWRpYS0tbGFyZ2Uge1xuXG4gICAgICAgID4gLiN7JGludWl0LW1lZGlhLW5hbWVzcGFjZX1tZWRpYV9faW1nLFxuICAgICAgICA+ICUjeyRpbnVpdC1tZWRpYS1uYW1lc3BhY2V9bWVkaWFfX2ltZyB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRpbnVpdC1tZWRpYS1ndXR0ZXItLWxhcmdlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkaW51aXQtZW5hYmxlLW1lZGlhLS1yZXYgPT0gdHJ1ZSkge1xuXG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIExhcmdlIHJldmVyc2VkIG1lZGlhIG9iamVjdHMuXG4gICAgICAgICAgICAgKi9cblxuICAgICAgICAgICAgJi4jeyRpbnVpdC1tZWRpYS1uYW1lc3BhY2V9bWVkaWEtLXJldixcbiAgICAgICAgICAgICYlI3skaW51aXQtbWVkaWEtbmFtZXNwYWNlfW1lZGlhLS1yZXYge1xuXG4gICAgICAgICAgICAgICAgPiAubWVkaWFfX2ltZyxcbiAgICAgICAgICAgICAgICA+ICVtZWRpYV9faW1nIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogICRpbnVpdC1tZWRpYS1ndXR0ZXItLWxhcmdlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cblxufVxuXG5AaWYgKCRpbnVpdC1lbmFibGUtbWVkaWEtLWh1Z2UgPT0gdHJ1ZSkge1xuXG4gICAgLyoqXG4gICAgICogSHVnZSBtZWRpYSBvYmplY3RzLlxuICAgICAqL1xuXG4gICAgLiN7JGludWl0LW1lZGlhLW5hbWVzcGFjZX1tZWRpYS0taHVnZSxcbiAgICAlI3skaW51aXQtbWVkaWEtbmFtZXNwYWNlfW1lZGlhLS1odWdlIHtcblxuICAgICAgICA+IC4jeyRpbnVpdC1tZWRpYS1uYW1lc3BhY2V9bWVkaWFfX2ltZyxcbiAgICAgICAgPiAlI3skaW51aXQtbWVkaWEtbmFtZXNwYWNlfW1lZGlhX19pbWcge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkaW51aXQtbWVkaWEtZ3V0dGVyLS1odWdlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkaW51aXQtZW5hYmxlLW1lZGlhLS1yZXYgPT0gdHJ1ZSkge1xuXG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIEh1Z2UgcmV2ZXJzZWQgbWVkaWEgb2JqZWN0cy5cbiAgICAgICAgICAgICAqL1xuXG4gICAgICAgICAgICAmLiN7JGludWl0LW1lZGlhLW5hbWVzcGFjZX1tZWRpYS0tcmV2LFxuICAgICAgICAgICAgJiUjeyRpbnVpdC1tZWRpYS1uYW1lc3BhY2V9bWVkaWEtLXJldiB7XG5cbiAgICAgICAgICAgICAgICA+IC5tZWRpYV9faW1nLFxuICAgICAgICAgICAgICAgID4gJW1lZGlhX19pbWcge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAgJGludWl0LW1lZGlhLWd1dHRlci0taHVnZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG5cbn1cblxuXG5cblxuXG5AaWYgKCRpbnVpdC1lbmFibGUtbWVkaWEtLXJldiA9PSB0cnVlKSB7XG5cbiAgICAvKipcbiAgICAgKiBSZXZlcnNlZCBpbWFnZSBsb2NhdGlvbiAocmlnaHQgaW5zdGVhZCBvZiBsZWZ0KS4gRXh0ZW5kcyBgLm1lZGlhYC5cbiAgICAgKi9cblxuICAgIC4jeyRpbnVpdC1tZWRpYS1uYW1lc3BhY2V9bWVkaWEtLXJldixcbiAgICAlI3skaW51aXQtbWVkaWEtbmFtZXNwYWNlfW1lZGlhLS1yZXYge1xuXG4gICAgICAgID4gLiN7JGludWl0LW1lZGlhLW5hbWVzcGFjZX1tZWRpYV9faW1nLFxuICAgICAgICA+ICUjeyRpbnVpdC1tZWRpYS1uYW1lc3BhY2V9bWVkaWFfX2ltZyB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogJGludWl0LW1lZGlhLWd1dHRlcjtcbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cblxuXG5cblxuQGlmICgkaW51aXQtZW5hYmxlLW1lZGlhLS1mbHVzaCA9PSB0cnVlKSB7XG5cbiAgICAvKipcbiAgICAgKiBGbHVzaCBtZWRpYSBvYmplY3RzIGhhdmUgbm8gc3BhY2UgYmV0d2VlbiB0aGUgaW1hZ2UtIGFuZCB0ZXh0LWNvbnRlbnQuXG4gICAgICovXG5cbiAgICAuI3skaW51aXQtbWVkaWEtbmFtZXNwYWNlfW1lZGlhLS1mbHVzaCxcbiAgICAlI3skaW51aXQtbWVkaWEtbmFtZXNwYWNlfW1lZGlhLS1mbHVzaCB7XG5cbiAgICAgICAgPiAuI3skaW51aXQtbWVkaWEtbmFtZXNwYWNlfW1lZGlhX19pbWcsXG4gICAgICAgID4gJSN7JGludWl0LW1lZGlhLW5hbWVzcGFjZX1tZWRpYV9faW1nIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAgMDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cblxuXG5cblxuQGlmICgkaW51aXQtZW5hYmxlLW1lZGlhLS1yZXNwb25zaXZlID09IHRydWUpIHtcblxuICAgIC8qKlxuICAgICAqIFJlc3BvbnNpdmUgbWVkaWEgb2JqZWN0cy5cbiAgICAgKlxuICAgICAqIFRoZXJlIGlzIGEgdmVyeSBwcmFnbWF0aWMsIHNpbXBsZSBpbXBsZW1lbnRhdGlvbiBvZiBhIHJlc3BvbnNpdmUgbWVkaWFcbiAgICAgKiBvYmplY3QsIHdoaWNoIHNpbXBseSBwbGFjZXMgdGhlIHRleHQtY29udGVudCBiZW5lYXRoIHRoZSBpbWFnZS1jb250ZW50LlxuICAgICAqXG4gICAgICogV2UgdXNlIGEgYG1heC13aWR0aGAgbWVkaWEgcXVlcnkgYmVjYXVzZTpcbiAgICAgKlxuICAgICAqIGEpIGl0IGlzIHRoZSBsZWFzdCB2ZXJib3NlIG1ldGhvZCBpbiB0ZXJtcyBvZiBhbW91bnQgb2YgY29kZSByZXF1aXJlZC5cbiAgICAgKiBiKSB0aGUgbWVkaWEgb2JqZWN04oCZcyBkZWZhdWx0IHN0YXRlIGlzIGltYWdlLW5leHQtdG8tdGV4dCwgc28gaXRzIHN0YWNrZWRcbiAgICAgKiAgICBzdGF0ZSBpcyB0aGUgZXhjZXB0aW9uLCByYXRoZXIgdGhhbiB0aGUgcnVsZS5cbiAgICAgKi9cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRpbnVpdC1tZWRpYS1jb2xsYXBzZS1hdCkge1xuXG4gICAgICAgIC4jeyRpbnVpdC1tZWRpYS1uYW1lc3BhY2V9bWVkaWEtLXJlc3BvbnNpdmUsXG4gICAgICAgICUjeyRpbnVpdC1tZWRpYS1uYW1lc3BhY2V9bWVkaWEtLXJlc3BvbnNpdmUge1xuXG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFJld29yayB0aGUgc3BhY2luZ3Mgb24gcmVndWxhciBtZWRpYSBvYmplY3RzLlxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICA+IC4jeyRpbnVpdC1tZWRpYS1uYW1lc3BhY2V9bWVkaWFfX2ltZyxcbiAgICAgICAgICAgID4gJSN7JGludWl0LW1lZGlhLW5hbWVzcGFjZX1tZWRpYV9faW1nIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGludWl0LW1lZGlhLWd1dHRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogIDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoJGludWl0LWVuYWJsZS1tZWRpYS0tdGlueSA9PSB0cnVlKSB7XG5cbiAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgKiBUaW55IHJlc3BvbnNpdmUgbWVkaWEgb2JqZWN0cy5cbiAgICAgICAgICAgICAgICAgKlxuICAgICAgICAgICAgICAgICAqIFRha2UgYSBsaXR0bGUgbW9yZSBoZWF2eS1oYW5kZWQgYXBwcm9hY2ggdG8gcmV3b3JraW5nXG4gICAgICAgICAgICAgICAgICogc3BhY2luZ3Mgb24gbWVkaWEgb2JqZWN0cyB0aGF0IGFyZSBhbHNvIHRpbnkgbWVkaWEgb2JqZWN0c1xuICAgICAgICAgICAgICAgICAqIGluIHRoZWlyIHJlZ3VsYXIgc3RhdGUuXG4gICAgICAgICAgICAgICAgICovXG5cbiAgICAgICAgICAgICAgICAmLiN7JGludWl0LW1lZGlhLW5hbWVzcGFjZX1tZWRpYS0tdGlueSxcbiAgICAgICAgICAgICAgICAmJSN7JGludWl0LW1lZGlhLW5hbWVzcGFjZX1tZWRpYS0tdGlueSB7XG5cbiAgICAgICAgICAgICAgICAgICAgPiAuI3skaW51aXQtbWVkaWEtbmFtZXNwYWNlfW1lZGlhX19pbWcsXG4gICAgICAgICAgICAgICAgICAgID4gJSN7JGludWl0LW1lZGlhLW5hbWVzcGFjZX1tZWRpYV9faW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAgMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRpbnVpdC1tZWRpYS1ndXR0ZXItLXRpbnk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKCRpbnVpdC1lbmFibGUtbWVkaWEtLXNtYWxsID09IHRydWUpIHtcblxuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIFNtYWxsIHJlc3BvbnNpdmUgbWVkaWEgb2JqZWN0cy5cbiAgICAgICAgICAgICAgICAgKlxuICAgICAgICAgICAgICAgICAqIFRha2UgYSBsaXR0bGUgbW9yZSBoZWF2eS1oYW5kZWQgYXBwcm9hY2ggdG8gcmV3b3JraW5nXG4gICAgICAgICAgICAgICAgICogc3BhY2luZ3Mgb24gbWVkaWEgb2JqZWN0cyB0aGF0IGFyZSBhbHNvIHNtYWxsIG1lZGlhIG9iamVjdHNcbiAgICAgICAgICAgICAgICAgKiBpbiB0aGVpciByZWd1bGFyIHN0YXRlLlxuICAgICAgICAgICAgICAgICAqL1xuXG4gICAgICAgICAgICAgICAgJi4jeyRpbnVpdC1tZWRpYS1uYW1lc3BhY2V9bWVkaWEtLXNtYWxsLFxuICAgICAgICAgICAgICAgICYlI3skaW51aXQtbWVkaWEtbmFtZXNwYWNlfW1lZGlhLS1zbWFsbCB7XG5cbiAgICAgICAgICAgICAgICAgICAgPiAuI3skaW51aXQtbWVkaWEtbmFtZXNwYWNlfW1lZGlhX19pbWcsXG4gICAgICAgICAgICAgICAgICAgID4gJSN7JGludWl0LW1lZGlhLW5hbWVzcGFjZX1tZWRpYV9faW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAgMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRpbnVpdC1tZWRpYS1ndXR0ZXItLXNtYWxsO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICgkaW51aXQtZW5hYmxlLW1lZGlhLS1sYXJnZSA9PSB0cnVlKSB7XG5cbiAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgKiBMYXJnZSByZXNwb25zaXZlIG1lZGlhIG9iamVjdHMuXG4gICAgICAgICAgICAgICAgICpcbiAgICAgICAgICAgICAgICAgKiBUYWtlIGEgbGl0dGxlIG1vcmUgaGVhdnktaGFuZGVkIGFwcHJvYWNoIHRvIHJld29ya2luZ1xuICAgICAgICAgICAgICAgICAqIHNwYWNpbmdzIG9uIG1lZGlhIG9iamVjdHMgdGhhdCBhcmUgYWxzbyBsYXJnZSBtZWRpYSBvYmplY3RzXG4gICAgICAgICAgICAgICAgICogaW4gdGhlaXIgcmVndWxhciBzdGF0ZS5cbiAgICAgICAgICAgICAgICAgKi9cblxuICAgICAgICAgICAgICAgICYuI3skaW51aXQtbWVkaWEtbmFtZXNwYWNlfW1lZGlhLS1sYXJnZSxcbiAgICAgICAgICAgICAgICAmJSN7JGludWl0LW1lZGlhLW5hbWVzcGFjZX1tZWRpYS0tbGFyZ2Uge1xuXG4gICAgICAgICAgICAgICAgICAgID4gLiN7JGludWl0LW1lZGlhLW5hbWVzcGFjZX1tZWRpYV9faW1nLFxuICAgICAgICAgICAgICAgICAgICA+ICUjeyRpbnVpdC1tZWRpYS1uYW1lc3BhY2V9bWVkaWFfX2ltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogIDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkaW51aXQtbWVkaWEtZ3V0dGVyLS1sYXJnZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoJGludWl0LWVuYWJsZS1tZWRpYS0taHVnZSA9PSB0cnVlKSB7XG5cbiAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgKiBIdWdlIHJlc3BvbnNpdmUgbWVkaWEgb2JqZWN0cy5cbiAgICAgICAgICAgICAgICAgKlxuICAgICAgICAgICAgICAgICAqIFRha2UgYSBsaXR0bGUgbW9yZSBoZWF2eS1oYW5kZWQgYXBwcm9hY2ggdG8gcmV3b3JraW5nXG4gICAgICAgICAgICAgICAgICogc3BhY2luZ3Mgb24gbWVkaWEgb2JqZWN0cyB0aGF0IGFyZSBhbHNvIGh1Z2UgbWVkaWEgb2JqZWN0c1xuICAgICAgICAgICAgICAgICAqIGluIHRoZWlyIHJlZ3VsYXIgc3RhdGUuXG4gICAgICAgICAgICAgICAgICovXG5cbiAgICAgICAgICAgICAgICAmLiN7JGludWl0LW1lZGlhLW5hbWVzcGFjZX1tZWRpYS0taHVnZSxcbiAgICAgICAgICAgICAgICAmJSN7JGludWl0LW1lZGlhLW5hbWVzcGFjZX1tZWRpYS0taHVnZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgPiAuI3skaW51aXQtbWVkaWEtbmFtZXNwYWNlfW1lZGlhX19pbWcsXG4gICAgICAgICAgICAgICAgICAgID4gJSN7JGludWl0LW1lZGlhLW5hbWVzcGFjZX1tZWRpYV9faW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAgMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRpbnVpdC1tZWRpYS1ndXR0ZXItLWh1Z2U7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cblxufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAjQkxPQ0tcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qKlxuICogVGhlIGJsb2NrIG9iamVjdCBzaW1wbHkgc3RhY2tzIGFuIGltYWdlIG9uIHRvcCBvZiBzb21lIHRleHQtbGlrZSBjb250ZW50LlxuICovXG5cbi8vIFByZWRlZmluZSB0aGUgdmFyaWFibGVzIGJlbG93IGluIG9yZGVyIHRvIGFsdGVyIGFuZCBlbmFibGUgc3BlY2lmaWMgZmVhdHVyZXMuXG4kaW51aXQtYmxvY2stbmFtZXNwYWNlOiAgICAgJGludWl0LW5hbWVzcGFjZSAhZGVmYXVsdDtcblxuJGludWl0LWJsb2NrLWd1dHRlcjogICAgICAgICAgICAkaW51aXQtYmFzZS1zcGFjaW5nLXVuaXQgIWRlZmF1bHQ7XG4kaW51aXQtYmxvY2stZ3V0dGVyLS10aW55OiAgICAgICAgcXVhcnRlcigkaW51aXQtYmxvY2stZ3V0dGVyKSAhZGVmYXVsdDtcbiRpbnVpdC1ibG9jay1ndXR0ZXItLXNtYWxsOiAgICAgICAgIGhhbHZlKCRpbnVpdC1ibG9jay1ndXR0ZXIpICFkZWZhdWx0O1xuJGludWl0LWJsb2NrLWd1dHRlci0tbGFyZ2U6ICAgICAgICBkb3VibGUoJGludWl0LWJsb2NrLWd1dHRlcikgIWRlZmF1bHQ7XG4kaW51aXQtYmxvY2stZ3V0dGVyLS1odWdlOiAgICAgIHF1YWRydXBsZSgkaW51aXQtYmxvY2stZ3V0dGVyKSAhZGVmYXVsdDtcblxuJGludWl0LWVuYWJsZS1ibG9jay0tZmx1c2g6ICAgICBmYWxzZSAhZGVmYXVsdDtcbiRpbnVpdC1lbmFibGUtYmxvY2stLXRpbnk6ICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kaW51aXQtZW5hYmxlLWJsb2NrLS1zbWFsbDogICAgIGZhbHNlICFkZWZhdWx0O1xuJGludWl0LWVuYWJsZS1ibG9jay0tbGFyZ2U6ICAgICBmYWxzZSAhZGVmYXVsdDtcbiRpbnVpdC1lbmFibGUtYmxvY2stLWh1Z2U6ICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kaW51aXQtZW5hYmxlLWJsb2NrLS1jZW50ZXI6ICAgIGZhbHNlICFkZWZhdWx0O1xuJGludWl0LWVuYWJsZS1ibG9jay0tcmlnaHQ6ICAgICBmYWxzZSAhZGVmYXVsdDtcblxuXG5cblxuXG4vKipcbiAqIFN0YWNrZWQgaW1hZ2Utd2l0aC10ZXh0IG9iamVjdC4gQSBzaW1wbGUgYWJzdHJhY3Rpb24gdG8gY292ZXIgYSB2ZXJ5IGNvbW1vbmx5XG4gKiBvY2N1cnJpbmcgZGVzaWduIHBhdHRlcm4uXG4gKi9cbi4jeyRpbnVpdC1ibG9jay1uYW1lc3BhY2V9YmxvY2ssXG4lI3skaW51aXQtYmxvY2stbmFtZXNwYWNlfWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuXG4gICAgLyoqXG4gICAgICogMS4gRWxpbWluYXRlIHdoaXRlc3BhY2UgYXJvdW5kIGltYWdlcy5cbiAgICAgKi9cbiAgICAuI3skaW51aXQtYmxvY2stbmFtZXNwYWNlfWJsb2NrX19pbWcsXG4gICAgJSN7JGludWl0LWJsb2NrLW5hbWVzcGFjZX1ibG9ja19faW1nIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogWzFdICovXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRpbnVpdC1ibG9jay1ndXR0ZXI7XG5cbiAgICAgICAgQGlmICgkaW51aXQtZW5hYmxlLWJsb2NrLS1mbHVzaCA9PSB0cnVlKSB7XG5cbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogTm8gc3BhY2UgYmV0d2VlbiB0aGUgaW1hZ2UgYW5kIHRoZSB0ZXh0IGNvbnRlbnQuXG4gICAgICAgICAgICAgKi9cblxuICAgICAgICAgICAgLiN7JGludWl0LWJsb2NrLW5hbWVzcGFjZX1ibG9jay0tZmx1c2ggPiAmLFxuICAgICAgICAgICAgJSN7JGludWl0LWJsb2NrLW5hbWVzcGFjZX1ibG9jay0tZmx1c2ggPiAmIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCRpbnVpdC1lbmFibGUtYmxvY2stLXRpbnkgPT0gdHJ1ZSkge1xuXG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFRpbnkgc3BhY2UgYmV0d2VlbiB0aGUgaW1hZ2UgYW5kIHRoZSB0ZXh0IGNvbnRlbnQuXG4gICAgICAgICAgICAgKi9cblxuICAgICAgICAgICAgLiN7JGludWl0LWJsb2NrLW5hbWVzcGFjZX1ibG9jay0tdGlueSA+ICYsXG4gICAgICAgICAgICAlI3skaW51aXQtYmxvY2stbmFtZXNwYWNlfWJsb2NrLS10aW55ID4gJiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGludWl0LWJsb2NrLWd1dHRlci0tdGlueTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkaW51aXQtZW5hYmxlLWJsb2NrLS1zbWFsbCA9PSB0cnVlKSB7XG5cbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogU21hbGwgc3BhY2UgYmV0d2VlbiB0aGUgaW1hZ2UgYW5kIHRoZSB0ZXh0IGNvbnRlbnQuXG4gICAgICAgICAgICAgKi9cblxuICAgICAgICAgICAgLiN7JGludWl0LWJsb2NrLW5hbWVzcGFjZX1ibG9jay0tc21hbGwgPiAmLFxuICAgICAgICAgICAgJSN7JGludWl0LWJsb2NrLW5hbWVzcGFjZX1ibG9jay0tc21hbGwgPiAmIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkaW51aXQtYmxvY2stZ3V0dGVyLS1zbWFsbFxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCRpbnVpdC1lbmFibGUtYmxvY2stLWxhcmdlID09IHRydWUpIHtcblxuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiBMYXJnZSBzcGFjZSBiZXR3ZWVuIHRoZSBpbWFnZSBhbmQgdGhlIHRleHQgY29udGVudC5cbiAgICAgICAgICAgICAqL1xuXG4gICAgICAgICAgICAuI3skaW51aXQtYmxvY2stbmFtZXNwYWNlfWJsb2NrLS1sYXJnZSA+ICYsXG4gICAgICAgICAgICAlI3skaW51aXQtYmxvY2stbmFtZXNwYWNlfWJsb2NrLS1sYXJnZSA+ICYge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRpbnVpdC1ibG9jay1ndXR0ZXItLWxhcmdlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCRpbnVpdC1lbmFibGUtYmxvY2stLWh1Z2UgPT0gdHJ1ZSkge1xuXG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIEh1Z2Ugc3BhY2UgYmV0d2VlbiB0aGUgaW1hZ2UgYW5kIHRoZSB0ZXh0IGNvbnRlbnQuXG4gICAgICAgICAgICAgKi9cblxuICAgICAgICAgICAgLiN7JGludWl0LWJsb2NrLW5hbWVzcGFjZX1ibG9jay0taHVnZSA+ICYsXG4gICAgICAgICAgICAlI3skaW51aXQtYmxvY2stbmFtZXNwYWNlfWJsb2NrLS1odWdlID4gJiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGludWl0LWJsb2NrLWd1dHRlci0taHVnZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG5cblxuXG5cblxuICAgIC8qKlxuICAgICAqIFRleHQtY29udGVudC5cbiAgICAgKi9cbiAgICAuI3skaW51aXQtYmxvY2stbmFtZXNwYWNlfWJsb2NrX19ib2R5LFxuICAgICUjeyRpbnVpdC1ibG9jay1uYW1lc3BhY2V9YmxvY2tfX2JvZHkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cblxuXG5cblxuQGlmICgkaW51aXQtZW5hYmxlLWJsb2NrLS1yaWdodCA9PSB0cnVlKSB7XG5cbiAgICAvKipcbiAgICAgKiBSaWdodC1hbGlnbmVkIGJsb2Nrcy5cbiAgICAgKi9cblxuICAgIC4jeyRpbnVpdC1ibG9jay1uYW1lc3BhY2V9YmxvY2stLXJpZ2h0LFxuICAgICUjeyRpbnVpdC1ibG9jay1uYW1lc3BhY2V9YmxvY2stLXJpZ2h0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG59XG5cbkBpZiAoJGludWl0LWVuYWJsZS1ibG9jay0tY2VudGVyID09IHRydWUpIHtcblxuICAgIC8qKlxuICAgICAqIENlbnRlci1hbGlnbmVkIGJsb2Nrcy5cbiAgICAgKi9cblxuICAgIC4jeyRpbnVpdC1ibG9jay1uYW1lc3BhY2V9YmxvY2stLWNlbnRlcixcbiAgICAlI3skaW51aXQtYmxvY2stbmFtZXNwYWNlfWJsb2NrLS1jZW50ZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy9CYWNrIHRvIGhvbWVcbiAgID09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5iYWNrLXRvLWhvbWVfX2xpbmsge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3Itd2hpdGU7XG4gICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMjBweCk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy9QYWdlIEhlYWRcbiAgID09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5wYWdlLWhlYWQge1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLWJhY2tncm91bmQtY29sb3I7XG4gICAgaGVpZ2h0OiAxNzVweDtcbiAgICBwYWRkaW5nOiAkc3BhY2luZy11bml0LS1zbWFsbDtcbiAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctdW5pdC0tbGFyZ2U7XG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLXVuaXQtLXNtYWxsICogMztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDEwMDAwMDAwO1xuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5KGxhcC1hbmQtdXApIHtcbiAgICAgICAgcGFkZGluZzogJHNwYWNpbmctdW5pdDtcbiAgICAgICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLXVuaXQtLWxhcmdlO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxufVxuXG5cbi5wYWdlLWhlYWQtLWNvbnRlbnRzIHtcbiAgICBoMSB7XG4gICAgICAgIGNvbG9yOiAkYmFzZS10ZXh0LWNvbG9yO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLjA2ZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctdW5pdC0tdGlueTtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIycHgpO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeShsYXAtYW5kLXVwKSB7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLjEyZW07XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjRweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy11bml0O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNnB4KTtcbiAgICB9XG59XG5cbiAgICAucGFnZS1oZWFkLS10b2dnbGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWFnZXMvbWVudS0tdG9nZ2xlLnBuZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMjFweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHdpZHRoOiAyMXB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeShsYXAtYW5kLXVwKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmNsb3NlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDIyNWRlZyk7XG4gICAgICAgIH1cbiAgICB9IiwiLy8vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuLy8gICAgI1RPT0xTLVJFU1BPTlNJVkVcbi8vXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLy8gSGVyZSB3ZSBzZXQgYSB2YXJpYWJsZSBhc3N1bWluZyB0aGF0IHJlc3BvbnNpdmUgc2V0dGluZ3MgYXJlIG5vdCBzZXRcbi8vIGdsb2JhbGx5LiBJZiB0aGV5IGhhdmUgYmVlbiBwcmV2aW91c2x5IGJlZW4gZGVmaW5lZCwgdGhlIGZvbGxvd2luZyB2YXJpYWJsZVxuLy8gd2lsbCBiZSBvdmVycmlkZW4gYW5kIHdpbGwgYmUgc2V0IHRvIGB0cnVlYC5cbiRpbnVpdC1yZXNwb25zaXZlLXNldHRpbmdzOiBmYWxzZSAhZGVmYXVsdDtcblxuQGlmICgkaW51aXQtcmVzcG9uc2l2ZS1zZXR0aW5ncyA9PSBmYWxzZSkge1xuICAgIEB3YXJuIFwiT29wcyEgSGF2ZSB5b3UgaW5jbHVkZWQgYSByZXNwb25zaXZlIHNldHRpbmdzIGZpbGU/XCJcbn1cblxuXG5cblxuXG4vLyBBIHNpbXBsZSBtaXhpbiB0byBxdWlja2x5IGdlbmVyYXRlIHdob2xlIG1lZGlhIHF1ZXJpZXMgZnJvbSB0aGUgYWxpYXNlcyBhbmRcbi8vIGNvbmRpdGlvbnMgZGVmaW5lZCBpbiBgX3NldHRpbmdzLnJlc3BvbnNpdmUuc2Nzc2AuXG4vL1xuLy8gVXNhZ2U6XG4vL1xuLy8gLmZvbyB7XG4vLyAgICAgY29sb3I6IGdyZWVuO1xuLy9cbi8vICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeShwYWxtKSB7XG4vLyAgICAgICAgIGNvbG9yOiByZWQ7XG4vLyAgICAgfVxuLy9cbi8vIH1cblxuQG1peGluIG1lZGlhLXF1ZXJ5KCRtcSkge1xuXG4gICAgJGJyZWFrcG9pbnQtZm91bmQ6IGZhbHNlO1xuXG4gICAgLy8gTG9vcCB0aHJvdWdoIHRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHdl4oCZdmUgcHJvdmlkZWQgaW4gb3VyIHNldHRpbmdzIGZpbGUuXG4gICAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gJGJyZWFrcG9pbnRzIHtcblxuICAgICAgICAvLyBHcmFiIHRoZSBhbGlhcyBhbmQgdGhlIGNvbmRpdGlvbiBmcm9tIHRoZWlyIHJlc3BlY3RpdmUgbG9jYXRpb25zIGluXG4gICAgICAgIC8vIHRoZSBsaXN0LlxuICAgICAgICAkYWxpYXM6ICAgICBudGgoJGJyZWFrcG9pbnQsIDEpO1xuICAgICAgICAkY29uZGl0aW9uOiBudGgoJGJyZWFrcG9pbnQsIDIpO1xuXG4gICAgICAgIC8vIElmIHRoZSBtZWRpYSBxdWVyeSB3ZeKAmXZlIHNwZWNpZmllZCBoYXMgYW4gYWxpYXMgYW5kIGEgY29uZGl0aW9uLi4uXG4gICAgICAgIEBpZiAkbXEgPT0gJGFsaWFzIGFuZCAkY29uZGl0aW9uIHtcblxuICAgICAgICAgICAgLy8gLi4udGVsbCB0aGUgbWl4aW4gdGhhdCB3ZeKAmXZlIGZvdW5kIGl0Li4uXG4gICAgICAgICAgICAkYnJlYWtwb2ludC1mb3VuZDogdHJ1ZTtcblxuICAgICAgICAgICAgLy8gLi4uYW5kIHNwaXQgaXQgb3V0IGhlcmUuXG4gICAgICAgICAgICBAbWVkaWEgI3skY29uZGl0aW9ufSB7XG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLy8gSWYgdGhlIHVzZXIgc3BlY2lmaWVzIGEgbm9uLWV4aXRlbnQgYWxpYXMsIHNlbmQgdGhlbSBhIHdhcm5pbmcuXG4gICAgQGlmICRicmVha3BvaW50LWZvdW5kID09IGZhbHNle1xuICAgICAgICBAd2FybiBcIk9vcHMhIEJyZWFrcG9pbnQg4oCYI3skbXF94oCZIGRvZXMgbm90IGV4aXN0LlwiXG4gICAgfVxuXG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy9Db250YWluZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy11bml0LS10aW55ICogMjk7XG59IiwiLmhvbWUtY2Fyb3VzZWwge1xuICAgIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uIHtcbiAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgdG9wOiBpbmhlcml0O1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB0b3A6IGluaGVyaXQ7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLnByZXZpb3VzIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNDBweCBzb2xpZCAkYmFzZS1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICBib3JkZXItbGVmdDogMCBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwcHggc29saWQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDUyJTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeShtb2JpbGUtYW5kLXVwKSB7XG4gICAgICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogNDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAuZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbi5uZXh0IHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNDBweCBzb2xpZCAkYmFzZS1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeShtb2JpbGUtYW5kLXVwKSB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogNDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHdpZHRoOiAzMjBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAuZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbiAuYXJyb3cge1xuICAgICAgICBmaWxsOiAkY29sb3Itd2hpdGU7XG4gICAgfVxuICAgIFxuICAgIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uIHN2ZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTAwMDA7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICAgIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLnByZXZpb3VzIHN2ZyB7XG4gICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICAgIHRvcDogMjBweDtcbiAgICB9XG4gICAgXG4gICAgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ubmV4dCBzdmcge1xuICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICBsZWZ0OiBpbmhlcml0O1xuICAgIH1cbn1cblxuLmZsaWNraXR5LXBhZ2UtZG90cyB7XG4gICAgYm90dG9tOiAyMHB4O1xuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5KG1vYmlsZS1hbmQtdXApIHtcbiAgICAgICAgYm90dG9tOiA0MHB4O1xuICAgIH1cbn1cblxuXG4kdHJhcGV6b2lkYm9yZGVyOiAzMHB4O1xuXG4uY2FzZS1zdHVkeS1jYXJvdXNlbCB7XG4gICAgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b257XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItdG9wOiAkdHJhcGV6b2lkYm9yZGVyIHNvbGlkIHRyYW5zcGFyZW50OyBcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJHRyYXBlem9pZGJvcmRlciBzb2xpZCB0cmFuc3BhcmVudDsgXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgd2lkdGg6IDBweDtcbiAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICB0b3A6IDUwJTtcblxuICAgICAgICAmLnByZXZpb3VzIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAkdHJhcGV6b2lkYm9yZGVyIHNvbGlkICRiYXNlLWJhY2tncm91bmQtY29sb3I7XG4gICAgICAgICAgICBsZWZ0OiAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLm5leHQge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAkdHJhcGV6b2lkYm9yZGVyIHNvbGlkICRiYXNlLWJhY2tncm91bmQtY29sb3I7IFxuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICY6YWZ0ZXJ7IFxuICAgICAgICAgICAgY29udGVudDogXCJcIjsgXG4gICAgICAgICAgICBoZWlnaHQ6IDBweDsgXG4gICAgICAgICAgICB3aWR0aDogMHB4OyBcbiAgICAgICAgICAgIHBhZGRpbmc6IDBweDsgXG4gICAgICAgIH1cblxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgIH1cblxuXG5cbiAgICAuZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbiBzdmcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICB9XG5cbiAgICAuZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbi5wcmV2aW91cyBzdmcge1xuICAgICAgICBsZWZ0OiAtMzBweDtcbiAgICB9XG5cbiAgICAuZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbiAuYXJyb3cge1xuICAgICAgICBmaWxsOiAkY29sb3Itd2hpdGU7XG4gICAgfVxuXG5cbiAgICAuZmxpY2tpdHktcGFnZS1kb3RzIC5kb3Qge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7XG4gICAgICAgIG1hcmdpbjogMHB4ICRzcGFjaW5nLXVuaXQtLXNtYWxsICogMC41O1xuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzL0ZyYW1lXG4gICA9PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4kZnJhbWUtd2lkdGg6ICRzcGFjaW5nLXVuaXQtLXNtYWxsO1xuXG4uZnJhbWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWJhY2tncm91bmQtY29sb3I7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDEwMDA7XG59XG5cbi5mcmFtZUJvdHRvbSB7XG4gICAgaGVpZ2h0OiAkZnJhbWUtd2lkdGg7XG59XG5cbi5mcmFtZUxlZnQsIC5mcmFtZVJpZ2h0IHtcbiAgICB3aWR0aDogJGZyYW1lLXdpZHRoO1xufVxuXG4uZnJhbWVMZWZ0LCAuZnJhbWVSaWdodCB7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbn1cblxuLmZyYW1lUmlnaHQge1xuICAgIHJpZ2h0OiAwO1xufVxuXG4uZnJhbWVCb3R0b20ge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4uZnJhbWVMZWZ0IHtcbiAgICBsZWZ0OiAwO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHMvSG92ZXJzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmhvdmVyLS1ib3JkZXItdXAge1xuICAgICY6OmFmdGVyIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIsICY6Zm9jdXM6OmFmdGVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgfVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzL1Byb2plY3RzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucHJvamVjdC10aXRsZSB7XG4gICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMzBweCk7XG59XG5cbi5wcm9qZWN0LWRldGFpbHMgcCB7XG4gICAgZm9udC1mYW1pbHk6ICRzZXJpZjtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNnB4LCAxLjQpO1xufVxuXG4ucHJvamVjdC1kZXRhaWxzIGEge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItYmxhY2s7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7XG4gICAgJjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICB9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHMvU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbnNlY3Rpb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZy11bml0LS1zbWFsbDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLXVuaXQtLXNtYWxsO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICYuaG9tZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAmLnNlY3Rpb24tLXBhZ2Utbm90LWZvdW5kIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGJhc2UtYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHMvSG9tZSBOZXdzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uaG9tZV9fbmV3cyB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWdyZXk7XG4gICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLXVuaXQtLXRpbnk7XG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLXVuaXQtLXRpbnk7XG4gICAgcGFkZGluZy1sZWZ0OiAkc3BhY2luZy11bml0LS1zbWFsbCAqIDEuNTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkc3BhY2luZy11bml0LS1zbWFsbCAqIDEuNTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDEwMDtcblxuICAgIHNwYW4ge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzL0hvbWUgQ2Fyb3VzZWxcbiAgID09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5ob21lLWNhcm91c2VsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxODZweCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgJi5ib3R0b20tdXAge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAyNTZweCk7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5KG1vYmlsZS1hbmQtdXApIHtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDE4NnB4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4gICAgLmhvbWUtY2Fyb3VzZWxfX3N0YXRpYy1iYW5uZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGJvdHRvbTogMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnkobW9iaWxlLWFuZC11cCkge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDI2MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAuaG9tZS1jYXJvdXNlbF9fY2VsbCB7IFxuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cblxuICAgICAgICAuaG9tZS1jYXJvdXNlbF9fbGluayB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OjEwMCU7XG4gICAgICAgICAgICBtaW4td2lkdGg6MTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICAgICAgdG9wOjA7XG4gICAgICAgICAgICBib3R0b206MDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ob21lLWNhcm91c2VsX19pbWcge1xuICAgICAgICAgICAgbWluLWhlaWdodDoxMDAlO1xuICAgICAgICAgICAgbWluLXdpZHRoOjEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IGluaGVyaXQ7XG4gICAgICAgICAgICBoZWlnaHQ6YXV0bztcbiAgICAgICAgICAgIHdpZHRoOmF1dG87XG4gICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDowO1xuICAgICAgICAgICAgYm90dG9tOjA7XG4gICAgICAgICAgICBtYXJnaW46YXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIH0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy9DYXB0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50aHVtYnMge1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXVuaXQtLXNtYWxsO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuICAgIC50aHVtYnNfX2l0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIH1cblxuICAgICAgICAudGh1bWJzX19pbWFnZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnkobGFwLWFuZC11cCkge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50aHVtYnNfX2xhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDExcHgsIDEuNCk7XG4gICAgICAgIH0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy9Db250ZW50c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jb250ZW50IHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG59XG5cbiAgICAuY29udGVudF9fdmlkZW8ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogNTYuMiU7XG4gICAgfVxuXG4gICAgLmNvbnRlbnRfX2lmcmFtZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIC5jb250ZW50X190d28tY29sdW1uLCAuY29udGVudF9fb25lLWNvbHVtbiB7XG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy11bml0LS1zbWFsbCAqIDEuNTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMnB4KTtcbiAgICAgICAgfVxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2VyaWY7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2cHgsIDEuNCk7XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWJsYWNrO1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb250ZW50X190d28tY29sdW1uIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy11bml0O1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeShsYXAtYW5kLXVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRlbnRfX29uZS1jb2x1bW4ge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5KGxhcC1hbmQtdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXVuaXQ7XG4gICAgICAgIH1cbiAgICAgICAgaDEge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyNHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIG9sIGxpIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2VyaWY7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy11bml0O1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2cHgsIDEuNCk7XG4gICAgICAgIH1cbiAgICB9IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHMvQXJyb3dzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmFycm93LXRvLW5leHQtYmxvY2sge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMzBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgei1pbmRleDogMTAwMDtcblxuICAgICYuYXJyb3ctLW1haW4tY29udGVudHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWFnZXMvYXJyb3cucG5nKSBuby1yZXBlYXQ7XG4gICAgfVxuXG4gICAgJi5hcnJvdy0tcGFnZS1mb290IHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvaW1hZ2VzL2Zvb3Rlci1hcnJvdy5wbmcpIG5vLXJlcGVhdDtcbiAgICAgICAgdG9wOiAtMzBweDtcbiAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgIH1cbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy9CbG9ja3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYmxvY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICYubWIxOCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXVuaXQtLXNtYWxsICogMS41O1xuICAgIH1cbn1cblxuICAgIC5ibG9jay0tdmlkZW8ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJsYWNrO1xuXG4gICAgICAgICYucmVtb3ZlLW1iIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmxvY2stLWNhcm91c2VsIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJsYWNrO1xuICAgIH1cblxuICAgIC5ibG9jay0tdHdvLWNvbHVtbi10ZXh0IHtcbiAgICAgICAgYmFja2dyb3VuZDogI0Y0RjRGNDtcbiAgICB9XG5cbiAgICAuYmxvY2stLW9uZS1jb2x1bW4tdGV4dCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlNWU1ZTU7XG4gICAgfSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzL0Rlc2NyaXB0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLXVuaXQtLWxhcmdlO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy11bml0LS1sYXJnZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy9QYWdpbmF0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiRwYWdpbmF0aW9uLWhlaWdodDogMTAwcHg7XG5cbi5wYWdpbmF0aW9ucyB7XG4gICAgYmFja2dyb3VuZDogJHBhZ2luYXRpb24tYmctY29sb3I7XG4vLyAgICAgbGluZS1oZWlnaHQ6MTEwcHg7XG4gICAgbWluLWhlaWdodDogJHBhZ2luYXRpb24taGVpZ2h0O1xuICAgIHBhZGRpbmctbGVmdDogJHNwYWNpbmctdW5pdC0tc21hbGw7XG4gICAgcGFkZGluZy1yaWdodDogJHNwYWNpbmctdW5pdC0tc21hbGw7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbiAgICAucGFnaW5hdGlvbl9fZW50cnkge1xuICAgICAgICBoZWlnaHQ6ICRwYWdpbmF0aW9uLWhlaWdodDtcbiAgICB9XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy9DYXNlIFN0dWR5IENhcm91c2VsXG4gICA9PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uY2FzZS1zdHVkeS1jYXJvdXNlbCB7XG59XG5cbiAgICAuY2FzZS1zdHVkeS1jYXJvdXNlbF9fY2VsbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmxhY2s7XG4gICAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBnYWxsZXJ5LWNlbGw7XG4gICAgfVxuXG5cbiAgICAgICAgLmNhc2Utc3R1ZHktY2Fyb3VzZWxfX2ltZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG5cbi5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLnByZXZpb3VzIHtcbn1cblxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ubmV4dCB7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy9BYm91dFxuICAgPT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5hYm91dCB7XG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLXVuaXQtLWxhcmdlO1xufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzL1N0dWRpb1xuICAgPT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5zdHVkaW8gcCB7XG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLXVuaXQtLWxhcmdlO1xuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5KGxhcC1hbmQtdXApIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLXVuaXQtLWxhcmdlICogMjtcbiAgICB9XG59XG5cbiAgICAuc3R1ZGlvX19pbWFnZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDIxMHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy11bml0LS1sYXJnZTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnkobGFwLWFuZC11cCkge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW46IDAgJHNwYWNpbmctdW5pdC0tbGFyZ2UgJHNwYWNpbmctdW5pdC0tc21hbGwgMDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHMvUXVvdGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnF1b3RlcyB7XG4gICAgZm9udC1mYW1pbHk6IHNlcmlmO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDE1cHgsIDEuNCk7XG59XG5cbiAgICAucXVvdGVzLS1hdXRob3Ige1xuICAgICAgICBmb250LWZhbWlseTogc2VyaWY7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeShsYXAtYW5kLXVwKSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgfSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzL01haWxjaGltcFxuICAgPT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuI21jX2VtYmVkX3NpZ251cF9zY3JvbGwge1xuICAgIGNvbG9yOiBibGFjaztcbiAgICBmb250LWZhbWlseTogJHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogJGJvbGQtd2VpZ2h0O1xuICAgIGxldHRlci1zcGFjaW5nOiAuMDhlbTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXVuaXQtLXNtYWxsICogMztcbiAgICBsaW5lLWhlaWdodDogMS42ZW07XG59XG5cbiNtY19lbWJlZF9zaWdudXAgZm9ybSB7XG4gICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgXG59XG5cbiNtY19lbWJlZF9zaWdudXAgaW5wdXQuZW1haWwge1xuICAgIGZvbnQtZmFtaWx5OiAkc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogJG5vcm1hbC13ZWlnaHQgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy11bml0LS10aW55ICogMyAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDRweCAwICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDI3MHB4ICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeShwYWxtKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvICAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4jbWNfZW1iZWRfc2lnbnVwIC5idXR0b24ge1xuICAgIGhlaWdodDogMjZweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDk0cHggIWltcG9ydGFudDtcbiAgICBmb250LWZhbWlseTogJHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6ICRub3JtYWwtd2VpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7XG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcnkocGFsbSkge1xuICAgICAgICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbn1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgI0NMRUFSRklYXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKipcbiAqIE1pY3JvIGNsZWFyZml4LCBhcyBwZXI6IGNzcy0xMDEub3JnL2FydGljbGVzL2NsZWFyZml4L2xhdGVzdC1uZXctY2xlYXJmaXgtc28tZmFyLnBocFxuICogRXh0ZW5kIHRoZSBjbGVhcmZpeCBjbGFzcyB3aXRoIFNhc3MgdG8gYXZvaWQgdGhlIGAuY2xlYXJmaXhgIGNsYXNzIGFwcGVhcmluZ1xuICogb3ZlciBhbmQgb3ZlciBpbiB5b3VyIG1hcmt1cC5cbiAqL1xuLmNsZWFyZml4LFxuJWNsZWFyZml4IHtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICNIRUFESU5HU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyoqXG4gKiBIZWFkaW5ncyAx4oCTNuKAmXMgY29ycmVzcG9uZGluZyBHcmVlay1hbHBoYWJldCBhYnN0cmFjdCBjbGFzc2VzIGZvciBkb3VibGUtXG4gKiBzdHJhbmRlZCBoZWFkaW5nIGhpZXJhcmNoeTogY3Nzd2l6YXJkcnkuY29tLzIwMTIvMDIvcHJhZ21hdGljLXByYWN0aWNhbC1mb250LXNpemluZy1pbi1jc3NcbiAqXG4gKiBVc2UgdGhlc2UgaGVscGVyIGNsYXNzZXMgdG8gY2F1c2Ugb3RoZXIgZWxlbWVudHMgdG8gYWRvcHQgdGhlIHN0eWxpbmcgb2YgdGhlXG4gKiByZXNwZWN0aXZlIGhlYWRpbmcsIGUuZy46XG4gKlxuICAgPGgyIGNsYXNzPVwiYWxwaGFcIj5Mb3JlbSBpcHN1bTwvaDI+XG4gKlxuICovXG5cbi4jeyRpbnVpdC1uYW1lc3BhY2V9YWxwaGEsXG4lI3skaW51aXQtbmFtZXNwYWNlfWFscGhhIHtcbiAgICBAaW5jbHVkZSBpbnVpdC1mb250LXNpemUoJGludWl0LWhlYWRpbmctc2l6ZS0xKTtcbn1cblxuLiN7JGludWl0LW5hbWVzcGFjZX1iZXRhLFxuJSN7JGludWl0LW5hbWVzcGFjZX1iZXRhIHtcbiAgICBAaW5jbHVkZSBpbnVpdC1mb250LXNpemUoJGludWl0LWhlYWRpbmctc2l6ZS0yKTtcbn1cblxuLiN7JGludWl0LW5hbWVzcGFjZX1nYW1tYSxcbiUjeyRpbnVpdC1uYW1lc3BhY2V9Z2FtbWEge1xuICAgIEBpbmNsdWRlIGludWl0LWZvbnQtc2l6ZSgkaW51aXQtaGVhZGluZy1zaXplLTMpO1xufVxuXG4uI3skaW51aXQtbmFtZXNwYWNlfWRlbHRhLFxuJSN7JGludWl0LW5hbWVzcGFjZX1kZWx0YSB7XG4gICAgQGluY2x1ZGUgaW51aXQtZm9udC1zaXplKCRpbnVpdC1oZWFkaW5nLXNpemUtNCk7XG59XG5cbi4jeyRpbnVpdC1uYW1lc3BhY2V9ZXBzaWxvbixcbiUjeyRpbnVpdC1uYW1lc3BhY2V9ZXBzaWxvbiB7XG4gICAgQGluY2x1ZGUgaW51aXQtZm9udC1zaXplKCRpbnVpdC1oZWFkaW5nLXNpemUtNSk7XG59XG5cbi4jeyRpbnVpdC1uYW1lc3BhY2V9emV0YSxcbiUjeyRpbnVpdC1uYW1lc3BhY2V9emV0YSB7XG4gICAgQGluY2x1ZGUgaW51aXQtZm9udC1zaXplKCRpbnVpdC1oZWFkaW5nLXNpemUtNik7XG59XG4iLCIvLy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXHJcbi8vICAgICNXSURUSFNcclxuLy9cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLy8gQSBtaXhpbiB0byBzcGl0IG91dCBvdXIgd2lkdGggY2xhc3Nlcy4gUGFzcyBpbiB0aGUgY29sdW1ucyB3ZSB3YW50IHRoZSB3aWR0aHNcclxuLy8gdG8gaGF2ZSwgYW5kIGFuIG9wdGlvbmFsIHN1ZmZpeCBmb3IgcmVzcG9uc2l2ZSB3aWR0aHMuIEUuZy4gdG8gY3JlYXRlIHRoaXJkc1xyXG4vLyBhbmQgcXVhcnRlcnMgZm9yIGEgc21hbGwgYnJlYWtwb2ludDpcclxuLy9cclxuLy8gQGluY2x1ZGUgaW51aXQtd2lkdGhzKDMgNCwgLXNtKTtcclxuXHJcbi8vIFByZWRlZmluZSB0aGUgdmFyaWFibGVzIGJlbG93IGluIG9yZGVyIHRvIGFsdGVyIGFuZCBlbmFibGUgc3BlY2lmaWMgZmVhdHVyZXMuXHJcbiRpbnVpdC13aWR0aHMtbmFtZXNwYWNlOiAkaW51aXQtbmFtZXNwYWNlICFkZWZhdWx0O1xyXG5cclxuLy8gRG8gd2Ugd2FudCB0byB1c2UgY2xhc3NlcyBsaWtlIGA8ZGl2IGNsYXNzPVwidS0xLzRcIj5gIGluc3RlYWQgb2ZcclxuLy8gYDxkaXYgY2xhc3M9XCJ1LTEtb2YtNFwiPmA/XHJcbiRpbnVpdC11c2UtZnJhY3Rpb25zOiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8gRGVwZW5kaW5nIG9uIHdoYXQgd2UgY2hvc2UgZm9yIGAkaW51aXQtdXNlLWZyYWN0aW9uc2AsIGNyZWF0ZSB0aGUgcmVsZXZhbnRcclxuLy8gZGVsaW1pdGVyLlxyXG5AaWYgKCRpbnVpdC11c2UtZnJhY3Rpb25zID09IHRydWUpIHtcclxuICAgICRpbnVpdC13aWR0aHMtZGVsaW1pdGVyOiBcXC8gIWdsb2JhbDtcclxufSBAZWxzZSB7XHJcbiAgICAkaW51aXQtd2lkdGhzLWRlbGltaXRlcjogLW9mLSAhZ2xvYmFsO1xyXG59XHJcblxyXG5AbWl4aW4gaW51aXQtd2lkdGhzKCRpbnVpdC13aWR0aHMtY29sdW1ucywgJGludWl0LXdpZHRocy1icmVha3BvaW50OiBudWxsKSB7XHJcblxyXG4gICAgLy8gTG9vcCB0aHJvdWdoIHRoZSBudW1iZXIgb2YgY29sdW1ucyBmb3IgZWFjaCBkZW5vbWluYXRvciBvZiBvdXIgZnJhY3Rpb25zLlxyXG4gICAgQGVhY2ggJGludWl0LXdpZHRocy1kZW5vbWluYXRvciBpbiAkaW51aXQtd2lkdGhzLWNvbHVtbnMge1xyXG5cclxuICAgICAgICAvLyBJZiB3ZeKAmXJlIHRyeWluZyB0byBtYWtlIHdob2xlcywganVzdCBzcGl0IGEgMTAwJSB3aWR0aCB1dGlsaXR5IG91dFxyXG4gICAgICAgIC8vIG9uZSB0aW1lIG9ubHkuXHJcbiAgICAgICAgQGlmICgkaW51aXQtd2lkdGhzLWRlbm9taW5hdG9yID09IDEpIHtcclxuICAgICAgICAgICAgLiN7JGludWl0LXdpZHRocy1uYW1lc3BhY2V9dS0xI3skaW51aXQtd2lkdGhzLWRlbGltaXRlcn0xI3skaW51aXQtd2lkdGhzLWJyZWFrcG9pbnR9IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IEBlbHNlIHtcclxuXHJcbiAgICAgICAgICAgIC8vIEJlZ2luIGNyZWF0aW5nIGEgbnVtYmVyYXRvciBmb3Igb3VyIGZyYWN0aW9uIHVwIHVudGlsIHdlIGhpdCB0aGVcclxuICAgICAgICAgICAgLy8gZGVub21pbmF0b3IuXHJcbiAgICAgICAgICAgIEBmb3IgJGludWl0LXdpZHRocy1udW1lcmF0b3IgZnJvbSAxIHRvICRpbnVpdC13aWR0aHMtZGVub21pbmF0b3Ige1xyXG5cclxuICAgICAgICAgICAgICAgIC8vIEJ1aWxkIGEgY2xhc3MgaW4gdGhlIGZvcm1hdCBgLnUtMy80YCBvciBgLnUtMy1vZi00YC5cclxuICAgICAgICAgICAgICAgIC4jeyRpbnVpdC13aWR0aHMtbmFtZXNwYWNlfXUtI3skaW51aXQtd2lkdGhzLW51bWVyYXRvcn0jeyRpbnVpdC13aWR0aHMtZGVsaW1pdGVyfSN7JGludWl0LXdpZHRocy1kZW5vbWluYXRvcn0jeyRpbnVpdC13aWR0aHMtYnJlYWtwb2ludH0ge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAoJGludWl0LXdpZHRocy1udW1lcmF0b3IgLyAkaW51aXQtd2lkdGhzLWRlbm9taW5hdG9yKSAqIDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn1cclxuIl19 */
