/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0;overflow-y:scroll}h1{font-size:2em;margin:.67em 0}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}body{font-family:Helvetica,Arial,sans-serif;font-size:10px;font-size:.625rem;line-height:1.2;text-transform:uppercase;color:#000}ul{margin:0;padding:0;list-style:none}p{margin:1.5em 0}a{text-decoration:none;color:#000}button{border:0;padding:0;background-color:transparent;cursor:pointer}a:active,a:focus,a:hover,button:active,button:focus,button:hover{font-weight:700}img,video{max-width:100%;height:auto}.post{margin-bottom:4em}.post img{display:block}.post:last-child{margin-bottom:0}.details span{display:block}[id=aside] .details{font-weight:700}.sr-only{position:absolute;border:0;padding:0;width:1px;height:1px;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);overflow:hidden;white-space:nowrap}body{background-color:#fff}@media (max-width:49.99em){body{padding:7em 0 2em}}@media (min-width:50em){body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding-top:2.5em 0 10em}}@media (min-width:80em){body{margin-right:auto;margin-left:auto;width:1280px}}@media (min-width:50em){[id=main]{margin-top:159px;padding-left:30px;-webkit-box-flex:1;-ms-flex:1;flex:1}}.container-paginate{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:15px 0}@media (max-width:49.99em){.container-paginate{padding:15px}}.container-paginate li.page-item{padding-left:1em}ul.pagination.flex-wrap{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:0}li.page-item{font-weight:700}li.page-item .page-link{font-weight:400}li.page-item a.is-active,li.page-item a:active,li.page-item a:focus,li.page-item a:hover{font-weight:700}.hidden{display:none}.hidden,.visibility-none{visibility:hidden}@media (max-width:49.99em){[id=aside]{padding:0 15px}[id=aside]>.inner-wrapper{text-align:right}}@media (min-width:50em){[id=aside]{padding-right:15px;padding-left:30px;width:305px;-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}[id=aside]>.inner-wrapper{position:-webkit-sticky;position:sticky;z-index:2;top:0;padding-top:2.5em;background-color:#fff}}[id=menu]{line-height:2}[id=menu] span,[id=menu] strong{display:block}[id=menu] .active{font-weight:700}nav{margin-bottom:20px;margin-bottom:1.25rem;background-color:#fff}nav .is-active{font-weight:700}@media (max-width:49.99em){nav{position:fixed;z-index:2;top:0;right:0;left:0;text-align:right}nav ul{display:inline-block;margin:2em 15px 2em 0;width:139px;text-align:left}}.swiper-container{position:relative;overflow:hidden;display:inline-block;margin-bottom:1em;width:140px;text-align:left;line-height:1.2}.swiper-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transition:none;transition:none}[class^=swiper-button]{position:absolute;top:0;z-index:1}[class^=swiper-button]:before{display:inline;font-weight:700;speak:none}.swiper-button-prev{left:5px}.swiper-button-prev:before{content:"<"}.swiper-button-next{right:5px}.swiper-button-next:before{content:">"}.swiper-slide{-ms-flex-negative:0;flex-shrink:0}.swiper-slide .month{position:relative;margin:0 15px;text-align:center}.swiper-calendar{width:100%;text-align:center;color:#888}.swiper-calendar a{font-weight:700;color:#000}@media (max-width:49.99em){[class^=diary] .caption{margin-left:15px;margin-right:15px}.diary-page .details{margin-left:15px}}@media (max-width:49.99em){[class^=diary] .date{margin:1em 15px 0;text-align:right}.diary-list .post{margin-bottom:2em}.diary-page .details{margin-bottom:1em}}@media (min-width:50em){[class^=diary] .post{position:relative}[class^=diary] .date{position:absolute;top:0;bottom:0;left:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-left:30px;width:305px}.diary-page .details{margin-bottom:2em}}[id=exhibitions-list] a{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex}[id=exhibitions-list] a .title{-webkit-box-flex:1;-ms-flex:1;flex:1}[id=exhibitions-list] a .month{width:114px}[id=exhibitions-list] a .year{width:25px;text-align:right}.is-image{position:relative}.is-image>span{position:absolute;top:0;right:0;bottom:0;left:0;padding:20px}.container{display:-webkit-box;display:-ms-flexbox;display:flex}.container.is-text{padding:20px}.container[data-alignment^=up_]{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.container[data-alignment^=middle_]{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.container[data-alignment^=down_]{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.container[data-alignment$=_middle]{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.container[data-alignment$=_right]{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.container[data-color="#FFFFFF"]{color:#fff}.container[data-background="#000000"]{background-color:#000}.container[data-fontsize="12"]{font-size:1.2em}.container[data-fontsize="14"]{font-size:1.4em}.container[data-fontsize="16"]{font-size:1.6em}.container[data-fontsize="18"]{font-size:1.8em}.container[data-fontsize="20"]{font-size:2em}.container[data-fontsize="22"]{font-size:2.2em}.container[data-fontsize="24"]{font-size:2.4em}.container[data-fontweight=lighter]{font-weight:lighter}.container[data-fontweight=bold]{font-weight:700}@media (max-width:49.99em){.video-player button,.video-player span,[id=audio-player] button,[id=audio-player] span{margin-left:15px}}.video-player button,[id=audio-player] button{text-transform:uppercase}.video-player span,[id=audio-player] span{display:block}[id=audio-player]{margin-top:2em}.video-player video{margin-top:1em}@media (max-width:49.99em){[id=aside] .caption,[id=aside] .details,[id=aside] [id=exhibitions-list]{text-align:left}[id=aside] .details{margin-bottom:2em}[id=aside] .details.live{display:none}[id=aside] .caption{margin-bottom:4em}[id=audio-player]{margin-bottom:4em;text-align:left}.caption+[id=audio-player]{margin-top:-2em}[id=covers-list]{margin-top:2em;position:relative}[id=covers-list] img{position:absolute;top:0;left:0}.video-player video{width:100%;height:auto}}@media (min-width:50em){[id=aside] .details{min-height:88px}[id=aside] .is-active{font-weight:700}[id=covers-list] img{display:none}[id=covers-list] img:first-child{display:block}}@media (min-width:80em){.video-player button,.video-player span{margin-left:0}}/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImdlbmVyaWMvX25vcm1hbGl6ZS5zY3NzIiwic3R5bGVzLmNzcyIsImNvbXBvbmVudHMvX3R5cG9ncmFwaHkuc2NzcyIsInNldHRpbmdzL19jb2xvci5zY3NzIiwiY29tcG9uZW50cy9fbGF5b3V0LnNjc3MiLCJnZW5lcmljL19tcS5zY3NzIiwiY29tcG9uZW50cy9fYXNpZGUuc2NzcyIsImNvbXBvbmVudHMvX25hdi5zY3NzIiwiY29tcG9uZW50cy9fY2FsZW5kYXJzLnNjc3MiLCJwYWdlcy9fZGlhcnkuc2NzcyIsInBhZ2VzL19leGhpYml0aW9ucy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDRFQUE0RSxBQVU1RSxLQUNFLGlCQUFpQixBQUNqQiw2QkFBOEIsQ0FDL0IsQUFTRCxLQUNFLFNBQVMsQUFDVCxpQkFBa0IsQ0FDbkIsQUFPRCxHQUNFLGNBQWMsQUFDZCxjQUFnQixDQUNqQixBQVVELEdBQ0UsdUJBQXVCLEFBQ3ZCLFNBQVMsQUFDVCxnQkFBaUIsQ0FDbEIsQUFPRCxJQUNFLGdDQUFpQyxBQUNqQyxhQUFjLENBQ2YsQUFTRCxFQUNFLDRCQUE2QixDQUM5QixBQU9ELFlBQ0UsbUJBQW1CLEFBQ25CLDBCQUEwQixBQUMxQixnQ0FBaUMsQ0FDbEMsQUFNRCxTQUVFLGtCQUFtQixDQUNwQixBQU9ELGNBR0UsZ0NBQWlDLEFBQ2pDLGFBQWMsQ0FDZixBQU1ELE1BQ0UsYUFBYyxDQUNmLEFBT0QsUUFFRSxjQUFjLEFBQ2QsY0FBYyxBQUNkLGtCQUFrQixBQUNsQix1QkFBd0IsQ0FDekIsQUFFRCxJQUNFLGFBQWUsQ0FDaEIsQUFFRCxJQUNFLFNBQVcsQ0FDWixBQVNELElBQ0UsaUJBQWtCLENBQ25CLEFBVUQsc0NBS0Usb0JBQW9CLEFBQ3BCLGVBQWUsQUFDZixpQkFBaUIsQUFDakIsUUFBUyxDQUNWLEFBT0QsYUFFRSxnQkFBaUIsQ0FDbEIsQUFPRCxjQUVFLG1CQUFvQixDQUNyQixBQU1ELGdEQUlFLHlCQUEwQixDQUMzQixBQU1E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LFlBQWEsQ0FDZCxBVCtoQkwsb0JTNWhCSSxpQkFBa0IsQ0FDbkIsQVQ2aEJILGtCUzFoQkUsa0JBQWtCLEFBQ2xCLGVBQWdCLENBSWpCLEFBSEMsMkJBQ0UsZUFBZ0IsQ0FDakIsQVQyaEJILGlCU3ZoQkUsZUFBZSxBQUNmLGlCQUFrQixDQU1uQixBVG1oQkMscUJTdmhCRSxrQkFBa0IsQUFDbEIsTUFBTSxBQUNOLE1BQU8sQ0FDUixBQUdILG9CQUNFLFdBQVcsQUFDWCxXQUFZLENBQ2IsQ0FBQSxBTG1GSyx3QkpvY04sb0JTaGhCSSxlQUFnQixDQUNqQixBVGloQkgsc0JTL2dCSSxlQUFpQixDQUNsQixBVGdoQkgscUJTNWdCSSxZQUFhLENBSWQsQVQwZ0JELGlDUzVnQkksYUFBYyxDQUNmLENBQUEsQUxpRUMsd0JLMUROLHdDQUVJLGFBQWMsQ0FDZixDQUFBIiwiZmlsZSI6InN0eWxlcy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqLyB9XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQge1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovIH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi8gfVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IC42MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG5cbnVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbnAge1xuICBtYXJnaW46IDEuNWVtIDA7IH1cblxuYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICMwMDA7IH1cblxuYnV0dG9uIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmJ1dHRvbjpmb2N1cywgYnV0dG9uOmhvdmVyLCBidXR0b246YWN0aXZlLCBhOmZvY3VzLCBhOmhvdmVyLCBhOmFjdGl2ZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmltZywgdmlkZW8ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4ucG9zdCB7XG4gIG1hcmdpbi1ib3R0b206IDRlbTsgfVxuICAucG9zdCBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5wb3N0Omxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmRldGFpbHMgc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbltpZD1cImFzaWRlXCJdIC5kZXRhaWxzIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLnNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgLXdlYmtpdC1jbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vKipcbiAqIDEuIE5hdidzIGhlaWdodFxuICogMi4gQXNpZGUncyB3aWR0aCArIGhvcml6b250YWwgcGFkZGluZ1xuICovXG5ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDkuOTllbSkge1xuICAgIGJvZHkge1xuICAgICAgcGFkZGluZzogN2VtIDAgMmVtO1xuICAgICAgLyogWzFdICovIH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIGJvZHkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHBhZGRpbmctdG9wOiAyLjVlbSAwIDEwZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAgIGJvZHkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB3aWR0aDogMTI4MHB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgW2lkPVwibWFpblwiXSB7XG4gICAgbWFyZ2luLXRvcDogMTU5cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIGZsZXg6IDE7IH0gfVxuXG4uY29udGFpbmVyLXBhZ2luYXRlIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAxNXB4IDA7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ5Ljk5ZW0pIHtcbiAgICAuY29udGFpbmVyLXBhZ2luYXRlIHtcbiAgICAgIHBhZGRpbmc6IDE1cHg7IH0gfVxuICAuY29udGFpbmVyLXBhZ2luYXRlIGxpLnBhZ2UtaXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxZW07IH1cblxudWwucGFnaW5hdGlvbi5mbGV4LXdyYXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDA7IH1cblxubGkucGFnZS1pdGVtIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxubGkucGFnZS1pdGVtIC5wYWdlLWxpbmsge1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbmxpLnBhZ2UtaXRlbSBhLmlzLWFjdGl2ZSwgbGkucGFnZS1pdGVtIGE6Zm9jdXMsIGxpLnBhZ2UtaXRlbSBhOmhvdmVyLCBsaS5wYWdlLWl0ZW0gYTphY3RpdmUge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi52aXNpYmlsaXR5LW5vbmUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLyoqXG4gKiAxLiBQdXNoIC5pbm5lci13cmFwcGVyIG92ZXIgLnBvc3QgLmRhdGVcbiAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDQ5Ljk5ZW0pIHtcbiAgW2lkPVwiYXNpZGVcIl0ge1xuICAgIHBhZGRpbmc6IDAgMTVweDsgfVxuICAgIFtpZD1cImFzaWRlXCJdID4gLmlubmVyLXdyYXBwZXIge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTBlbSkge1xuICBbaWQ9XCJhc2lkZVwiXSB7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgd2lkdGg6IDMwNXB4O1xuICAgIG9yZGVyOiAyOyB9XG4gICAgW2lkPVwiYXNpZGVcIl0gPiAuaW5uZXItd3JhcHBlciB7XG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIC8qIFsxXSAqL1xuICAgICAgdG9wOiAwO1xuICAgICAgcGFkZGluZy10b3A6IDIuNWVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfSB9XG5cbltpZD1cIm1lbnVcIl0ge1xuICBsaW5lLWhlaWdodDogMjsgfVxuICBbaWQ9XCJtZW51XCJdIHN0cm9uZywgW2lkPVwibWVudVwiXSBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICBbaWQ9XCJtZW51XCJdIC5hY3RpdmUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qKlxuICogMS4gUHVzaCBuYXYgb3ZlciAuc3dpcGVyLWJ1dHRvbnNcbiAqL1xubmF2IHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICBuYXYgLmlzLWFjdGl2ZSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ5Ljk5ZW0pIHtcbiAgICBuYXYge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIC8qIFsxXSAqL1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgIG5hdiB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAyZW0gMTVweCAyZW0gMDtcbiAgICAgICAgd2lkdGg6IDEzOXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuLyoqXG4gKiAxLiBQdXNoIC5zd2lwZXItYnV0dG9uIG92ZXIgbW9udGgncyBkaXNwbGF5XG4gKi9cbi5zd2lwZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgd2lkdGg6IDE0MHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBsaW5lLWhlaWdodDogMS4yOyB9XG5cbi5zd2lwZXItd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRyYW5zaXRpb246IG5vbmU7IH1cblxuW2NsYXNzXj1cInN3aXBlci1idXR0b25cIl0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTtcbiAgLyogWzFdICovIH1cbiAgW2NsYXNzXj1cInN3aXBlci1idXR0b25cIl06OmJlZm9yZSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHNwZWFrOiBub25lOyB9XG5cbi5zd2lwZXItYnV0dG9uLXByZXYge1xuICBsZWZ0OiA1cHg7IH1cbiAgLnN3aXBlci1idXR0b24tcHJldjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnPCc7IH1cblxuLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIHJpZ2h0OiA1cHg7IH1cbiAgLnN3aXBlci1idXR0b24tbmV4dDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnPic7IH1cblxuLnN3aXBlci1zbGlkZSB7XG4gIGZsZXgtc2hyaW5rOiAwOyB9XG4gIC5zd2lwZXItc2xpZGUgLm1vbnRoIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLyogWzFdICovXG4gICAgbWFyZ2luOiAwIDE1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5zd2lwZXItY2FsZW5kYXIge1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzg4ODsgfVxuICAuc3dpcGVyLWNhbGVuZGFyIGEge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiAjMDAwOyB9XG5cbi8qLy8gRGVmYXVsdFxuLnN3aXBlci1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAyMzVweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgJjphY3RpdmUge1xuICAgICAgICBjdXJzb3I6IGdyYWJiaW5nO1xuICAgIH1cbn1cblxuLnN3aXBlci13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi5zd2lwZXItc2xpZGUge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG59XG4qL1xuQG1lZGlhIChtYXgtd2lkdGg6IDQ5Ljk5ZW0pIHtcbiAgW2NsYXNzXj1cImRpYXJ5XCJdIC5jYXB0aW9uIHtcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH1cbiAgLmRpYXJ5LXBhZ2UgLmRldGFpbHMge1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ5Ljk5ZW0pIHtcbiAgW2NsYXNzXj1cImRpYXJ5XCJdIC5kYXRlIHtcbiAgICBtYXJnaW46IDFlbSAxNXB4IDA7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmRpYXJ5LWxpc3QgLnBvc3Qge1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTsgfVxuICAuZGlhcnktcGFnZSAuZGV0YWlscyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgW2NsYXNzXj1cImRpYXJ5XCJdIC5wb3N0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgW2NsYXNzXj1cImRpYXJ5XCJdIC5kYXRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICB3aWR0aDogMzA1cHg7IH1cbiAgLmRpYXJ5LXBhZ2UgLmRldGFpbHMge1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTsgfSB9XG5cbltpZD1cImV4aGliaXRpb25zLWxpc3RcIl0gYSB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIFtpZD1cImV4aGliaXRpb25zLWxpc3RcIl0gYSAudGl0bGUge1xuICAgIGZsZXg6IDE7IH1cbiAgW2lkPVwiZXhoaWJpdGlvbnMtbGlzdFwiXSBhIC5tb250aCB7XG4gICAgd2lkdGg6IDExNHB4OyB9XG4gIFtpZD1cImV4aGliaXRpb25zLWxpc3RcIl0gYSAueWVhciB7XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLmlzLWltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pcy1pbWFnZSA+IHNwYW4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcGFkZGluZzogMjBweDsgfVxuXG4uY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDsgfVxuICAuY29udGFpbmVyLmlzLXRleHQge1xuICAgIHBhZGRpbmc6IDIwcHg7IH1cbiAgLmNvbnRhaW5lcltkYXRhLWFsaWdubWVudF49XCJ1cF9cIl0ge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gIC5jb250YWluZXJbZGF0YS1hbGlnbm1lbnRePVwibWlkZGxlX1wiXSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuY29udGFpbmVyW2RhdGEtYWxpZ25tZW50Xj1cImRvd25fXCJdIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cbiAgLmNvbnRhaW5lcltkYXRhLWFsaWdubWVudCQ9XCJfbWlkZGxlXCJdIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuY29udGFpbmVyW2RhdGEtYWxpZ25tZW50JD1cIl9yaWdodFwiXSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAuY29udGFpbmVyW2RhdGEtY29sb3I9XCIjRkZGRkZGXCJdIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuY29udGFpbmVyW2RhdGEtYmFja2dyb3VuZD1cIiMwMDAwMDBcIl0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cbiAgLmNvbnRhaW5lcltkYXRhLWZvbnRzaXplPVwiMTJcIl0ge1xuICAgIGZvbnQtc2l6ZTogMS4yZW07IH1cbiAgLmNvbnRhaW5lcltkYXRhLWZvbnRzaXplPVwiMTRcIl0ge1xuICAgIGZvbnQtc2l6ZTogMS40ZW07IH1cbiAgLmNvbnRhaW5lcltkYXRhLWZvbnRzaXplPVwiMTZcIl0ge1xuICAgIGZvbnQtc2l6ZTogMS42ZW07IH1cbiAgLmNvbnRhaW5lcltkYXRhLWZvbnRzaXplPVwiMThcIl0ge1xuICAgIGZvbnQtc2l6ZTogMS44ZW07IH1cbiAgLmNvbnRhaW5lcltkYXRhLWZvbnRzaXplPVwiMjBcIl0ge1xuICAgIGZvbnQtc2l6ZTogMmVtOyB9XG4gIC5jb250YWluZXJbZGF0YS1mb250c2l6ZT1cIjIyXCJdIHtcbiAgICBmb250LXNpemU6IDIuMmVtOyB9XG4gIC5jb250YWluZXJbZGF0YS1mb250c2l6ZT1cIjI0XCJdIHtcbiAgICBmb250LXNpemU6IDIuNGVtOyB9XG4gIC5jb250YWluZXJbZGF0YS1mb250d2VpZ2h0PVwibGlnaHRlclwiXSB7XG4gICAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7IH1cbiAgLmNvbnRhaW5lcltkYXRhLWZvbnR3ZWlnaHQ9XCJib2xkXCJdIHtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDkuOTllbSkge1xuICBbaWQ9XCJhdWRpby1wbGF5ZXJcIl0gYnV0dG9uLCBbaWQ9XCJhdWRpby1wbGF5ZXJcIl0gc3BhbiwgLnZpZGVvLXBsYXllciBidXR0b24sIC52aWRlby1wbGF5ZXIgc3BhbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7IH0gfVxuXG5baWQ9XCJhdWRpby1wbGF5ZXJcIl0gYnV0dG9uLCAudmlkZW8tcGxheWVyIGJ1dHRvbiB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuW2lkPVwiYXVkaW8tcGxheWVyXCJdIHNwYW4sIC52aWRlby1wbGF5ZXIgc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbltpZD1cImF1ZGlvLXBsYXllclwiXSB7XG4gIG1hcmdpbi10b3A6IDJlbTsgfVxuXG4udmlkZW8tcGxheWVyIHZpZGVvIHtcbiAgbWFyZ2luLXRvcDogMWVtOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0OS45OWVtKSB7XG4gIFtpZD1cImFzaWRlXCJdIFtpZD1cImV4aGliaXRpb25zLWxpc3RcIl0sIFtpZD1cImFzaWRlXCJdIC5kZXRhaWxzLCBbaWQ9XCJhc2lkZVwiXSAuY2FwdGlvbiB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICBbaWQ9XCJhc2lkZVwiXSAuZGV0YWlscyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMmVtOyB9XG4gICAgW2lkPVwiYXNpZGVcIl0gLmRldGFpbHMubGl2ZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIFtpZD1cImFzaWRlXCJdIC5jYXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0ZW07IH1cbiAgW2lkPVwiYXVkaW8tcGxheWVyXCJdIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0ZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5jYXB0aW9uICsgW2lkPVwiYXVkaW8tcGxheWVyXCJdIHtcbiAgICAgIG1hcmdpbi10b3A6IC0yZW07IH1cbiAgW2lkPVwiY292ZXJzLWxpc3RcIl0ge1xuICAgIG1hcmdpbi10b3A6IDJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBbaWQ9XCJjb3ZlcnMtbGlzdFwiXSBpbWcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDsgfVxuICAudmlkZW8tcGxheWVyIHZpZGVvIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTBlbSkge1xuICBbaWQ9XCJhc2lkZVwiXSAuZGV0YWlscyB7XG4gICAgbWluLWhlaWdodDogODhweDsgfVxuICBbaWQ9XCJhc2lkZVwiXSAuaXMtYWN0aXZlIHtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICBbaWQ9XCJjb3ZlcnMtbGlzdFwiXSBpbWcge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBbaWQ9XCJjb3ZlcnMtbGlzdFwiXSBpbWc6Zmlyc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAudmlkZW8tcGxheWVyIGJ1dHRvbiwgLnZpZGVvLXBsYXllciBzcGFuIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4iLCJAY2hhcnNldCAnVVRGLTgnO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cbi8vIC0tLS0tLS0tLS0gI1RZUE9HUkFQSFkgLS0tLS0tLS0tLSAvL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXG5cbmJvZHkge1xuICBmb250LWZhbWlseTogSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAuNjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogJGRlZmF1bHQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbn1cblxudWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbnAge1xuICBtYXJnaW46IDEuNWVtIDA7XG59XG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAkZGVmYXVsdDtcbn1cblxuYnV0dG9uIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5idXR0b24sIGEge1xuICAmOmZvY3VzLCAmOmhvdmVyLCAmOmFjdGl2ZSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbn1cblxuaW1nLCB2aWRlbyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5cbi8vIFBvc3QgRGlhcnkgJiBFeGhpYml0aW9uc1xuLnBvc3Qge1xuICBtYXJnaW4tYm90dG9tOiA0ZW07XG4gIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLyBEaWFyeSAmIEV4aGliaXRpb25zIGRldGFpbHMgKHRpdGxlICYgcGxhY2UpXG4uZGV0YWlscyB7XG4gIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIFtpZD1cImFzaWRlXCJdICYge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG59XG5cblxuLy8gU2NyZWVuIHJlYWRlciBvbmx5XG4uc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICAtd2Via2l0LWNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgICAgICAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuLy8gLS0tLS0tLS0tLSAjQURNSU4gUlVMRVMgLS0tLS0tLS0tLSAvL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuXG5AaWYgJGFkbWluIHtcbiAgaDEge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cbiAgaDQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgLnRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIFt0eXBlPVwic3VibWl0XCJdLmJ0bixcbiAgW3R5cGU9XCJidXR0b25cIl0uYnRuIHtcbiAgICBtYXJnaW46IDE1cHggMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZGVmYXVsdDtcbiAgICBwYWRkaW5nOiAxZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkZWZhdWx0O1xuICB9XG59XG4iLCJAY2hhcnNldCAnVVRGLTgnO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuLy8gLS0tLS0tLS0tLSAjQ09MT1JTIC0tLS0tLS0tLS0gLy9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXG5cbiRibGFjazogIzAwMDtcbiRncmF5OiAjODg4O1xuJHJlZDogIzk4MTIwMDtcbiR3aGl0ZTogI2ZmZjtcblxuXG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuLy8gLS0tLS0tLS0tLSAjQVNTSUdOQVRJT05TIC0tLS0tLS0tLS0gLy9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXG5cbiRib3JkZXI6ICRncmF5O1xuJGRlZmF1bHQ6ICRibGFjaztcbiRkaXNhYmxlZDogJGdyYXk7XG4kZXJyb3I6ICRyZWQ7XG4iLCJAY2hhcnNldCAnVVRGLTgnO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuLy8gLS0tLS0tLS0tLSAjTEFZT1VUIC0tLS0tLS0tLS0gLy9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXG5cbi8qKlxuICogMS4gTmF2J3MgaGVpZ2h0XG4gKiAyLiBBc2lkZSdzIHdpZHRoICsgaG9yaXpvbnRhbCBwYWRkaW5nXG4gKi9cblxuYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgQGluY2x1ZGUgbXEoJHVudGlsOiBmbHVpZCkge1xuICAgIHBhZGRpbmc6IDdlbSAwIDJlbTsgICAgICAgICAgICAgICAgICAgLyogWzFdICovXG4gIH1cbiAgQGluY2x1ZGUgbXEoJGZyb206IGZsdWlkKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZy10b3A6IDIuNWVtIDAgMTBlbTsgICAgICAgICAgICAvLyAyNXB4IC0gMTAwcHhcbiAgfVxuICBAaW5jbHVkZSBtcSgkZnJvbTogZml4ZWQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgQGlmICRhZG1pbiB7XG4gICAgICB3aWR0aDogMTE1MHB4O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMTI4MHB4O1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtcSgkZnJvbTogZmx1aWQpIHtcbiAgW2lkPVwibWFpblwiXSB7XG4gICAgbWFyZ2luLXRvcDogMTU5cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIGZsZXg6IDE7XG4gIH1cbn1cblxuLmNvbnRhaW5lci1wYWdpbmF0ZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMTVweCAwO1xuXG4gIEBpbmNsdWRlIG1xKCR1bnRpbDogZmx1aWQpIHtcbiAgICAgIHBhZGRpbmc6IDE1cHg7XG4gIH1cblxuICBsaS5wYWdlLWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogMWVtO1xuICB9XG59XG5cbnVsLnBhZ2luYXRpb24uZmxleC13cmFwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG5saS5wYWdlLWl0ZW0ge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxubGkucGFnZS1pdGVtIC5wYWdlLWxpbmsge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG5saS5wYWdlLWl0ZW0gYSB7XG4gICYuaXMtYWN0aXZlLCAmOmZvY3VzLCAmOmhvdmVyLCAmOmFjdGl2ZSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbn1cblxuLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi52aXNpYmlsaXR5LW5vbmUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuLy8gLS0tLS0tLS0tLSAjQURNSU4gUlVMRVMgLS0tLS0tLS0tLSAvL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuXG5AaWYgJGFkbWluIHtcbiAgW2lkPVwibWFpblwiXSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNWVtO1xuICB9XG5cbiAgQGluY2x1ZGUgbXEoJHVudGlsOiBmaXhlZCkge1xuICAgIFtpZD1cIm1haW5cIl0ge1xuICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBmbHVpZCwgJHVudGlsOiBmaXhlZCkge1xuICAgIFtpZD1cIm1haW5cIl0ge1xuICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyODBweCk7ICAgICAgICAgICAvKiBbMl0gKi9cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtcSgkdW50aWw6IGZsdWlkKSB7XG4gICAgW2lkPVwibWFpblwiXSB7XG4gICAgICBtYXJnaW4tdG9wOiAyLjVlbTsgICAgICAgICAgICAgICAgICAgLy8gMjVweFxuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiOyAvLyBGaXhlcyBhbiBpc3N1ZSB3aGVyZSBSdWJ5IGxvY2FsZSBpcyBub3Qgc2V0IHByb3Blcmx5XG4gICAgICAgICAgICAgICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcS9wdWxsLzEwXG5cbi8vLyBCYXNlIGZvbnQgc2l6ZSBvbiB0aGUgYDxib2R5PmAgZWxlbWVudFxuLy8vIEB0eXBlIE51bWJlciAodW5pdClcbiRtcS1iYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8vIFJlc3BvbnNpdmUgbW9kZVxuLy8vXG4vLy8gU2V0IHRvIGBmYWxzZWAgdG8gZW5hYmxlIHN1cHBvcnQgZm9yIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgQG1lZGlhIHF1ZXJpZXMsXG4vLy8gKElFIDw9IDgsIEZpcmVmb3ggPD0gMywgT3BlcmEgPD0gOSlcbi8vL1xuLy8vIFlvdSBjb3VsZCBjcmVhdGUgYSBzdHlsZXNoZWV0IHNlcnZlZCBleGNsdXNpdmVseSB0byBvbGRlciBicm93c2Vycyxcbi8vLyB3aGVyZSBAbWVkaWEgcXVlcmllcyBhcmUgcmFzdGVyaXplZFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAvLyBvbGQtaWUuc2Nzc1xuLy8vICAkbXEtcmVzcG9uc2l2ZTogZmFsc2U7XG4vLy8gIEBpbXBvcnQgJ21haW4nOyAvLyBAbWVkaWEgcXVlcmllcyBpbiB0aGlzIGZpbGUgd2lsbCBiZSByYXN0ZXJpemVkIHVwIHRvICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuLy8vICAgICAgICAgICAgICAgICAgIC8vIGxhcmdlciBicmVha3BvaW50cyB3aWxsIGJlIGlnbm9yZWRcbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3Jlc3BvbnNpdmUtbW9kZS1vZmYgRGlzYWJsZWQgcmVzcG9uc2l2ZSBtb2RlIGRvY3VtZW50YXRpb25cbiRtcS1yZXNwb25zaXZlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBsaXN0XG4vLy9cbi8vLyBOYW1lIHlvdXIgYnJlYWtwb2ludHMgaW4gYSB3YXkgdGhhdCBjcmVhdGVzIGEgdWJpcXVpdG91cyBsYW5ndWFnZVxuLy8vIGFjcm9zcyB0ZWFtIG1lbWJlcnMuIEl0IHdpbGwgaW1wcm92ZSBjb21tdW5pY2F0aW9uIGJldHdlZW5cbi8vLyBzdGFrZWhvbGRlcnMsIGRlc2lnbmVycywgZGV2ZWxvcGVycywgYW5kIHRlc3RlcnMuXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50IEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbiRtcS1icmVha3BvaW50czogKFxuICAgIG1vYmlsZTogIDMyMHB4LFxuICAgIHRhYmxldDogIDc0MHB4LFxuICAgIGRlc2t0b3A6IDk4MHB4LFxuICAgIHdpZGU6ICAgIDEzMDBweFxuKSAhZGVmYXVsdDtcblxuLy8vIFN0YXRpYyBicmVha3BvaW50IChmb3IgZml4ZWQtd2lkdGggbGF5b3V0cylcbi8vL1xuLy8vIERlZmluZSB0aGUgYnJlYWtwb2ludCBmcm9tICRtcS1icmVha3BvaW50cyB0aGF0IHNob3VsZFxuLy8vIGJlIHVzZWQgYXMgdGhlIHRhcmdldCB3aWR0aCBmb3IgdGhlIGZpeGVkLXdpZHRoIGxheW91dFxuLy8vIChpLmUuIHdoZW4gJG1xLXJlc3BvbnNpdmUgaXMgc2V0IHRvICdmYWxzZScpIGluIGEgb2xkLWllLnNjc3Ncbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLy8gdGFibGV0LW9ubHkuc2Nzc1xuLy8vICAvL1xuLy8vICAvLyBJZ25vcmUgYWxsIHN0eWxlcyBhYm92ZSB0YWJsZXQgYnJlYWtwb2ludCxcbi8vLyAgLy8gYW5kIGZpeCB0aGUgc3R5bGVzIChlLmcuIGxheW91dCkgYXQgdGFibGV0IHdpZHRoXG4vLy8gICRtcS1yZXNwb25zaXZlOiBmYWxzZTtcbi8vLyAgJG1xLXN0YXRpYy1icmVha3BvaW50OiB0YWJsZXQ7XG4vLy8gIEBpbXBvcnQgJ21haW4nOyAvLyBAbWVkaWEgcXVlcmllcyBpbiB0aGlzIGZpbGUgd2lsbCBiZSByYXN0ZXJpemVkIHVwIHRvIHRhYmxldFxuLy8vICAgICAgICAgICAgICAgICAgIC8vIGxhcmdlciBicmVha3BvaW50cyB3aWxsIGJlIGlnbm9yZWRcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjYWRkaW5nLWN1c3RvbS1icmVha3BvaW50cyBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtc3RhdGljLWJyZWFrcG9pbnQ6IGRlc2t0b3AgIWRlZmF1bHQ7XG5cbi8vLyBTaG93IGJyZWFrcG9pbnRzIGluIHRoZSB0b3AgcmlnaHQgY29ybmVyXG4vLy9cbi8vLyBJZiB5b3Ugd2FudCB0byBkaXNwbGF5IHRoZSBjdXJyZW50bHkgYWN0aXZlIGJyZWFrcG9pbnQgaW4gdGhlIHRvcFxuLy8vIHJpZ2h0IGNvcm5lciBvZiB5b3VyIHNpdGUgZHVyaW5nIGRldmVsb3BtZW50LCBhZGQgdGhlIGJyZWFrcG9pbnRzXG4vLy8gdG8gdGhpcyBsaXN0LCBvcmRlcmVkIGJ5IHdpZHRoLCBlLmcuIChtb2JpbGUsIHRhYmxldCwgZGVza3RvcCkuXG4vLy9cbi8vLyBAdHlwZSBtYXBcbiRtcS1zaG93LWJyZWFrcG9pbnRzOiAoKSAhZGVmYXVsdDtcblxuLy8vIEN1c3RvbWl6ZSB0aGUgbWVkaWEgdHlwZSAoZS5nLiBgQG1lZGlhIHNjcmVlbmAgb3IgYEBtZWRpYSBwcmludGApXG4vLy8gQnkgZGVmYXVsdCBzYXNzLW1xIHVzZXMgYW4gXCJhbGxcIiBtZWRpYSB0eXBlIChgQG1lZGlhIGFsbCBhbmQg4oCmYClcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjY2hhbmdpbmctbWVkaWEtdHlwZSBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtbWVkaWEtdHlwZTogYWxsICFkZWZhdWx0O1xuXG4vLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHB4IC0gdmFsdWUgdG8gY29udmVydFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZS1mb250LXNpemUgKCRtcS1iYXNlLWZvbnQtc2l6ZSkgLSBgPGJvZHk+YCBmb250IHNpemVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgJGZvbnQtc2l6ZS1pbi1lbXM6IG1xLXB4MmVtKDE2cHgpO1xuLy8vICBwIHsgZm9udC1zaXplOiBtcS1weDJlbSgxNnB4KTsgfVxuLy8vXG4vLy8gQHJlcXVpcmVzICRtcS1iYXNlLWZvbnQtc2l6ZVxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9XG5AZnVuY3Rpb24gbXEtcHgyZW0oJHB4LCAkYmFzZS1mb250LXNpemU6ICRtcS1iYXNlLWZvbnQtc2l6ZSkge1xuICAgIEBpZiB1bml0bGVzcygkcHgpIHtcbiAgICAgICAgQHdhcm4gXCJBc3N1bWluZyAjeyRweH0gdG8gYmUgaW4gcGl4ZWxzLCBhdHRlbXB0aW5nIHRvIGNvbnZlcnQgaXQgaW50byBwaXhlbHMuXCI7XG4gICAgICAgIEByZXR1cm4gbXEtcHgyZW0oJHB4ICogMXB4LCAkYmFzZS1mb250LXNpemUpO1xuICAgIH0gQGVsc2UgaWYgdW5pdCgkcHgpID09IGVtIHtcbiAgICAgICAgQHJldHVybiAkcHg7XG4gICAgfVxuICAgIEByZXR1cm4gKCRweCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07XG59XG5cbi8vLyBHZXQgYSBicmVha3BvaW50J3Mgd2lkdGhcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGJyZWFrcG9pbnQuIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgJHRhYmxldC13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgodGFibGV0KTtcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKGRlc2t0b3ApKSB7fVxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBWYWx1ZSBpbiBwaXhlbHNcbkBmdW5jdGlvbiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMpIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkbmFtZSkge1xuICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEB3YXJuIFwiQnJlYWtwb2ludCAjeyRuYW1lfSB3YXNuJ3QgZm91bmQgaW4gJGJyZWFrcG9pbnRzLlwiO1xuICAgIH1cbn1cblxuLy8vIE1lZGlhIFF1ZXJ5IG1peGluXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRmcm9tIChmYWxzZSkgLSBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkdW50aWwgKGZhbHNlKSAtIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRhbmQgKGZhbHNlKSAtIEFkZGl0aW9uYWwgbWVkaWEgcXVlcnkgcGFyYW1ldGVyc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVkaWEtdHlwZSAoJG1xLW1lZGlhLXR5cGUpIC0gTWVkaWEgdHlwZTogc2NyZWVuLCBwcmludOKAplxuLy8vXG4vLy8gQGlnbm9yZSBVbmRvY3VtZW50ZWQgQVBJLCBmb3IgYWR2YW5jZWQgdXNlIG9ubHk6XG4vLy8gQGlnbm9yZSBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzICgkbXEtYnJlYWtwb2ludHMpXG4vLy8gQGlnbm9yZSBAcGFyYW0ge1N0cmluZ30gJHN0YXRpYy1icmVha3BvaW50ICgkbXEtc3RhdGljLWJyZWFrcG9pbnQpXG4vLy9cbi8vLyBAY29udGVudCBzdHlsaW5nIHJ1bGVzLCB3cmFwcGVkIGludG8gYSBAbWVkaWEgcXVlcnkgd2hlbiAkcmVzcG9uc2l2ZSBpcyB0cnVlXG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtbWVkaWEtdHlwZVxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuLy8vIEByZXF1aXJlcyB7ZnVuY3Rpb259IG1xLXB4MmVtXG4vLy8gQHJlcXVpcmVzIHtmdW5jdGlvbn0gbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGhcbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjcmVzcG9uc2l2ZS1tb2RlLW9uLWRlZmF1bHQgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAuZWxlbWVudCB7XG4vLy8gICAgQGluY2x1ZGUgbXEoJGZyb206IG1vYmlsZSkge1xuLy8vICAgICAgY29sb3I6IHJlZDtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcbi8vLyAgICAgIGNvbG9yOiBibHVlO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcShtb2JpbGUsIHRhYmxldCkge1xuLy8vICAgICAgY29sb3I6IGdyZWVuO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0LCAkYW5kOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJykge1xuLy8vICAgICAgY29sb3I6IHRlYWw7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKDk1MHB4KSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEodGFibGV0LCAkbWVkaWEtdHlwZTogc2NyZWVuKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gICAgLy8gQWR2YW5jZWQgdXNlOlxuLy8vICAgICRteS1icmVha3BvaW50czogKEw6IDkwMHB4LCBYTDogMTIwMHB4KTtcbi8vLyAgICBAaW5jbHVkZSBtcShMLCAkYnJlYWtwb2ludHM6ICRteS1icmVha3BvaW50cywgJHN0YXRpYy1icmVha3BvaW50OiBMKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gIH1cbkBtaXhpbiBtcShcbiAgICAkZnJvbTogZmFsc2UsXG4gICAgJHVudGlsOiBmYWxzZSxcbiAgICAkYW5kOiBmYWxzZSxcbiAgICAkbWVkaWEtdHlwZTogJG1xLW1lZGlhLXR5cGUsXG4gICAgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMsXG4gICAgJHJlc3BvbnNpdmU6ICRtcS1yZXNwb25zaXZlLFxuICAgICRzdGF0aWMtYnJlYWtwb2ludDogJG1xLXN0YXRpYy1icmVha3BvaW50XG4pIHtcbiAgICAkbWluLXdpZHRoOiAwO1xuICAgICRtYXgtd2lkdGg6IDA7XG4gICAgJG1lZGlhLXF1ZXJ5OiAnJztcblxuICAgIC8vIEZyb206IHRoaXMgYnJlYWtwb2ludCAoaW5jbHVzaXZlKVxuICAgIEBpZiAkZnJvbSB7XG4gICAgICAgIEBpZiB0eXBlLW9mKCRmcm9tKSA9PSBudW1iZXIge1xuICAgICAgICAgICAgJG1pbi13aWR0aDogbXEtcHgyZW0oJGZyb20pO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICRtaW4td2lkdGg6IG1xLXB4MmVtKG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRmcm9tLCAkYnJlYWtwb2ludHMpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFVudGlsOiB0aGF0IGJyZWFrcG9pbnQgKGV4Y2x1c2l2ZSlcbiAgICBAaWYgJHVudGlsIHtcbiAgICAgICAgQGlmIHR5cGUtb2YoJHVudGlsKSA9PSBudW1iZXIge1xuICAgICAgICAgICAgJG1heC13aWR0aDogbXEtcHgyZW0oJHVudGlsKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkbWF4LXdpZHRoOiBtcS1weDJlbShtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkdW50aWwsICRicmVha3BvaW50cykpIC0gLjAxZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHN1cHBvcnQgaXMgZGlzYWJsZWQsIHJhc3Rlcml6ZSB0aGUgb3V0cHV0IG91dHNpZGUgQG1lZGlhIGJsb2Nrc1xuICAgIC8vIFRoZSBicm93c2VyIHdpbGwgcmVseSBvbiB0aGUgY2FzY2FkZSBpdHNlbGYuXG4gICAgQGlmICRyZXNwb25zaXZlID09IGZhbHNlIHtcbiAgICAgICAgJHN0YXRpYy1icmVha3BvaW50LXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkc3RhdGljLWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG4gICAgICAgICR0YXJnZXQtd2lkdGg6IG1xLXB4MmVtKCRzdGF0aWMtYnJlYWtwb2ludC13aWR0aCk7XG5cbiAgICAgICAgLy8gT3V0cHV0IG9ubHkgcnVsZXMgdGhhdCBzdGFydCBhdCBvciBzcGFuIG91ciB0YXJnZXQgd2lkdGhcbiAgICAgICAgQGlmIChcbiAgICAgICAgICAgICRhbmQgPT0gZmFsc2VcbiAgICAgICAgICAgIGFuZCAkbWluLXdpZHRoIDw9ICR0YXJnZXQtd2lkdGhcbiAgICAgICAgICAgIGFuZCAoXG4gICAgICAgICAgICAgICAgJHVudGlsID09IGZhbHNlIG9yICRtYXgtd2lkdGggPj0gJHRhcmdldC13aWR0aFxuICAgICAgICAgICAgKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBzdXBwb3J0IGlzIGVuYWJsZWQsIG91dHB1dCBydWxlcyBpbnNpZGUgQG1lZGlhIHF1ZXJpZXNcbiAgICBAZWxzZSB7XG4gICAgICAgIEBpZiAkbWluLXdpZHRoICE9IDAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kIChtaW4td2lkdGg6ICN7JG1pbi13aWR0aH0pJzsgfVxuICAgICAgICBAaWYgJG1heC13aWR0aCAhPSAwIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAobWF4LXdpZHRoOiAjeyRtYXgtd2lkdGh9KSc7IH1cbiAgICAgICAgQGlmICRhbmQgICAgICAgICAgICB7ICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgI3skYW5kfSc7IH1cblxuICAgICAgICAvLyBSZW1vdmUgdW5uZWNlc3NhcnkgbWVkaWEgcXVlcnkgcHJlZml4ICdhbGwgYW5kICdcbiAgICAgICAgQGlmICgkbWVkaWEtdHlwZSA9PSAnYWxsJyBhbmQgJG1lZGlhLXF1ZXJ5ICE9ICcnKSB7XG4gICAgICAgICAgICAkbWVkaWEtdHlwZTogJyc7XG4gICAgICAgICAgICAkbWVkaWEtcXVlcnk6IHN0ci1zbGljZSh1bnF1b3RlKCRtZWRpYS1xdWVyeSksIDYpO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhICN7JG1lZGlhLXR5cGUgKyAkbWVkaWEtcXVlcnl9IHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLy8gUXVpY2sgc29ydFxuLy8vXG4vLy8gQGF1dGhvciBTYW0gUmljaGFyZHNcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzb3J0XG4vLy8gQHJldHVybnMge0xpc3R9IFNvcnRlZCBMaXN0XG5AZnVuY3Rpb24gX21xLXF1aWNrLXNvcnQoJGxpc3QpIHtcbiAgICAkbGVzczogICgpO1xuICAgICRlcXVhbDogKCk7XG4gICAgJGxhcmdlOiAoKTtcblxuICAgIEBpZiBsZW5ndGgoJGxpc3QpID4gMSB7XG4gICAgICAgICRzZWVkOiBudGgoJGxpc3QsIGNlaWwobGVuZ3RoKCRsaXN0KSAvIDIpKTtcblxuICAgICAgICBAZWFjaCAkaXRlbSBpbiAkbGlzdCB7XG4gICAgICAgICAgICBAaWYgKCRpdGVtID09ICRzZWVkKSB7XG4gICAgICAgICAgICAgICAgJGVxdWFsOiBhcHBlbmQoJGVxdWFsLCAkaXRlbSk7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkaXRlbSA8ICRzZWVkKSB7XG4gICAgICAgICAgICAgICAgJGxlc3M6IGFwcGVuZCgkbGVzcywgJGl0ZW0pO1xuICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGl0ZW0gPiAkc2VlZCkge1xuICAgICAgICAgICAgICAgICRsYXJnZTogYXBwZW5kKCRsYXJnZSwgJGl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQHJldHVybiBqb2luKGpvaW4oX21xLXF1aWNrLXNvcnQoJGxlc3MpLCAkZXF1YWwpLCBfbXEtcXVpY2stc29ydCgkbGFyZ2UpKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gU29ydCBhIG1hcCBieSB2YWx1ZXMgKHdvcmtzIHdpdGggbnVtYmVycyBvbmx5KVxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc29ydFxuLy8vIEByZXR1cm5zIHtNYXB9IE1hcCBzb3J0ZWQgYnkgdmFsdWVcbkBmdW5jdGlvbiBfbXEtbWFwLXNvcnQtYnktdmFsdWUoJG1hcCkge1xuICAgICRtYXAtc29ydGVkOiAoKTtcbiAgICAkbWFwLWtleXM6IG1hcC1rZXlzKCRtYXApO1xuICAgICRtYXAtdmFsdWVzOiBtYXAtdmFsdWVzKCRtYXApO1xuICAgICRtYXAtdmFsdWVzLXNvcnRlZDogX21xLXF1aWNrLXNvcnQoJG1hcC12YWx1ZXMpO1xuXG4gICAgLy8gUmVvcmRlciBrZXkvdmFsdWUgcGFpcnMgYmFzZWQgb24ga2V5IHZhbHVlc1xuICAgIEBlYWNoICR2YWx1ZSBpbiAkbWFwLXZhbHVlcy1zb3J0ZWQge1xuICAgICAgICAkaW5kZXg6IGluZGV4KCRtYXAtdmFsdWVzLCAkdmFsdWUpO1xuICAgICAgICAka2V5OiBudGgoJG1hcC1rZXlzLCAkaW5kZXgpO1xuICAgICAgICAkbWFwLXNvcnRlZDogbWFwLW1lcmdlKCRtYXAtc29ydGVkLCAoJGtleTogJHZhbHVlKSk7XG5cbiAgICAgICAgLy8gVW5zZXQgdGhlIHZhbHVlIGluICRtYXAtdmFsdWVzIHRvIHByZXZlbnQgdGhlIGxvb3BcbiAgICAgICAgLy8gZnJvbSBmaW5kaW5nIHRoZSBzYW1lIGluZGV4IHR3aWNlXG4gICAgICAgICRtYXAtdmFsdWVzOiBzZXQtbnRoKCRtYXAtdmFsdWVzLCAkaW5kZXgsIDApO1xuICAgIH1cblxuICAgIEByZXR1cm4gJG1hcC1zb3J0ZWQ7XG59XG5cbi8vLyBBZGQgYSBicmVha3BvaW50XG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBicmVha3BvaW50XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBicmVha3BvaW50XG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgQGluY2x1ZGUgbXEtYWRkLWJyZWFrcG9pbnQodHZzY3JlZW4sIDE5MjBweCk7XG4vLy8gIEBpbmNsdWRlIG1xKHR2c2NyZWVuKSB7fVxuQG1peGluIG1xLWFkZC1icmVha3BvaW50KCRuYW1lLCAkd2lkdGgpIHtcbiAgICAkbmV3LWJyZWFrcG9pbnQ6ICgkbmFtZTogJHdpZHRoKTtcbiAgICAkbXEtYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgkbXEtYnJlYWtwb2ludHMsICRuZXctYnJlYWtwb2ludCkgIWdsb2JhbDtcbiAgICAkbXEtYnJlYWtwb2ludHM6IF9tcS1tYXAtc29ydC1ieS12YWx1ZSgkbXEtYnJlYWtwb2ludHMpICFnbG9iYWw7XG59XG5cbi8vLyBTaG93IHRoZSBhY3RpdmUgYnJlYWtwb2ludCBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lciBvZiB0aGUgdmlld3BvcnRcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50XG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaG93LWJyZWFrcG9pbnRzICgkbXEtc2hvdy1icmVha3BvaW50cykgLSBMaXN0IG9mIGJyZWFrcG9pbnRzIHRvIHNob3cgaW4gdGhlIHRvcCByaWdodCBjb3JuZXJcbi8vLyBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzICgkbXEtYnJlYWtwb2ludHMpIC0gQnJlYWtwb2ludCBuYW1lcyBhbmQgc2l6ZXNcbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1zaG93LWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC8vIFNob3cgYnJlYWtwb2ludHMgdXNpbmcgZ2xvYmFsIHNldHRpbmdzXG4vLy8gIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHM7XG4vLy9cbi8vLyAgLy8gU2hvdyBicmVha3BvaW50cyB1c2luZyBjdXN0b20gc2V0dGluZ3Ncbi8vLyAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cygoTCwgWEwpLCAoUzogMzAwcHgsIEw6IDgwMHB4LCBYTDogMTIwMHB4KSk7XG5AbWl4aW4gbXEtc2hvdy1icmVha3BvaW50cygkc2hvdy1icmVha3BvaW50czogJG1xLXNob3ctYnJlYWtwb2ludHMsICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzKSB7XG4gICAgYm9keTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkNGOEUzO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0ZCRUVENTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjRkJFRUQ1O1xuICAgICAgICBjb2xvcjogI0MwOTg1MztcbiAgICAgICAgZm9udDogc21hbGwtY2FwdGlvbjtcbiAgICAgICAgcGFkZGluZzogM3B4IDZweDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogMTAwO1xuXG4gICAgICAgIC8vIExvb3AgdGhyb3VnaCB0aGUgYnJlYWtwb2ludHMgdGhhdCBzaG91bGQgYmUgc2hvd25cbiAgICAgICAgQGVhY2ggJHNob3ctYnJlYWtwb2ludCBpbiAkc2hvdy1icmVha3BvaW50cyB7XG4gICAgICAgICAgICAkd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRzaG93LWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkc2hvdy1icmVha3BvaW50LCAkYnJlYWtwb2ludHM6ICRicmVha3BvaW50cykge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiI3skc2hvdy1icmVha3BvaW50fSDiiaUgI3skd2lkdGh9ICgje21xLXB4MmVtKCR3aWR0aCl9KVwiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaWYgbGVuZ3RoKCRtcS1zaG93LWJyZWFrcG9pbnRzKSA+IDAge1xuICAgIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHM7XG59XG4iLCJAY2hhcnNldCAnVVRGLTgnO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXG4vLyAtLS0tLS0tLS0tICNBU0lERSAtLS0tLS0tLS0tIC8vXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXG5cbi8qKlxuICogMS4gUHVzaCAuaW5uZXItd3JhcHBlciBvdmVyIC5wb3N0IC5kYXRlXG4gKi9cblxuIFtpZD1cImFzaWRlXCJdIHtcbiAgQGluY2x1ZGUgbXEoJHVudGlsOiBmbHVpZCkge1xuICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICA+IC5pbm5lci13cmFwcGVyIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBtcSgkZnJvbTogZmx1aWQpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgIEBpZiAkYWRtaW4ge1xuICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgd2lkdGg6IDE5NXB4O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICB3aWR0aDogMzA1cHg7XG4gICAgfVxuICAgIG9yZGVyOiAyO1xuICAgID4gLmlubmVyLXdyYXBwZXIge1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIHotaW5kZXg6IDI7ICAgICAgICAgICAgICAgICAvKiBbMV0gKi9cbiAgICAgIHRvcDogMDtcbiAgICAgIHBhZGRpbmctdG9wOiAyLjVlbTsgICAgICAgICAvLyAyNXB4XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuLy8gLS0tLS0tLS0tLSAjQURNSU4gUlVMRVMgLS0tLS0tLS0tLSAvL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuXG5baWQ9XCJtZW51XCJdIHtcbiAgbGluZS1oZWlnaHQ6IDI7XG4gIHN0cm9uZywgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLmFjdGl2ZSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbn1cbiIsIkBjaGFyc2V0ICdVVEYtOCc7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuLy8gLS0tLS0tLS0tLSAjTkFWSUdBVElPTiAtLS0tLS0tLS0tIC8vXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cblxuLyoqXG4gKiAxLiBQdXNoIG5hdiBvdmVyIC5zd2lwZXItYnV0dG9uc1xuICovXG5cbm5hdiB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07ICAgICAgICAgLy8gMjBweFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIC5pcy1hY3RpdmUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gIEBpbmNsdWRlIG1xKCR1bnRpbDogZmx1aWQpIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogMjsgICAgICAgICAgICAgICAgICAgLyogWzFdICovXG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgdWwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luOiAyZW0gMTVweCAyZW0gMDsgICAgIC8vIDMycHhcbiAgICAgIHdpZHRoOiAxMzlweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuLy8gLS0tLS0tLS0tLSAjQURNSU4gUlVMRVMgLS0tLS0tLS0tLSAvL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuXG5AaWYgJGFkbWluIHtcbiAgbmF2IHtcbiAgICBtYXJnaW4tYm90dG9tOiA2Ljc1cmVtOyAgICAgICAgIC8vIDEwOHB4XG4gIH1cblxuICAubWVkaWEtbWFuYWdlciB7XG4gICAgbmF2IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLnBhZ2luYXRpb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgJ1VURi04JztcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuLy8gLS0tLS0tLS0tLSAjQ0FMRU5EQVIgLS0tLS0tLS0tLSAvL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuXG4vKipcbiAqIDEuIFB1c2ggLnN3aXBlci1idXR0b24gb3ZlciBtb250aCdzIGRpc3BsYXlcbiAqL1xuXG4vLyAtLS0gQ29udGFpbmVycyAtLS0gLy9cbi5zd2lwZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgd2lkdGg6IDE0MHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG4uc3dpcGVyLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuXG5cblxuXG5cbi8vIC0tLSBTd2lwZXIgYnV0dG9ucyAtLS0gLy9cbltjbGFzc149XCJzd2lwZXItYnV0dG9uXCJdIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDE7ICAgICAgICAgICAgICAgICAvKiBbMV0gKi9cbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgc3BlYWs6IG5vbmU7XG4gIH1cbn1cblxuLnN3aXBlci1idXR0b24tcHJldiB7XG4gIGxlZnQ6IDVweDtcbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnPCc7XG4gIH1cbn1cblxuLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIHJpZ2h0OiA1cHg7XG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJz4nO1xuICB9XG59XG5cblxuXG5cblxuLy8gLS0tIENhbGVuZGFyIC0tLSAvL1xuLnN3aXBlci1zbGlkZSB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICAubW9udGgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgICAgICAgLyogWzFdICovXG4gICAgbWFyZ2luOiAwIDE1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5zd2lwZXItY2FsZW5kYXIge1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogJGRpc2FibGVkO1xuICBhIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogJGJsYWNrO1xuICB9XG59XG5cblxuXG4vKi8vIERlZmF1bHRcbi5zd2lwZXItY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMjM1cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICY6YWN0aXZlIHtcbiAgICAgICAgY3Vyc29yOiBncmFiYmluZztcbiAgICB9XG59XG5cbi5zd2lwZXItd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xufVxuXG4uc3dpcGVyLXNsaWRlIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xufVxuKi9cbiIsIkBjaGFyc2V0ICdVVEYtOCc7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuLy8gLS0tLS0tLS0tLSAjRElBUlkgKFBBR0UgJiBMSVNUKSAtLS0tLS0tLS0tIC8vXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cblxuQGluY2x1ZGUgbXEoJHVudGlsOiBmbHVpZCkge1xuICAvLyBEaWFyeS0qXG4gIFtjbGFzc149XCJkaWFyeVwiXSB7XG4gICAgLmNhcHRpb24ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgfVxuICB9XG5cbiAgLy8gRGlhcnktcGFnZVxuICAuZGlhcnktcGFnZSB7XG4gICAgLmRldGFpbHMge1xuICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1xKCR1bnRpbDogZmx1aWQpIHtcbiAgLy8gRGlhcnktKlxuICBbY2xhc3NePVwiZGlhcnlcIl0ge1xuICAgIC5kYXRlIHtcbiAgICAgIG1hcmdpbjogMWVtIDE1cHggMDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuICAvLyBEaWFyeS1saXN0XG4gIC5kaWFyeS1saXN0IHtcbiAgICAucG9zdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gICAgfVxuICB9XG4gIC8vIERpYXJ5LXBhZ2VcbiAgLmRpYXJ5LXBhZ2Uge1xuICAgIC5kZXRhaWxzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICB9XG4gIH1cbn1cblxuXG5AaW5jbHVkZSBtcSgkZnJvbTogZmx1aWQpIHtcbiAgLy8gRGlhcnktKlxuICBbY2xhc3NePVwiZGlhcnlcIl0ge1xuICAgIC5wb3N0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgLmRhdGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICAgIHdpZHRoOiAzMDVweDtcbiAgICB9XG4gIH1cbiAgLy8gRGlhcnktcGFnZVxuICAuZGlhcnktcGFnZSB7XG4gICAgLmRldGFpbHMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICAgIH1cbiAgfVxufVxuIiwiXG5AY2hhcnNldCAnVVRGLTgnO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cbi8vIC0tLS0tLS0tLS0gI0VYSElCSVRJT05TIChQQUdFICYgTElTVCkgLS0tLS0tLS0tLSAvL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXG5cbi8vIEV4aGliaXRpb25zIGxpc3QgKGxpbmtzKVxuW2lkPVwiZXhoaWJpdGlvbnMtbGlzdFwiXSB7XG4gIGEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLnRpdGxlIHtcbiAgICAgIGZsZXg6IDE7XG4gICAgfVxuICAgIC5tb250aCB7XG4gICAgICB3aWR0aDogMTE0cHg7XG4gICAgfVxuICAgIC55ZWFyIHtcbiAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEV4aGliaXRpb24gcGFnZVxuLy8gSW1hZ2VzICYgVGV4dCBibG9ja3Ncbi5pcy1pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgPiBzcGFuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gIH1cbn1cbi5jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICAvLyBUeXBlXG4gICYuaXMtdGV4dCB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgfVxuICAvLyBBbGlnbm1lbnRcbiAgJltkYXRhLWFsaWdubWVudF49XCJ1cF9cIl0ge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB9XG4gICZbZGF0YS1hbGlnbm1lbnRePVwibWlkZGxlX1wiXSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICAmW2RhdGEtYWxpZ25tZW50Xj1cImRvd25fXCJdIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIH1cbiAgJltkYXRhLWFsaWdubWVudCQ9XCJfbWlkZGxlXCJdIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuICAmW2RhdGEtYWxpZ25tZW50JD1cIl9yaWdodFwiXSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgfVxuICAvLyBDb2xvciAmIGJhY2tncm91bmQtY29sb3JcbiAgJltkYXRhLWNvbG9yPVwiI0ZGRkZGRlwiXSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuICAmW2RhdGEtYmFja2dyb3VuZD1cIiMwMDAwMDBcIl0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkZWZhdWx0O1xuICB9XG4gIC8vIEZvbnQtc2l6ZVxuICBAZWFjaCAkc2l6ZSBpbiAoMTIsIDE0LCAxNiwgMTgsIDIwLCAyMiwgMjQpIHtcbiAgICAmW2RhdGEtZm9udHNpemU9XCIjeyRzaXplfVwiXSB7XG4gICAgICBmb250LXNpemU6ICgkc2l6ZS8xMCkgK2VtO1xuICAgIH1cbiAgfVxuICAvLyBGb250LXdlaWdodFxuICBAZWFjaCAkd2VpZ2h0IGluIChsaWdodGVyLCBib2xkKSB7XG4gICAgJltkYXRhLWZvbnR3ZWlnaHQ9XCIjeyR3ZWlnaHR9XCJdIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG5cbltpZD1cImF1ZGlvLXBsYXllclwiXSwgLnZpZGVvLXBsYXllciB7XG4gIEBpbmNsdWRlIG1xKCR1bnRpbDogZmx1aWQpIHtcbiAgICBidXR0b24sIHNwYW4ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgfVxuICB9XG4gIGJ1dHRvbiB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuICBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5baWQ9XCJhdWRpby1wbGF5ZXJcIl0ge1xuICBtYXJnaW4tdG9wOiAyZW07XG59XG5cbi52aWRlby1wbGF5ZXIgdmlkZW8ge1xuICBtYXJnaW4tdG9wOiAxZW07XG59XG5cbkBpbmNsdWRlIG1xKCR1bnRpbDogZmx1aWQpIHtcbiAgLy8gQXNpZGVcbiAgW2lkPVwiYXNpZGVcIl0ge1xuICAgIFtpZD1cImV4aGliaXRpb25zLWxpc3RcIl0sIC5kZXRhaWxzLCAuY2FwdGlvbiB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgICAuZGV0YWlscyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gICAgICAmLmxpdmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgICAuY2FwdGlvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0ZW07XG4gICAgfVxuICB9XG4gIFtpZD1cImF1ZGlvLXBsYXllclwiXSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNGVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgLmNhcHRpb24gKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0yZW07XG4gICAgfVxuICB9XG4gIC8vIE1haW5cbiAgW2lkPVwiY292ZXJzLWxpc3RcIl0ge1xuICAgIG1hcmdpbi10b3A6IDJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaW1nIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG4gIC8vIFZpZGVvXG4gIC52aWRlby1wbGF5ZXIgdmlkZW8ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG5cbkBpbmNsdWRlIG1xKCRmcm9tOiBmbHVpZCkge1xuICBbaWQ9XCJhc2lkZVwiXSB7XG4gICAgLmRldGFpbHMge1xuICAgICAgbWluLWhlaWdodDogODhweDtcbiAgICB9XG4gICAgLmlzLWFjdGl2ZSB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG4gIH1cbiAgW2lkPVwiY292ZXJzLWxpc3RcIl0ge1xuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbkBpbmNsdWRlIG1xKCRmcm9tOiBmaXhlZCkge1xuICAudmlkZW8tcGxheWVyIHtcbiAgICBidXR0b24sIHNwYW4ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG4iXX0= */
