@keyframes bottleDance{0%,to{transform:rotate(0deg)}5%{transform:rotate(15deg)}95%{transform:rotate(-15deg)}}@-webkit-keyframes bottleDance{0%,to{transform:rotate(0deg)}5%{transform:rotate(15deg)}95%{transform:rotate(-15deg)}}@-moz-keyframes bottleDance{0%,to{transform:rotate(0deg)}5%{transform:rotate(15deg)}95%{transform:rotate(-15deg)}}@-webkit-keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}to{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}}@keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}to{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}}@-webkit-keyframes AnimationName{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@-moz-keyframes AnimationName{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes AnimationName{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes translateXAndScale{0%,80%,to{transform:translateX(-50%) scale(1)}50%{transform:translateX(-50%) scale(1.5)}}@-webkit-keyframes translateXAndScale{0%,80%,to{transform:translateX(-50%) scale(1)}50%{transform:translateX(-50%) scale(1.5)}}@-moz-keyframes translateXAndScale{0%,80%,to{transform:translateX(-50%) scale(1)}50%{transform:translateX(-50%) scale(1.5)}}@keyframes appear{0%{opacity:0}to{opacity:1}}@-webkit-keyframes appear{0%{opacity:0}to{opacity:1}}@-moz-keyframes appear{0%{opacity:0}to{opacity:1}}@keyframes disappear{0%{opacity:1}to{opacity:0}}@-webkit-keyframes disappear{0%{opacity:1}to{opacity:0}}@-moz-keyframes disappear{0%{opacity:1}to{opacity:0}}@keyframes rotateY{0%{transform:translateY(0%)}98%{transform:translateY(-210%)}to{transform:translateY(-200%)}}@-webkit-keyframes rotateY{0%{transform:translateY(0%)}98%{transform:translateY(-210%)}to{transform:translateY(-200%)}}@-moz-keyframes rotateY{0%{transform:translateY(0%)}98%{transform:translateY(-210%)}to{transform:translateY(-200%)}}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,ins,kbd,label,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font:inherit;vertical-align:baseline}img{margin:0;padding:0;font:inherit}fieldset,figure,form,legend{font:inherit;vertical-align:baseline}figure,form{padding:0;border:0}legend{margin:0}:focus{outline:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1;color:#6d6e71;font-size:12px;text-align:center;font-family:helvetica neue,Helvetica,Arial,sans-serif;letter-spacing:unset}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:none}table{border-collapse:collapse;border-spacing:0}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none;-moz-appearance:none}input[type=search]{-moz-appearance:none}audio,canvas,video{display:inline-block;*display:inline;*zoom:1;max-width:100%}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted}a:active,a:hover{outline:0}img{border:0;-ms-interpolation-mode:bicubic;vertical-align:middle;max-width:100%}fieldset,legend{border:0;padding:0}fieldset,figure,form{margin:0}legend{white-space:normal;*margin-left:-7px}button,input,select{vertical-align:baseline}button,input,select,textarea{font-size:100%;margin:0;*vertical-align:middle}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;*overflow:visible}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0;*height:13px;*width:13px}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}button,html,input,select,textarea{color:#222}::-moz-selection{background:#b3d4fc;text-shadow:none}::selection{background:#b3d4fc;text-shadow:none}textarea{resize:vertical}.chromeframe{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}.icon,.svg-logo{overflow:hidden;display:inline-block;width:1em;margin:0;text-align:center;vertical-align:middle;fill:currentColor;color:currentColor;box-sizing:content-box;pointer-events:none}.icon{height:1em;font-size:1em}.svg-logo{height:.18em;font-size:8em}body.v03{letter-spacing:.1em}body.v04{text-rendering:optimizeLegibility}body.noscroll{margin:0;height:100%;overflow:hidden;touch-action:none}.cta{display:inline-block;border-radius:11px;background-color:#ffee2e;padding:24px 0;color:#017161;font-size:14px;font-weight:600;border-bottom:3px solid #dacb23}body.cart02 .cta,body.v04 .cta{padding:21px 0}.cta .fa{font-size:11px;color:#4fc19a}.fa{font-family:"FontAwesome"}h2{font-size:21px;position:relative}h2:after{content:"";width:70px;height:3px;display:block;background-color:#46e4bc;margin:30px auto 0}.club h1::after,.dark-bg h2:after{content:none}body.v03 h2,body.v04 h2{font-size:25px}body.v03 h2::after,body.v04 h2::after{margin-top:25px}body.v03 .container-lg{width:92%;max-width:940px}body.v04 .container-lg{max-width:none}a:hover{text-decoration:none}.dark-bg{padding-top:25px;padding-bottom:25px;color:#fff;background-color:#2f5470}a.link,a:visited{color:#00a79d}a:not(span){color:#000}.container-lg{max-width:initial}.header{background-color:#13a89e;color:#fff}body.v04 .header{padding-left:10px}.header .nav .logo{align-self:center}.header .nav .logo img{width:95px}.header .nav .like-btn,.header .nav .social{margin-left:auto}.header .nav .social div{display:inline-block;color:#fff;border:1px solid rgba(255,255,255,.4392156863);border-radius:50%;padding:8px;font-size:13px;width:30px;height:30px;margin-left:5px;line-height:13px}.header:not(.header--minimal){padding:17px 15px 10px}.header--inverse{background-color:#fff;color:#13a89e}.header--light{background-color:#b9e6e3;color:#13a89e}.header--minimal{position:relative;box-shadow:0 3px 6px #00000029;z-index:1}@media (max-width:767px){.header--minimal{padding:7px 15px}}@media (min-width:768px){.header--minimal{padding:15px}}.surveyPage header{padding:20px 0}.surveyPage header .nav .logo{padding:10px}.v2 header{background:0 0}:root{--giveAwayBanner_mainColor: hsl(243, 30%, 27%);--giveAwayBanner_mainColor_l: 243;--giveAwayBanner_mainColor_s: 30%;--giveAwayBanner_mainColor_h: 27%}.club{margin:0 auto;padding:20px 10px;font-family:helvetica neue,Helvetica,Arial,sans-serif;color:#000;background-color:#e3f0f0}.club h1{margin-bottom:12px;font-family:"Quicksand",sans-serif;font-size:22px;line-height:29px;text-align:center;color:#6d6e71}.club h1 span{font-size:18px}.club b{font-weight:700}.club ul{overflow:hidden;position:relative;max-width:335px;margin-inline:auto;margin-bottom:12px;padding:24px 10px 14px;font-size:14px;text-align:left;background-color:#fff;border-radius:20px}.club ul li:not(.giveAwayBanner){position:relative;margin-bottom:6px;padding-left:23px;line-height:1.4}.club ul li:not(.giveAwayBanner):before{content:"";position:absolute;left:0;top:1px;width:10px;height:17px;background:url(https://dtjlhiahlv53j.cloudfront.net/assets/nucific/biox4/red-check.png) no-repeat;background-size:contain}.club ul li:not(.giveAwayBanner) span{font-weight:700}.club .giveAwayBanner{float:right;margin:-24px -10px 5px 5px;padding:15px;background-color:hsl(var(--giveAwayBanner_mainColor_l),calc(var(--giveAwayBanner_mainColor_s) + 7%),calc(var(--giveAwayBanner_mainColor_h) + 28%));border-bottom-left-radius:20px}.club .giveAwayBanner__image{width:75px}.modal-backdrop.show{opacity:.2}.bottomPage{background-color:#e3f0f0;box-shadow:0 6px 8px #ebebeb;overflow:hidden;padding-right:15px;padding-bottom:15px;padding-left:15px}.bottomPage a.no{margin-top:10px;display:block;font-size:21px;line-height:22px;box-shadow:3px 3px 3px #000;padding:10px;text-align:center;max-width:335px;margin-inline:auto;background:#fefefe;background:-moz-linear-gradient(top,#fefefe 0%,#dbdbdb 18%,#d1d1d1 53%,#fefefe 100%);background:-webkit-gradient(left top,left bottom,color-stop(0%,#fefefe),color-stop(18%,#dbdbdb),color-stop(53%,#d1d1d1),color-stop(100%,#fefefe));background:-webkit-linear-gradient(top,#fefefe 0%,#dbdbdb 18%,#d1d1d1 53%,#fefefe 100%);background:-o-linear-gradient(top,#fefefe 0%,#dbdbdb 18%,#d1d1d1 53%,#fefefe 100%);background:-ms-linear-gradient(top,#fefefe 0%,#dbdbdb 18%,#d1d1d1 53%,#fefefe 100%);background:linear-gradient(to bottom,#fefefe 0%,#dbdbdb 18%,#d1d1d1 53%,#fefefe 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr="#fefefe", endColorstr="#fefefe", GradientType=0 );color:#000;border-radius:8px}.bottomPage .yes{background-color:#88d68b;color:#000}.bottomPage .no{background-color:#e27474;color:#fff}.bottomPage .disclaimer{font-size:10px;margin:25px 0 5px;line-height:10px;text-align:left;color:#000;max-width:335px;margin-inline:auto}.bottomPage .disclaimer__morning-sale{display:none;font-weight:700}.saveBanner .container-lg .banner .content .text span,body.show-promoBanner .bottomPage .disclaimer__morning-sale{display:block}.bottomPage .terms{font-size:10px;display:inline-block;line-height:15px;color:#00a79d;font-weight:700}.bottomPage .close{position:absolute;right:4px;top:-2px;opacity:1;font-size:15px}.promo-banner-anchor{display:block;margin-top:0;height:0}body.v-testivid .promo-banner-anchor{margin-block-start:0}.promo-banner{display:none;overflow:hidden;position:sticky;top:0;z-index:10;margin-bottom:10px;padding:0;border:0;border-image-width:0}body.show-promoBanner:not(.club-offer):not(.show-promoBanner--club) .promo-banner{display:block}body.rdATF01 .promo-banner,body.v-testivid .promo-banner{margin-block:0}@media (hover:hover) and (pointer:fine){.promo-banner{cursor:pointer}}.promo-banner__banner img{border:0;border-image-width:0;max-width:none}@media (min-width:415px) and (max-width:767px){.promo-banner__banner img{max-width:350px}}@media (max-width:767px){.promo-banner__banner img{width:100%}}@media (min-width:768px) and (max-width:991px){.promo-banner__banner img{width:1440px}}@media (min-width:992px){.promo-banner__banner img{width:1920px}}@media (min-width:768px) and (max-width:1919px){.promo-banner__banner img{position:relative;left:50%;transform:translateX(-50%)}}.promo-banner__title{font-weight:900;text-align:center}@media (max-width:767px){.promo-banner__title{font-size:7vw}}@media (min-width:768px) and (max-width:991px){.promo-banner__title{font-size:4.5vw}}@media (min-width:992px) and (max-width:1024px){.promo-banner__title{font-size:4vw}}@media (min-width:1025px) and (max-width:1199px){.promo-banner__title{font-size:3.5vw}}@media (min-width:1200px){.promo-banner__title{font-size:2.25vw}}.promo-banner__subtitle b{font-weight:inherit}@media (max-width:767px){.promo-banner__subtitle{display:block;font-size:22px;font-size:6vw}.promo-banner__subtitle b{font-size:28px;font-size:7vw}}.promo-banner--morning-sale{background:#ffbd11 50%;background:linear-gradient(90deg,#ffbd11 50%,#f14b23 51%)}.promo-banner--v02{background:#fbb017 0%;background:linear-gradient(90deg,#fbb017 0%,#c46219 100%);padding:var(--promoBannerBlockPadding, 1em) 15px;color:#fff}.promo-banner--v02 .promo-banner__image{position:absolute;bottom:0;width:auto;z-index:-1}.promo-banner--v02 .promo-banner__image--right{height:80%}@media (max-width:767px){.promo-banner--v02 .promo-banner__image--right{right:-10%}}@media (min-width:768px){.promo-banner--v02 .promo-banner__image--right{right:50%}}@media (min-width:768px) and (max-width:991px){.promo-banner--v02 .promo-banner__image--right{transform:translateX(280%)}}@media (min-width:992px) and (max-width:1199px){.promo-banner--v02 .promo-banner__image--right{transform:translateX(300%)}}@media (min-width:1200px){.promo-banner--v02 .promo-banner__image--right{transform:translateX(265%)}}@media (max-width:767px){.promo-banner--v02 .promo-banner__image--left{left:-6%;height:68%}}@media (min-width:768px){.promo-banner--v02 .promo-banner__image--left{left:50%;height:74%}}@media (min-width:768px) and (max-width:991px){.promo-banner--v02 .promo-banner__image--left{transform:translateX(-325%)}}@media (min-width:992px) and (max-width:1199px){.promo-banner--v02 .promo-banner__image--left{transform:translateX(-330%)}}@media (min-width:1200px){.promo-banner--v02 .promo-banner__image--left{transform:translateX(-310%)}}body.show-promoBanner .promo-banner~.freeGiftBanner{margin-block-start:-10px}.promo-banner .disclaimer{margin-top:.75em;font-size:1.15em;text-align:center}.promo-banner:not(.promo-banner--v02) .countdown{position:absolute;z-index:1;left:50%;font-weight:500;text-align:left;line-height:1;color:#fff;letter-spacing:normal;white-space:nowrap}@media (max-width:320px){.promo-banner:not(.promo-banner--v02) .countdown{bottom:16px}}@media (min-width:321px) and (max-width:767px){.promo-banner:not(.promo-banner--v02) .countdown{bottom:25px}}@media (max-width:319px){.promo-banner:not(.promo-banner--v02) .countdown{transform:translateX(-85%)}}@media (min-width:320px) and (max-width:767px){.promo-banner:not(.promo-banner--v02) .countdown{transform:translateX(-90%)}}@media (max-width:767px){.promo-banner:not(.promo-banner--v02) .countdown{width:160px;font-size:30px;text-shadow:0 2px 2px #54410087}}@media (max-width:767px) and (orientation:landscape){.promo-banner:not(.promo-banner--v02) .countdown{bottom:10%;transform:translateX(-83%);width:150px;font-size:16px}}@media (min-width:768px){.promo-banner:not(.promo-banner--v02) .countdown{text-shadow:0 2px 4px #544100}}@media (min-width:768px) and (max-width:1024px) and (orientation:portrait){.promo-banner:not(.promo-banner--v02) .countdown{bottom:10px;transform:translateX(-152%);width:180px;font-size:35px}}@media (min-width:768px) and (max-width:1024px) and (orientation:landscape){.promo-banner:not(.promo-banner--v02) .countdown{bottom:15px;transform:translateX(-175%);width:200px;font-size:45px}}@media (min-width:1025px){.promo-banner:not(.promo-banner--v02) .countdown{bottom:15px;transform:translateX(-180%);width:200px;font-size:45px}}.promo-banner--v02 .countdown{overflow:hidden;display:flex;justify-content:center;gap:.1em;margin-top:.25em;font-weight:900;line-height:1;text-align:center}@media (max-width:767px){.promo-banner--v02 .countdown{font-size:9vw}}@media (min-width:768px) and (max-width:991px){.promo-banner--v02 .countdown{font-size:7vw}}@media (min-width:992px) and (max-width:1024px){.promo-banner--v02 .countdown{font-size:6vw}}@media (min-width:1025px) and (max-width:1199px){.promo-banner--v02 .countdown{font-size:5vw}}@media (min-width:1200px){.promo-banner--v02 .countdown{font-size:4vw}}.countdown__digit{position:relative;display:flex;align-items:center;flex-direction:column;width:.9em;height:1em;padding:0 .15em;background-color:#000;border-radius:3px}.countdown__digit:nth-child(even):not(:last-child){margin-right:.15em}.countdown__digit::after{content:"";opacity:.9;position:absolute;top:50%;right:0;left:0;height:33.33%;background:linear-gradient(180deg,#5050503b 0%,#5050505c 5%,#50505000 100%);z-index:1}.countdown .rotateY>*{animation:rotateY ease-in-out 1s infinite}.countdown-legend{overflow:hidden;display:flex;justify-content:center;gap:.25em;margin-top:.15em;text-align:center}@media (max-width:767px){.countdown-legend{font-size:9vw}}@media (min-width:768px) and (max-width:991px){.countdown-legend{font-size:7vw}}@media (min-width:992px) and (max-width:1024px){.countdown-legend{font-size:6vw}}@media (min-width:1025px) and (max-width:1199px){.countdown-legend{font-size:5vw}}@media (min-width:1200px){.countdown-legend{font-size:4vw}}@media (max-width:767px){.countdown-legend span{flex:0 0 6.25em;width:6.25em;font-size:.3em}}@media (min-width:768px) and (max-width:991px){.countdown-legend span{flex:0 0 7.75em;width:7.75em;font-size:.25em}}@media (min-width:992px) and (max-width:1024px){.countdown-legend span{flex:0 0 9.5em;width:9.5em;font-size:.2em}}@media (min-width:1025px){.countdown-legend span{flex:0 0 10.25em;width:10.25em;font-size:.185em}}.saveBanner{background-color:#e3f0f0;padding:0;font-family:helvetica neue,Helvetica,Arial,sans-serif}.saveBanner .container-lg .banner .content{text-align:left;padding-left:25px}.saveBanner .container-lg .banner .content .title:after{content:"";width:154px;height:4px;display:block;background-color:#233a72;margin:5px 0}body.show-promoBanner.rdATF01 .saveBanner{padding-block-start:25px}.saveBanner .container-lg{max-width:335px;padding:0}.saveBanner .container-lg .banner{margin:0;padding:20px 15px;border-radius:21px;background-color:#a7cd06}.saveBanner .container-lg .banner>*,body.cart02 .btnOnly .container-lg{padding:0}.saveBanner .container-lg .banner .content .title{color:#fff;font-size:24px;line-height:26px;font-weight:700;position:relative}.saveBanner .container-lg .banner .content .text{font-size:16px;color:#fff;margin-top:17px;line-height:20px;font-weight:300}.btnOnly,.footer{background-size:cover}.btnOnly{cursor:pointer;background-color:#fff;background-image:url(https://dtjlhiahlv53j.cloudfront.net/assets/nucific/biox4/header.jpg);padding:40px 25px 20px}.btnOnly .container-lg .cta{width:100%}body.cart02 .btnOnly{padding:30px 22px}body.v04 .btnOnly{padding:30px 0}body.v04 .btnOnly .container-lg{width:90%;margin:auto;padding:0}.v2 .btnOnly{background:0 0;padding:40px 25px}.v2 .btnOnly .container-lg .cta{width:auto}.footer{padding:14px 0;color:#bcbec0;border-top:2px solid #00a79d}.footer .container-lg ul{border-top:1px solid #00a79d;padding:16px 0}.footer .container-lg ul li{padding:0 10px;font-size:10px;display:inline-block}.footer .container-lg p{line-height:18px}.footer__copyright{padding-block:1em}.footer__copyright+.footer__copyright{border-top:1px solid rgba(0,167,157,.5)}.footer__copyright--statement{padding-inline:1em;border-right:1px solid rgba(0,167,157,.5);border-left:1px solid rgba(0,167,157,.5)}.footer__disclaimer{padding-block:1em;color:#277669;text-transform:uppercase;border-top:1px solid rgba(0,167,157,.5)}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFic3RyYWN0cy9fYW5pbWF0aW9ucy5zY3NzIiwiLi4vY29tcG9uZW50cy9jb3VudGRvd25UaW1lci9jb3VudGRvd25UaW1lci5zY3NzIiwiYmFzZS9fcmVzZXQuc2NzcyIsImxheW91dC9ib2R5LnNjc3MiLCJzdHlsZS1jbHViLnNjc3MiLCJiYXNlL19pY29ucy5zY3NzIiwiLi4vY29tcG9uZW50cy9jbHViL29yaWdpbmFsL2NsdWIuc2NzcyIsIi4uL2NvbXBvbmVudHMvaGVhZGVyL2hlYWRlci5zY3NzIiwiLi4vY29tcG9uZW50cy9jbHViLXBhZ2UvYm90dG9tUGFnZS5zY3NzIiwiLi4vY29tcG9uZW50cy9zYXZlQmFubmVyL3NhdmVCYW5uZXIuc2NzcyIsIi4uL2NvbXBvbmVudHMvcHJvbW9CYW5uZXIvcHJvbW9CYW5uZXIuc2NzcyIsImFic3RyYWN0cy9mdW5jdGlvbnMvX2luY2x1ZGUtbWVkaWEuc2NzcyIsImFic3RyYWN0cy9fbWl4aW5zLnNjc3MiLCIuLi9jb21wb25lbnRzL3NhdmVCYW5uZXIvb3JpZ2luYWwvc2F2ZUJhbm5lci5zY3NzIiwiLi4vY29tcG9uZW50cy9idG5Pbmx5L2J0bk9ubHkuc2NzcyIsIi4uL2NvbXBvbmVudHMvZm9vdGVyL29yaWdpbmFsL2Zvb3Rlci5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBLEFBQUEsdUJBQ0ksRSxDQUdBLEUsQ0FISyxzQixDQUNMLEUsQ0FBSyx1QixDQUNMLEcsQ0FBTSwwQixBQUdWLCtCQUNJLEUsQ0FHQSxFLENBSEssc0IsQ0FDTCxFLENBQUssdUIsQ0FDTCxHLENBQU0sMEIsQUFJViw0QkFDSSxFLENBR0EsRSxDQUhLLHNCLENBQ0wsRSxDQUFLLHVCLENBQ0wsRyxDQUFNLDBCLEFBSVYseUJBQ0ksRyxDQUNFLHVDLENBQ0EsK0IsQ0FHRixHLENBQ0Usd0MsQ0FDQSxnQyxDQUdGLEcsQ0FDRSxzQyxDQUNBLDhCLENBR0YsRyxDQUNFLHVDLENBQ0EsK0IsQ0FHRixFLENBQ0Usc0MsQ0FDQSxnQyxBQUlKLGlCQUNFLEcsQ0FDRSx1QyxDQUNBLCtCLENBR0YsRyxDQUNFLHdDLENBQ0EsZ0MsQ0FHRixHLENBQ0Usc0MsQ0FDQSw4QixDQUdGLEcsQ0FDRSx1QyxDQUNBLCtCLENBR0YsRSxDQUNFLHNDLENBQ0EsZ0MsQUFLTixpQ0FDSSxFLENBRUEsRSxDQUZHLHlCLENBQ0gsRyxDQUFJLDhCLEFBR1IsOEJBQ0ksRSxDQUVBLEUsQ0FGRyx5QixDQUNILEcsQ0FBSSw4QixBQUdSLHlCQUNJLEUsQ0FFQSxFLENBRkcseUIsQ0FDSCxHLENBQUksOEIsQUFNUiw4QkFDRSxFLENBTUEsRyxDQUdBLEUsQ0FSSSxtQyxDQUVKLEcsQ0FDSSx1QyxBQVNOLHNDQUNFLEUsQ0FNQSxHLENBR0EsRSxDQVJJLG1DLENBRUosRyxDQUNJLHVDLEFBVU4sbUNBQ0UsRSxDQU1BLEcsQ0FHQSxFLENBUkksbUMsQ0FFSixHLENBQ0ksdUMsQUFXTixrQkFDRSxFLENBQU8sUyxDQUNQLEUsQ0FBTyxXLEFBRVQsMEJBQ0UsRSxDQUFPLFMsQ0FDUCxFLENBQU8sVyxBQUVULHVCQUNFLEUsQ0FBTyxTLENBQ1AsRSxDQUFPLFcsQUFJVCxxQkFDRSxFLENBQU8sUyxDQUNQLEUsQ0FBTyxXLEFBRVQsNkJBQ0UsRSxDQUFPLFMsQ0FDUCxFLENBQU8sVyxBQUVULDBCQUNFLEUsQ0FBTyxTLENBQ1AsRSxDQUFPLFcsQUNxQlQsbUJBQ0ksRSxDQUNJLHdCLENBRUosRyxDQUNJLDJCLENBRUosRSxDQUNJLDZCLEFBSVIsMkJBQ0ksRSxDQUNJLHdCLENBRUosRyxDQUNJLDJCLENBRUosRSxDQUNJLDZCLEFBSVIsd0JBQ0ksRSxDQUNJLHdCLENBRUosRyxDQUNJLDJCLENBRUosRSxDQUNJLDZCQ2xOUixDLENBQUEsSSxDQUFBLE8sQ0FBQSxPLENBQUEsTSxDQUFBLE8sQ0FBQSxLLENBQUEsSyxDQUFBLEMsQ0FBQSxHLENBQUEsVSxDQUFBLEksQ0FBQSxNLENBQUEsTyxDQUFBLE0sQ0FBQSxJLENBQUEsSSxDQUFBLEUsQ0FBQSxHLENBQUEsTyxDQUFBLEcsQ0FBQSxHLENBQUEsRSxDQUFBLEUsQ0FBQSxFLENBQUEsSyxDQUFBLFUsQ0FBQSxNLENBQUEsRSxDQUFBLEUsQ0FBQSxFLENBQUEsRSxDQUFBLEUsQ0FBQSxFLENBQUEsTSxDQUFBLE0sQ0FBQSxJLENBQUEsQyxDQUFBLE0sQ0FBQSxHLENBQUEsRyxDQUFBLEssQ0FBQSxFLENBQUEsSSxDQUFBLEksQ0FBQSxHLENBQUEsTSxDQUFBLEUsQ0FBQSxNLENBQUEsQyxDQUFBLEcsQ0FBQSxDLENBQUEsSSxDQUFBLEMsQ0FBQSxJLENBQUEsTyxDQUFBLEssQ0FBQSxJLENBQUEsTSxDQUFBLE0sQ0FBQSxHLENBQUEsTyxDQUFBLEcsQ0FBQSxLLENBQUEsSyxDQUFBLEUsQ0FBQSxLLENBQUEsRSxDQUFBLEssQ0FBQSxJLENBQUEsRSxDQUFBLEUsQ0FBQSxDLENBQUEsRSxDQUFBLEcsQ0FBQSxLLENBYUUsUSxDQUNELFMsQ0FDQSxRLENBRUEsWSxDQUNBLHVCLENBbEJELEcsQ0FhRSxRLENBQ0QsUyxDQUdBLFksQ0FqQkQsUSxDQUFBLE0sQ0FBQSxJLENBQUEsTSxDQWlCQyxZLENBQ0EsdUIsQ0FsQkQsTSxDQUFBLEksQ0FjQyxTLENBQ0EsUSxDQWZELE0sQ0FhRSxRLENBU0YsTSxDQUNJLFMsQ0FJSixPLENBQUEsSyxDQUFBLE8sQ0FBQSxVLENBQUEsTSxDQUFBLE0sQ0FBQSxNLENBQUEsTSxDQUFBLEksQ0FBQSxHLENBQUEsTyxDQUVDLGEsQ0FHRCxJLENBQ0MsYSxDQ3BDRyxhLENBQ0EsYyxDQUVBLGlCLENDS0sscUQsQ0FBdUQsb0IsQ0YrQmhFLEUsQ0FBQSxFLENBQ0MsZSxDQUdELFUsQ0FBQSxDLENBQ0MsVyxDQUdELGdCLENBQUEsaUIsQ0FBQSxPLENBQUEsUSxDQUdDLFksQ0FHRCxLLENBNFFJLHdCLENBQ0EsZ0IsQ0F4UUosZ0QsQ0FBQSw2QyxDQUFBLGlELENBQUEscUQsQ0FJSSx1QixDQUNBLG9CLENBR0osa0IsQ0FFSSxvQixDQWdCSixLLENBQUEsTSxDQUFBLEssQ0FHSSxvQixDQUNBLGUsQ0FDQSxPLENBQ0EsYyxDQVFKLFVBQUEsVyxDQUNJLFksQ0FDQSxRLENBUUosUSxDQUNJLFksQ0FVSixJLENBQ0ksYyxDQUNBLDZCLENBQ0EseUIsQ0FPSixPLENBQ0ksbUIsQ0FPSixRLENBQUEsTyxDQUVJLFMsQ0FRSixHLENBQ0ksUSxDQUNBLDhCLENBb01BLHFCLENDdFFBLGMsQ0R5RkosUSxDQVlBLE0sQ0FDSSxRLENBQ0EsUyxDQWRKLFEsQ0FoQkEsTSxDQVFBLEksQ0EwTEksUSxDQXRLSixNLENBR0ksa0IsQ0FDQSxpQixDQVVKLE0sQ0FBQSxLLENBQUEsTSxDQU1JLHVCLENBTkosTSxDQUFBLEssQ0FBQSxNLENBQUEsUSxDQUlJLGMsQ0FDQSxRLENBRUEsc0IsQ0FRSixNLENBQUEsSyxDQUVJLGtCLENBVUosTSxDQUFBLE0sQ0FFSSxtQixDQWFKLE0sQ0FBQSx1QixDQUFBLGlCLENBQUEsa0IsQ0FJSSx5QixDQUNBLGMsQ0FDQSxpQixDQU9KLGdCLENBQUEsb0IsQ0FFSSxjLENBVUosb0IsQ0FBQSxpQixDQUVJLHFCLENBQ0EsUyxDQUNBLFksQ0FDQSxXLENBU0osa0IsQ0FDSSw0QixDQUNBLDJCLENBQ0EsOEIsQ0FDQSxzQixDQVFKLGdELENBQUEsNkMsQ0FFSSx1QixDQU9KLHdCLENBQUEsdUIsQ0FFSSxRLENBQ0EsUyxDQVFKLFEsQ0FDSSxhLENBQ0Esa0IsQ0FZSixNLENBQUEsSSxDQUFBLEssQ0FBQSxNLENBZEEsUSxDQW1CSSxVLENBSUosZ0IsQ0FDSSxrQixDQUNBLGdCLENBR0osVyxDQUNJLGtCLENBQ0EsZ0IsQ0FhSixRLENBQ0ksZSxDQUdKLFksQ0FDSSxhLENBQ0EsZSxDQUNBLFUsQ0FDQSxjLENHNVdKLEssQ0FBQSxTLENBRUksZSxDQUFrQixvQixDQUF1QixTLENBQXlCLFEsQ0FDbEUsaUIsQ0FBb0IscUIsQ0FDcEIsaUIsQ0FDQSxrQixDQUNBLHNCLENBQXlCLG1CLENBTjdCLEssQ0FFeUQsVSxDQUNULGEsQ0FNaEQsUyxDQUNJLFksQ0FDQSxhLENGSkEsUSxDQUNJLG1CLENBR0osUSxDQUNJLGlDLENBR0osYSxDQUNJLFEsQ0FDQSxXLENBQ0EsZSxDQUNBLGlCLENBR1IsSSxDQUNJLG9CLENBQ0Esa0IsQ0FDQSx3QixDQUNBLGMsQ0FDQSxhLENBTUEsYyxDQUNBLGUsQ0FDQSwrQixDQU5BLGdCLENBQUEsYSxDQUVJLGMsQ0FLSixRLENBQ0ksYyxDQUNBLGEsQ0FJUixHLENBQ0kseUIsQ0FHSixFLENBQ0ksYyxDQUNBLGlCLENBRUEsUSxDQUNJLFUsQ0FDQSxVLENBQ0EsVSxDQUNBLGEsQ0FDQSx3QixDQUNBLGtCLENHbkNBLGUsQ0hxQ0EsaUIsQ0FDSSxZLENBSVIsVyxDQUFBLFcsQ0FFSSxjLENBRUEsa0IsQ0FBQSxrQixDQUNJLGUsQ0FPUixzQixDQUNJLFMsQ0FDQSxlLENBR0osc0IsQ0FDSSxjLENBUUosTyxDQUNJLG9CLENBSVIsUSxDQUNJLGdCLENBQ0EsbUIsQ0FDQSxVLENBQ0Esd0IsQ0N2RkosTSxDQUFBLFMsQ0FDSSxhLENBR0EsTUFBQSxLLENBQVksVSxDQUVoQixhLENBQWMsaUIsQ0dqQmQsTyxDQUNFLHdCLENBQ0EsVSxDQUVBLGdCLENBQ0UsaUIsQ0FJQSxrQixDQUNFLGlCLENBRUEsc0IsQ0FDRSxVLENBSUosc0IsQ0FJQSxvQixDQUhFLGdCLENBTUEsd0IsQ0FDRSxvQixDQUNBLFUsQ0FDQSw4QyxDQUNBLGlCLENBQ0EsVyxDQUNBLGMsQ0FDQSxVLENBQ0EsVyxDQUNBLGUsQ0FDQSxnQixDQUtOLFlBQUEsaUIsQ0FDRSxzQixDQUdGLGdCLENBQ0UscUIsQ0FDQSxhLENBR0YsYyxDQUNFLHdCLENBQ0EsYSxDQUdGLGdCLENBQ0UsaUIsQ0FDQSw4QixDQUNBLFMsQ0FFQSx5QkFMRixnQixDQU1JLGtCLEFBR0YseUJBVEYsZ0IsQ0FVSSxjQU1KLGtCLENBQ0UsYyxDQUdFLDZCLENBRUUsWSxDQU9OLFUsQ0FDRSxjLENEbkZKLEssQ0FDSSw4QyxDQUNBLGlDLENBQ0EsaUMsQ0FDQSxpQyxDQUdKLEssQ0FDSSxhLENBQWdCLGlCLENBQ2hCLHFELENBQ0EsVSxDQUFhLHdCLENBRWIsUSxDQUNJLGtCLENBQ0Esa0MsQ0FBMEIsYyxDQUFpQixnQixDQUFtQixpQixDQUM5RCxhLENBRUEsYSxDQUNJLGMsQ0FRUixPLENBQ0ksZSxDQUdKLFEsQ0FDSSxlLENBQ0EsaUIsQ0FDQSxlLENBQ0Esa0IsQ0FBcUIsa0IsQ0FBcUIsc0IsQ0FDMUMsYyxDQUFpQixlLENBQ2pCLHFCLENBQ0Esa0IsQ0FHSSxnQkFBQSxnQixDQUNJLGlCLENBQ0EsaUIsQ0FBb0IsaUIsQ0FDcEIsZSxDQUVBLGdCQUFBLHVCLENBQ0ksVSxDQUNBLGlCLENBQ0EsTSxDQUFTLE8sQ0FDVCxVLENBQWEsVyxDQUNiLGlHLENBQ0EsdUIsQ0FHSixnQkFBQSxxQixDQUNJLGUsQ0FNaEIscUIsQ0FDSSxXLENBQ0EsMEIsQ0FBNkIsWSxDQUM3QixrSixDQUNBLDhCLENBRUEsNEIsQ0FDSSxVLENBS1osb0IsQ0FDSSxVLENFMUVILFcsQ0FBWSx3QixDQUEyQiw0QixDQUErQixlLENBQWtCLGtCLENBQXFCLG1CLENBQXNCLGlCLENBR2hJLGdCLENBQUssZSxDQUFrQixhLENBQWlCLGMsQ0FBaUIsZ0IsQ0FBbUIsMkIsQ0FBOEIsWSxDQUFlLGlCLENBQW9CLGUsQ0FBa0Isa0IsQ0FDM0osa0IsQ0FDQSxvRixDQUNBLGlKLENBQ0EsdUYsQ0FDQSxrRixDQUNBLG1GLENBQ0EscUYsQ0FDQSxtSCxDQUNBLFUsQ0FDQSxpQixDQUNKLGdCLENBQU8sd0IsQ0FBMkIsVSxDQUNsQyxlLENBQU0sd0IsQ0FBMEIsVSxDQUNoQyx1QixDQUNJLGMsQ0FBaUIsaUIsQ0FBb0IsZ0IsQ0FBbUIsZSxDQUFrQixVLENBQWEsZSxDQUFrQixrQixDQUV6RyxxQyxDQUNJLFksQ0FDQSxlLENDWlEscUQsQ0RjUiwyRCxDQUNJLGEsQ0FJWixrQixDQUFPLGMsQ0FBaUIsb0IsQ0FBdUIsZ0IsQ0FBbUIsYSxDQUFnQixlLENBQ2xGLGtCLENBQU8saUIsQ0FBb0IsUyxDQUFZLFEsQ0FBVyxTLENBQVksYyxDRXRCbEUsb0IsQ0FDSSxhLENBQWdCLFksQ0FBNEIsUSxDQUU1QyxvQyxDQUNJLG9CLENBSVIsYSxDQUNJLFksQ0FDQSxlLENBQWtCLGUsQ0FBa0IsSyxDQUFRLFUsQ0FDNUMsa0IsQ0FBK0IsUyxDQUMvQixRLENBQWdCLG9CLENBRWhCLDBCQUFBLFcsTUFBQSxzQyxDQUNJLGEsQ0FPSiwwQixDQUpBLDZCLENBQ0ksYyxDQ21pQkosd0NEOWlCSixhLENBbUJRLGdCQUlBLHlCLENBQ0ksUSxDQUFnQixvQixDQUNoQixjLENDcWhCUiwrQ0R2aEJJLHlCLENBS1EsaUIsQUNraEJaLHlCRHZoQkkseUIsQ0FTUSxZLEFDOGdCWiwrQ0R2aEJJLHlCLENBYVEsYyxBQzBnQloseUJEdmhCSSx5QixDQWlCUSxjLEFDc2dCWixnRER2aEJJLHlCLENBcUJRLGlCLENBQW9CLFEsQ0FBVyw0QkFLM0Msb0IsQ0FDSSxlLENBQ0EsaUIsQ0MyZkoseUJEN2ZBLG9CLENBS1EsZSxBQ3dmUiwrQ0Q3ZkEsb0IsQ0FTUSxpQixBQ29mUixnREQ3ZkEsb0IsQ0FhUSxlLEFDZ2ZSLGlERDdmQSxvQixDQWlCUSxpQixBQzRlUiwwQkQ3ZkEsb0IsQ0FxQlEsa0JBS0oseUIsQ0FDSSxtQixDQ2tlUix5QkRwZUEsdUIsQ0FNUSxhLENBQ0EsYyxDQUNBLGEsQ0FFQSx5QixDQUNJLGMsQ0FDQSxlQU1aLDJCLENFL0RBLHNCLENBTUkseUQsQ0ZrRkosa0IsQ0V4RkEscUIsQ0FNSSx5RCxDRm9GQSxnRCxDQUNBLFUsQ0FHSSx1QyxDQUNJLGlCLENBQ0EsUSxDQUNBLFUsQ0FDQSxVLENBRUEsOEMsQ0FDSSxVLENDNGFoQix5QkQ3YVksOEMsQ0FJUSxZLEFDeWFwQix5QkQ3YVksOEMsQ0FRUSxXLEFDcWFwQiwrQ0Q3YVksOEMsQ0FZUSw0QixBQ2lhcEIsZ0REN2FZLDhDLENBZ0JRLDRCLEFDNlpwQiwwQkQ3YVksOEMsQ0FvQlEsNEIsQUN5WnBCLHlCRHJaWSw2QyxDQUVRLFEsQ0FDQSxZLEFDa1pwQix5QkRyWlksNkMsQ0FPUSxRLENBQ0EsWSxBQzZZcEIsK0NEclpZLDZDLENBWVEsNkIsQUN5WXBCLGdERHJaWSw2QyxDQWdCUSw2QixBQ3FZcEIsMEJEclpZLDZDLENBb0JRLDZCQVFoQixtRCxDQUNJLHdCLENBSVIseUIsQ0FDSSxnQixDQUNBLGdCLENBQ0EsaUIsQ1R6TUosa0JBQUEsOEIsQ0FDSSxpQixDQUFvQixTLENBQ3BCLFEsQ0FDQSxlLENBQWtCLGUsQ0FBa0IsYSxDQUFnQixVLENBQW1DLHFCLENBQ3ZGLGtCLENVc2pCSix5QlYxakJBLGtCQUFBLDhCLENBT1EsYSxBVW1qQlIsK0NWMWpCQSxrQkFBQSw4QixDQVdRLGEsQVUraUJSLHlCVjFqQkEsa0JBQUEsOEIsQ0FlUSw0QixBVTJpQlIsK0NWMWpCQSxrQkFBQSw4QixDQW9CUSw0QixBVXNpQlIseUJWMWpCQSxrQkFBQSw4QixDQXdCUSxXLENBQ0EsYyxDQUF3RCxpQyxBVWlpQmhFLHFEVjFqQkEsa0JBQUEsOEIsQ0E0QlksVSxDQUFhLDBCLENBQ2IsVyxDQUNBLGdCLEFVNGhCWix5QlYxakJBLGtCQUFBLDhCLENBbUNRLCtCLEFVdWhCUiwyRVYxakJBLGtCQUFBLDhCLENBd0NZLFcsQ0FBYywyQixDQUNkLFcsQ0FDQSxnQixBVWdoQlosNEVWMWpCQSxrQkFBQSw4QixDQThDWSxXLENBQWMsMkIsQ0FDZCxXLENBQ0EsZ0IsQVUwZ0JaLDBCVjFqQkEsa0JBQUEsOEIsQ0FxRFEsVyxDQUFjLDJCLENBQ2QsVyxDQUNBLGdCQUlSLDZCLENBQ0ksZSxDQUNBLFksQ0FDQSxzQixDQUNBLFEsQ0FDQSxnQixDQUNBLGUsQ0FDQSxhLENBQ0EsaUIsQ1V1ZkoseUJWL2ZBLDZCLENBV1EsZSxBVW9mUiwrQ1YvZkEsNkIsQ0FlUSxlLEFVZ2ZSLGdEVi9mQSw2QixDQW1CUSxlLEFVNGVSLGlEVi9mQSw2QixDQXVCUSxlLEFVd2VSLDBCVi9mQSw2QixDQTJCUSxlQUlSLGlCLENBQ0ksaUIsQ0FDQSxZLENBQ0Esa0IsQ0FDQSxxQixDQUNBLFUsQ0FDQSxVLENBQ0EsZSxDQUNBLHFCLENBQ0EsaUIsQ0FFQSxzQ0FBQSxZLENBQ0ksa0IsQ0FHSix3QixDQUNJLFUsQ0FDQSxVLENBQ0EsaUIsQ0FDQSxPLENBQ0EsTyxDQUNBLE0sQ0FDQSxhLENBQ0EsMkUsQ0FDQSxTLENBS0oscUIsQ0FDSSx5QyxDQUtaLGlCLENBQ0ksZSxDQUNBLFksQ0FDQSxzQixDQUNBLFMsQ0FDQSxnQixDQUNBLGlCLENVdWJBLHlCVjdiSixpQixDQVNRLGUsQVVvYkosK0NWN2JKLGlCLENBYVEsZSxBVWdiSixnRFY3YkosaUIsQ0FpQlEsZSxBVTRhSixpRFY3YkosaUIsQ0FxQlEsZSxBVXdhSiwwQlY3YkosaUIsQ0F5QlEsZSxBVW9hSix5QlZqYUEsc0IsQ0FFUSxlLENBQ0EsWSxDQUNBLGdCLEFVNlpSLCtDVmphQSxzQixDQVFRLGUsQ0FDQSxZLENBQ0EsaUIsQVV1WlIsZ0RWamFBLHNCLENBY1EsYyxDQUNBLFcsQ0FDQSxnQixBVWlaUiwwQlZqYUEsc0IsQ0FvQlEsZ0IsQ0FDQSxhLENBQ0Esa0JRbExaLFcsQ0lBYSx3QixDQUE0QixTLENBQVcscUQsQ0pJeEMsMEMsQ0lBUyxlLENBQWtCLGlCLENKRXZCLHVELENJQVEsVSxDQUFZLFcsQ0FBYyxVLENBQVksYSxDQUFpQix3QixDQUEyQixZLENKU3RHLHlDLENBQ0ksd0IsQ0lmSix5QixDQUFjLGUsQ0FBa0IsUyxDQUM1QixpQyxDQUFRLFEsQ0FBVyxpQixDQUFtQixrQixDQUFxQix3QixDQUN2RCxtQyxDQ2FKLGtDLENEYlEsUyxDQUVBLGlELENBQU8sVSxDQUFlLGMsQ0FBZ0IsZ0IsQ0FBbUIsZSxDQUFtQixpQixDQUc1RSxnRCxDQUFNLGMsQ0FBZ0IsVSxDQUFlLGUsQ0FBa0IsZ0IsQ0FBbUIsZSxDQ1IxRixRLENDQUEsTyxDQUdJLHFCLENESEosUSxDQUVJLGMsQ0FDQSxxQixDQUNBLDBGLENBSEEsc0IsQ0FPSSwyQixDQUNJLFUsQ0FJUixvQixDQUNJLGlCLENBT0osaUIsQ0FDSSxjLENBRUEsK0IsQ0FDSSxTLENBQ0EsVyxDQUNBLFMsQ0FNUixZLENBQ0ksYyxDQUNBLGlCLENBRUksK0IsQ0FDSSxVLENDdENoQixPLENBQ0ksYyxDQUNBLGEsQ0FFQSw0QixDQUdJLHdCLENBQ0ksNEIsQ0FDQSxjLENBRUEsMkIsQ0FDSSxjLENBQ0EsYyxDQUNBLG9CLENBSVIsdUIsQ0FDSSxnQixDQUlSLGtCLENBQ0ksaUIsQ0FFQSxxQyxDQUNJLHVDLENBR0osNkIsQ0FDSSxrQixDQUNBLHlDLENBQ0Esd0MsQ0FJUixtQixDQUNJLGlCLENBQ0EsYSxDQUNBLHdCLENBQ0EsdUMiLCJmaWxlIjoic3R5bGUtY2x1Yi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAa2V5ZnJhbWVzIGJvdHRsZURhbmNleyBcbiAgICAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gICAgNSUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZyk7IH1cbiAgICA5NSUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtMTVkZWcpIH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZykgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdHRsZURhbmNle1xuICAgIDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgICA1JSB7IHRyYW5zZm9ybTogcm90YXRlKDE1ZGVnKTsgfVxuICAgIDk1JSB7IHRyYW5zZm9ybTogcm90YXRlKC0xNWRlZykgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSB9XG59XG5cbkAtbW96LWtleWZyYW1lcyBib3R0bGVEYW5jZXtcbiAgICAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gICAgNSUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZyk7IH1cbiAgICA5NSUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtMTVkZWcpIH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZykgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3dpbmcge1xuICAgIDIwJSB7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG4gICAgfVxuICBcbiAgICA0MCUge1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gICAgfVxuICBcbiAgICA2MCUge1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgICB9XG4gIFxuICAgIDgwJSB7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gICAgfVxuICBcbiAgICB0byB7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuICAgIH1cbiAgfVxuICBcbiAgQGtleWZyYW1lcyBzd2luZyB7XG4gICAgMjAlIHtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcbiAgICB9XG4gIFxuICAgIDQwJSB7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcbiAgICB9XG4gIFxuICAgIDYwJSB7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xuICAgIH1cbiAgXG4gICAgODAlIHtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB9XG4gIFxuICAgIHRvIHtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XG4gICAgfVxuICB9XG4gIFxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgQW5pbWF0aW9uTmFtZSB7XG4gICAgMCV7YmFja2dyb3VuZC1wb3NpdGlvbjowJSA1MCV9XG4gICAgNTAle2JhY2tncm91bmQtcG9zaXRpb246MTAwJSA1MCV9XG4gICAgMTAwJXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAlIDUwJX1cbn1cbkAtbW96LWtleWZyYW1lcyBBbmltYXRpb25OYW1lIHtcbiAgICAwJXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAlIDUwJX1cbiAgICA1MCV7YmFja2dyb3VuZC1wb3NpdGlvbjoxMDAlIDUwJX1cbiAgICAxMDAle2JhY2tncm91bmQtcG9zaXRpb246MCUgNTAlfVxufVxuQGtleWZyYW1lcyBBbmltYXRpb25OYW1lIHtcbiAgICAwJXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAlIDUwJX1cbiAgICA1MCV7YmFja2dyb3VuZC1wb3NpdGlvbjoxMDAlIDUwJX1cbiAgICAxMDAle2JhY2tncm91bmQtcG9zaXRpb246MCUgNTAlfVxufVxuXG5cblxuQGtleWZyYW1lcyB0cmFuc2xhdGVYQW5kU2NhbGUge1xuICAwJSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMSk7XG4gIH1cbiAgNTAlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgxLjUpO1xuICB9XG4gIDgwJSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMSk7XG4gIH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyB0cmFuc2xhdGVYQW5kU2NhbGUge1xuICAwJSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMSk7XG4gIH1cbiAgNTAlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgxLjUpO1xuICB9XG4gIDgwJSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMSk7XG4gIH1cbn1cblxuQC1tb3ota2V5ZnJhbWVzIHRyYW5zbGF0ZVhBbmRTY2FsZSB7XG4gIDAlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgxKTtcbiAgfVxuICA1MCUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDEuNSk7XG4gIH1cbiAgODAlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgxKTtcbiAgfVxuICAxMDAlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgxKTtcbiAgfVxufVxuXG4vLy0gQXBwZWFyXG5Aa2V5ZnJhbWVzIGFwcGVhciB7XG4gIDAlICAgeyBvcGFjaXR5OiAwOyB9XG4gIDEwMCUgeyBvcGFjaXR5OiAxOyB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYXBwZWFyIHtcbiAgMCUgICB7IG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cbn1cbkAtbW96LWtleWZyYW1lcyBhcHBlYXIge1xuICAwJSAgIHsgb3BhY2l0eTogMDsgfVxuICAxMDAlIHsgb3BhY2l0eTogMTsgfVxufVxuXG4vLy0gZGlzYXBwZWFyXG5Aa2V5ZnJhbWVzIGRpc2FwcGVhciB7XG4gIDAlICAgeyBvcGFjaXR5OiAxOyB9XG4gIDEwMCUgeyBvcGFjaXR5OiAwOyB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZGlzYXBwZWFyIHtcbiAgMCUgICB7IG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7IG9wYWNpdHk6IDA7IH1cbn1cbkAtbW96LWtleWZyYW1lcyBkaXNhcHBlYXIge1xuICAwJSAgIHsgb3BhY2l0eTogMTsgfVxuICAxMDAlIHsgb3BhY2l0eTogMDsgfVxufSIsIkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XHJcblxyXG4uY291bnRkb3duIHtcclxuICAgIC5wcm9tby1iYW5uZXI6bm90KC5wcm9tby1iYW5uZXItLXYwMikgJiB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiAxO1xyXG4gICAgICAgIGxlZnQ6IDUwJTsgXHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgdGV4dC1hbGlnbjogbGVmdDsgbGluZS1oZWlnaHQ6IDE7IGNvbG9yOiBtYXAtZ2V0KCRjb3VudGRvd24sIGNvbG9yKTsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1tb2JpbGUnKSB7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMTZweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+bW9iaWxlJywgJzx0YWJsZXQnKSB7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMjVweDsgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPG1vYmlsZScpIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC04NSUpO1xyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PW1vYmlsZScsICc8dGFibGV0JykgeyAgICAgICAgXHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtOTAlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0JykgeyAgICAgICAgXHJcbiAgICAgICAgICAgIHdpZHRoOiAxNjBweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZGVlcC1nZXQoJGNvdW50ZG93biwgZm9udC1zaXplLCBtb2JpbGUpOyB0ZXh0LXNoYWRvdzogbWFwLWRlZXAtZ2V0KCRjb3VudGRvd24sIHNoYWRvdywgbW9iaWxlKTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCdsYW5kc2NhcGUnKSB7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDEwJTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC04MyUpO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE1MHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4OyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzogIG1hcC1kZWVwLWdldCgkY291bnRkb3duLCBzaGFkb3csIGRlc2t0b3ApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzxkZXNrdG9wJykge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgncG9ydHJhaXQnKSB7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDEwcHg7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUyJSk7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTgwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IG1hcC1kZWVwLWdldCgkY291bnRkb3duLCBmb250LXNpemUsIHRhYmxldCk7IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnbGFuZHNjYXBlJykge1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAxNXB4OyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTE3NSUpO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZGVlcC1nZXQoJGNvdW50ZG93biwgZm9udC1zaXplLCBkZXNrdG9wKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgYm90dG9tOiAxNXB4OyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTE4MCUpO1xyXG4gICAgICAgICAgICB3aWR0aDogMjAwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWRlZXAtZ2V0KCRjb3VudGRvd24sIGZvbnQtc2l6ZSwgZGVza3RvcCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5wcm9tby1iYW5uZXItLXYwMiAmIHtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiAwLjFlbTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwLjI1ZW07XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDl2dzsgICAgICAgIFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzx0YWJsZXQtbWlkJykge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDd2dzsgICAgICAgICAgICBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldC1taWQnLCAnPGRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNnZ3OyAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcsICc8ZGVza3RvcC1taWQnKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNXZ3O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcC1taWQnKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNHZ3O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19kaWdpdCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIHdpZHRoOiAuOWVtO1xyXG4gICAgICAgIGhlaWdodDogMWVtO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgLjE1ZW07XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuICAgICAgICAmOm50aC1jaGlsZChldmVuKTpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAuMTVlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IC45O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAzMy4zMyU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICM1MDUwNTAzQiAwJSwgIzUwNTA1MDVDIDUlLCAjNTA1MDUwMDAgMTAwJSk7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5yb3RhdGVZIHtcclxuICAgICAgICAmID4gKiB7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbjogcm90YXRlWSBlYXNlLWluLW91dCAxcyBpbmZpbml0ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jb3VudGRvd24tbGVnZW5kIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBnYXA6IDAuMjVlbTtcclxuICAgIG1hcmdpbi10b3A6IDAuMTVlbTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcclxuICAgICAgICBmb250LXNpemU6IDl2dzsgICAgICAgIFxyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8dGFibGV0LW1pZCcpIHtcclxuICAgICAgICBmb250LXNpemU6IDd2dzsgICAgICAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQtbWlkJywgJzxkZXNrdG9wJykge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNnZ3OyAgICAgICAgICAgIFxyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnLCAnPGRlc2t0b3AtbWlkJykge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNXZ3O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AtbWlkJykge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNHZ3O1xyXG4gICAgfVxyXG5cclxuICAgIHNwYW4ge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xyXG4gICAgICAgICAgICBmbGV4OiAwIDAgNi4yNWVtO1xyXG4gICAgICAgICAgICB3aWR0aDogNi4yNWVtO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IC4zZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPHRhYmxldC1taWQnKSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA3Ljc1ZW07XHJcbiAgICAgICAgICAgIHdpZHRoOiA3Ljc1ZW07XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjI1ZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldC1taWQnLCAnPGRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA5LjVlbTtcclxuICAgICAgICAgICAgd2lkdGg6IDkuNWVtOyAgICBcclxuICAgICAgICAgICAgZm9udC1zaXplOiAuMmVtO1xyXG4gICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCAxMC4yNWVtO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAuMjVlbTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAuMTg1ZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZVkge1xyXG4gICAgMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XHJcbiAgICB9XHJcbiAgICA5OCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjEwJSk7XHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMCUpO1xyXG4gICAgfVxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlWSB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcclxuICAgIH1cclxuICAgIDk4JSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMTAlKTtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwJSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkAtbW96LWtleWZyYW1lcyByb3RhdGVZIHtcclxuICAgIDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xyXG4gICAgfVxyXG4gICAgOTglIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIxMCUpO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAlKTtcclxuICAgIH1cclxufVxyXG4iLCIvKiBodHRwOi8vbWV5ZXJ3ZWIuY29tL2VyaWMvdG9vbHMvY3NzL3Jlc2V0L1xuICAgdjIuMC1tb2RpZmllZCB8IDIwMTEwMTI2XG4gICBMaWNlbnNlOiBub25lIChwdWJsaWMgZG9tYWluKVxuKi9cblxuaHRtbCwgYm9keSwgZGl2LCBzcGFuLCBhcHBsZXQsIG9iamVjdCwgaWZyYW1lLFxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYmxvY2txdW90ZSwgcHJlLFxuYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgYmlnLCBjaXRlLCBjb2RlLFxuZGVsLCBkZm4sIGVtLCBpbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLFxuc21hbGwsIHN0cmlrZSwgc3Ryb25nLCBzdWIsIHN1cCwgdHQsIHZhcixcbmIsIHUsIGksIGNlbnRlcixcbmRsLCBkdCwgZGQsIG9sLCB1bCwgbGksXG5maWVsZHNldCwgZm9ybSwgbGFiZWwsIGxlZ2VuZCxcbnRhYmxlLCBjYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkLFxuYXJ0aWNsZSwgYXNpZGUsIGNhbnZhcywgZGV0YWlscywgZW1iZWQsXG5maWd1cmUsIGZpZ2NhcHRpb24sIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsXG5tZW51LCBuYXYsIG91dHB1dCwgcnVieSwgc2VjdGlvbiwgc3VtbWFyeSxcbnRpbWUsIG1hcmssIGF1ZGlvLCB2aWRlbyB7XG4gIG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0Ym9yZGVyOiAwO1xuXHRmb250LXNpemU6IDEwMCU7XG5cdGZvbnQ6IGluaGVyaXQ7XG5cdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyogbWFrZSBzdXJlIHRvIHNldCBzb21lIGZvY3VzIHN0eWxlcyBmb3IgYWNjZXNzaWJpbGl0eSAqL1xuOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xufVxuXG4vKiBIVE1MNSBkaXNwbGF5LXJvbGUgcmVzZXQgZm9yIG9sZGVyIGJyb3dzZXJzICovXG5hcnRpY2xlLCBhc2lkZSwgZGV0YWlscywgZmlnY2FwdGlvbiwgZmlndXJlLFxuZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWVudSwgbmF2LCBzZWN0aW9uIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbmJvZHkge1xuXHRsaW5lLWhlaWdodDogMTtcbn1cblxub2wsIHVsIHtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuYmxvY2txdW90ZSwgcSB7XG5cdHF1b3Rlczogbm9uZTtcbn1cblxuYmxvY2txdW90ZTpiZWZvcmUsIGJsb2NrcXVvdGU6YWZ0ZXIsXG5xOmJlZm9yZSwgcTphZnRlciB7XG5cdGNvbnRlbnQ6ICcnO1xuXHRjb250ZW50OiBub25lO1xufVxuXG50YWJsZSB7XG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cdGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG5pbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG5pbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxuaW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbmlucHV0W3R5cGU9c2VhcmNoXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbnRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbi8qKlxuICogQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDYvNy84LzkgYW5kIEZpcmVmb3ggMy5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnZpZGVvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgKmRpc3BsYXk6IGlubGluZTtcbiAgICAqem9vbTogMTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8qKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgNy84LzksIEZpcmVmb3ggMywgYW5kIFNhZmFyaSA0LlxuICogS25vd24gaXNzdWU6IG5vIElFIDYgc3VwcG9ydC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRleHQgcmVzaXppbmcgb2RkbHkgaW4gSUUgNi83IHdoZW4gYm9keSBgZm9udC1zaXplYCBpcyBzZXQgdXNpbmdcbiAqICAgIGBlbWAgdW5pdHMuXG4gKiAyLiBQcmV2ZW50IGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmdcbiAqICAgIHVzZXIgem9vbS5cbiAqL1xuXG5odG1sIHtcbiAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYG91dGxpbmVgIGluY29uc2lzdGVuY3kgYmV0d2VlbiBDaHJvbWUgYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5cbmE6Zm9jdXMge1xuICAgIG91dGxpbmU6IHRoaW4gZG90dGVkO1xufVxuXG4vKipcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgd2hlbiBmb2N1c2VkIGFuZCBhbHNvIG1vdXNlIGhvdmVyZWQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gICAgb3V0bGluZTogMDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDYvNy84LzkgYW5kIEZpcmVmb3ggMy5cbiAqIDIuIEltcHJvdmUgaW1hZ2UgcXVhbGl0eSB3aGVuIHNjYWxlZCBpbiBJRSA3LlxuICovXG5cbmltZyB7XG4gICAgYm9yZGVyOiAwOyAvKiAxICovXG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDYvNy84LzksIFNhZmFyaSA1LCBhbmQgT3BlcmEgMTEuXG4gKi9cblxuZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogQ29ycmVjdCBtYXJnaW4gZGlzcGxheWVkIG9kZGx5IGluIElFIDYvNy5cbiAqL1xuXG5mb3JtIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5cbmZpZWxkc2V0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgIG1hcmdpbjogMCAycHg7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA2LzcvOC85LlxuICogMi4gQ29ycmVjdCB0ZXh0IG5vdCB3cmFwcGluZyBpbiBGaXJlZm94IDMuXG4gKiAzLiBDb3JyZWN0IGFsaWdubWVudCBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgNi83LlxuICovXG5cbmxlZ2VuZCB7XG4gICAgYm9yZGVyOiAwOyAvKiAxICovXG4gICAgcGFkZGluZzogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAyICovXG4gICAgKm1hcmdpbi1sZWZ0OiAtN3B4OyAvKiAzICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBmb250IHNpemUgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIElFIDYvNywgRmlyZWZveCAzKywgU2FmYXJpIDUsXG4gKiAgICBhbmQgQ2hyb21lLlxuICogMy4gSW1wcm92ZSBhcHBlYXJhbmNlIGFuZCBjb25zaXN0ZW5jeSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gICAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gICAgbWFyZ2luOiAwOyAvKiAyICovXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAzICovXG4gICAgKnZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBBZGRyZXNzIEZpcmVmb3ggMysgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBDaHJvbWUsIFNhZmFyaSA1KywgYW5kIElFIDYrLlxuICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94IDQrIGFuZCBPcGVyYS5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3Qge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKiA0LiBSZW1vdmUgaW5uZXIgc3BhY2luZyBpbiBJRSA3IHdpdGhvdXQgYWZmZWN0aW5nIG5vcm1hbCB0ZXh0IGlucHV0cy5cbiAqICAgIEtub3duIGlzc3VlOiBpbm5lciBzcGFjaW5nIHJlbWFpbnMgaW4gSUUgNi5cbiAqL1xuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG4gICAgKm92ZXJmbG93OiB2aXNpYmxlOyAgLyogNCAqL1xufVxuXG4vKipcbiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gKi9cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBjb250ZW50LWJveCBpbiBJRSA4LzkuXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LlxuICogMy4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDcuXG4gKiAgICBLbm93biBpc3N1ZTogZXhjZXNzIHBhZGRpbmcgcmVtYWlucyBpbiBJRSA2LlxuICovXG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgICAqaGVpZ2h0OiAxM3B4OyAvKiAzICovXG4gICAgKndpZHRoOiAxM3B4OyAvKiAzICovXG59XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIDUgYW5kIENocm9tZVxuICogICAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIDUgYW5kIENocm9tZVxuICogb24gT1MgWC5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCAzKy5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDYvNy84LzkuXG4gKiAyLiBJbXByb3ZlIHJlYWRhYmlsaXR5IGFuZCBhbGlnbm1lbnQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bzsgLyogMSAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKi9cblxudGFibGUge1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbmh0bWwsXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgICBjb2xvcjogIzIyMjtcbn1cblxuXG46Oi1tb3otc2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAjYjNkNGZjO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xufVxuXG46OnNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogI2IzZDRmYztcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuaW1nIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5maWVsZHNldCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG50ZXh0YXJlYSB7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuLmNocm9tZWZyYW1lIHtcbiAgICBtYXJnaW46IDAuMmVtIDA7XG4gICAgYmFja2dyb3VuZDogI2NjYztcbiAgICBjb2xvcjogIzAwMDtcbiAgICBwYWRkaW5nOiAwLjJlbSAwO1xufVxuIiwiYm9keSB7XG4gICAgZm9udC1mYW1pbHk6ICRmYW1pbHlNYWluO1xuICAgIGNvbG9yOiAkdGV4dENvbG9yO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC44cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgJi52MDMge1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gICAgfVxuXG4gICAgJi52MDQge1xuICAgICAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAgIH1cblxuICAgICYubm9zY3JvbGwge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdG91Y2gtYWN0aW9uOiBub25lO1xuICAgIH1cbn1cbi5jdGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXItcmFkaXVzOiAxMXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR5ZWxsb3c7XG4gICAgcGFkZGluZzogMjRweCAwO1xuICAgIGNvbG9yOiAjMDE3MTYxO1xuICAgIFxuICAgIGJvZHkuY2FydDAyICYsXG4gICAgYm9keS52MDQgJiB7XG4gICAgICAgIHBhZGRpbmc6IDIxcHggMDtcbiAgICB9XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICNkYWNiMjM7XG4gICAgLmZhIHtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBjb2xvcjogIzRmYzE5YTtcbiAgICB9XG59XG5cbi5mYSB7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udEF3ZXNvbWVcIjtcbn1cblxuaDIge1xuICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6IDcwcHg7XG4gICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1haW5Db2xvcjtcbiAgICAgICAgbWFyZ2luOiAzMHB4IGF1dG8gMDtcblxuICAgICAgICAuZGFyay1iZyAmIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBib2R5LnYwMyAmLFxuICAgIGJvZHkudjA0ICYge1xuICAgICAgICBmb250LXNpemU6IDI1cHg7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbi5jb250YWluZXItbGcge1xuICAgIG1heC13aWR0aDogNDgwcHg7XG5cbiAgICBib2R5LnYwMyAmIHtcbiAgICAgICAgd2lkdGg6IDkyJTtcbiAgICAgICAgbWF4LXdpZHRoOiA5NDBweDtcbiAgICB9XG5cbiAgICBib2R5LnYwNCAmIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cbn1cbmltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG5hIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbn1cblxuLmRhcmstYmcge1xuICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmY1NDcwO1xufVxuIiwiQGltcG9ydCBcImFic3RyYWN0cy9hbmltYXRpb25zXCIsXG4gICAgICAgIFwiYWJzdHJhY3RzL21peGluc1wiLFxuICAgICAgICBcImFic3RyYWN0cy9mdW5jdGlvbnNcIjsgXG5AaW1wb3J0IFwiYmFzZS9fcmVzZXQuc2Nzc1wiOyBcbkBpbXBvcnQgXCJsYXlvdXQvdmFycy5zY3NzXCI7ICBcblxuQGltcG9ydCBcImJhc2UvaWNvbnNcIjtcblxuQGltcG9ydCBcImxheW91dC9ib2R5LnNjc3NcIjsgIFxuXG5ib2R5eyAgICBmb250LWZhbWlseTogaGVsdmV0aWNhIG5ldWUsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6IHVuc2V0O31cbmEubGluaywgYTp2aXNpdGVkIHtcbiAgICBjb2xvcjogIzAwYTc5ZDtcbn1cbmF7XG4gICAgJjpub3Qoc3Bhbil7Y29sb3I6ICMwMDA7fVxufVxuLmNvbnRhaW5lci1sZ3ttYXgtd2lkdGg6IGluaXRpYWw7fVxuXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLnNjc3NcIjsgXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9jbHViL29yaWdpbmFsL2NsdWIuc2Nzc1wiOyBcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2NsdWItcGFnZS9ib3R0b21QYWdlLnNjc3NcIjsgXG5cbi8vLSBwcm9tb0Jhbm5lciArIENvdW50ZG93blxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvcHJvbW9CYW5uZXIvcHJvbW9CYW5uZXJcIjtcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2NvdW50ZG93blRpbWVyL2NvdW50ZG93blRpbWVyXCI7XG4vLy0gI0VORCBwcm9tb0Jhbm5lciArIENvdW50ZG93blxuXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9zYXZlQmFubmVyL3NhdmVCYW5uZXIuc2Nzc1wiOyBcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL3NhdmVCYW5uZXIvb3JpZ2luYWwvc2F2ZUJhbm5lci5zY3NzXCI7IFxuXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9idG5Pbmx5L2J0bk9ubHkuc2Nzc1wiOyBcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2Zvb3Rlci9vcmlnaW5hbC9mb290ZXIuc2Nzc1wiOyBcbiIsIi5zdmctbG9nbyxcclxuLmljb24ge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogMWVtOyBoZWlnaHQ6IDFlbTsgbWFyZ2luOiAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyBmb250LXNpemU6IDFlbTsgLyogZGVmYXVsdC1zaXplICovXHJcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7IC8qIGRlZmF1bHQgY29sb3IgKi8gXHJcbiAgICBjb2xvcjogY3VycmVudENvbG9yOyAvKiBkZWZhdWx0IGNvbG9yIHdoZW4gY3VycmVudENvbG9yIGlzIHVzZWQgKi9cclxuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyBwb2ludGVyLWV2ZW50czogbm9uZTsgICAgXHJcbn1cclxuXHJcbi5zdmctbG9nbyB7XHJcbiAgICBoZWlnaHQ6IC4xOGVtO1xyXG4gICAgZm9udC1zaXplOiA4ZW07XHJcbn1cclxuIiwiOnJvb3Qge1xuICAgIC0tZ2l2ZUF3YXlCYW5uZXJfbWFpbkNvbG9yOiBoc2woMjQzLCAzMCUsIDI3JSk7XG4gICAgLS1naXZlQXdheUJhbm5lcl9tYWluQ29sb3JfbDogMjQzO1xuICAgIC0tZ2l2ZUF3YXlCYW5uZXJfbWFpbkNvbG9yX3M6IDMwJTtcbiAgICAtLWdpdmVBd2F5QmFubmVyX21haW5Db2xvcl9oOiAyNyU7XG59XG5cbi5jbHViIHtcbiAgICBtYXJnaW46IDAgYXV0bzsgcGFkZGluZzogMjBweCAxMHB4O1xuICAgIGZvbnQtZmFtaWx5OiBoZWx2ZXRpY2EgbmV1ZSwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBjb2xvcjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogI2UzZjBmMDtcblxuICAgIGgxIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmYW1pbHlNYWluOyBmb250LXNpemU6IDIycHg7IGxpbmUtaGVpZ2h0OiAyOXB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAjNmQ2ZTcxO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGIge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWF4LXdpZHRoOiAzMzVweDtcbiAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bzsgbWFyZ2luLWJvdHRvbTogMTJweDsgcGFkZGluZzogMjRweCAxMHB4IDE0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDsgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgJjpub3QoLmdpdmVBd2F5QmFubmVyKSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDZweDsgcGFkZGluZy1sZWZ0OiAyM3B4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7IHRvcDogMXB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTBweDsgaGVpZ2h0OiAxN3B4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoaHR0cHM6Ly9kdGpsaGlhaGx2NTNqLmNsb3VkZnJvbnQubmV0L2Fzc2V0cy9udWNpZmljL2Jpb3g0L3JlZC1jaGVjay5wbmcpIG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdpdmVBd2F5QmFubmVyIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBtYXJnaW46IC0yNHB4IC0xMHB4IDVweCA1cHg7IHBhZGRpbmc6IDE1cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGhzbCh2YXIoLS1naXZlQXdheUJhbm5lcl9tYWluQ29sb3JfbCksIGNhbGModmFyKC0tZ2l2ZUF3YXlCYW5uZXJfbWFpbkNvbG9yX3MpICsgNyUpLCBjYWxjKHZhcigtLWdpdmVBd2F5QmFubmVyX21haW5Db2xvcl9oKSArIDI4JSkpO1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAyMHB4O1xuXG4gICAgICAgICZfX2ltYWdlIHtcbiAgICAgICAgICAgIHdpZHRoOiA3NXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubW9kYWwtYmFja2Ryb3Auc2hvdyB7XG4gICAgb3BhY2l0eTogMC4yO1xufVxuIiwiLmhlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXJDb2xvcjtcbiAgY29sb3I6ICNmZmY7XG5cbiAgYm9keS52MDQgJiB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5cbiAgLm5hdiB7XG4gICAgLmxvZ28ge1xuICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuXG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogOTVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubGlrZS1idG4ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgLnNvY2lhbCB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcblxuICAgICAgZGl2IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQzOTIxNTY4NjI3NDUwOTgpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIHBhZGRpbmc6IDhweDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTNweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmOm5vdCguaGVhZGVyLS1taW5pbWFsKSB7XG4gICAgcGFkZGluZzogMTdweCAxNXB4IDEwcHg7XG4gIH1cblxuICAmLS1pbnZlcnNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNvbG9yOiAkaGVhZGVyQ29sb3I7XG4gIH1cblxuICAmLS1saWdodCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigjOTRkOGQ0LCAxMCk7XG4gICAgY29sb3I6ICRoZWFkZXJDb2xvcjtcbiAgfVxuXG4gICYtLW1pbmltYWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3gtc2hhZG93OiAwcHggM3B4IDZweCAjMDAwMDAwMjk7XG4gICAgei1pbmRleDogMTtcbiAgICBcbiAgICBAbWVkaWEobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgcGFkZGluZzogN3B4IDE1cHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICBwYWRkaW5nOiAxNXB4O1xuICAgIH1cbiAgfVxufVxuXG4uc3VydmV5UGFnZSB7XG4gIGhlYWRlciB7XG4gICAgcGFkZGluZzogMjBweCAwO1xuXG4gICAgLm5hdiB7XG4gICAgICAubG9nbyB7XG4gICAgICAgIC8vIHdpZHRoOiBhdXRvOyBcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnYyIHtcbiAgaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICB9XG59IiwiIC5ib3R0b21QYWdle2JhY2tncm91bmQtY29sb3I6ICNlM2YwZjA7IGJveC1zaGFkb3c6IDAgNnB4IDhweCAjZWJlYmViOyBvdmVyZmxvdzogaGlkZGVuOyBwYWRkaW5nLXJpZ2h0OiAxNXB4OyBwYWRkaW5nLWJvdHRvbTogMTVweDsgcGFkZGluZy1sZWZ0OiAxNXB4O1xuXG4gLy8gYS55ZXMsYS5ub3sgIGZvbnQtc2l6ZTogMTZweDsgd2lkdGg6IDMwJTsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBwYWRkaW5nOiA3cHggMDsgbGluZS1oZWlnaHQ6IDIycHg7Zm9udC13ZWlnaHQ6IGJvbGQ7IGN1cnNvcjogcG9pbnRlcjt9XG4gICAgYS5ub3ttYXJnaW4tdG9wOiAxMHB4OyBkaXNwbGF5OiBibG9jazsgIGZvbnQtc2l6ZTogMjFweDsgbGluZS1oZWlnaHQ6IDIycHg7IGJveC1zaGFkb3c6IDNweCAzcHggM3B4ICMwMDA7IHBhZGRpbmc6IDEwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsgbWF4LXdpZHRoOiAzMzVweDsgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTQsMjU0LDI1NCwxKTtcbiAgICAgICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NCwyNTQsMjU0LDEpIDAlLCByZ2JhKDIxOSwyMTksMjE5LDEpIDE4JSwgcmdiYSgyMDksMjA5LDIwOSwxKSA1MyUsIHJnYmEoMjU0LDI1NCwyNTQsMSkgMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCByZ2JhKDI1NCwyNTQsMjU0LDEpKSwgY29sb3Itc3RvcCgxOCUsIHJnYmEoMjE5LDIxOSwyMTksMSkpLCBjb2xvci1zdG9wKDUzJSwgcmdiYSgyMDksMjA5LDIwOSwxKSksIGNvbG9yLXN0b3AoMTAwJSwgcmdiYSgyNTQsMjU0LDI1NCwxKSkpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjU0LDI1NCwyNTQsMSkgMCUsIHJnYmEoMjE5LDIxOSwyMTksMSkgMTglLCByZ2JhKDIwOSwyMDksMjA5LDEpIDUzJSwgcmdiYSgyNTQsMjU0LDI1NCwxKSAxMDAlKTtcbiAgICAgICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNTQsMjU0LDI1NCwxKSAwJSwgcmdiYSgyMTksMjE5LDIxOSwxKSAxOCUsIHJnYmEoMjA5LDIwOSwyMDksMSkgNTMlLCByZ2JhKDI1NCwyNTQsMjU0LDEpIDEwMCUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNTQsMjU0LDI1NCwxKSAwJSwgcmdiYSgyMTksMjE5LDIxOSwxKSAxOCUsIHJnYmEoMjA5LDIwOSwyMDksMSkgNTMlLCByZ2JhKDI1NCwyNTQsMjU0LDEpIDEwMCUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDI1NCwyNTQsMjU0LDEpIDAlLCByZ2JhKDIxOSwyMTksMjE5LDEpIDE4JSwgcmdiYSgyMDksMjA5LDIwOSwxKSA1MyUsIHJnYmEoMjU0LDI1NCwyNTQsMSkgMTAwJSk7XG4gICAgICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjZmVmZWZlJywgZW5kQ29sb3JzdHI9JyNmZWZlZmUnLCBHcmFkaWVudFR5cGU9MCApO1xuICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDt9XG4gICAgLnllc3sgIGJhY2tncm91bmQtY29sb3I6ICM4OGQ2OGI7IGNvbG9yOiAjMDAwO31cbiAgICAubm97ICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTI3NDc0O2NvbG9yOiAjZmZmZmZmO31cbiAgICAuZGlzY2xhaW1lcntcbiAgICAgICAgZm9udC1zaXplOiAxMHB4OyBtYXJnaW46IDI1cHggMCA1cHg7IGxpbmUtaGVpZ2h0OiAxMHB4OyB0ZXh0LWFsaWduOiBsZWZ0OyBjb2xvcjogIzAwMDsgbWF4LXdpZHRoOiAzMzVweDsgbWFyZ2luLWlubGluZTogYXV0bztcblxuICAgICAgICAmX19tb3JuaW5nLXNhbGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgICAgICAgICAgIGJvZHkuc2hvdy1wcm9tb0Jhbm5lciAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAudGVybXN7Zm9udC1zaXplOiAxMHB4OyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGxpbmUtaGVpZ2h0OiAxNXB4OyBjb2xvcjogIzAwYTc5ZDsgZm9udC13ZWlnaHQ6IDcwMDt9XG4gICAgLmNsb3Nle3Bvc2l0aW9uOiBhYnNvbHV0ZTsgcmlnaHQ6IDRweDsgdG9wOiAtMnB4OyBvcGFjaXR5OiAxOyBmb250LXNpemU6IDE1cHg7fVxuXG59XG4gIiwiLnNhdmVCYW5uZXJ7IGJhY2tncm91bmQtY29sb3I6ICRiZ0NvbG9yOyBwYWRkaW5nLWJvdHRvbTogNTBweDsgcGFkZGluZy10b3A6IDM1cHg7XG4gICAgLmNvbnRhaW5lci1sZ3tcbiAgICAgICAgLmJhbm5lcnttYXJnaW46IDA7IHBhZGRpbmc6MjBweCAxNXB4OyBib3JkZXItcmFkaXVzOiAyMXB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjYTdjZDA2O1xuICAgICAgICAgICAgJj4qe3BhZGRpbmc6IDA7fVxuICAgICAgICAgICAgLmNvbnRlbnR7dGV4dC1hbGlnbjogbGVmdDsgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgICAgICAgICAgICAgIC50aXRsZXtjb2xvcjogI2ZmZmZmZjtmb250LXNpemU6IDI0cHg7bGluZS1oZWlnaHQ6IDI2cHg7IGZvbnQtd2VpZ2h0OiBib2xkOyBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgJjphZnRlcntjb250ZW50OiBcIlwiO3dpZHRoOjE1NHB4IDsgaGVpZ2h0OiA0cHg7ZGlzcGxheTogYmxvY2s7ICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjMzQTcyOyBtYXJnaW46IDVweCAgMDt9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC50ZXh0e2ZvbnQtc2l6ZTogMTZweDtjb2xvcjogI2ZmZmZmZjttYXJnaW4tdG9wOiAxMnB4OyBsaW5lLWhlaWdodDogMjBweDsgZm9udC13ZWlnaHQ6IDMwMDsgICAgIFxuICAgICAgICAgICAgICAgICAgICBzcGFue2Rpc3BsYXk6IGJsb2NrO30gICAgICAgICAgIFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGJvZHkuc2hvdy1wcm9tb0Jhbm5lci5yZEFURjAxICYge1xuICAgICAgICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiAyNXB4O1xuICAgIH1cbn0iLCJAdXNlIFwic2FzczptYXRoXCI7XHJcblxyXG4kZ3JpZC1ndXR0ZXItd2lkdGg6IDMwcHg7XHJcblxyXG4kYW5jaG9yLW1hcmdpbjogMDtcclxuJGJhbm5lci1tYXJnaW46IDEwcHg7XHJcblxyXG4ucHJvbW8tYmFubmVyLWFuY2hvciB7XHJcbiAgICBkaXNwbGF5OiBibG9jazsgbWFyZ2luLXRvcDogJGFuY2hvci1tYXJnaW47IGhlaWdodDogMDtcclxuXHJcbiAgICBib2R5LnYtdGVzdGl2aWQgJiB7XHJcbiAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucHJvbW8tYmFubmVyIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuOyBwb3NpdGlvbjogc3RpY2t5OyB0b3A6IDA7IHotaW5kZXg6IDEwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJGJhbm5lci1tYXJnaW47IHBhZGRpbmc6IDA7XHJcbiAgICBib3JkZXI6IDAgbm9uZTsgYm9yZGVyLWltYWdlLXdpZHRoOiAwO1xyXG5cclxuICAgIGJvZHkuc2hvdy1wcm9tb0Jhbm5lcjpub3QoLmNsdWItb2ZmZXIpOm5vdCguc2hvdy1wcm9tb0Jhbm5lci0tY2x1YikgJiB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgYm9keS52LXRlc3RpdmlkICYge1xyXG4gICAgICAgIG1hcmdpbi1ibG9jazogMDtcclxuICAgIH1cclxuXHJcbiAgICBib2R5LnJkQVRGMDEgJiB7XHJcbiAgICAgICAgbWFyZ2luLWJsb2NrOiAwO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnaG92ZXInLCAnZmluZScpIHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fYmFubmVyIHtcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBib3JkZXI6IDAgbm9uZTsgYm9yZGVyLWltYWdlLXdpZHRoOiAwO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj00MTVweCcsICc8dGFibGV0Jykge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzNTBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsgIFxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPHRhYmxldC1taWQnKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTQ0MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQtbWlkJykge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE5MjBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzxkZXNrdG9wLW1heCcpIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogNTAlOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fdGl0bGUge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiA3dnc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPHRhYmxldC1taWQnKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNC41dnc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldC1taWQnLCAnPGRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNHZ3O1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJywgJzxkZXNrdG9wLW1pZCcpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAzLjV2dztcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcC1taWQnKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4yNXZ3O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19zdWJ0aXRsZSB7XHJcbiAgICAgICAgYiB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNnZ3O1xyXG5cclxuICAgICAgICAgICAgYiB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI4cHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDd2dztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8tIGJhbm5lciBtb2RpZmllcnMgYWNjb3JkaW5nIHRvIHRoZSBwcm92aWRlZCBiYW5uZXIgdmVyc2lvbiBcclxuICAgICYtLW1vcm5pbmctc2FsZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KCc5MGRlZycsICNmZmJkMTEgNTAlLCNmMTRiMjMgNTElKTtcclxuXHJcbiAgICAgICAgLy8gJiB+IC5jYXJ0IHtcclxuICAgICAgICAvLyAgICAgYm9keS5zaG93LXByb21vQmFubmVyICYge1xyXG4gICAgICAgIC8vICAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgIC8vLSBDb21tZW50ZWQgb3V0IHRvIGFkZCBjb250aW51aXR5IHRvIG1vcm5pbmcgc2FsZVxyXG4gICAgICAgIC8vICYgfiAuc2F2ZUJhbm5lciB7XHJcbiAgICAgICAgLy8gICAgIGJvZHkuc2hvdy1wcm9tb0Jhbm5lciAmIHtcclxuICAgICAgICAvLyAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG5cclxuICAgICAgICAvLyAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgLy8gICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICAvLyAgICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgIC8vICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgLy8gICAgICAgICB9XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyB9XHJcbiAgICB9XHJcblxyXG4gICAgJi0tdjAyIHtcclxuICAgICAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQoJzkwZGVnJywgI0ZCQjAxNyAwJSwjQzQ2MjE5IDEwMCUpO1xyXG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXByb21vQmFubmVyQmxvY2tQYWRkaW5nLCAxZW0pIG1hdGguZGl2KCRncmlkLWd1dHRlci13aWR0aCwgMik7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuXHJcbiAgICAgICAgLnByb21vLWJhbm5lciB7XHJcbiAgICAgICAgICAgICZfX2ltYWdlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICYtLXJpZ2h0IHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDgwJTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtMTAlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPHRhYmxldC1taWQnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyODAlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldC1taWQnLCAnPGRlc2t0b3AtbWlkJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzAwJSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wLW1pZCcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI2NSUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgJi0tbGVmdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IC02JTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA2OCU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDc0JTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8dGFibGV0LW1pZCcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMjUlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0LW1pZCcsICc8ZGVza3RvcC1taWQnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzMwJSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AtbWlkJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMxMCUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmIH4gLmZyZWVHaWZ0QmFubmVye1xyXG4gICAgICAgIGJvZHkuc2hvdy1wcm9tb0Jhbm5lciAmIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAtJGJhbm5lci1tYXJnaW47XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5kaXNjbGFpbWVyIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAuNzVlbTtcclxuICAgICAgICBmb250LXNpemU6IDEuMTVlbTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXHJcbi8vICAgIChfKSAgICAgICAgICB8IHwgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoXylcclxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXHJcbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XHJcbi8vICAgIHwgfCB8IHwgfCAoX198IHwgfF98IHwgKF98IHwgIF9fLyB8IHwgfCB8IHwgfCAgX18vIChffCB8IHwgKF98IHxcclxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcclxuLy9cclxuLy8gICAgICBTaW1wbGUsIGVsZWdhbnQgYW5kIG1haW50YWluYWJsZSBtZWRpYSBxdWVyaWVzIGluIFNhc3NcclxuLy8gICAgICAgICAgICAgICAgICAgICAgICB2MS40LjlcclxuLy9cclxuLy8gICAgICAgIGh0dHBzOi8vZWR1YXJkb2JvdWNhcy5naXRodWIuaW8vaW5jbHVkZS1tZWRpYVxyXG4vL1xyXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcclxuLy8gICAgICAgICAgICAgICAgICBIdWdvIEdpcmF1ZGVsIChAaHVnb2dpcmF1ZGVsKVxyXG4vL1xyXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXHJcbi8vLy9cclxuLy8vIGluY2x1ZGUtbWVkaWEgbGlicmFyeSBwdWJsaWMgY29uZmlndXJhdGlvblxyXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xyXG4vLy8gQGFjY2VzcyBwdWJsaWNcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2YgZ2xvYmFsIGJyZWFrcG9pbnRzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCB3aXRoIHRoZSBsYWJlbCBgbW9iaWxlYFxyXG4vLy8gICRicmVha3BvaW50czogKCdtb2JpbGUnOiAzMjBweCk7XHJcbi8vL1xyXG4kYnJlYWtwb2ludHM6IChcclxuICAnbW9iaWxlJzogMzIwcHgsXHJcbiAgJ21vYmlsZTM3NSc6IDM3NXB4LFxyXG4gIC8vICd0YWJsZXQnOiA3NjhweCxcclxuICAvLyAnZGVza3RvcCc6IDEwMjRweFxyXG4gICdtb2JpbGUtbWlkJzogNTIwcHgsXHJcbiAgJ21vYmlsZS1tYXgnOiA1NzVweCxcclxuICAndGFibGV0JzogNzY4cHgsXHJcbiAgJ3RhYmxldC1taWQnOiA5OTJweCxcclxuICAnZGVza3RvcCc6IDEwMjVweCxcclxuICAnZGVza3RvcC1taWQnOiAxMjAwcHgsXHJcbiAgJ2Rlc2t0b3AtbWF4JzogMTkyMHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLy0gbW9iaWxlIG9ubHlcclxuLy8vLy0gKCc8dGFibGV0JykgLSBtYXgtd2lkdGg6IDc2N3B4XHJcbi8vLSB0YWJsZXQgb25seVxyXG4vLy8vLSAoJz49dGFibGV0JywgJzxkZXNrdG9wJykgLSBtaW4td2lkdGg6IDc2OHB4OyBtYXgtd2lkdGg6IDEwMjRweFxyXG4vLy0gZGVza3RvcCBvbmx5XHJcbi8vLy8tICgnPj1kZXNrdG9wJykgLSBtaW4td2lkdGg6IDEwMjVweFxyXG5cclxuLy8vXHJcbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBtZWRpYSB0eXBlIChzY3JlZW4pXHJcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHN0YXRpYyBleHByZXNzaW9uIHdpdGggbG9naWNhbCBkaXNqdW5jdGlvbiAoT1Igb3BlcmF0b3IpXHJcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXHJcbi8vLyAgICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSdcclxuLy8vICApO1xyXG4vLy9cclxuJG1lZGlhLWV4cHJlc3Npb25zOiAoXHJcbiAgJ3NjcmVlbic6ICdzY3JlZW4nLFxyXG4gICdwcmludCc6ICdwcmludCcsXHJcbiAgJ2hhbmRoZWxkJzogJ2hhbmRoZWxkJyxcclxuICAnbGFuZHNjYXBlJzogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScsXHJcbiAgJ3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcclxuICAnaG92ZXInOiAnKGhvdmVyOiBob3ZlciknLFxyXG4gICdmaW5lJzogJyhwb2ludGVyOiBmaW5lKScsXHJcbiAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcclxuICAncmV0aW5hM3gnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMzUwZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAzZHBweCknXHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8vXHJcbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBwaXhlbHMgaXMgZGVmaW5lZCBhcyBgMWAgYnkgZGVmYXVsdFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgZW1zIGlzIGRlZmluZWQgYXMgYDAuMDFgIGJ5IGRlZmF1bHRcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciByZW1zIGlzIGRlZmluZWQgYXMgYDAuMWAgYnkgZGVmYXVsdCwgdG8gYmUgdXNlZCB3aXRoIGBmb250LXNpemU6IDYyLjUlO2BcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxyXG4vLy9cclxuJHVuaXQtaW50ZXJ2YWxzOiAoXHJcbiAgJ3B4JzogMSxcclxuICAnZW0nOiAwLjAxLFxyXG4gICdyZW0nOiAwLjEsXHJcbiAgJyc6IDBcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXHJcbi8vLyBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IG1lZGlhIHF1ZXJpZXMuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgLmZvbyB7XHJcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gIH1cclxuLy8vXHJcbiRpbS1tZWRpYS1zdXBwb3J0OiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBTZWxlY3RzIHdoaWNoIGJyZWFrcG9pbnQgdG8gZW11bGF0ZSB3aGVuIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgZGlzYWJsZWQuIE1lZGlhIHF1ZXJpZXMgdGhhdCBzdGFydCBhdCBvclxyXG4vLy8gaW50ZXJjZXB0IHRoZSBicmVha3BvaW50IHdpbGwgYmUgZGlzcGxheWVkLCBhbnkgb3RoZXJzIHdpbGwgYmUgaWdub3JlZC5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludFxyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIC5mb28ge1xyXG4vLy8gICAgY29sb3I6IHRvbWF0bztcclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAndGFibGV0JztcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBObyBvdXRwdXQgKi9cclxuLy8vXHJcbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCcgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIFNlbGVjdHMgd2hpY2ggbWVkaWEgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgaW4gYW4gZXhwcmVzc2lvbiBmb3IgaXQgdG8gYmUgdXNlZCB3aGVuIG1lZGlhIHF1ZXJpZXNcclxuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGFuZCBjb250YWlucyBvbmx5IGFjY2VwdGVkIG1lZGlhIGV4cHJlc3Npb25zXHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgIC5mb28ge1xyXG4vLy8gICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYnV0IGNvbnRhaW5zIGEgbWVkaWEgZXhwcmVzc2lvbiB0aGF0IGlzIG5vdCBhY2NlcHRlZFxyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xyXG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xyXG4vLy9cclxuJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicsICdwb3J0cmFpdCcsICdsYW5kc2NhcGUnKSAhZGVmYXVsdDtcclxuXHJcbi8vLy9cclxuLy8vIENyb3NzLWVuZ2luZSBsb2dnaW5nIGVuZ2luZVxyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gTG9nIGEgbWVzc2FnZSBlaXRoZXIgd2l0aCBgQGVycm9yYCBpZiBzdXBwb3J0ZWRcclxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXHJcbi8vLyB0byBkZXRlY3Qgc3VwcG9ydC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xyXG4vLy9cclxuQGZ1bmN0aW9uIGltLWxvZygkbWVzc2FnZSkge1xyXG4gIEBpZiBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKSB7XHJcbiAgICBAZXJyb3IgJG1lc3NhZ2U7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAd2FybiAkbWVzc2FnZTtcclxuICAgICRfOiBub29wKCk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRtZXNzYWdlO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBXcmFwcGVyIG1peGluIGZvciB0aGUgbG9nIGZ1bmN0aW9uIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGggYSBtb3JlIGZyaWVuZGx5XHJcbi8vLyBBUEkgdGhhbiBgQGlmIGltLWxvZygnLi4nKSB7fWAgb3IgYCRfOiBpbS1sb2coJy4uJylgLiBCYXNpY2FsbHksIHVzZSB0aGUgZnVuY3Rpb25cclxuLy8vIHdpdGhpbiBmdW5jdGlvbnMgYmVjYXVzZSBpdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluIGEgZnVuY3Rpb25cclxuLy8vIGFuZCB1c2UgdGhlIG1peGluIGV2ZXJ5d2hlcmUgZWxzZSBiZWNhdXNlIGl0J3MgbXVjaCBtb3JlIGVsZWdhbnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcclxuLy8vXHJcbkBtaXhpbiBsb2coJG1lc3NhZ2UpIHtcclxuICBAaWYgaW0tbG9nKCRtZXNzYWdlKSB7fVxyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBGdW5jdGlvbiB3aXRoIG5vIGBAcmV0dXJuYCBjYWxsZWQgbmV4dCB0byBgQHdhcm5gIGluIFNhc3MgMy4zXHJcbi8vLyB0byB0cmlnZ2VyIGEgY29tcGlsaW5nIGVycm9yIGFuZCBzdG9wIHRoZSBwcm9jZXNzLlxyXG4vLy9cclxuQGZ1bmN0aW9uIG5vb3AoKSB7fVxyXG5cclxuLy8vXHJcbi8vLyBEZXRlcm1pbmVzIHdoZXRoZXIgYSBsaXN0IG9mIGNvbmRpdGlvbnMgaXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbmRpdGlvbnMgYXJlIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludFxyXG4vLy9cclxuQGZ1bmN0aW9uIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pIHtcclxuICAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcclxuXHJcbiAgQGlmIG5vdCAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSB7XHJcbiAgICBAaWYgaW0tbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge31cclxuICB9XHJcblxyXG4gIEBlYWNoICRjb25kaXRpb24gaW4gJGNvbmRpdGlvbnMge1xyXG4gICAgQGlmIG5vdCBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcclxuICAgICAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkY29uZGl0aW9uKTtcclxuICAgICAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XHJcbiAgICAgICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGNvbmRpdGlvbiwgJG9wZXJhdG9yKTtcclxuXHJcbiAgICAgIEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxyXG4gICAgICAgICAgKCRwcmVmaXggPT0gJ21pbicgYW5kICR2YWx1ZSA+ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSB7XHJcbiAgICAgICAgQHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiBub3QgaW5kZXgoJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XHJcbiAgICAgIEByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuIHRydWU7XHJcbn1cclxuXHJcbi8vLy9cclxuLy8vIFBhcnNpbmcgZW5naW5lXHJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgb3BlcmF0b3Igb2YgYW4gZXhwcmVzc2lvblxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBvcGVyYXRvciBmcm9tXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pIHtcclxuICBAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcclxuICAgIEBpZiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xyXG4gICAgICBAcmV0dXJuICRvcGVyYXRvcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cclxuICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxyXG4gIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxyXG4gIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXHJcbiAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxyXG4gICRfOiBpbS1sb2coJ05vIG9wZXJhdG9yIGZvdW5kIGluIGAjeyRleHByZXNzaW9ufWAuJyk7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCBkaW1lbnNpb24gb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XHJcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcbiAgJHBhcnNlZC1kaW1lbnNpb246IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgMCwgJG9wZXJhdG9yLWluZGV4IC0gMSk7XHJcbiAgJGRpbWVuc2lvbjogJ3dpZHRoJztcclxuXHJcbiAgQGlmIHN0ci1sZW5ndGgoJHBhcnNlZC1kaW1lbnNpb24pID4gMCB7XHJcbiAgICAkZGltZW5zaW9uOiAkcGFyc2VkLWRpbWVuc2lvbjtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJGRpbWVuc2lvbjtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IGRpbWVuc2lvbiBwcmVmaXggYmFzZWQgb24gYW4gb3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYG1pbmAgb3IgYG1heGBcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKSB7XHJcbiAgQHJldHVybiBpZihpbmRleCgoJzwnLCAnPD0nLCAn4omkJyksICRvcGVyYXRvciksICdtYXgnLCAnbWluJyk7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCB2YWx1ZSBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xyXG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG4gICR2YWx1ZTogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAkb3BlcmF0b3ItaW5kZXggKyBzdHItbGVuZ3RoKCRvcGVyYXRvcikpO1xyXG5cclxuICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcclxuICAgICR2YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICR2YWx1ZSk7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICAkdmFsdWU6IHRvLW51bWJlcigkdmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgJGludGVydmFsOiBtYXAtZ2V0KCR1bml0LWludGVydmFscywgdW5pdCgkdmFsdWUpKTtcclxuXHJcbiAgQGlmIG5vdCAkaW50ZXJ2YWwge1xyXG4gICAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xyXG4gICAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcclxuICAgIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxyXG4gICAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcclxuICAgIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cclxuICAgICRfOiBpbS1sb2coJ1Vua25vd24gdW5pdCBgI3t1bml0KCR2YWx1ZSl9YC4nKTtcclxuICB9XHJcblxyXG4gIEBpZiAkb3BlcmF0b3IgPT0gJz4nIHtcclxuICAgICR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xyXG4gIH0gQGVsc2UgaWYgJG9wZXJhdG9yID09ICc8JyB7XHJcbiAgICAkdmFsdWU6ICR2YWx1ZSAtICRpbnRlcnZhbDtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHZhbHVlO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBQYXJzZSBhbiBleHByZXNzaW9uIHRvIHJldHVybiBhIHZhbGlkIG1lZGlhLXF1ZXJ5IGV4cHJlc3Npb25cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFZhbGlkIG1lZGlhIHF1ZXJ5XHJcbi8vL1xyXG5AZnVuY3Rpb24gcGFyc2UtZXhwcmVzc2lvbigkZXhwcmVzc2lvbikge1xyXG4gIC8vIElmIGl0IGlzIHBhcnQgb2YgJG1lZGlhLWV4cHJlc3Npb25zLCBpdCBoYXMgbm8gb3BlcmF0b3JcclxuICAvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxyXG4gIEBpZiBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKSB7XHJcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbik7XHJcbiAgfVxyXG5cclxuICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKTtcclxuICAkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcbiAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XHJcbiAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuXHJcbiAgQHJldHVybiAnKCN7JHByZWZpeH0tI3skZGltZW5zaW9ufTogI3skdmFsdWV9KSc7XHJcbn1cclxuXHJcbi8vL1xyXG4vLy8gU2xpY2UgYCRsaXN0YCBiZXR3ZWVuIGAkc3RhcnRgIGFuZCBgJGVuZGAgaW5kZXhlc1xyXG4vLy9cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHN0YXJ0IFsxXSAtIFN0YXJ0IGluZGV4XHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGVuZCBbbGVuZ3RoKCRsaXN0KV0gLSBFbmQgaW5kZXhcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtMaXN0fSBTbGljZWQgbGlzdFxyXG4vLy9cclxuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxlbmd0aCgkbGlzdCkpIHtcclxuICBAaWYgbGVuZ3RoKCRsaXN0KSA8IDEgb3IgJHN0YXJ0ID4gJGVuZCB7XHJcbiAgICBAcmV0dXJuICgpO1xyXG4gIH1cclxuXHJcbiAgJHJlc3VsdDogKCk7XHJcblxyXG4gIEBmb3IgJGkgZnJvbSAkc3RhcnQgdGhyb3VnaCAkZW5kIHtcclxuICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBudGgoJGxpc3QsICRpKSk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRyZXN1bHQ7XHJcbn1cclxuXHJcbi8vLy9cclxuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXHJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBDYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn1cclxuLy8vXHJcbkBmdW5jdGlvbiB0by1udW1iZXIoJHZhbHVlKSB7XHJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XHJcbiAgICBAcmV0dXJuICR2YWx1ZTtcclxuICB9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnc3RyaW5nJyB7XHJcbiAgICAkXzogaW0tbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xyXG4gIH1cclxuXHJcbiAgJGZpcnN0LWNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgMSwgMSk7XHJcbiAgJHJlc3VsdDogMDtcclxuICAkZGlnaXRzOiAwO1xyXG4gICRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcclxuICAkbnVtYmVyczogKCcwJzogMCwgJzEnOiAxLCAnMic6IDIsICczJzogMywgJzQnOiA0LCAnNSc6IDUsICc2JzogNiwgJzcnOiA3LCAnOCc6IDgsICc5JzogOSk7XHJcblxyXG4gIC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxyXG4gIEBpZiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnKycgb3IgJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpIHtcclxuICAgICR2YWx1ZTogc3RyLXNsaWNlKCR2YWx1ZSwgMik7XHJcbiAgfVxyXG5cclxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHZhbHVlKSB7XHJcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xyXG5cclxuICAgIEBpZiBub3QgKGluZGV4KG1hcC1rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3Rlcikgb3IgJGNoYXJhY3RlciA9PSAnLicpIHtcclxuICAgICAgQHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0ci1zbGljZSgkdmFsdWUsICRpKSlcclxuICAgIH1cclxuXHJcbiAgICBAaWYgJGNoYXJhY3RlciA9PSAnLicge1xyXG4gICAgICAkZGlnaXRzOiAxO1xyXG4gICAgfSBAZWxzZSBpZiAkZGlnaXRzID09IDAge1xyXG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAkZGlnaXRzOiAkZGlnaXRzICogMTA7XHJcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSAvICRkaWdpdHM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBhZGQgdW5pdCB0b1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIGAkdmFsdWVgIGV4cHJlc3NlZCBpbiBgJHVuaXRgXHJcbi8vL1xyXG5AZnVuY3Rpb24gdG8tbGVuZ3RoKCR2YWx1ZSwgJHVuaXQpIHtcclxuICAkdW5pdHM6ICgncHgnOiAxcHgsICdjbSc6IDFjbSwgJ21tJzogMW1tLCAnJSc6IDElLCAnY2gnOiAxY2gsICdwYyc6IDFwYywgJ2luJzogMWluLCAnZW0nOiAxZW0sICdyZW0nOiAxcmVtLCAncHQnOiAxcHQsICdleCc6IDFleCwgJ3Z3JzogMXZ3LCAndmgnOiAxdmgsICd2bWluJzogMXZtaW4sICd2bWF4JzogMXZtYXgpO1xyXG5cclxuICBAaWYgbm90IGluZGV4KG1hcC1rZXlzKCR1bml0cyksICR1bml0KSB7XHJcbiAgICAkXzogaW0tbG9nKCdJbnZhbGlkIHVuaXQgYCN7JHVuaXR9YC4nKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHZhbHVlICogbWFwLWdldCgkdW5pdHMsICR1bml0KTtcclxufVxyXG5cclxuLy8vXHJcbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2ZcclxuLy8vIHRoZSBjYWxsLiBJdCBpcyBoZWxwZnVsIHdoZW4gaGF2aW5nIGEgY29tcG9uZW50IG5lZWRpbmcgYW4gZXh0ZW5kZWRcclxuLy8vIGNvbmZpZ3VyYXRpb24gc3VjaCBhcyBjdXN0b20gYnJlYWtwb2ludHMgKHJlZmVycmVkIHRvIGFzIHR3ZWFrcG9pbnRzKVxyXG4vLy8gZm9yIGluc3RhbmNlLlxyXG4vLy9cclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWtwb2ludHMgWygpXSAtIE1hcCBvZiB0d2Vha3BvaW50cyB0byBiZSBtZXJnZWQgd2l0aCBgJGJyZWFrcG9pbnRzYFxyXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucyBbKCldIC0gTWFwIG9mIHR3ZWFrZWQgbWVkaWEgZXhwcmVzc2lvbnMgdG8gYmUgbWVyZ2VkIHdpdGggYCRtZWRpYS1leHByZXNzaW9uYFxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBicmVha3BvaW50cyB3aXRoIGEgdHdlYWtwb2ludFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCkpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnPm1vYmlsZScsICc8PWN1c3RvbScpIHtcclxuLy8vICAgICAgIC8vIC4uLlxyXG4vLy8gICAgICB9XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBtZWRpYSBleHByZXNzaW9ucyB3aXRoIGEgY3VzdG9tIG9uZVxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoJ2FsbCc6ICdhbGwnKSkge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPm1vYmlsZScpIHtcclxuLy8vICAgICAgIC8vIC4uLlxyXG4vLy8gICAgICB9XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcclxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpLCAoJ2FsbCc6ICdhbGwnKSkge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPm1vYmlsZScsICc8PWN1c3RvbScpIHtcclxuLy8vICAgICAgIC8vIC4uLlxyXG4vLy8gICAgICB9XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuQG1peGluIG1lZGlhLWNvbnRleHQoJHR3ZWFrcG9pbnRzOiAoKSwgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoKSkge1xyXG4gIC8vIFNhdmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cclxuICAkZ2xvYmFsLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHM7XHJcbiAgJGdsb2JhbC1tZWRpYS1leHByZXNzaW9uczogJG1lZGlhLWV4cHJlc3Npb25zO1xyXG5cclxuICAvLyBVcGRhdGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cclxuICAkYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgkYnJlYWtwb2ludHMsICR0d2Vha3BvaW50cykgIWdsb2JhbDtcclxuICAkbWVkaWEtZXhwcmVzc2lvbnM6IG1hcC1tZXJnZSgkbWVkaWEtZXhwcmVzc2lvbnMsICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucykgIWdsb2JhbDtcclxuXHJcbiAgQGNvbnRlbnQ7XHJcblxyXG4gIC8vIFJlc3RvcmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cclxuICAkYnJlYWtwb2ludHM6ICRnbG9iYWwtYnJlYWtwb2ludHMgIWdsb2JhbDtcclxuICAkbWVkaWEtZXhwcmVzc2lvbnM6ICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnMgIWdsb2JhbDtcclxufVxyXG5cclxuLy8vL1xyXG4vLy8gaW5jbHVkZS1tZWRpYSBwdWJsaWMgZXhwb3NlZCBBUElcclxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcclxuLy8vIEBhY2Nlc3MgcHVibGljXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IGJhc2VkIG9uIGEgbGlzdCBvZiBjb25kaXRpb25zXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHNpbmdsZSBzZXQgYnJlYWtwb2ludFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+bW9iaWxlJykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggdHdvIHNldCBicmVha3BvaW50c1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+bW9iaWxlJywgJzw9dGFibGV0JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggY3VzdG9tIHZhbHVlc1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1OHB4JywgJzw4NTBweCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHNldCBicmVha3BvaW50cyB3aXRoIGN1c3RvbSB2YWx1ZXNcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnLCAnPD0xMzUwcHgnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHN0YXRpYyBleHByZXNzaW9uXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJ3JldGluYTJ4JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIE1peGluZyBldmVyeXRoaW5nXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzUwcHgnLCAnPHRhYmxldCcsICdyZXRpbmEzeCcpIHsgfVxyXG4vLy9cclxuQG1peGluIG1lZGlhKCRjb25kaXRpb25zLi4uKSB7XHJcbiAgQGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA9PSAwKSBvclxyXG4gICAgICAobm90ICRpbS1tZWRpYS1zdXBwb3J0IGFuZCBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSkge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfSBAZWxzZSBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPiAwKSB7XHJcbiAgICBAbWVkaWEgI3t1bnF1b3RlKHBhcnNlLWV4cHJlc3Npb24obnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XHJcbiAgICAgIC8vIFJlY3Vyc2l2ZSBjYWxsXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNsaWNlKCRjb25kaXRpb25zLCAyKS4uLikge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8qIG1peGlucyAqL1xyXG5AbWl4aW4gYm94LXNpemluZygkYm94LXNpemluZzogYm9yZGVyLWJveCkge1xyXG5cdC13ZWJraXQtYm94LXNpemluZzogJGJveC1zaXppbmc7XHJcblx0LW1vei1ib3gtc2l6aW5nOiAkYm94LXNpemluZztcclxuXHRib3gtc2l6aW5nOiAkYm94LXNpemluZztcclxufVxyXG5cclxuQG1peGluIGNlbnRlci12ZXJ0aWNhbGx5KCRwb3NpdGlvbjogYWJzb2x1dGUpIHtcclxuXHRwb3NpdGlvbjogJHBvc2l0aW9uO1xyXG5cdHRvcDogNTAlO1xyXG5cdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG5cdC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG59XHJcblxyXG5AbWl4aW4gdGV4dC1zaXplLWFkanVzdCB7XHJcblx0LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xyXG5cdC1tb3otdGV4dC1zaXplLWFkanVzdDogMTAwJTtcclxuXHQtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcclxufVxyXG5cclxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3JtKSB7XHJcblx0LW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybTtcclxuXHQtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybTtcclxuXHR0cmFuc2Zvcm06ICR0cmFuc2Zvcm07XHJcbn1cclxuXHJcbkBtaXhpbiB0cmFuc2l0aW9uKCRwYXJhbWV0ZXJzOiBhbGwgMC41cyBlYXNlKSB7XHJcblx0LXdlYmtpdC10cmFuc2l0aW9uOiAkcGFyYW1ldGVycztcclxuXHQtbW96LXRyYW5zaXRpb246ICRwYXJhbWV0ZXJzO1xyXG5cdC1tcy10cmFuc2l0aW9uOiAkcGFyYW1ldGVycztcclxuXHQtby10cmFuc2l0aW9uOiAkcGFyYW1ldGVycztcclxuXHR0cmFuc2l0aW9uOiAkcGFyYW1ldGVycztcclxufVxyXG5cclxuQG1peGluIHVzZXItc2VsZWN0IHtcclxuXHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xyXG5cdC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcblx0dXNlci1zZWxlY3Q6IG5vbmU7XHJcbn1cclxuXHJcbi8vLSBMaW5lYXIgR3JhZGllbnQgbWl4aW5cclxuLy8tICRkaXJlY3Rpb246IHZlcnRpY2FsIHwgaG9yaXpvbmFsIHwgbnVtYmVyXHJcbkBtaXhpbiBsaW5lYXItZ3JhZGllbnQoJGRpcmVjdGlvbiwgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkc3RhcnQtY29sb3I7XHJcbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBcInZlcnRpY2FsXCIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7XHJcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJob3Jpem9udGFsXCIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjeyRkaXJlY3Rpb259LCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xyXG4gICAgfVxyXG59IiwiLnNhdmVCYW5uZXJ7IGJhY2tncm91bmQtY29sb3I6ICRiZ0NvbG9yOyBwYWRkaW5nOjA7IGZvbnQtZmFtaWx5OiBoZWx2ZXRpY2EgbmV1ZSxIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjtcbiAgICAuY29udGFpbmVyLWxne21heC13aWR0aDogMzM1cHg7IHBhZGRpbmc6IDA7XG4gICAgICAgIC5iYW5uZXJ7bWFyZ2luOiAwOyBwYWRkaW5nOjIwcHggMTVweDsgYm9yZGVyLXJhZGl1czogMjFweDsgYmFja2dyb3VuZC1jb2xvcjogI2E3Y2QwNjtcbiAgICAgICAgICAgICY+KntwYWRkaW5nOiAwO31cbiAgICAgICAgICAgIC5jb250ZW50e3RleHQtYWxpZ246IGxlZnQ7IHBhZGRpbmctbGVmdDogMjVweDtcbiAgICAgICAgICAgICAgICAudGl0bGV7Y29sb3I6ICNmZmZmZmY7Zm9udC1zaXplOiAyNHB4O2xpbmUtaGVpZ2h0OiAyNnB4OyBmb250LXdlaWdodDogYm9sZDsgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICY6YWZ0ZXJ7Y29udGVudDogXCJcIjt3aWR0aDoxNTRweCA7IGhlaWdodDogNHB4O2Rpc3BsYXk6IGJsb2NrOyAgYmFja2dyb3VuZC1jb2xvcjogIzIzM0E3MjsgbWFyZ2luOiA1cHggIDA7fVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAudGV4dHtmb250LXNpemU6IDE2cHg7Y29sb3I6ICNmZmZmZmY7bWFyZ2luLXRvcDogMTdweDsgbGluZS1oZWlnaHQ6IDIwcHg7IGZvbnQtd2VpZ2h0OiAzMDA7ICAgICBcbiAgICAgICAgICAgICAgICAgICAgc3BhbntkaXNwbGF5OiBibG9jazt9ICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLmJ0bk9ubHkge1xuICAgIHBhZGRpbmc6IDQwcHggMjVweCAyMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vZHRqbGhpYWhsdjUzai5jbG91ZGZyb250Lm5ldC9hc3NldHMvbnVjaWZpYy9iaW94NC9oZWFkZXIuanBnXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgXG4gICAgLmNvbnRhaW5lci1sZyB7XG4gICAgICAgIC5jdGEge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBib2R5LmNhcnQwMiAmIHtcbiAgICAgICAgcGFkZGluZzogMzBweCAyMnB4O1xuXG4gICAgICAgIC5jb250YWluZXItbGcge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGJvZHkudjA0ICYge1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDA7XG5cbiAgICAgICAgLmNvbnRhaW5lci1sZyB7XG4gICAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnYyIHtcbiAgICAuYnRuT25seSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggMjVweDtcbiAgICAgICAgLmNvbnRhaW5lci1sZyB7XG4gICAgICAgICAgICAuY3RhIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5mb290ZXIge1xuICAgIHBhZGRpbmc6IDE0cHggMDtcbiAgICBjb2xvcjogI2JjYmVjMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjMDBhNzlkO1xuXG4gICAgLmNvbnRhaW5lci1sZyB7XG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMDBhNzlkO1xuICAgICAgICAgICAgcGFkZGluZzogMTZweCAwO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29weXJpZ2h0IHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogMWVtO1xuXG4gICAgICAgICYgKyAjeyZ9IHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDE2NywgMTU3LCAwLjUpO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmLS1zdGF0ZW1lbnQge1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IDFlbTtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMCwgMTY3LCAxNTcsIDAuNSk7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMCwgMTY3LCAxNTcsIDAuNSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJl9fZGlzY2xhaW1lciB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IDFlbTtcbiAgICAgICAgY29sb3I6ICMyNzc2Njk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDE2NywgMTU3LCAwLjUpO1xuICAgIH1cbn1cbiJdfQ== */
